807f543aeb846b987af5881e3355c3eb5fcd2441
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-10-09  Wim Taymans  <wim@fluendo.com>
2
3         * docs/design/part-qos.txt:
4         Fix typo.
5
6         * gst/gstevent.c:
7         * gst/gstevent.h:
8         Update seek event docs regarding negative rates.
9         Rename @cur to @start. 
10
11         * gst/gstsegment.c: (gst_segment_set_seek):
12         * gst/gstsegment.h:
13         Update set_seek docs regarding negative rates.
14         Correctly update last_stop to @stop when dealing with negative
15         rates.
16         Rename @cur to @start. 
17
18         * tests/check/gst/gstpad.c: (GST_START_TEST):
19         Activate pads before trying to use them.
20
21         * tests/check/gst/gstsegment.c: (GST_START_TEST),
22         (gst_segment_suite):
23         Add simple check for segments and negative rates.
24
25 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
26
27         * gst/gsttaglist.c: (gst_tag_list_is_empty):
28         * gst/gsttaglist.h:
29         * docs/gst/gstreamer-sections.txt:
30           API: add gst_tag_list_is_empty() (#360467).
31
32         * tests/check/gst/gsttag.c: (GST_START_TEST):
33           And a test case.
34
35 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
36
37         * gst/gstmessage.h:
38         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
39         a value that doesn't fit on enumeration.
40
41 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
42
43         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
44         Remove local debugging system and use Gstreamer's instead.
45
46 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
47
48         Patch by: Josep Torre Valles <josep@fluendo.com>
49
50         * common/m4/gst-error.m4:
51         Disable warning of statement not reached on Forte.
52         * gst/gstmessage.h:
53         Fix warning on Forte (value doesn't fit on enumeration).
54         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
55         Fix warning on Forte (value doesn't fit on enumeration).
56         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
57         DEBUG macro says it takes minimum of 2 args and so Forte
58         complains about the use with just 1 arg.
59         * plugins/elements/gstfdsink.c:
60         * plugins/elements/gstfdsrc.c:
61         * plugins/elements/gstfilesink.c:
62         * plugins/elements/gstfilesrc.c:
63         Use correct return type for the uri handler implementations.
64
65         All these fix warnings in Forte.  Fixes bug #360860.
66
67 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
68
69         * gst/gstelement.h:
70           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
71           format string, so don't use G_GNUC_PRINTF for those versions.
72
73 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
74
75         * gst/gsttaglist.c: (gst_is_tag_list):
76         * gst/gsttaglist.h:
77           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
78
79         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
80           Small test for the above.
81
82 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
83
84         * gst/gsttaglist.h:
85           Less tabs, more spaces.
86
87 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
88
89         * gst/gstinfo.h:
90           Those two function declarations do actually belong there, revert
91           commit from yesterday that turned them intro macros.
92
93 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
94
95         Patch by: Josep Torre Valles <josep@fluendo.com>
96
97         * gst/gst.c: (gst_init_get_option_group):
98         Fix empty declaration and type mismatch.
99         * gst/gstbin.c: (gst_bin_change_state_func):
100         Fix type mismatch.
101         * gst/gstelement.c: (gst_element_continue_state),
102         (gst_element_set_state_func), (gst_element_change_state),
103         (gst_element_change_state_func):
104         Fix type mismatches.
105         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
106         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
107         Cast as appropriate.
108         * gst/gstobject.c: (gst_class_signal_connect):
109         Cast as appropriate.  The function pointer parameter really
110         has the wrong type but would break API if we change it.
111         * gst/gstquery.c:
112         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
113         order of including string.h.
114         * gst/gstutils.c: (gst_element_state_get_name):
115         Remove unreachable line.
116         * gst/gstxml.c: (gst_xml_parse_doc):
117         Fix type mismatch.
118         All these caught by Forte.
119
120 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
121
122         Patch by: Josep Torre Valles <josep@fluendo.com>
123
124         * common/m4/gst-error.m4:
125         Fixed bug #360151.
126         We need to disable warnings on Forte for empty declarations
127         due to gst-indent adding ;s to lines that just use macros
128         where the macro actually doesn't need a ; at end to end
129         statement.
130
131 2006-10-06  Wim Taymans  <wim@fluendo.com>
132
133         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
134         (gst_file_sink_close_file), (gst_file_sink_event),
135         (gst_file_sink_render):
136         Add some FIXME for the NEWSEGMENT handling.
137
138 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
139
140         * gst/parse/grammar.y:
141         Remove static function gst_parse_element_lock as all it does
142         is return.  Looks like cruft from 0.8.
143
144 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
145
146         Patch by: Josep Torre Valles <josep@fluendo.com>
147
148         * common/m4/gst-error.m4:
149         * configure.ac:
150         * libs/gst/net/Makefile.am:
151         Fix a compilation issue with Forte on Solaris.  inet_aton is in
152         libresolv.
153
154 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
155
156         * gst/gstpad.c: (pre_activate):
157         * gst/gstregistry.c: (gst_registry_scan_path_level):
158         * gst/gstregistryxml.c: (load_plugin):
159         * libs/gst/controller/gstcontroller.c:
160         (gst_controlled_property_set_interpolation_mode):
161         * libs/gst/dataprotocol/dataprotocol.c:
162         (gst_dp_packet_from_event_1_0):
163         * libs/gst/net/gstnetclientclock.c:
164         (gst_net_client_clock_observe_times):
165         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
166           Printf fixes.
167
168 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
169
170         * configure.ac:
171         * docs/gst/gstreamer-sections.txt:
172         * gst/gstconfig.h.in:
173         * gst/gstelement.h:
174         * gst/gstinfo.h:
175           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
176           whether we can use G_GNUC_PRINTF in other header files and at
177           least check the printf format/arguments of debug messages and
178           GST_ELEMENT_ERROR messages when the printf extension is not
179           being used.
180           Replace more tabs with spaces in gstinfo.h and remove two spurious
181           function declarations in GST_DISABLE_DEBUG part with macros.
182
183 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
184
185         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
186           More docs for the sync-message signal (mention that it is not
187           emitted by default); log message structures of messages posted on
188           the bus as well.
189
190 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
191
192         * gst/gst.c: (ensure_current_registry_forking):
193         Use a pipe pair to receive status results from the forked child, and
194         ignore the result from waitpid. Fixes #355499
195
196 2006-10-02  Wim Taymans  <wim@fluendo.com>
197
198         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
199         (gst_ghost_pad_suite):
200         Fix leak in check.
201
202 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
203
204         * gst/gstpad.c:
205           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
206
207 2006-10-02  Edward Hervey  <edward@fluendo.com>
208
209         * docs/design/part-block.txt:
210         Further explain the use of flushing on blocked pads.
211         * docs/gst/gstreamer-sections.txt:
212         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
213         (gst_pad_push_event):
214         * gst/gstpad.h:
215         Added new GstPadFlag : GST_PAD_BLOCKING.
216         Adds the notion of pads really blocking, which enables to properly
217         handle FLUSH_START/FLUSH_STOP events on blocked pads.
218         Fixes #358999
219         API: gst_pad_is_blocking()
220         API: GST_PAD_IS_BLOCKING() macro
221         API: GST_PAD_BLOCKING GstPadFlag
222         
223 2006-10-02  Wim Taymans  <wim@fluendo.com>
224
225         Patch by: mrcgran <mrc.gran at gmail dot com>
226
227         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
228         Filter the proxied caps against the padtemplate if we have one.
229
230         * gst/gstquery.c: (gst_query_new_segment):
231         Add include for gstinfo.h so that compilation with
232         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
233
234 2006-10-02  Wim Taymans  <wim@fluendo.com>
235
236         Patch by: Alessandro Decina  <alessandro at nnva org>
237
238         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
239         (gst_file_sink_set_location), (gst_file_sink_open_file),
240         (gst_file_sink_close_file), (gst_file_sink_event),
241         (gst_file_sink_render):
242         Set file to NULL when closing filesink so that we can set a new filename
243         in READY. Fixes #358613.
244
245 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
246
247         Patch by: Alessandro Decina  <alessandro at nnva org>
248
249         * gst/gstevent.c: (_gst_event_copy):
250           Fix gst_mini_object_make_writable() and gst_event_copy() for events
251           with event structures by setting the parent refcount address of the
252           copied structure to the address of the refcount member of the newly
253           copied event rather than the address of the refcount member of the
254           original event. Fixes #358737.
255
256         * tests/check/gst/gstevent.c: (GST_START_TEST):
257           Unit test for the above.
258
259 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
260
261         * docs/design/Makefile.am:
262           Dist some more files.
263
264 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
265
266         * tests/check/libs/controller.c: (GST_START_TEST),
267         (gst_controller_suite):
268           Add test for the previous fix; add some more tests
269           for correct refcounting behaviour; fix a few leaks
270           in test cases; call gst_controller_init() at start
271           of all tests.
272
273 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
274
275         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
276         (gst_controller_set_from_list):
277           Don't g_return_val_if_fail() on timed values with invalid timestamps
278           inside a critical section without unlocking the mutex. Spotted by
279           René Stadler. (#357617)
280           Also, fix up refcounting properly: when returning an existing
281           controller, we should increase the reference only once and not
282           once per property and when trying to control a property again
283           we should also increase the refcount.
284
285 2006-09-29  Wim Taymans  <wim@fluendo.com>
286
287         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
288         * libs/gst/net/gstnettimeprovider.c:
289         (gst_net_time_provider_thread):
290         Stop reading commands when EOF as well.
291
292         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
293         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
294         * plugins/elements/gstidentity.c: (gst_identity_class_init):
295         Unify description of the dump property.
296
297 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
298
299         * tests/examples/manual/.cvsignore:
300         OK, so it's actually cvsignore that needs changing. Stop laughing.
301
302 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
303
304         * tests/examples/manual/Makefile.am:
305         Gah, declare vars *before* using them
306
307 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
308
309         * gst/gst.c: (init_pre), (scan_and_update_registry),
310         (ensure_current_registry_nonforking),
311         (ensure_current_registry_forking), (ensure_current_registry),
312         (init_post), (gst_debug_help), (gst_deinit):
313         * gst/gst_private.h:
314         * gst/gstregistry.c: (gst_registry_finalize),
315         (gst_registry_remove_features_for_plugin_unlocked),
316         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
317         (gst_registry_scan_path),
318         (_priv_gst_registry_remove_cache_plugins),
319         (_priv_gst_registry_cleanup):
320         * gst/gstregistry.h:
321         Re-commit the registry changes, along with an extra fix:
322           When a cached plugin is encountered at a different file path,
323           update the stored path in the registry cache so that the parent
324           process knows where it actually is now when it re-reads the registry
325           cache. Fixes the thing that broke distcheck with the previous commit.
326
327         * tests/check/Makefile.am:
328         Clean up files named 'core' too when running make clean.
329
330         * tests/examples/manual/Makefile.am:
331         Set up a registry path for running these tests, and clean it properly
332         for distcheck.
333
334 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
335
336         * configure.ac:
337         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
338         want gmodule-no-export-2.0.pc instead so that we don't drag in
339         --export-dynamic on every project that links to GStreamer.
340
341         Also, make our export regex only match the start of symbols, rather 
342         than any symbol that contains '_gst' somewhere.
343
344         * libs/gst/check/Makefile.am:
345         The libgstcheck we build does however need export-dynamic, as it
346         produces some symbols that don't match our _gst... style regex.
347         Fixes: #318031
348
349 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
350
351         * gst/gst.c: (init_pre), (scan_and_update_registry),
352         (ensure_current_registry_nonforking),
353         (ensure_current_registry_forking), (ensure_current_registry),
354         (init_post), (gst_debug_help), (gst_deinit):
355         * gst/gst_private.h:
356         * gst/gstregistry.c: (gst_registry_finalize),
357         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
358         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
359         (_gst_registry_cleanup):
360         * gst/gstregistry.h:
361           Revert previous change until I figure out why it breaks distcheck.
362
363 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
364
365         * gst/gst.c: (init_pre), (scan_and_update_registry),
366         (ensure_current_registry_nonforking),
367         (ensure_current_registry_forking), (ensure_current_registry),
368         (init_post), (gst_debug_help), (gst_deinit):
369
370           Make init_pre and init_post take the full complement of GOptionFunc
371           args so they can return useful GErrors. Make the registry updating
372           functions do so.
373
374           Call _priv_gst_registry_remove_cache_plugins after scanning files to
375           ensure that the registry we're about to write out doesn't contain
376           stale information about old-deleted plugin files.
377
378           Make _priv_gst_registry_remove_cache_plugins return a boolean so
379           that deletion of plugin files is considered a registry change.
380
381         * gst/gst_private.h:
382         * gst/gstregistry.c: (gst_registry_finalize),
383         (gst_registry_remove_features_for_plugin_unlocked),
384         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
385         (gst_registry_scan_path),
386         (_priv_gst_registry_remove_cache_plugins),
387         (_priv_gst_registry_cleanup):
388         * gst/gstregistry.h:
389         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
390         by adding _priv prefix, so that they won't appear in the global
391         symbol table. They still do atm though because of #318031. Move the
392         prototypes to gst_private.h
393
394         When removing a plugin, remove all features for that plugin too. 
395         Fixes #340878.
396
397 2006-09-27  Wim Taymans  <wim@fluendo.com>
398
399         * docs/random/moving-plugins:
400         Make it clear that the "compiled-in descriptions" really mean
401         the element details.
402
403         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
404         (gst_base_sink_wait_preroll):
405         Update docs.
406
407         * docs/libs/gstreamer-libs-sections.txt:
408         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
409         (gst_base_src_get_range), (gst_base_src_activate_push):
410         * libs/gst/base/gstbasesrc.h:
411         Added function to block while waiting for PLAYING, this function
412         is used by live sources that block on the clock.
413         API: gst_base_src_wait_playing()
414
415 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
416
417         Patch by: Peter Kjellerstedt <pkj at axis com>
418
419         * Makefile.am:
420           gst-element-check.m4 is generated and should therefore be
421           copied from the build dir rather than the source dir (#357593).
422           'make distcheck' hasn't noticed this because we were disting
423           the file as well, so stop doing that.
424
425 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
426
427         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
428           Add some tests for gst_caps_intersect().
429
430         * tools/gst-launch.c: (event_loop):
431           Print all buffering percentages we get, even the 100% one.
432
433 2006-09-26  Wim Taymans  <wim@fluendo.com>
434
435         * tools/gst-inspect.c: (print_element_properties_info),
436         (print_signal_info):
437         Fix printing of flags to match the look of enums.
438
439 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
440
441         * gst/gstelementfactory.c:
442           Fix typo in docs blurb.
443
444 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
445
446         * gst/gsturi.c: (search_by_entry):
447           Don't assert/crash here if a uri handler doesn't return any
448           supported protocols. The list of protocols could be generated
449           dynamically at runtime or at plugin registration, and an error
450           in the underlying library shouldn't be fatal (#353301).
451
452 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
453
454         * gst/gstinfo.c:
455           Fix warning if HAVE_PRINTF_EXTENSION is undefined
456           (spotted by Peter Kjellerstedt).
457
458 2006-09-23  Wim Taymans  <wim@fluendo.com>
459
460         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
461
462         * libs/gst/base/gstbasesrc.c:
463         (gst_base_src_default_check_get_range), (gst_base_src_start),
464         (gst_base_src_activate_push), (gst_base_src_activate_pull),
465         (gst_base_src_change_state):
466         Match _start/_stop calls in the activate functions. Remove redundant
467         _stop call from the state change function. Fixes #356910.
468         Turn failure DEBUG into ERROR. 
469
470 2006-09-22  Wim Taymans  <wim@fluendo.com>
471
472         * docs/design/part-buffering.txt:
473         * gst/gstmessage.c: (gst_message_new_buffering),
474         (gst_message_parse_buffering):
475         Update docs about buffering.
476
477         * docs/design/part-trickmodes.txt:
478         Fix typo.
479
480 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
481
482         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
483         (gst_controller_new_list):
484           Ref instances when returning them again (fixes #357180)
485
486 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
487
488         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
489           Don't forget to release proxy lock when there's an error.
490
491 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
492
493         * gst/gstcaps.h:
494           Add extra initialisers for Caps things, to fix some plugin warnings
495           when using -Wextra
496
497 2006-09-18  Wim Taymans  <wim@fluendo.com>
498
499         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
500           Also set template on the internal pad so that a getcaps from the 
501           target pad returns the template caps.
502
503 2006-09-18  Wim Taymans  <wim@fluendo.com>
504
505         * gst/gstelement.c: (gst_element_post_message),
506         (gst_element_dispose):
507         Use _DEBUG_OBJECT some more.
508
509         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
510         Avoid typechecks.
511
512         * tools/gst-launch.c: (main):
513         If the toplevel element is not a GstPipeline, it must be put in a
514         pipeline so that a bus and clock is selected.
515
516 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
517
518         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
519           JITTER, RATE, and LATENCY query should be handled by the
520           default case and not by the CONVERT query code.
521
522 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
523
524         * gst/gstformat.c: (gst_format_register):
525           Fix locking order (must take lock before using n_values).
526
527         * gst/gstvalue.c: (gst_value_serialize_enum),
528         (gst_value_deserialize_enum_iter_cmp),
529         (gst_value_deserialize_enum):
530           Fix serialisation/deserialisation of custom registered GstFormats.
531
532         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
533           Unit test for custom format serialisation/deserialisation.
534
535 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
536
537         * docs/pwg/building-boiler.xml:
538         * plugins/elements/gstcapsfilter.c:
539         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
540         section.
541
542 2006-09-16  Edward Hervey  <edward@fluendo.com>
543
544         * libs/gst/base/gstbasetransform.c:
545         (gst_base_transform_buffer_alloc):
546         Check if requested caps are the same as the sinks caps IF
547         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
548         is FALSE.
549         This fixes the renegotiation issues stated in #352827.
550
551 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
552
553         * configure.ac:
554         * docs/manual/advanced-autoplugging.xml:
555         * tests/examples/Makefile.am:
556         * tests/examples/manual/.cvsignore:
557         * tests/examples/manual/Makefile.am:
558         * tests/examples/manual/extract.pl:
559           Extract the manual examples again like we used to do.
560           Fix one of them.
561
562 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
563
564         * win32/common/config.h:
565           update for version
566
567 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
568
569         * gst/gsterror.c:
570           Documents how to receive errors.
571
572 2006-09-15  Wim Taymans  <wim@fluendo.com>
573
574         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
575         (event_loop), (main):
576         Added some comments here and there.
577         Post an application message when an interrupt is caught instead of doing
578         an uncontrolled state change.
579         Clean up the event loop.
580         Handle buffering messages, pause/resume the pipeline.
581         Make shutdown because of an interrupt more reliable.
582
583 2006-09-15  Wim Taymans  <wim@fluendo.com>
584
585         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
586         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
587         (gst_base_sink_preroll_object):
588         Make sure that our internal state is correct when we commit our state
589         asynchronously. This solves a race where a state change to PLAYING
590         could cause the sink to remain blocked in preroll in some situations.
591
592 2006-09-15  Wim Taymans  <wim@fluendo.com>
593
594         * tools/gst-inspect.c: (print_element_properties_info),
595         (print_signal_info):
596         List flags as hex so it's easier to deal with.
597
598 2006-09-15  Wim Taymans  <wim@fluendo.com>
599
600         * docs/libs/gstreamer-libs-sections.txt:
601         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
602         (gst_base_sink_do_sync):
603         * libs/gst/base/gstbasesink.h:
604         Expose logic to wait for preroll so that subclasses such as audiosink
605         can also use this method.
606         API: gst_base_sink_wait_preroll()
607
608 2006-09-15  Wim Taymans  <wim@fluendo.com>
609
610         * gst/gstobject.c: (gst_object_set_parent):
611         * gst/gstpipeline.c: (do_pipeline_seek):
612         Small cleanups in docs and code.
613
614         * gst/gstsegment.c: (gst_segment_clip):
615         * tests/check/gst/gstsegment.c: (GST_START_TEST):
616         if stop == start and start is in the segment, no clipping should be
617         done. Also add a test for this.
618
619 2006-09-15  Wim Taymans  <wim@fluendo.com>
620
621         * docs/design/part-buffering.txt:
622         * docs/gst/gstreamer-sections.txt:
623         * gst/gstmessage.c: (gst_message_new_buffering),
624         (gst_message_parse_buffering):
625         * gst/gstmessage.h:
626         Added methods to create and parse BUFFERING messages.
627         Added preliminary docs about buffering.
628         API: gst_message_new_buffering
629         API: gst_message_parse_buffering
630
631 2006-09-06  Wim Taymans  <wim@fluendo.com>
632
633         * gst/gstbin.c:
634         Update documentation.
635
636         * gst/gstelement.c: (gst_element_class_init),
637         (gst_element_release_request_pad), (gst_element_set_clock),
638         (gst_element_get_index), (gst_element_add_pad),
639         (gst_element_remove_pad), (gst_element_get_random_pad),
640         (gst_element_send_event), (gst_element_get_query_types),
641         (gst_element_query), (gst_element_post_message),
642         (gst_element_message_full), (gst_element_continue_state),
643         (gst_element_lost_state), (gst_element_save_thyself),
644         (gst_element_restore_thyself):
645         Documentation updates.
646         Rename last bit of the new-pad -> pad-added signal rename.
647         Fix the case where an element query would only work if the source
648         pad was linked.
649         Avoid some useless type checking in message handling.
650
651         * gst/gstevent.c:
652         * gst/gstevent.h:
653         * gst/gstutils.c:
654         Documentation updates.
655
656 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
657
658         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
659           add an INFO line for when we actually update the fd
660
661 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
662
663         * configure.ac:
664           back to TRUNK
665
666 === release 0.10.10 ===
667
668 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
669
670         * configure.ac:
671           releasing 0.10.10, "Pais"
672
673 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
674
675         * docs/manual/advanced-position.xml:
676           Fix typo in sample code.
677
678 2006-09-05  Wim Taymans  <wim@fluendo.com>
679
680         * libs/gst/net/gstnetclientclock.c: (inet_aton),
681         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
682         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
683         * libs/gst/net/gstnetclientclock.h:
684         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
685         * libs/gst/net/gstnettimepacket.h:
686         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
687         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
688         (gst_net_time_provider_thread), (gst_net_time_provider_new):
689         * libs/gst/net/gstnettimeprovider.h:
690         Make stuff compile on windows. Fixes #345295.
691
692 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
693
694         * gst/gst.c: (ensure_current_registry_forking):
695           Print better details when child was terminated by signal.
696
697 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
698
699         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
700           Print a warning rather than g_assert() if a plugin feature
701           is a URI handler but returns no protocols (#353976).
702
703 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
704
705         * docs/random/moving-plugins:
706         Fix two typos.         
707
708 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
709
710         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
711           Fix locking order, handle NULL function values properly.
712
713         * gst/gstinfo.h:
714           Fix docs.
715
716         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
717           Initialise variable before using it and fix debug statement to
718           print the address of the function rather than the address of the
719           variable on the stack holding the address of the function.
720
721 2006-09-01  Wim Taymans  <wim@fluendo.com>
722
723         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
724         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
725         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
726         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
727         (gst_ghost_pad_parent_unset),
728         (gst_ghost_pad_internal_do_activate_push),
729         (gst_ghost_pad_internal_do_activate_pull),
730         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
731         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
732         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
733         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
734         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
735         (gst_ghost_pad_new_no_target_from_template),
736         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
737         More cleanups.
738         Avoid needless typechecking in macros.
739         Since the internal pad is always present and never changes, there is
740         no need to locking or ref when retrieving it.
741         Improve debugging a bit.
742         Handle link errors when setting the target. Fixes #341029.
743
744 2006-09-01  Wim Taymans  <wim@fluendo.com>
745
746         * docs/libs/gstreamer-libs-sections.txt:
747         * docs/plugins/gstreamer-plugins-sections.txt:
748         Fix docs some more.
749
750         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
751         (gst_collect_pads_event):
752         * libs/gst/base/gstcollectpads.h:
753         Documentation updates.
754         Free queued buffer when removing a pad.
755
756 2006-08-31  Michael Smith  <msmith@fluendo.com>
757
758         * gst/gstutils.c: (gst_element_link_pads),
759         (gst_element_link_pads_filtered):
760           Ensure that we set a capsfilter to NULL if we failed to link it
761           when doing filtered linking, to avoid criticals.
762
763           No need to check for unreffing srcpad, which is explicly NULLed
764           above (a trivial code cleanup).
765
766 2006-08-31  Wim Taymans  <wim@fluendo.com>
767
768         * docs/design/part-gstghostpad.txt:
769         Update ascii art in documentation.
770
771         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
772         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
773         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
774         (gst_ghost_pad_internal_do_activate_push),
775         (gst_ghost_pad_internal_do_activate_pull),
776         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
777         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
778         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
779         (gst_ghost_pad_set_target):
780         Small cleanups and leak fixes.
781         Remove some checks now that the internal pad is never NULL.
782         Fix the case where linking pads without a target would create nasty
783         criticals. Fixes #341029.
784         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
785         value of _set_target().
786
787         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
788         (gst_ghost_pad_suite):
789         Some more tests for creating and linking untargeted ghostpads.
790
791 2006-08-31  Edward Hervey  <edward@fluendo.com>
792
793         * docs/gst/gstreamer-sections.txt:
794         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
795         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
796         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
797         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
798         (gst_ghost_pad_new_from_template),
799         (gst_ghost_pad_new_no_target_from_template):
800         * gst/gstghostpad.h:
801         Refactored *_new() functions.
802         Templates are now used as a g_object_new() parameter.
803         Use template in _do_getcaps() if we don't have a target.
804         Small documentation cleanups.
805         Added two new constructors:
806         gst_ghost_pad_new_from_template()
807         gst_ghost_pad_new_no_target_from_template()
808         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
809         (gst_ghost_pad_suite):
810         Added tests for new ghostpad instanciation functions.
811
812         API additions: gst_ghost_pad_new_from_template,
813         gst_ghost_pad_new_no_target_from_template
814
815 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
816
817         * docs/random/ensonic/profiling.txt:
818           Ideas about qos profiling.
819
820 2006-08-29  Wim Taymans  <wim@fluendo.com>
821
822         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
823         Code cleanups.
824         Fix memleak.
825
826 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
827
828         * gst/gstxml.c:
829           Improve and detypofy docs.
830
831         * tests/check/Makefile.am:
832         * tests/check/gst/.cvsignore:
833         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
834           Add a basic test suite for GstXML.
835
836 2006-08-29  Wim Taymans  <wim@fluendo.com>
837
838         * gst/gstelement.c: (activate_pads), (clear_caps),
839         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
840         Clear the pad caps when the element shut down all of the pads and
841         is not streaming data that could modify the caps. 
842         Fixes #352958.
843
844 2006-08-28  Michael Smith  <msmith@fluendo.com>
845
846         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
847           Revert previous change; I misunderstood single-segment mode.
848
849 2006-08-28  Michael Smith  <msmith@fluendo.com>
850
851         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
852           Unset DISCONT on buffers when using single-segment mode.
853
854 2006-08-28  Wim Taymans  <wim@fluendo.com>
855
856         * gst/gstcaps.c: (gst_caps_merge_structure):
857         * gst/gstcaps.h:
858         Fix docs and indentation again.
859
860         * tests/check/gst/gstquery.c: (GST_START_TEST):
861         Fix leak in tests and add some more tests.
862
863 2006-08-28  Edward Hervey  <edward@fluendo.com>
864
865         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
866         Inform GstSegment of the last stop position in order for the current
867         segment to have a proper duration if it doesn't have a specific stop
868         position from which a duration could be calculated.
869         This bug was noticeable when a non-flushing, non-update new segment was
870         followed by another segment (all buffers from the new segment were being
871         dropped).
872
873 2006-08-28  Wim Taymans  <wim@fluendo.com>
874
875         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
876         Small comment update.
877
878         * plugins/elements/gstidentity.c: (gst_identity_class_init),
879         (gst_identity_transform_ip):
880         Drop-probability is broken, mention this in the code with a 
881         FIXME and also in the property description.
882         Make silent also be silent about the drop messages.
883
884 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
885
886         * docs/manual/appendix-win32.xml:
887           Remove mention of popt, we don't depend on that any
888           longer (#353136). Add some comments pointing out that
889           this section is slightly outdated.
890
891 2006-08-28  Wim Taymans  <wim@fluendo.com>
892
893         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
894
895         * gst/gstquery.c: (gst_query_new_segment):
896         * tests/check/gst/gstquery.c: (GST_START_TEST):
897         Initialize variables when creating a new segment query.
898         Fixes #353121.
899
900 2006-08-28  Wim Taymans  <wim@fluendo.com>
901
902         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
903
904         * gst/gstelement.c: (gst_element_get_bus):
905         * tests/check/gst/gstelement.c: (GST_START_TEST):
906         Check for NULL before _reffing the bus. Fixes #353122.
907
908 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
909
910         * docs/manual/basics-bus.xml:
911           Docs update: fix wrong callback return value explanation; add
912           some lines about the implicit relationship between main loop
913           and main context; remove duplicate main loop variable declaration.
914
915 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
916
917         * tests/check/gst/gstcaps.c: (GST_START_TEST):
918           Don't leak caps in unit test; add a few more simple
919           checks. 
920
921 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
922
923         * docs/gst/gstreamer-sections.txt:
924         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
925         (gst_caps_structure_is_subset), (gst_caps_merge),
926         (gst_caps_merge_structure):
927         * gst/gstcaps.h:
928         * libs/gst/base/gstbasetransform.c:
929         (gst_base_transform_transform_caps):
930         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
931           implement caps merging (fixes #352580)
932
933 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
934
935         * tools/Makefile.am:
936         * tools/gst-plot-timeline.py:
937           add debug-log plotting developer tool (#340674)
938
939 2006-08-23  Wim Taymans  <wim@fluendo.com>
940
941         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
942         (gst_pad_stop_task):
943         Improve debugging for task functions.
944
945         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
946         (gst_task_start), (gst_task_pause), (gst_task_join):
947         Make sure that the task function started and finished after a 
948         join(). 
949         Don't try to push the task function on the threadpool multiple
950         times.
951         Improve the g_warning message with some useful suggestions
952         about how to fix the problem. 
953
954 2006-08-23  Wim Taymans  <wim@fluendo.com>
955
956         * gst/gstutils.c: (gst_pad_proxy_getcaps):
957         Handle RESYNC correctly in _proxy_getcaps.
958
959 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
960
961         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
962         (gst_xml_parse_memory), (gst_xml_get_element):
963           Chain up to parent class in dispose function and also
964           unref the elements in the toplevel_elements GList.
965           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
966           Always return a reference in gst_xml_get_element() rather
967           than only sometimes.
968
969         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
970           Don't leak GstXml object.
971
972 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
973
974         * docs/gst/gstreamer-sections.txt:
975         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
976         (gst_caps_merge):
977         * gst/gstcaps.h:
978         * libs/gst/base/gstbasetransform.c:
979         (gst_base_transform_transform_caps):
980           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
981           in a better way
982
983 2006-08-21  Edward Hervey  <edward@fluendo.com>
984
985         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
986         Implement GObject::dispose virtual method in GstXML so we can free the
987         top_elements GList.
988
989 2006-08-21  Wim Taymans  <wim@fluendo.com>
990
991         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
992         (gst_buffer_create_sub):
993         Copy duration/offset_end/caps when creating a subbuffer of the
994         complete parent.
995         Make the subbuffer read-only when we make the metadata writable for
996         now. Fixes #351768.
997
998         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
999         Added check for metadata copy when creating subbuffers.
1000
1001 2006-08-21  Edward Hervey  <edward@fluendo.com>
1002
1003         * libs/gst/base/gstbasetransform.c:
1004         (gst_base_transform_buffer_alloc):
1005         Only call downstream buffer_alloc if transform element is passthrough
1006         or always_in_place. Closes #350449.
1007
1008 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
1009
1010         * ChangeLog:
1011           ChangeLog surgery to add comments to previous changes
1012
1013 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
1014
1015         * gst/gst.c:
1016           Add comments
1017
1018         * gst/gstpad.c: (gst_pad_set_active):
1019           Be more verbose in the log
1020
1021         * libs/gst/base/gstbasetransform.c:
1022         (gst_base_transform_transform_caps):
1023           Simplify caps to get rid of duplicates, fixes #345444
1024
1025 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
1026
1027         * gst/gstvalue.c:
1028         * gst/gstvalue.h:
1029           Use these optimizations only internally.
1030
1031 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
1032
1033         * gst/gstvalue.c: (gst_value_compare_list),
1034         (gst_value_compare_fraction_range),
1035         (gst_value_intersect_fraction_fraction_range),
1036         (gst_value_intersect_fraction_range_fraction_range),
1037         (gst_value_subtract_fraction_fraction_range),
1038         (gst_value_subtract_fraction_range_fraction_range),
1039         (gst_value_get_compare_func), (gst_value_compare),
1040         (gst_value_compare_with_func):
1041         * gst/gstvalue.h:
1042           Saves the expensive lookup of the compare function in many cases
1043          (#345444)
1044
1045 2006-08-18  Edward Hervey  <edward@fluendo.com>
1046
1047         * tests/check/gst/gstinfo.c: (gst_info_suite):
1048         Disable test that require gstdebug if it wasn't built in core.
1049
1050 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
1051
1052         * docs/random/ensonic/logging.txt:
1053           update ideas
1054           
1055         * gst/gstinfo.c: (gst_debug_log_default):
1056           reorder fields, save some columns, add optional color codes for log
1057           levels
1058
1059 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
1060
1061         * docs/random/ensonic/logging.txt:
1062           add ideas about making the logs a bit more useful
1063
1064 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
1065
1066         * docs/pwg/advanced-events.xml:
1067         * docs/pwg/titlepage.xml:
1068           Update for 0.10 API (#340627). Add myself
1069           to authors list.
1070
1071 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
1072
1073         * docs/libs/gstreamer-libs-docs.sgml:
1074         * docs/libs/gstreamer-libs-sections.txt:
1075         * libs/gst/check/gstbufferstraw.c:
1076           Make gstcheck stuff show up in docs (still needs to
1077           be documented properly though).
1078
1079 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
1080
1081         * docs/gst/gstreamer-sections.txt:
1082         * gst/Makefile.am:
1083         * gst/gst.c: (init_post):
1084         * gst/gst_private.h:
1085         * gst/gstquark.c: (_priv_gst_quarks_initialize):
1086         * gst/gstquark.h:
1087         * gst/gstquery.c: (gst_query_new_position),
1088         (gst_query_set_position), (gst_query_parse_position),
1089         (gst_query_new_duration), (gst_query_set_duration),
1090         (gst_query_parse_duration), (gst_query_new_convert),
1091         (gst_query_set_convert), (gst_query_parse_convert),
1092         (gst_query_new_segment), (gst_query_set_segment),
1093         (gst_query_parse_segment), (gst_query_new_seeking),
1094         (gst_query_set_seeking), (gst_query_parse_seeking):
1095         Add internal helpers for pre-registering quarks from static strings
1096         and using the quark values directly instead of looking them up when
1097         creating and parsing queries. Can be used for event construction too.
1098         Closes #350432.
1099
1100 2006-08-16  Wim Taymans  <wim@fluendo.com>
1101
1102         * gst/gstbin.c:
1103         Fix bogus docs.
1104
1105 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
1106
1107         * gst/gstutils.c: (gst_util_set_value_from_string):
1108           Fix memleak (#351502).
1109
1110         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1111           Add unit test for most of gst_util_set_value_from_string()
1112           (not that one would want to encourage use of this function).
1113
1114 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
1115
1116         * libs/gst/check/gstcheck.h:
1117           Use const gchar * variables in fail_unless_equals_string
1118           macro to avoid compiler warnings (and don't use tabs for
1119           indenting).
1120
1121 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
1122
1123         * tools/gst-launch.c: (print_tag):
1124           More space on the left for the tag names, to cater
1125           for the 'extended comment' tag (not touching the
1126           string for the first line since it's translated).
1127
1128 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
1129
1130         * libs/gst/check/gstcheck.h:
1131           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
1132           print something when they fail.
1133
1134 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
1135
1136         * docs/gst/gstreamer-sections.txt:
1137         * gst/gsttaglist.c: (_gst_tag_initialize):
1138         * gst/gsttaglist.h:
1139           API: add GST_TAG_EXTENDED_COMMENT (#350935).
1140           Also change merge function for GST_TAG_COMMENT to
1141           use_first.
1142
1143 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
1144
1145         * gst/gstinfo.c: (gst_debug_print_object):
1146           Make GST_PTR_FORMAT print messages as well.
1147
1148         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
1149         (GST_START_TEST), (gst_info_suite):
1150           More tests.
1151
1152 2006-08-14  Edward Hervey  <edward@fluendo.com>
1153
1154         * gst/gstelementfactory.c: (gst_element_register):
1155         If the GstElementClass doesn't have a GstElementDetails with all fields
1156         filled up correctly (longname, description AND author), then error out
1157         nicely instead of crashing.
1158
1159 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
1160
1161         * gst/gststructure.c:
1162           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
1163
1164         * gst/gstvalue.h:
1165           Expand on the difference between arrays and lists as we use them.
1166           
1167 2006-08-14  Wim Taymans  <wim@fluendo.com>
1168
1169         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
1170         If the parent state change function failed, don't assume we can safely
1171         stop the source, this will be done when the pads are deactivated.
1172
1173 2006-08-14  Wim Taymans  <wim@fluendo.com>
1174
1175         * gst/gstbuffer.c:
1176         * gst/gsttask.c: (gst_task_join):
1177         Small doc updates.
1178
1179         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
1180         (gst_pad_stop_task):
1181         When pad (de)activation failed for some reason, restore the old
1182         activation mode and set the pad to flushing instead of assuming the
1183         pad is deactivated.
1184         If the _task_join() failed, reinstall the task on the pad so that it can
1185         be stopped later and return an error.
1186
1187 2006-08-11  Andy Wingo  <wingo@pobox.com>
1188
1189         * configure.ac:
1190         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
1191         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
1192         is only for users of API that don't want to see deprecated
1193         functions in the headers; people that want to compile out
1194         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
1195         CFLAGS. Fixes the build of multifdsink, or will soon..
1196
1197 2006-08-11  Wim Taymans  <wim@fluendo.com>
1198
1199         * docs/gst/gstreamer-sections.txt:
1200         Add GstClockClass vmethod docs.
1201
1202         * gst/gstcaps.h:
1203         Mark #endif with comment for associated #if
1204
1205         * gst/gstclock.c: (gst_clock_id_wait):
1206         * gst/gstclock.h:
1207         Add vmethod wait_jitter to avoid an unneeded _get_time() for
1208         most clock implementations.
1209         Document vmethods.
1210         Flesh out docs about resolution methods.
1211         API: GstClockClass::wait_jitter
1212
1213         * gst/gstsystemclock.c: (gst_system_clock_class_init),
1214         (gst_system_clock_async_thread),
1215         (gst_system_clock_id_wait_jitter_unlocked),
1216         (gst_system_clock_id_wait_jitter):
1217         Use base class wait_jitter variant for improved performance
1218         due to less clock polling.
1219
1220 2006-08-11  Edward Hervey  <edward@fluendo.com>
1221
1222         * gst/gst.c: (gst_init_check), (init_post):
1223         Set gst as being initialized before scanning/updating the registry,
1224         since there might be my python plugin loader that calls gst_init() and
1225         we don't want to loop back in.
1226         Closes #350879
1227
1228 2006-08-11  Wim Taymans  <wim@fluendo.com>
1229
1230         * docs/design/part-qos.txt:
1231         Bring docs in line with the code. Mostly the sign of the jitter was
1232         wrong in the docs. Fixes #349943.
1233
1234         * gst/gstclock.c:
1235         Fix the docs for the jitter.
1236
1237         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
1238         (gst_event_parse_tag), (gst_event_new_buffer_size),
1239         (gst_event_parse_buffer_size), (gst_event_parse_qos),
1240         (gst_event_new_seek), (gst_event_parse_seek),
1241         (gst_event_new_navigation):
1242         Make sure the GstStructure has no parent when creating custom
1243         events.
1244         Add some more argument checking so that we avoid 0.0 rates.
1245         Flesh out the docs for the QoS event some more.
1246
1247 2006-08-11  Wim Taymans  <wim@fluendo.com>
1248
1249         * docs/gst/gstreamer-sections.txt:
1250         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
1251         (ensure_current_registry_forking), (ensure_current_registry),
1252         (parse_one_option), (parse_goption_arg), (gst_deinit),
1253         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
1254         * gst/gst.h:
1255         Doc updates.
1256         Added API and command line option to disable registry forking in
1257         addition to the environment variable.
1258         Constify some static arrays.
1259         Added some more debug.
1260         Don't deinit twice.
1261         API: gst_registry_fork_is_enabled()
1262         API: gst_registry_fork_set_enabled()
1263         API: --gst-disable-registry-fork command line option
1264         Fixes #348918.
1265
1266 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
1267
1268         * gst/gst.c: (gst_init):
1269           Fix typo in error message.
1270
1271 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
1272
1273         * libs/gst/controller/gstcontroller.h:
1274           fix ABI size-correction
1275
1276         * tests/check/libs/gdp.c: (gst_dp_suite):
1277           make tests that use deprecated API conditional
1278
1279 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
1280
1281         * docs/libs/gstreamer-libs-sections.txt:
1282         * libs/gst/controller/gstcontroller.c:
1283         (_gst_controller_get_property), (_gst_controller_set_property),
1284         (_gst_controller_init), (_gst_controller_class_init):
1285         * libs/gst/controller/gstcontroller.h:
1286         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
1287         (gst_object_set_control_rate):
1288           API: add gst_object_{s,g}et_control_rate(), add private data section,
1289           fix docs
1290
1291         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
1292         * libs/gst/dataprotocol/dataprotocol.h:
1293           add deprecation guards to make gtk-doc happy and allow disabling cruft
1294
1295 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
1296
1297         * tests/check/Makefile.am:
1298         * tests/check/gst/.cvsignore:
1299           Let's enable the new unit test as well.
1300
1301 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
1302
1303         * configure.ac:
1304         * docs/gst/gstreamer-sections.txt:
1305         * gst/gstconfig.h.in:
1306         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
1307         (_gst_info_printf_extension_ptr),
1308         (_gst_info_printf_extension_segment):
1309           API: add GST_SEGMENT_FORMAT, which is a printf extension we
1310           register that lets us easily dump GstSegments into debug
1311           logs (#350419).
1312
1313         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
1314         (info_segment_format_printf_extension), (gst_info_suite):
1315           Add simple unit test that logs a bunch of different segments (not
1316           valgrinded at the moment because of leaks in
1317           gst_debug_add_log_function).
1318
1319 2006-08-09  Edward Hervey  <edward@fluendo.com>
1320
1321         * libs/gst/base/gstbasetransform.c:
1322         (gst_base_transform_buffer_alloc):
1323         Even if we can't figure out the proper format to request downstream,
1324         call buffer_alloc() downstream with the input parameters without setting
1325         the caps on the srcpad. This will force negotiation in the chain
1326         function.
1327         Closes #350449
1328
1329 2006-08-08  Edward Hervey  <edward@fluendo.com>
1330
1331         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
1332         Unlinking from a pad without a target is now a perfectly valid case
1333         which should NOT raise an assertion.
1334         This case would happen if a linked ghostpad its target set to NULL after
1335         it was previously linked.
1336
1337 2006-08-08  Edward Hervey  <edward@fluendo.com>
1338
1339         * tests/check/libs/gdp.c:
1340         Also comment out the test (see below).
1341
1342 2006-08-08  Edward Hervey  <edward@fluendo.com>
1343
1344         * tests/check/libs/gdp.c: (gst_dp_suite):
1345         Use the architecture information from config.h and not gcc macros
1346         in order to properly disable a test that fails on PPC64.
1347
1348 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
1349
1350         * gst/gstelement.c: (gst_element_remove_pad):
1351           Don't crash printing the warning if the pad has no parent.
1352
1353 2006-08-02  Wim Taymans  <wim@fluendo.com>
1354
1355         * libs/gst/dataprotocol/dataprotocol.c:
1356         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
1357         (gst_dp_crc), (gst_dp_header_payload_length),
1358         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
1359         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
1360         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
1361         (gst_dp_event_from_packet), (gst_dp_validate_header),
1362         (gst_dp_validate_payload):
1363         Make debug category static
1364         Constify the crc table.
1365         Do some more arg checking in public functions.
1366         Fix some docs and do some small cleanups.
1367
1368         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
1369         Add some more checks to see if GDP deals with bogus input.
1370
1371 2006-07-31  Wim Taymans  <wim@fluendo.com>
1372
1373         * gst/gstvalue.c: (gst_value_compare_list):
1374         Fix GstValueList comparison code. Fixes #347293.
1375
1376         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1377         Check to test GstValueList comparison.
1378
1379 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
1380
1381         * gst/gstelementfactory.c: (gst_element_factory_create):
1382         Remove unnecessary ref/unref pair
1383
1384         * gst/parse/grammar.y:
1385         Make sure to free the parse buffer on all code paths.
1386         Move a g_free up to the error handler where it's easier to see.
1387
1388         * tests/check/gst/gstevent.c: (test_event):
1389         Extending timeout for downstream travelling events to 10 seconds to
1390         hopefully avoid intermittent failure on the buildbots.
1391
1392         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
1393         Don't manually set the state of the src element - it will happen as a
1394         natural consequence of the pipeline changing state, and that way it
1395         will do it in the right order too.
1396
1397 2006-07-31  Wim Taymans  <wim@fluendo.com>
1398
1399         * libs/gst/base/gstbasetransform.c:
1400         (gst_base_transform_buffer_alloc):
1401         Use OBJECT_LOCK and refcounting to get the pad caps in the
1402         buffer_alloc function because the caps could change while we are
1403         busy with them. Fixes #349105
1404
1405 2006-07-31  Wim Taymans  <wim@fluendo.com>
1406
1407         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
1408         Protect _PAD_CAPS with OBJECT_LOCK.
1409
1410 2006-07-31  Wim Taymans  <wim@fluendo.com>
1411
1412         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
1413         (gst_pad_get_property), (gst_pad_activate_pull),
1414         (gst_pad_activate_push), (gst_pad_set_blocked_async),
1415         (gst_pad_set_activate_function),
1416         (gst_pad_set_activatepull_function),
1417         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
1418         (gst_pad_set_getrange_function),
1419         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
1420         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
1421         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
1422         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
1423         (gst_pad_set_acceptcaps_function),
1424         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
1425         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
1426         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
1427         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
1428         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
1429         (gst_pad_configure_sink), (gst_pad_configure_src),
1430         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
1431         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
1432         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
1433         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
1434         (gst_pad_send_event):
1435         Use _DEBUG_OBJECT when it makes sense.
1436         Protect GST_PAD_CAPS with the OBJECT_LOCK.
1437         Small cleanups and code reflows.
1438         Avoid caps refcounting in _accept_caps.
1439         Refactor alloc_buffer so that the code performed on the peer is in a
1440         separate function. Also if the pad does not implement a buffer alloc
1441         function, we should still check if the pad is flushing before falling
1442         back to the default allocator.
1443
1444 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
1445
1446         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1447         Make all uses of identity and fakesink have silent=true to avoid
1448         serialising every passing data structure, which is breaking tests
1449         on FC4 for some unknown reason.
1450
1451 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
1452
1453         * gst/parse/Makefile.am:
1454         * gst/parse/grammar.y:
1455         * gst/parse/parse.l:
1456           Reverted previous patch as it required to bump the flex dependency to
1457           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
1458
1459 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
1460
1461         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
1462
1463         * gst/parse/Makefile.am:
1464         * gst/parse/grammar.y:
1465         * gst/parse/parse.l:
1466           push & pop the state of the lexer for reentrant use case
1467           Fixes #349180
1468
1469 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
1470
1471         * libs/gst/base/gstbasesrc.h:
1472           Note in the docs that the ::newsegment vfunc is not actually used by
1473           GstBaseSrc.
1474
1475 2006-07-28  Wim Taymans  <wim@fluendo.com>
1476
1477         * libs/gst/base/gstcollectpads.c:
1478         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
1479         (gst_collect_pads_clear), (gst_collect_pads_flush),
1480         (gst_collect_pads_event), (gst_collect_pads_chain):
1481         When flushing a pad, also clear the queued buffer so that we don't
1482         accidentally use it when we shouldn't.
1483         Fix leaks by inreffing incomming buffer.
1484         Flush out queued buffers in case of errors.
1485         Fixes #347452.
1486
1487 2006-07-28  Wim Taymans  <wim@fluendo.com>
1488
1489         * docs/random/phonon-gst:
1490         Random notes about a Phonon backend.
1491
1492 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
1493
1494         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1495         Extra debug output
1496         * tests/check/libs/gdp.c: (gst_dp_suite):
1497         Take a whack at fixing the ppc compile using a different define to
1498         disable the broken test.
1499
1500         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1501         Remove excess g_print()
1502
1503 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
1504
1505         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
1506         Oops, meant to uncomment this line too to dampen the noise a bit.
1507
1508 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
1509
1510         * gst/parse/grammar.y:
1511         * gst/parse/parse.l:
1512         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
1513         (GST_START_TEST), (parse_suite):
1514         Fix some of the leaks exposed by extending the parse-launch testsuite,
1515         and move the 3 I can't figure out into a separate test that won't run
1516         the pipelines unless the appropriate line is uncommented.
1517
1518 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
1519
1520         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1521           Requesting 0 bytes before the end of the file should result in
1522           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
1523           unit test.
1524
1525 2006-07-27  Wim Taymans  <wim@fluendo.com>
1526
1527         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
1528         Fix useless assert, a uint is always positive.
1529
1530         * gst/gststructure.c: (gst_structure_nth_field_name),
1531         (gst_structure_foreach), (gst_structure_map_in_place):
1532         Check input arguments for public functions to avoid obvious crashes.
1533
1534         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
1535         * plugins/elements/gstfakesink.h:
1536         Do less useless typechecking.
1537
1538 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
1539
1540         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1541           Do not use mmap() by default since there are a number of error
1542           conditions that we would like to handle in a non-fatal way that
1543           will result in a SIGBUS if we use mmap(). Examples: external
1544           devices (USB harddrive, portable music player) being unplugged
1545           while in use; file on mounted CD/DVD that can't be read because
1546           the medium is partly damaged. Fixes #348455 and #348475.
1547
1548 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
1549
1550         * gst/gstquery.h:
1551         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
1552         rates are a gdouble
1553
1554 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
1555
1556         * gst/gstregistry.c:
1557           Move big documentation comment into class section header, so that it
1558           appears in the API docs.
1559
1560 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1561
1562         * docs/gst/gstreamer-sections.txt:
1563         Oops. Commit the docs additions too for new API.
1564         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
1565
1566 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1567
1568         * gst/gststructure.c: (gst_structure_id_set),
1569         (gst_structure_id_set_valist):
1570         * gst/gststructure.h:
1571         Add API for setting values into structures without performing
1572         a quark lookup, if the appropriate quark is already known.
1573
1574         API: gst_structure_id_set
1575         API: gst_structure_id_set_valist
1576
1577         * gst/parse/grammar.y:
1578         * gst/parse/parse.l:
1579         Remove some dead code shown by the coverage information.
1580         Don't throw a critical g_warning when encountering a syntax error,
1581         just warn and let the normal error path handle it.
1582
1583         * plugins/elements/gstelements.c:
1584         Bump the rank of filesink up to PRIMARY so that it is preferred over
1585         gnomevfssink for file:// sink uri's
1586
1587         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
1588         (GST_START_TEST), (run_delayed_test),
1589         (gst_parse_test_element_base_init),
1590         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
1591         (gst_parse_test_element_change_state),
1592         (gst_register_parse_element), (parse_suite):
1593         Beef up the tests for parse syntax to check that more error cases
1594         fail as they are supposed to. Increases the test coverage a bit.
1595
1596 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
1597
1598         * docs/manual/basics-elements.xml:
1599           Fix gst_element_link() example.
1600
1601         * gst/gstutils.c:
1602           Mention in API docs that one should usually gst_bin_add()
1603           elements to a bin or pipeline before doing the linking.
1604           
1605 2006-07-26  Wim Taymans  <wim@fluendo.com>
1606
1607         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
1608         (gst_subbuffer_get_type), (gst_buffer_create_sub):
1609         Avoid function call for known types by keeping the buffer and
1610         subbuffer GType global.
1611
1612         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1613         Random silly optimisations in read() path.
1614
1615 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1616
1617         * tools/gst-launch.c: (main):
1618           If the top-level of the parse is a normal bin, it doesn't do the
1619           right logic to run as a top-level element, so place it inside a
1620           pipeline.
1621
1622 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
1623
1624         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
1625           Remove superfluous g_object_notify() calls, GObject does
1626           that for us automatically.
1627
1628 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
1629
1630         * gst/gstinfo.h:
1631           on Win32, use dllspec to export the debug category symbols
1632
1633 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
1634
1635         * gst/gsttaglist.c: (_gst_tag_initialize):
1636           Allow more than one GST_TAG_IMAGE per taglist.
1637
1638 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1639
1640         * gst/gstminiobject.c:
1641           update docs
1642         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
1643         (gst_fd_src_create):
1644           log recurring events at LOG level
1645           add more debug for when the fd gets set
1646
1647 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
1648
1649         * gst/gstparse.c: (gst_parse_launch):
1650           Also remove reentrance checks if flex is MT safe (#348179)
1651          Fix my empty ChangeLog entry below
1652
1653 2006-07-21  Andy Wingo  <wingo@pobox.com>
1654
1655         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
1656
1657         * libs/gst/check/Makefile.am
1658         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
1659         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
1660         * libs/gst/check/gstbufferstraw.h:
1661         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
1662         functions, thus proving I am still a GStreamer haxor. OK I wrote
1663         them a long time ago, but anyways.
1664
1665 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
1666
1667         * configure.ac:
1668         * gst/gstparse.c: (gst_parse_launch):
1669           Check for flex version and omit mutex if we have a MT save flex
1670           (fixes #348179)
1671
1672 2006-07-21  Wim Taymans  <wim@fluendo.com>
1673
1674         * gst/gstparse.c: (gst_parse_launch):
1675         Protect recursive calls to _parse with a recursive mutex
1676         and busy flag.
1677
1678 2006-07-21  Wim Taymans  <wim@fluendo.com>
1679
1680         * tests/check/gst/gstpad.c: (GST_START_TEST):
1681         Fix leak in test.
1682
1683 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
1684
1685         * gst/gstparse.c: (gst_parse_launch):
1686           Do not hang on recursive usage of gst_parse_launch()
1687
1688 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
1689
1690         * gst/gsttaglist.c:
1691           Add some more docs, comments and FIXME 0.11s here and there
1692           and also fix some typos.
1693
1694 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
1695
1696         * gst/gstsegment.h:
1697           Convert tabs to spaces for better readability. 
1698
1699 2006-07-20  Edward Hervey  <edward@fluendo.com>
1700
1701         * tests/check/libs/gdp.c: (gst_dp_suite):
1702         the test_buffer test fails at line 140 on ppc64 at the following
1703         check:
1704         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
1705                 GST_BUFFER_FLAG_IN_CAPS),
1706                 "GST_BUFFER_IN_CAPS flag should have been copied !");
1707         See bug #348114 for more details.
1708
1709 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
1710
1711         * docs/pwg/advanced-scheduling.xml:
1712         * gst/gstpad.c:
1713           Fix typos (#348000).
1714
1715 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
1716
1717         * docs/pwg/intro-basics.xml:
1718           Fix wrong links (#347927).
1719
1720 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
1721
1722         * gst/gstregistry.h:
1723         * gst/gstregistryxml.c: (load_feature),
1724         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1725         * win32/common/config.h:
1726           make --disable-index work (#342564)
1727
1728 2006-07-18  Wim Taymans  <wim@fluendo.com>
1729
1730         Patch by: Peter Kjellerstedt <pkj at axis dot com>
1731
1732         * gst/Makefile.am:
1733         * gst/gsttrace.h:
1734         The attached patch adds two missing defines to gsttrace.h when tracing
1735         is disabled.  It also corrects one existing define.
1736         Fixes #347756.
1737
1738 2006-07-17  Wim Taymans  <wim@fluendo.com>
1739
1740         * docs/gst/gstreamer-sections.txt:
1741         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
1742         * gst/gst.h:
1743         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
1744         Add two functions to check and change the SIGSEGV behaviour
1745         when loading plugins.
1746         Don't mess with the SIGSEGV handler when we were told not to.
1747         Fixes #347794.
1748         API: gst_segtrap_is_enabled
1749         API: gst_segtrap_set_enabled
1750
1751 2006-07-14  Wim Taymans  <wim@fluendo.com>
1752
1753         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
1754         * tests/check/elements/filesrc.c: (GST_START_TEST):
1755         Revert fix for regression in #347408 after release.
1756
1757 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
1758
1759         Patch by: Antoine Tremblay <hexa00 at gmail com>
1760
1761         * gst/gstutils.c: (gst_element_unlink):
1762           Free iterator when done (#347311).
1763
1764         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1765           And add a test case for this.
1766
1767 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
1768
1769         * configure.ac:
1770         Bump nano back to CVS
1771
1772 === release 0.10.9 ===
1773
1774 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
1775
1776         * configure.ac:
1777           releasing 0.10.9, "On the road again"
1778
1779 2006-07-13  Wim Taymans  <wim@fluendo.com>
1780
1781         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
1782         * tests/check/elements/filesrc.c: (GST_START_TEST):
1783         Revert pull-0 fix for release. Disable check. Fixes #347408.
1784
1785 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1786
1787         * libs/gst/dataprotocol/dataprotocol.c:
1788         (gst_dp_event_from_packet_1_0):
1789           Fixes #347337: failure to deserialize event packets with
1790           empty payload (only event type)
1791
1792 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1793
1794         * gst/Makefile.am:
1795           do not install a .c file in the header directory
1796
1797 2006-07-13  Edward Hervey  <edward@fluendo.com>
1798
1799         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
1800         GhostPad no longer implicitely use the padtemplates of the targets.
1801         Fixes #347384
1802
1803 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
1804
1805         * gst/gstvalue.c: (gst_value_compare_list),
1806         (gst_value_compare_array), (_gst_value_initialize):
1807         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1808         Make GstValueArray comparison be order dependent as designed.
1809         Add checks for value lists and value array comparisons.
1810         Fixes #347221
1811
1812 2006-07-11  Edward Hervey  <edward@fluendo.com>
1813
1814         * gst/gstbin.c: (activate_pads),
1815         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
1816         (gst_bin_change_state_func):
1817         (de)activate src pads before calling state_change on the childs.
1818         This is to avoid the case where a src ghostpad is blocked (holding the
1819         stream lock), which would block the deactivation of the ghostpad's
1820         target pad.
1821         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
1822         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
1823         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
1824         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
1825         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
1826         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1827         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
1828         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
1829         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
1830         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
1831         (gst_ghost_pad_class_init),
1832         (gst_ghost_pad_internal_do_activate_push),
1833         (gst_ghost_pad_internal_do_activate_pull),
1834         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
1835         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
1836         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
1837         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
1838         GhostPads now create their internal GstProxyPad at creation (and not
1839         when they're linked, as it was being done previously).
1840         The internal and target pads are linked straight away.
1841         The data will also travel through the other pad in order to make
1842         pad blocking and probes non-hackish (the probe/block now really happens
1843         on the GhostPad and not on the target).
1844         * gst/gstpad.c: (gst_pad_set_blocked_async),
1845         (gst_pad_link_prepare), (gst_pad_push_event):
1846         Remove previous ghostpad cruft.
1847         * gst/gstutils.c: (gst_pad_add_data_probe),
1848         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1849         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1850         (gst_pad_remove_buffer_probe):
1851         Remove previous ghost pad cruft.
1852         Added more detailed debug statements.
1853         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1854         Fix the testsuite for refcounting changes.
1855         The comments about who has references were correct, but the refcount
1856         being checked wasn't the same (!?!).
1857
1858         Fixes #341029
1859
1860 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
1861
1862         * docs/gst/gstreamer-sections.txt:
1863         * gst/gstconfig.h.in:
1864         More docs for configuration options, add docs to gtk-doc.
1865
1866 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
1867
1868         * gst/Makefile.am:
1869         * gst/gstconfig.h.in:
1870         * win32/common/config.h:
1871         Fix build when disabling tracing (fixes #344016). Also start to document
1872         the defines that disable the sub-systems.
1873
1874 2006-07-10  Edward Hervey  <edward@fluendo.com>
1875
1876         * gst/gst.c: (ensure_current_registry_forking):
1877         let's make valgrind happy...
1878
1879 2006-07-09  Wim Taymans  <wim@fluendo.com>
1880
1881         * gst/gstelement.c: (activate_pads),
1882         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
1883         Better pad activation code: Reset the collect value too on resync.
1884         Add some comments.
1885
1886 2006-07-09  Wim Taymans  <wim@fluendo.com>
1887
1888         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
1889         (gst_pad_activate_push):
1890         Use some more macros where it makes sense.
1891         Allow pad mode switching instead of asserting. When a pad
1892         is activated in one mode and we activate it in another, 
1893         deactivate it first before activating it in a different mode.
1894         Fixes #329198.
1895
1896 2006-07-08  Andy Wingo  <wingo@pobox.com>
1897
1898         * tools/gst-launch.c (main): Handle err == NULL.
1899
1900         * gst/gst.c (init_post, ensure_current_registry)
1901         (ensure_current_registry_forking)
1902         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
1903         factoring out the registry scanning into separate functions. Don't
1904         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
1905         Better environment var name/interface suggestions accepted.
1906
1907 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1908
1909         * gst/gstobject.c: (gst_object_set_name_default),
1910         (gst_object_set_name):
1911           Random micro-optimisation: don't use a hash table
1912           with strings as keys and the usual strdup/strcmp
1913           involved, but rather just use the GQuark of the
1914           type name as key, since it needs to be looked up
1915           anyway to get the type name string.
1916
1917         * tests/check/gst/gstobject.c: (GST_START_TEST):
1918           Fix various leaks.
1919
1920 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1921
1922         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
1923         (gst_bin_iterate_all_by_interface):
1924           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
1925           GTypes are gulongs and thus the top 4 bytes might be cut
1926           off on some platforms when doing GPOINTER_TO_INT, leading
1927           to invalid GTypes and bad things happening (see RH bug #179654).
1928           Also add a check to make sure the type passed in is really
1929           an interface type.
1930
1931 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1932
1933         * .cvsignore:
1934           Ignore more.
1935
1936 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1937
1938         * Makefile.am:
1939         * configure.ac:
1940         * gst-element-check.m4:
1941         * gst-element-check.m4.in:
1942           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
1943           instead of the unversioned gst-inspect (#324176, #168659).
1944
1945 2006-07-06  Wim Taymans  <wim@fluendo.com>
1946
1947         * gst/gstmessage.h:
1948         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
1949         warnings.
1950
1951 2006-07-06  Wim Taymans  <wim@fluendo.com>
1952
1953         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1954         (gst_base_src_wait), (gst_base_src_update_length),
1955         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
1956         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
1957         (gst_base_src_loop), (gst_base_src_start),
1958         (gst_base_src_activate_pull):
1959         Update docs.
1960         blocksize == 0 now means the default blocksize when working in push
1961         based mode.
1962         Remove some pointless asserts in _wait function.
1963         Fix offset/length calculations and EOS handling. We can now pull 0
1964         bytes as well, which is allowed.
1965         use _check_get_range() to decide if we can operate in _pull based
1966         mode.
1967         Fix refcounting leak when check_get_range function was not 
1968         implemented.
1969         API GstBaseSrc::blocksize range can be 0 too now (default)
1970
1971         * tests/check/elements/filesrc.c: (GST_START_TEST),
1972         (filesrc_suite):
1973         Added check to test _get_range() behaviour.
1974
1975 2006-07-06  Wim Taymans  <wim@fluendo.com>
1976
1977         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
1978         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
1979         (gst_pad_pull_range):
1980         * gst/gstpad.h:
1981         Lots of comments and docs added to the pad functions.
1982         Flesh out the expected behaviour of the get_range() functions.
1983
1984 2006-07-06  Wim Taymans  <wim@fluendo.com>
1985
1986         * gst/gstbus.h:
1987         * gst/gstclock.h:
1988         * gst/gstevent.h:
1989         * gst/gstiterator.h:
1990         * gst/gstpad.h:
1991         * gst/gstplugin.h:
1992         * gst/gsttask.h:
1993         Remove comma at end of enumerator list. 
1994
1995 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
1996
1997         * win32/common/libgstbase.def:
1998         * win32/common/libgstdataprotocol.def:
1999         * win32/common/libsgtreamer.def:
2000         Add new exported functions.
2001
2002 2006-07-05  Wim Taymans  <wim@fluendo.com>
2003
2004         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
2005         Add some more docs here and there.
2006
2007 2006-07-05  Wim Taymans  <wim@fluendo.com>
2008
2009         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
2010         (gst_base_sink_loop), (gst_base_sink_get_position):
2011         When operating in pull mode update the offset so that we
2012         read sequentially.
2013
2014 2006-07-05  Wim Taymans  <wim@fluendo.com>
2015
2016         * gst/gstregistryxml.c: (read_string):
2017         Avoid strdup. (will happen in libxml, but hey!)
2018
2019         * gst/gsturi.c:
2020         Add some more docs.
2021
2022 2006-07-05  Wim Taymans  <wim@fluendo.com>
2023
2024         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
2025         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
2026         (gst_buffer_suite):
2027         No point in checking if the size of the subbuffer > 0, the
2028         code handles it correclty as demonstrated by unit test.
2029         Also add a unit test for the zero sized _new_and_alloc and
2030         _copy. Fixes #346663.
2031
2032 2006-07-05  Wim Taymans  <wim@fluendo.com>
2033
2034         * libs/gst/base/gstbasetransform.c:
2035         (gst_base_transform_prepare_output_buffer),
2036         (gst_base_transform_buffer_alloc),
2037         (gst_base_transform_handle_buffer):
2038         Make sure the buffer we pass to transform_ip has a refcount of
2039         1 and thus is writable. Fixes #343196
2040
2041 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
2042
2043         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2044         (gst_file_src_init), (gst_file_src_set_property),
2045         (gst_file_src_get_property), (gst_file_src_map_region):
2046         * plugins/elements/gstfilesrc.h:
2047         Add "sequential" property, off by default, to use madvise and hint
2048         to the kernel that sequential access is desired.
2049         Touch all retrieved pages by default to ensure they are pulled
2050         into memory. (Closes #345720)
2051
2052 2006-07-03  Wim Taymans  <wim@fluendo.com>
2053
2054         * docs/design/part-block.txt:
2055         * docs/design/part-dynamic.txt:
2056         Small docs updates.
2057
2058 2006-07-03  Wim Taymans  <wim@fluendo.com>
2059
2060         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
2061         (gst_caps_unref), (gst_static_caps_get),
2062         (gst_caps_append_structure):
2063         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
2064         Use GSlice when the glib we build against is >= 2.10
2065
2066 2006-07-03  Wim Taymans  <wim@fluendo.com>
2067
2068         * gst/gstelement.c: (gst_element_pads_activate):
2069         Small cleanup in pad activation code.
2070
2071 2006-07-03  Wim Taymans  <wim@fluendo.com>
2072
2073         Patch by: Peter Kjellerstedt <pkj at axis dot com>
2074
2075         * gst/gst-i18n-app.h:
2076         * gst/gst-i18n-lib.h:
2077         * tools/gst-inspect.c: (print_signal_info):
2078         The attached patch will make the inclusion of gettext.h unconditional in
2079         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
2080         libintl.h in tools/gst-inspect.c.
2081         This allows use of --disable-nls again and fixes #344642.
2082
2083 2006-07-03  Edward Hervey  <edward@fluendo.com>
2084
2085         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
2086         Implement pad blocking on events according to part-block.txt.
2087         More comments on behaviour.
2088         * tests/check/gst/gstevent.c: (test_event):
2089         Send event to peer pad of blocked pad (else it will block).
2090
2091 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2092
2093         * libs/gst/check/gstcheck.c: (gst_check_message_error),
2094         (gst_check_run_suite):
2095           if we get the wrong message, give us the types as string
2096         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2097           Fix a translatable
2098         * tests/check/elements/filesrc.c: (GST_START_TEST):
2099           add a test for trying to open a non-existing file
2100
2101 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2102
2103         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
2104           add a test for adding self
2105
2106 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2107
2108         * libs/gst/check/gstcheck.h:
2109           add some assert_ as alias for fail_unless_*
2110         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
2111           increase test coverage
2112
2113 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2114
2115         * Makefile.am:
2116           include lcov.mak for lcov coverage generation
2117         * tools/Makefile.am:
2118           add to CLEANFILES
2119
2120 2006-07-02  Edward Hervey  <edward@fluendo.com>
2121
2122         * tests/check/elements/.cvsignore:
2123         moaping
2124
2125 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2126
2127         * configure.ac:
2128           don't set CFLAGS and friends for gcov, done from GST_GCOV now
2129         * tests/check/Makefile.am:
2130           clean up gcov files
2131
2132 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2133
2134         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
2135           remove gst_caps_simplify; it was not declared and not used
2136           and deprecated in 0.8
2137
2138 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2139
2140         * docs/faq/gst-uninstalled:
2141           don't put empty paths on PYTHONPATH
2142         * docs/gst/gstreamer-sections.txt:
2143           remove some symbols that are not there
2144
2145 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2146
2147         * gst/gstcaps.c: (gst_caps_compare_structures):
2148           whitespace fixes
2149         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
2150         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
2151           add more tests
2152
2153 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2154
2155         * libs/gst/dataprotocol/Makefile.am:
2156           build dataprotocol test by linking to the lib, instead of
2157           compiling the source, so we get coverage
2158         * tests/check/Makefile.am:
2159         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
2160         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
2161           add a test for filesrc
2162
2163 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2164
2165         * tests/check/gst/gststructure.c: (GST_START_TEST),
2166         (gst_structure_suite):
2167           Push coverage from 59.04% to 70.00%
2168
2169 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2170
2171         * tests/check/Makefile.am:
2172           gst-inspect every element; this makes sure that we also get
2173           coverage on element's get/set functions
2174
2175 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2176
2177         * configure.ac:
2178           set CFLAGS and friends to -O0 if gcov is being used
2179           add GCOV LIBS
2180         * gst/Makefile.am:
2181         * libs/gst/base/Makefile.am:
2182         * libs/gst/check/Makefile.am:
2183         * libs/gst/controller/Makefile.am:
2184         * libs/gst/dataprotocol/Makefile.am:
2185         * libs/gst/net/Makefile.am:
2186         * plugins/elements/Makefile.am:
2187         * plugins/indexers/Makefile.am:
2188           add makefile rules to generate gcov data and clean up
2189         * tests/check/Makefile.am:
2190           add a coverage target that generates an html overview
2191           of coverage data
2192
2193 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2194
2195         * tests/check/elements/fakesink.c:
2196         * tests/check/elements/fakesrc.c:
2197         * tests/check/elements/fdsrc.c:
2198         * tests/check/elements/identity.c:
2199         * tests/check/generic/sinks.c: (gst_sinks_suite):
2200         * tests/check/generic/states.c:
2201         * tests/check/gst/gst.c:
2202         * tests/check/gst/gstabi.c:
2203         * tests/check/gst/gstbin.c:
2204         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
2205         * tests/check/gst/gstbus.c: (gst_bus_suite):
2206         * tests/check/gst/gstcaps.c: (GST_START_TEST):
2207         * tests/check/gst/gstelement.c:
2208         * tests/check/gst/gstevent.c: (gst_event_suite):
2209         * tests/check/gst/gstghostpad.c:
2210         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
2211         * tests/check/gst/gstmessage.c: (gst_message_suite):
2212         * tests/check/gst/gstminiobject.c:
2213         * tests/check/gst/gstobject.c:
2214         * tests/check/gst/gstpad.c:
2215         * tests/check/gst/gstpipeline.c:
2216         * tests/check/gst/gstplugin.c:
2217         * tests/check/gst/gstquery.c: (gst_query_suite):
2218         * tests/check/gst/gstsegment.c: (gst_segment_suite):
2219         * tests/check/gst/gststructure.c:
2220         * tests/check/gst/gstsystemclock.c:
2221         * tests/check/gst/gsttag.c:
2222         * tests/check/gst/gsttask.c: (gst_task_suite):
2223         * tests/check/gst/gstutils.c:
2224         * tests/check/gst/gstvalue.c:
2225         * tests/check/libs/adapter.c:
2226         * tests/check/libs/basesrc.c:
2227         * tests/check/libs/collectpads.c:
2228         * tests/check/libs/controller.c:
2229         * tests/check/libs/gdp.c: (gst_dp_suite):
2230         * tests/check/libs/gstnetclientclock.c:
2231         * tests/check/libs/gstnettimeprovider.c:
2232         * tests/check/libs/libsabi.c: (libsabi_suite):
2233         * tests/check/libs/typefindhelper.c:
2234         * tests/check/pipelines/cleanup.c:
2235         * tests/check/pipelines/parse-launch.c:
2236         * tests/check/pipelines/simple-launch-lines.c:
2237         * tests/check/pipelines/stress.c: (stress_suite):
2238           use the new macro
2239
2240 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2241
2242         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
2243         * libs/gst/check/gstcheck.h:
2244           create a macro and function so that the simple unit test
2245           case can be just one macro to create main()
2246
2247 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
2248
2249         * gst/gstbin.c: (gst_bin_restore_thyself):
2250         * gst/gstxml.c: (gst_xml_make_element):
2251           Fix deserialisation from XML. Set parent manually
2252           instead of using gst_bin_add(), since gst_bin_add()
2253           will unlink all pads of the element being added.
2254           Fixes #341667.
2255
2256 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
2257
2258         Patch by: Peter Kjellerstedt <pkj at axis com>
2259
2260         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
2261           Fix missing g_strdup() and double free when using the
2262           --gst-plugin-load command line option (#346097).
2263
2264 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
2265
2266         * gst/gstinfo.c:
2267           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
2268
2269         * libs/gst/net/gstnetclientclock.c:
2270         * libs/gst/net/gstnettimeprovider.c:
2271           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
2272
2273 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
2274
2275         * docs/manual/advanced-dataaccess.xml:
2276           Fix buffer probe example compilation in
2277           ADM (#345708).
2278         
2279 2006-06-22  Edward Hervey  <edward@fluendo.com>
2280
2281         * gst/gstelement.c: (gst_element_pads_activate):
2282         We need to deactivate src pads first and then sink pads.
2283         The reason is the src pads might be blocking while holding the streaming
2284         lock, so we need to deactivate them first so that deactivating the sink
2285         pads doesn't block (since it will require the streaming lock).
2286
2287 2006-06-22  Wim Taymans  <wim@fluendo.com>
2288
2289         * libs/gst/base/gstbasetransform.c:
2290         (gst_base_transform_buffer_alloc):
2291         Forgot to remove two unneeded unrefs.
2292         Simplify a check _is_equal allready checks the obvious case.
2293
2294 2006-06-22  Wim Taymans  <wim@fluendo.com>
2295
2296         * docs/design/part-block.txt:
2297         Some docs about what pad_block should do.
2298
2299 2006-06-22  Wim Taymans  <wim@fluendo.com>
2300
2301         * gst/gstcaps.c: (gst_caps_replace):
2302         Fix crasher when passed NULL. Doc clarification.
2303         Optimize for the trivial case.
2304
2305         * gst/gstpipeline.c: (gst_pipeline_change_state):
2306         Small cleanups.
2307
2308         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
2309         Small documentation cleanup.
2310
2311         * libs/gst/base/gstbasetransform.c:
2312         (gst_base_transform_buffer_alloc):
2313         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
2314         is what we need and it avoids a whole lot of redundant 
2315         refcount operations.
2316
2317 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
2318
2319         Patch by: Philip Jägenstedt  <philip at lysator liu se>
2320
2321         * docs/manual/advanced-dataaccess.xml:
2322           Fix 'Embedding static elements' section to use
2323           GST_PLUGIN_DEFINE_STATIC (#345607).
2324
2325 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
2326
2327         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
2328           Attempt to 'fix' spuriously failing test case: it seems like the
2329           timeout of half a second is simply too small when the system is under
2330           load otherwise, and the timeout doesn't really seem to serve any
2331           particular purpose here. Give the pipeline a few seconds to preroll
2332           first, and then give it another half a second to go from PAUSED to
2333           PLAYING and marshal the message into the main thread.
2334
2335 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
2336
2337         * tools/gst-feedback-m.m:
2338           Don't only use unversioned tools, try versioned tools as well
2339           (#345086).
2340
2341 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
2342
2343         * gst/gstbus.c: (gst_bus_class_init):
2344           Fix some typos, make docs more explicit.
2345
2346 2006-06-20  Wim Taymans  <wim@fluendo.com>
2347
2348         * tests/check/gst/gstghostpad.c: (block_callback),
2349         (GST_START_TEST), (gst_ghost_pad_suite):
2350         Added some more ghostpad tests, mainly blocking
2351         and probes.
2352
2353 2006-06-16  Wim Taymans  <wim@fluendo.com>
2354
2355         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2356         (gst_file_sink_close_file), (gst_file_sink_do_seek),
2357         (gst_file_sink_event), (gst_file_sink_render):
2358         * plugins/elements/gstfilesink.h:
2359         Check if we can seek in the file instead of assuming
2360         we always can. Post an error when we are asked to seek in a
2361         non-seekable file (like a fifo). Fixes #343312.
2362         Some cleanups.
2363
2364 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
2365
2366         * tools/gst-launch.1.in:
2367           Un-garble (fourcc) bit in filtered caps section.
2368
2369 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
2370
2371         * docs/manual/advanced-autoplugging.xml:
2372         * docs/manual/basics-helloworld.xml:
2373         * docs/manual/highlevel-components.xml:
2374           Don't leak bus reference in sample code.
2375
2376 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
2377
2378         * autogen.sh:
2379           Add default for new --enable-plugin-docs switch.
2380
2381         * configure.ac:
2382           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
2383           Fixes #344039.
2384
2385         * docs/Makefile.am:
2386           Use new ENABLE_PLUGIN_DOCS conditional.
2387
2388 2006-06-14  Wim Taymans  <wim@fluendo.com>
2389
2390         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
2391         Make it clear with a FIXME and a real define what the #if 0
2392         previously disabled.
2393
2394 2006-06-14  Wim Taymans  <wim@fluendo.com>
2395
2396         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2397         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
2398         * libs/gst/base/gstbasetransform.c:
2399         (gst_base_transform_sink_eventfunc):
2400         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
2401         Don't randomly and silently reset a segment when the format 
2402         changes as this is a bug somewhere upstream. Fixes #330379.
2403
2404 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2405
2406         Patch by: Wouter Paesen  <wouter at kangaroot net>
2407
2408         * libs/gst/controller/gstcontroller.c:
2409         (gst_controlled_property_new):
2410           Fix controlling of float properties (#344849).
2411
2412         * tests/check/libs/controller.c:
2413         (gst_test_mono_source_get_property),
2414         (gst_test_mono_source_set_property),
2415         (gst_test_mono_source_class_init), (GST_START_TEST):
2416           While we're at it, add some float stuff to unit test.
2417
2418 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2419
2420         * docs/README:
2421         * docs/images/gdp-header.svg:
2422           add a gdp image
2423         * docs/libs/Makefile.am:
2424         * docs/libs/gdp-header.png:
2425         * libs/gst/dataprotocol/dataprotocol.c:
2426           add it to the API docs
2427         * docs/manual/intro-motivation.xml:
2428           fix typo
2429
2430 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
2431
2432         * gst/gst.c: (scan_and_update_registry), (init_post):
2433           If the fork()'ed child process can't write the updated registry cache
2434           file to disk for some reason, make it exit with a failure exit code,
2435           so that the parent can then re-scan the plugins itself and update the
2436           registry structures in memory and work with that (rather than failing
2437           when creating elements because seemingly no plugins are available).
2438           Refactor registry scanning code into separate function for this and
2439           also separate fork() and non-fork() code paths. Fixes #344748.
2440
2441 2006-06-13  Wim Taymans  <wim@fluendo.com>
2442
2443         * docs/manual/advanced-dataaccess.xml:
2444         Fix wrong PluginDesc. Fixes #344755.
2445
2446 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
2447
2448         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
2449           Fix silly bug that prevented us from creating
2450           ~/.gstreamer-0.10 and writing the registry in one
2451           go (the first call to g_mkstemp() would overwrite the
2452           placeholder in the template string, so the second call
2453           to g_mkstemp() after creating the missing directory
2454           would then error out with 'invalid argument').
2455
2456 2006-06-13  Edward Hervey  <edward@fluendo.com>
2457
2458         * gst/gst.c: (init_post):
2459         Free string.
2460
2461 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2462
2463         * gst/glib-compat-private.h:
2464         * gst/glib-compat.c:
2465         * gst/glib-compat.h:
2466         * gst/gstvalue.c: (gst_value_serialize_flags):
2467           remove GLib 2.6 compatibility code
2468
2469 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
2470
2471         * gst/parse/Makefile.am:
2472           Fix build with 'make -j N' even more (#340016).
2473
2474 2006-06-12  Wim Taymans  <wim@fluendo.com>
2475
2476         * docs/gst/gstreamer-sections.txt:
2477         Fix docs.
2478
2479 2006-06-12  Wim Taymans  <wim@fluendo.com>
2480
2481         * gst/gstsegment.c: (gst_segment_set_duration),
2482         (gst_segment_set_last_stop), (gst_segment_set_seek),
2483         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
2484         (gst_segment_to_running_time), (gst_segment_clip):
2485         Use G_UNLIKELY to help the compiler a bit.
2486
2487 2006-06-12  Wim Taymans  <wim@fluendo.com>
2488
2489         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
2490
2491         * gst/gstevent.c: (gst_event_get_type):
2492         * gst/gstmessage.c:
2493         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
2494         (gst_pad_push):
2495         constify quark registration strings. Fixes #344115
2496         Avoid unneeded type checking is _pad_push() by internally
2497         calling gst_pad_chain_unchecked().
2498
2499 2006-06-12  Wim Taymans  <wim@fluendo.com>
2500
2501         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
2502         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
2503         (gst_subbuffer_finalize), (gst_buffer_create_sub),
2504         (gst_buffer_is_span_fast), (gst_buffer_span):
2505         Init _type for consistency.
2506         Use _FLAGS macro to avoid type check.
2507         Avoid unneeded type checks in subbufer code.
2508
2509 2006-06-12  Wim Taymans  <wim@fluendo.com>
2510
2511         * gst/gst.c: (gst_debug_help):
2512         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
2513         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
2514         (gst_plugin_feature_list_free):
2515         * gst/gstregistry.c: (gst_registry_add_plugin),
2516         (gst_registry_add_feature), (gst_registry_plugin_filter),
2517         (gst_registry_feature_filter), (gst_registry_find_plugin),
2518         (gst_registry_find_feature), (gst_registry_get_plugin_list),
2519         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
2520         * gst/gstregistryxml.c: (load_feature),
2521         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
2522         * gst/gstminiobject.c: (gst_mini_object_unref),
2523         (gst_mini_object_replace), (gst_value_mini_object_free),
2524         (gst_value_mini_object_copy):
2525         Use _CAST macros to avoid unneeded type checking.
2526         Added some more G_UNLIKELY.
2527
2528 2006-06-12  Wim Taymans  <wim@fluendo.com>
2529
2530         * gst/gstbuffer.h:
2531         Avoid unneeded type checking.
2532         API: GST_BUFFER_IS_DISCONT
2533
2534         * gst/gstminiobject.h:
2535         Avoid type check in flag accessor.
2536
2537         * gst/gstelementfactory.h:
2538         * gst/gstplugin.h:
2539         * gst/gstpluginfeature.h:
2540         Add _CAST macros.
2541         API: GST_ELEMENT_FACTORY_CAST
2542         API: GST_PLUGIN_CAST
2543         API: GST_PLUGIN_FEATURE_CAST
2544
2545 2006-06-12  Wim Taymans  <wim@fluendo.com>
2546
2547         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
2548         (gst_object_unref):
2549         Add G_UNLIKELY in type registration.
2550         Avoid type check in _ref/_unref since that is also
2551         done in glib.
2552
2553 2006-06-12  Wim Taymans  <wim@fluendo.com>
2554
2555         * gst/gsterror.c: (gst_g_error_get_type):
2556         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
2557         (gst_static_pad_template_get_type):
2558         * gst/gsttaglist.c: (gst_tag_list_get_type):
2559         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
2560         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
2561         * gst/gsturi.c: (gst_uri_handler_get_type):
2562         * gst/gstvalue.c: (gst_date_get_type):
2563         * gst/gstxml.c: (gst_xml_get_type):
2564         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
2565         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
2566         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
2567         Add G_UNLIKELY in type registration.
2568
2569 2006-06-12  Wim Taymans  <wim@fluendo.com>
2570
2571         * tools/gst-inspect.c: (print_signal_info):
2572         Properly print enum values.
2573
2574 2006-06-12  Wim Taymans  <wim@fluendo.com>
2575
2576         * gst/gstinfo.c: (gst_debug_set_active),
2577         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
2578         * gst/gstinfo.h:
2579         Add some G_[UN]LIKELY.
2580         Maintain __gst_debug_min to avoid formatting the arguments of
2581         debug messages that will be dropped anyway to avoid a lot of 
2582         overhead from the debugging system.
2583
2584 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
2585
2586         * po/POTFILES.in:
2587         * po/POTFILES.skip:
2588           add missing files containing translatable strings, tell intltool about
2589           one exception
2590
2591 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
2592
2593         * tests/check/libs/.cvsignore:
2594         add test-binary to ignore list
2595
2596 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
2597
2598         * docs/libs/gstreamer-libs-docs.sgml:
2599         reorder (put dp into a chapter) and indent
2600
2601 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2602
2603         * configure.ac:
2604           back to HEAD
2605
2606 === release 0.10.8 ===
2607
2608 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
2609
2610         * configure.ac:
2611           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
2612
2613 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2614
2615         * gst/gst.c: (init_post):
2616           move pid declaration to declaration block
2617
2618 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2619
2620         * gst/gst.c: (init_post):
2621           use _exit() instead of exit() in our forked child; this ensures
2622           that none of the registered exit handlers from whatever is using
2623           GStreamer get executed.  This fixes gnome-mixer-applet failing
2624           to load, because ORBit would shut down.
2625           Spotted by: Edward Hervey  <edward@fluendo.com>
2626           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
2627           Fixes #344474
2628
2629 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2630
2631         * configure.ac:
2632           back to TRUNK
2633
2634 === release 0.10.7 ===
2635
2636 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
2637
2638         * configure.ac:
2639           releasing 0.10.7, "Soepeke, ik zie ou"
2640
2641 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2642
2643         * configure.ac:
2644         * po/af.po:
2645         * po/az.po:
2646         * po/bg.po:
2647         * po/ca.po:
2648         * po/cs.po:
2649         * po/de.po:
2650         * po/en_GB.po:
2651         * po/fr.po:
2652         * po/it.po:
2653         * po/nb.po:
2654         * po/nl.po:
2655         * po/ru.po:
2656         * po/sq.po:
2657         * po/sr.po:
2658         * po/sv.po:
2659         * po/tr.po:
2660         * po/uk.po:
2661         * po/vi.po:
2662         * po/zh_CN.po:
2663         * po/zh_TW.po:
2664         * win32/common/config.h:
2665           0.10.6.2 prerelease
2666
2667 2006-06-07  Wim Taymans  <wim@fluendo.com>
2668
2669         * gst/gstindex.c: (gst_index_gtype_resolver):
2670         * tools/gst-xmlinspect.c: (print_plugin_info):
2671         Fix leak spotted by coverity checker. Fixes #343827
2672         Fix another other leak found by paolo borelli.
2673
2674 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2675
2676         * libs/gst/dataprotocol/dataprotocol.c:
2677         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
2678         (gst_dp_version_get_type), (gst_dp_init),
2679         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
2680         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
2681         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
2682         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
2683         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
2684         (gst_dp_packetizer_free):
2685         * libs/gst/dataprotocol/dataprotocol.h:
2686           API: add a GstDPPacketizer object, and create/free functions
2687           API: add GstDPVersion enum
2688           Add 1.0 event function that uses the string serialization
2689           Serialize more useful buffer flags
2690           Fixes #343988
2691
2692 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2693
2694         * tests/check/Makefile.am:
2695         * tests/check/gst/gstabi.c:
2696         * tests/check/gst/struct_ppc64.h:
2697         * tests/check/libs/libsabi.c:
2698         * tests/check/libs/struct_ppc64.h:
2699           add ppc64 structure sizes
2700
2701 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2702
2703         * tests/check/Makefile.am:
2704         * tests/check/gst/gstabi.c:
2705         * tests/check/gst/struct_x86_64.h:
2706         * tests/check/libs/libsabi.c:
2707         * tests/check/libs/struct_x86_64.h:
2708           generate and add structure size lists for x86_64
2709
2710 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2711
2712         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
2713         * libs/gst/check/gstcheck.h:
2714           factor out the method from tests that checks size of structures,
2715           and add code to generate the header containing these sizes
2716         * tests/check/gst/gstabi.c: (GST_START_TEST):
2717         * tests/check/gst/struct_i386.h:
2718         * tests/check/libs/libsabi.c: (GST_START_TEST):
2719         * tests/check/libs/struct_i386.h:
2720           use it
2721
2722 2006-06-06  Michael Smith  <msmith@fluendo.com>
2723
2724         * gst/gstsegment.h:
2725           Don't use c++-style comments, fixes #343929
2726
2727 2006-06-05  Edward Hervey  <edward@fluendo.com>
2728
2729         * gst/gst.c:
2730         plugin_paths is not used if we build without registry support.
2731
2732         * gst/gstsegment.c: (gst_segment_copy): 
2733         _copy() was always returning NULL...
2734
2735 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2736
2737         * libs/gst/dataprotocol/dataprotocol.c:
2738         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2739         (gst_dp_packet_from_event):
2740           factor out CRC code
2741
2742 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2743
2744         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
2745           make sure we unset caps
2746
2747 2006-06-02  Michael Smith  <msmith@fluendo.com>
2748
2749         * libs/gst/check/gstcheck.c: (gst_check_init),
2750         (gst_check_chain_func):
2751         * libs/gst/check/gstcheck.h:
2752           Add a cond/mutex to the check support lib, signal this whenever we
2753           add to the buffers list. This will allow tests to not busy-wait on
2754           the buffer-list.
2755
2756 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2757
2758         * libs/gst/dataprotocol/dataprotocol.c:
2759         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2760         (gst_dp_packet_from_event):
2761           factor out some common header init code
2762
2763 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2764
2765         * docs/libs/gstreamer-libs-sections.txt:
2766         * docs/libs/tmpl/gstdataprotocol.sgml:
2767         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
2768         * libs/gst/dataprotocol/dataprotocol.h:
2769           API: make gst_dp_crc() public
2770
2771 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
2772
2773         * plugins/indexers/gstindexers.c: (plugin_init):
2774         conditionally register fileindexer (fixes #343598)
2775
2776 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
2777
2778         * gst/gsttagsetter.h:
2779         Can't cast ifaces to a class
2780
2781         * libs/gst/net/gstnetclientclock.h:
2782         * libs/gst/net/gstnettimeprovider.h:
2783         * plugins/elements/gstfakesink.h:
2784         * plugins/elements/gstfakesrc.h:
2785         * plugins/elements/gstfdsink.h:
2786         * plugins/elements/gstfdsrc.h:
2787         * plugins/elements/gstfilesink.h:
2788         * plugins/elements/gstfilesrc.h:
2789         * plugins/elements/gstidentity.h:
2790         * plugins/elements/gstqueue.h:
2791         * plugins/elements/gsttee.h:
2792         * plugins/indexers/gstfileindex.c:
2793         * plugins/indexers/gstmemindex.c:
2794         * tests/old/examples/plugins/example.h:
2795         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
2796
2797 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2798
2799         * libs/gst/dataprotocol/dataprotocol.c:
2800         (gst_dp_header_from_buffer):
2801           make sure we zero the whole ABI-compatible area
2802
2803 2006-06-01  Wim Taymans  <wim@fluendo.com>
2804
2805         Patch by: Alessandro Decina <alessandro at nnva dot org>
2806
2807         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
2808         Make sure the EOS flag is cleared from pads after a flush
2809         or stop. Fixes #343538.
2810
2811         * tests/check/libs/collectpads.c: (GST_START_TEST),
2812         (gst_collect_pads_suite):
2813         Added test for collectpads reusage after EOS.
2814
2815 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
2816
2817         * gst/gst.c:
2818          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
2819         * win32/common/libgstbase.def:
2820          export gst_collect_pads_set_flushing
2821         * win32/common/libgstreamer.def:
2822          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
2823          gst_value_fraction_multiply
2824         * win32/vs6/gst_inspect.dsp:
2825          add a link to intl.lib
2826
2827 2006-05-30  Wim Taymans  <wim@fluendo.com>
2828
2829         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
2830         (gst_collect_pads_chain):
2831         Handle the case where a pad is removed from the collection
2832         that could cause the other pads to become collectable.
2833
2834 2006-05-30  Wim Taymans  <wim@fluendo.com>
2835
2836         * gst/gstelement.c:
2837         Clarify the use of _release_request_pad() and
2838         _get_request_pad() a bit better.
2839
2840         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
2841         (gst_adapter_take_buffer):
2842         Fix some doc and comment typos.
2843
2844 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2845
2846         * docs/gst/gstreamer-sections.txt:
2847         * docs/libs/gstreamer-libs-sections.txt:
2848           add declared symbols
2849
2850 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
2851
2852         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
2853         Add debug that can be enabled using a #define at the top of the file,
2854         for dumping stats about how late/early we were when waking up from
2855         waiting on the clock.
2856
2857 2006-05-30  Wim Taymans  <wim@fluendo.com>
2858
2859         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
2860         When rebuilding the pad list, don't leak the previous list.
2861
2862 2006-05-30  Wim Taymans  <wim@fluendo.com>
2863
2864         Patch by: Lutz Mueller <lutz at topfrose dot de>
2865
2866         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2867         (gst_base_src_get_query_types), (gst_base_src_update_length):
2868         Publish supported query types.
2869         Update last_stop field in get_range mode so the position
2870         query works. Fixes #342321.
2871
2872 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
2873
2874         * docs/gst/gstreamer-sections.txt:
2875         * gst/gsttaglist.c: (_gst_tag_initialize):
2876         * gst/gsttaglist.h:
2877           API: add GST_TAG_PREVIEW_IMAGE (#343341).
2878
2879 2006-05-30  Wim Taymans  <wim@fluendo.com>
2880
2881         Patch by: Alessandro Decina <alessandro at nnva dot org>
2882
2883         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
2884         Unlock mutex when removing an unknown pad.
2885         Fixes #343334.
2886
2887         * tests/check/Makefile.am:
2888         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
2889         (push_event), (setup), (teardown), (GST_START_TEST),
2890         (gst_collect_pads_suite), (main):
2891         Added collecpads check, disabled for now as check crashes for
2892         some reason.
2893
2894 2006-05-29  Wim Taymans  <wim@fluendo.com>
2895
2896         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
2897         Don't leak pads lists.
2898
2899 2006-05-29  Wim Taymans  <wim@fluendo.com>
2900
2901         * docs/libs/gstreamer-libs-sections.txt:
2902         * libs/gst/base/gstcollectpads.c:
2903         (gst_collect_pads_set_flushing_unlocked),
2904         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
2905         (gst_collect_pads_stop):
2906         * libs/gst/base/gstcollectpads.h:
2907         API: gst_collect_pads_set_flushing()
2908         Added api to set the pads to flushing, useful for seeking
2909         code in elements using collectpads.
2910         Clear segment when receiving a flush.
2911
2912 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
2913
2914         * gst/gst.c: (add_path_func), (init_post):
2915           Don't scan registry paths passed via --gst-plugin-path immediately
2916           (will crash, because absolutely nothing is set up and no types are
2917           registered etc.); do this later in init_post(). Fixes #343057.
2918
2919 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2920
2921         * gst/gst.c: (init_post):
2922           if we have fork, fork while reading/rebuilding the registry
2923           so the parent doesn't take the hit of having all plugins loaded
2924           in memory.  Fixes #342777.
2925         * configure.ac:
2926           Check if we have fork()
2927         * win32/common/config.h.in:
2928           no fork() on win32
2929
2930 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
2931
2932         * plugins/elements/gstelements.c:
2933         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2934         (gst_file_src_init), (gst_file_src_set_property),
2935         (gst_file_src_get_property), (gst_file_src_start):
2936         * plugins/elements/gstfilesrc.h:
2937           API: GstFileSrc::use-mmap
2938
2939         Add a use-mmap property to enable easier testing of all code paths.
2940         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
2941         in the absence of gnomevfssrc. (Closes #340501)
2942
2943 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2944
2945         * tools/gst-inspect.c:
2946         Add missing include, removes warning of ngettext not being defined on
2947         some arches.
2948
2949 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
2950
2951         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2952         Handle NULL input and output pointers silently as a failed conversion,
2953         rather than g_warnings.
2954
2955 2006-05-25  Wim Taymans  <wim@fluendo.com>
2956
2957         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
2958         Initialize variable before using. Fixes #342820.
2959
2960 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
2961
2962         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
2963           Fix off-by-one bug that would only allow peeks of N-1 bytes
2964           from the start even if the buffer to typefind on contains
2965           in fact N bytes of data (makes vorbis typefinding from a
2966           vorbis identification header buffer work).
2967
2968         * tests/check/Makefile.am:
2969         * tests/check/libs/.cvsignore:
2970         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
2971         (gst_typefindhelper_suite), (main), (foobar_typefind),
2972         (plugin_init):
2973           Add very basic unit test for gst_type_find_helper_for_buffer()
2974           that checks for the problem fixed above.
2975
2976 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2977
2978         * tools/gst-inspect.c: (print_interfaces),
2979         (print_element_properties_info), (print_element_list), (main):
2980           add more translatable strings
2981
2982 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
2983
2984         Patch by: Julien Moutte  <julien at moutte net>
2985
2986         * docs/gst/gstreamer-sections.txt:
2987           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
2988           
2989         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
2990         (gst_fake_sink_preroll):
2991         * plugins/elements/gstfakesink.h:
2992           API: Add new GstFakeSink::preroll-handoff signal (#337100).
2993
2994 2006-05-23  Wim Taymans  <wim@fluendo.com>
2995
2996         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
2997         * gst/gstpad.h:
2998         Added _CUSTOM error and success GstFlowReturn that can be
2999         used be elements internally. 
3000         Added macro to check for SUCCESS flowreturns.
3001         API: GST_FLOW_CUSTOM_SUCCESS
3002         API: GST_FLOW_CUSTOM_ERROR
3003         API: GST_FLOW_IS_SUCCESS
3004
3005         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
3006         Added check for GstFlowReturn sanity.
3007
3008 2006-05-23  Wim Taymans  <wim@fluendo.com>
3009
3010         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
3011
3012         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
3013         (gst_collect_pads_event):
3014         clear/reset segment info in FLUSH_STOP.
3015         Fixes #336929.
3016
3017 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
3018
3019         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
3020         (gst_collect_pads_check_collected):
3021         Flush queued buffer on _stop(), fixes playing again (#342454)
3022
3023 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3024
3025         * tests/check/gst/gststructure.c: (GST_START_TEST),
3026         (gst_structure_suite):
3027           add a test for a complete structure
3028
3029 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
3030
3031         * docs/faq/developing.xml:
3032         * docs/faq/faq.xml:
3033         * docs/faq/troubleshooting.xml:
3034         * docs/faq/using.xml:
3035           Some minor FAQ updates that won't change the fact that
3036           our FAQ is badly structured, full of information hardly
3037           anyone new to GStreamer needs to know and lacking lots
3038           of information people constantly ask for.
3039           
3040 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
3041
3042         * gst/gstpad.c: (gst_pad_set_caps):
3043           Short-circuit gst_pad_set_caps if setting the existing
3044           caps pointer again, and avoid printing debug and 
3045           reffing/unreffing the caps.
3046
3047         * plugins/elements/gstqueue.c: (gst_queue_push_one):
3048           There's actually no need to set the caps before pushing -
3049           the acceptcaps method will handle it anyway.
3050
3051 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
3052
3053         * docs/gst/gstreamer-sections.txt:
3054         * win32/common/libgstreamer.def:
3055         * gst/gstutils.c: (gst_element_seek_simple):
3056         * gst/gstutils.h:
3057           API: add gst_element_seek_simple() (#342238).
3058
3059 2006-05-18  Edward Hervey  <edward@fluendo.com>
3060
3061         * gst/gsttypefind.c: (gst_type_find_get_type):
3062         * gst/gsttypefind.h:
3063         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
3064         registered for GstTypeFind pointers. This allows wrapping the structure
3065         in bindings (i.e. gst-python).
3066
3067 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
3068
3069         * gst/gsttagsetter.c:
3070           Docs additions and fixes (see #339918).
3071
3072 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
3073
3074         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3075         The caps intersection algorithm can produce multiple copies of the
3076         caps. Until that is fixed, we need to simplify the result to be
3077         sure whether the allowed caps are fixed or not.
3078
3079         * plugins/elements/gstqueue.c: (gst_queue_init),
3080         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
3081         (gst_queue_push_one):
3082         Proxied buffer alloc should not set the caps on the source pad.
3083         When pushing buffers, we always accept the caps change that triggers.
3084         This prevents negotiation errors caused by caps changing mid-stream 
3085         and then being refused on our source pad (because upstream is now
3086         refusing those caps).
3087
3088 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
3089
3090         * tests/examples/helloworld/helloworld.c: (main):
3091           Must plug audioconvert and audioresample between decoder
3092           and audio sink.
3093
3094 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
3095
3096         * gst/gstregistryxml.c: (read_string), (load_pad_template),
3097         (load_feature), (load_plugin):
3098         Allow empty strings for some of the plugin fields so we don't 
3099         drop valid plugin entries that were written out correctly
3100         (Fixes #341479)
3101
3102 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
3103         
3104         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
3105           Use g_remove and g_rename instead of remove and rename that don't 
3106           handle utf8 characters. rename was failing for users who had specific
3107           characters in their name then the registry was built at each 
3108           gstreamer init.
3109         * win32/vs6/gst_inspect.dsp:
3110         * win32/vs6/gst_launch.dsp:
3111         * win32/vs6/libgstbase.dsp:
3112         * win32/vs6/libgstcoreelements.dsp:
3113         * win32/vs6/libgstreamer.dsp:
3114           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
3115           build of libgstreamer and clean unused libraries in projects link 
3116           settings.
3117
3118 2006-05-17  Edward Hervey  <edward@fluendo.com>
3119
3120         * plugins/elements/gstqueue.c: (gst_queue_push_one):
3121         The queue is not responsible for pushing an EOS when receiving a fatal
3122         flow error. It's up to the real element driving the pipeline to do that.
3123
3124 2006-05-16  Edward Hervey  <edward@fluendo.com>
3125
3126         * plugins/elements/gstqueue.c: (gst_queue_push_one):
3127         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
3128         buffer returned a fatal error. It should just send an EOS and stop
3129         its task.
3130         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
3131         when pushing buffers on the queue and will be able to handle the event.
3132
3133 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
3134
3135         * docs/manual/basics-bins.xml:
3136         * docs/manual/basics-init.xml:
3137           Fix typos and minor errors in sample code (#341856).
3138
3139 2006-05-16  Wim Taymans  <wim@fluendo.com>
3140
3141         * docs/design/part-qos.txt:
3142         Fix indexes in formulas to make more sense.
3143
3144 2006-05-15  Wim Taymans  <wim@fluendo.com>
3145
3146         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3147         Don't report POSITION based on clock time if sync is
3148         disabled in a sink.
3149
3150 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
3151
3152         * gst/gstobject.h:
3153           Add cast to make compiler happy - refcount variable was a gint
3154           in GstObject but is a guint in GObject and g_atomic_int_get()
3155           wants a gint *.
3156
3157 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3158
3159         * gst/parse/Makefile.am:
3160           chain commands using &&, which also makes parallel make work
3161
3162 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
3163
3164         * docs/gst/gstreamer-sections.txt:
3165         * gst/gstevent.c:
3166         * gst/gstevent.h:
3167         * gst/gstmessage.h:
3168           Minor docs fixes.
3169
3170 === release 0.10.6 ===
3171
3172 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
3173
3174         * configure.ac:
3175           releasing 0.10.6, "Take the cannoli"
3176
3177 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3178
3179         * tools/gst-launch.c: (print_tag):
3180           Fix use of uninitialized variable in the hypothetical
3181           case that some broken plugin creates a GST_TAG_IMAGE
3182           tag containing a NULL buffer (#341667).
3183
3184 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
3185
3186         * tools/gst-launch.c: (print_tag):
3187           Print something more intelligible for image tags when
3188           using the -t switch (#341556).
3189
3190 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3191
3192         * Makefile.am:
3193           updates for win32
3194         * configure.ac:
3195           define GST_MAJORMINOR so we have it available in win32/common/config.h
3196           Possibly remove it from our Makefile.am files later
3197         * win32/common/config.h:
3198         * win32/common/config.h.in:
3199           added GST_MAJORMINOR
3200         * win32/common/gstenumtypes.c: (register_gst_resource_error):
3201         * win32/common/gstversion.h:
3202           updated
3203
3204 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
3205
3206         * win32/MANIFEST:
3207           Update win32 files listing.
3208         * win32/common/gstversion.h:
3209           Add GST_MAJORMINOR definition.
3210         * win32/common/libgstreamer.def:
3211           Add new exported functions.
3212           
3213 2006-05-12  Michael Smith  <msmith@fluendo.com>
3214
3215         * gst/gstplugin.c: (gst_plugin_load_file):
3216           If an so file has no plugin entry point, unload the module.
3217
3218 2006-05-11  Wim Taymans  <wim@fluendo.com>
3219
3220         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
3221         (gst_queue_set_property):
3222         Don't forget to signal the _chain or _loop function 
3223         when the queue size or thresholds change since that might
3224         cause them to make progres again.
3225
3226 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
3227
3228         * gst/gstclock.c: (gst_clock_class_init):
3229         * gst/gstindex.c: (gst_index_class_init):
3230         * gst/gstobject.c: (gst_object_class_init):
3231         * gst/gstpad.c: (gst_pad_class_init):
3232         * gst/gstpipeline.c: (gst_pipeline_class_init):
3233         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3234         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
3235         * libs/gst/base/gstbasetransform.c:
3236         (gst_base_transform_class_init):
3237         * libs/gst/net/gstnetclientclock.c:
3238         (gst_net_client_clock_class_init):
3239         * libs/gst/net/gstnettimeprovider.c:
3240         (gst_net_time_provider_class_init):
3241         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
3242         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3243         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3244         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
3245         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3246         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3247         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
3248         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3249         * plugins/elements/gsttee.c: (gst_tee_class_init):
3250         * tests/old/examples/plugins/example.c: (gst_example_class_init):
3251         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
3252           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
3253
3254 2006-05-11  Wim Taymans  <wim@fluendo.com>
3255
3256         * gst/gstbuffer.c: (_gst_buffer_initialize):
3257         Register subbufer along with the buffer type so that
3258         it does not accidentally gets registered from N
3259         different streaming threads in a non threadsafe way.
3260
3261 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
3262
3263         * gst/gstbuffer.h:
3264         * gst/gstevent.h:
3265         * gst/gstmessage.h:
3266           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
3267           gst_event_ref() and gst_message_ref() functions again
3268           (ugly hack, please do fix if there's a better way besides
3269           overrides.txt, which doesn't seem to work).
3270
3271 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3272
3273         * libs/gst/check/gstcheck.h:
3274           add an assert for setting state to avoid lots of repetitive code
3275           in the future
3276
3277 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3278
3279         * gst/gstvalue.c: (gst_value_serialize_flags):
3280           fix a leak if no flags are set
3281         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3282           fix leak in tests
3283
3284 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
3285
3286         * docs/manual/basics-pads.xml:
3287           Expand a bit on caps and filtered links and update
3288           examples that were still using the no longer existing
3289           gst_pad_link_filtered() (#338206).
3290
3291 2006-05-10  Wim Taymans  <wim@fluendo.com>
3292
3293         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3294         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3295         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
3296         (gst_collect_pads_stop):
3297         * libs/gst/base/gstcollectpads.h:
3298         No need to call _stop in _finalize.
3299         Iterate the main pad list in _finalize.
3300         Added some more debug.
3301         Free lists and data in the right order.
3302         Also free data whem doing _remove_pad when stopped for
3303         backward compatibility protect ::started with PAD_LOCK as
3304         well.
3305
3306 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3307
3308         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
3309         (gst_structure_parse_value):
3310           add some comments
3311           rename a method so that it actually says what it does better
3312
3313 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3314
3315         * gst/gstevent.c: (_gst_event_initialize):
3316         * gst/gstformat.c: (_gst_format_initialize):
3317           make sure some essential types used by events are registered
3318           as part of gst_init()
3319         * gst/gstvalue.c: (gst_value_serialize_flags):
3320           if no flags are set, serialize them to a value that represents NONE
3321           so that deserializing them works
3322         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3323           add tests for serialization and deserialization of flags
3324
3325 2006-05-10  Wim Taymans  <wim@fluendo.com>
3326
3327         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
3328         (gst_collect_pads_collect_range), (gst_collect_pads_available),
3329         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
3330         (gst_collect_pads_event), (gst_collect_pads_chain):
3331         Update docs.
3332         Better debug info.
3333         Catch and return errors from the collect function
3334         Refuse data on eos pads.
3335
3336 2006-05-10  Edward Hervey  <edward@fluendo.com>
3337
3338         * gst/gstinterface.h:
3339         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
3340         GInterface type checking.
3341         They were previously using non-defined macros.
3342
3343 2006-05-09  Wim Taymans  <wim@fluendo.com>
3344
3345         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
3346         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
3347         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
3348         (gst_collect_pads_start), (gst_collect_pads_stop),
3349         (gst_collect_pads_peek), (gst_collect_pads_pop),
3350         (gst_collect_pads_available), (gst_collect_pads_read),
3351         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
3352         (gst_collect_pads_is_collected), (gst_collect_pads_event),
3353         (gst_collect_pads_chain):
3354         * libs/gst/base/gstcollectpads.h:
3355         Clean up the mess that is collectpads, add comments and
3356         FIXMEs where needed.
3357         Maintain a separate pad list so we can add pads while
3358         collecting the other ones. For this we need a new separate 
3359         lock (see comics).
3360         Fix memory leak in finalize.
3361         Refactor some weird code to set/unset pad flushing flags, mark
3362         with comments.
3363         Don't crash in _available, _read, _flush when we're EOS.
3364
3365         * tests/check/libs/.cvsignore:
3366         Ignore adapter check binary.
3367
3368 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3369
3370         * gst/gstindex.c: (gst_index_resolver_get_type):
3371         * plugins/elements/gstfakesink.c:
3372         (gst_fake_sink_state_error_get_type):
3373         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
3374         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
3375         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
3376           Const-ify GEnumValue arrays.
3377
3378 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3379
3380         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
3381           Add test case for flags + gst_buffer_make_metadata_writable().
3382
3383 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3384
3385         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
3386           gst_buffer_make_metadata_writable() should maintain the
3387           buffer flags (those that make sense at least) (see #340859).
3388
3389 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3390
3391         * tools/gst-inspect.c:
3392         * tools/gst-launch.c:
3393         * tools/gst-typefind.c:
3394         * tools/gst-xmlinspect.c:
3395         * tools/tools.h:
3396           Fix up includes: need to include stdlib.h in tools.h for exit().
3397
3398 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3399
3400         * gst/gsttaglist.c: (_gst_tag_initialize):
3401         * gst/gsttaglist.h:
3402           API: add GST_TAG_IMAGE tag (#340721).
3403
3404 2006-05-08  Wim Taymans  <wim@fluendo.com>
3405
3406         * gst/gstquery.c:
3407         Added some docs for the segment query.
3408
3409 2006-05-08  Wim Taymans  <wim@fluendo.com>
3410
3411         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3412         (gst_base_src_loop), (gst_base_src_change_state):
3413         Always push non-flushing serialized events in the streaming 
3414         thread.
3415
3416 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3417
3418         * gst/gsterror.c: (_gst_stream_errors_init):
3419           Add a missing error string.
3420
3421 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
3422
3423         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
3424         Add applied_rate to the debug
3425
3426         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3427         Copy applied_rate into the outgoing NEWSEGMENT event
3428
3429 2006-05-08  Wim Taymans  <wim@fluendo.com>
3430
3431         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
3432
3433         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
3434         (gst_base_sink_change_state):
3435         call ::unlock before taking the PREROLL_LOCK so we can safely
3436         handle elements that lock in ::render.
3437         Fixes #340174.
3438
3439 2006-05-08  Edward Hervey  <edward@fluendo.com>
3440
3441         * autogen.sh: (CONFIGURE_DEF_OPT): 
3442         Darwin's libtoolize is in fact called glibtoolize.
3443         Adding glibtoolize to the list of accepted names for libtoolize.
3444
3445 2006-05-08  Wim Taymans  <wim@fluendo.com>
3446
3447         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3448         Unify error handling, don't post an error message
3449         when a push() returns EOS but perform our normal EOS
3450         handling code. Fixes #340772.
3451
3452 2006-05-08  Wim Taymans  <wim@fluendo.com>
3453
3454         * docs/design/part-overview.txt:
3455         Make upsteam/downstream concepts more clear.
3456         Give an example of serialized/non-serialized events.
3457
3458         * docs/design/part-events.txt:
3459         * docs/design/part-streams.txt:
3460         Mention applied_rate.
3461
3462         * docs/design/part-trickmodes.txt:
3463         Mention applied rate, flesh out some more use cases.
3464
3465         * gst/gstevent.c: (gst_event_new_new_segment),
3466         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
3467         (gst_event_parse_new_segment_full), (gst_event_new_tag),
3468         (gst_event_parse_tag), (gst_event_new_buffer_size),
3469         (gst_event_parse_buffer_size), (gst_event_new_qos),
3470         (gst_event_parse_qos), (gst_event_parse_seek),
3471         (gst_event_new_navigation):
3472         * gst/gstevent.h:
3473         Add applied_rate field to NEWSEGMENT event.
3474         API: gst_event_new_new_segment_full()
3475         API: gst_event_parse_new_segment_full()
3476
3477         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
3478         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
3479         (gst_segment_to_stream_time), (gst_segment_to_running_time):
3480         * gst/gstsegment.h:
3481         Add applied_rate to GstSegment structure.
3482         Make calculation of stream_time and running_time more correct
3483         wrt rate/applied_rate.
3484         Add some more docs.
3485         API: GstSegment::applied_rate field
3486         API: gst_segment_set_newsegment_full();
3487
3488         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
3489         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
3490         * libs/gst/base/gstbasetransform.c:
3491         (gst_base_transform_sink_eventfunc),
3492         (gst_base_transform_handle_buffer):
3493         Parse and use applied_rate in the GstSegment field.
3494
3495         * tests/check/gst/gstevent.c: (GST_START_TEST):
3496         Add check for applied_rate field.
3497
3498         * tests/check/gst/gstsegment.c: (GST_START_TEST),
3499         (gstsegments_suite):
3500         Add more checks for various GstSegment operations.
3501
3502 2006-05-08  Wim Taymans  <wim@fluendo.com>
3503
3504         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
3505         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
3506         (gst_base_sink_get_position), (gst_base_sink_change_state):
3507         Store the sync time of the buffer end position separatly in a
3508         new variable eos_rtime so we can properly sync the EOS event.
3509         Fixes #340697.
3510         Fix the docs for gst_base_sink_set_qos_enabled().
3511         Don't set segment start to invalid value when we receive a 
3512         non TIME newsegment.
3513         get closer to handling position reporting for negative rates 
3514         correctly.
3515
3516 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
3517
3518         * gst/gstcaps.c:
3519         Docs about how to print caps for debug purposes.
3520
3521         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
3522         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
3523
3524 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
3525
3526         * gst/gstelement.c:
3527           use full enum names and preprend a '%' in docs strings to make recent 
3528           gtk-doc turn that into a link
3529
3530 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3531
3532         * docs/manual/basics-bins.xml:
3533         * docs/manual/basics-bus.xml:
3534         * docs/manual/basics-pads.xml:
3535           Some typo fixes, some additions, some clarifications. 
3536
3537 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3538
3539         * tools/gst-inspect.c: (main):
3540         * tools/gst-launch.c: (main):
3541         * tools/gst-run.c: (main):
3542         * tools/gst-typefind.c: (main):
3543         * tools/gst-xmlinspect.c: (main):
3544           Use the string passed to g_option_context_new() for
3545           what it's intended for - the program name is already
3546           printed elsewhere.
3547
3548 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3549
3550         * tools/Makefile.am:
3551         * tools/gst-inspect.c: (main):
3552         * tools/gst-launch.c: (main):
3553         * tools/gst-xmlinspect.c: (main):
3554         * tools/tools.h:
3555           Add back --version command line option (#340460).
3556
3557         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
3558           Add --version option and use GOption for argument parsing; refactor a
3559           bit; accept directories as arguments and recurse into them; lastly,
3560           print a decent error message when things go wrong.
3561
3562 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3563
3564         * docs/manual/basics-bins.xml:
3565         Don't mention GstThread (#340611)
3566         * docs/manual/basics-elements.xml:
3567         Update link to GObject tutorial (#340607)
3568         
3569 2006-05-05  Wim Taymans  <wim@fluendo.com>
3570
3571         * gst/gstbuffer.h:
3572         * gst/gstminiobject.c:
3573         Add note about refcounting and miniobject/buffer writeability
3574         to docs. Fixes #340604
3575
3576         * gst/gstelementfactory.h:
3577         Added some explanation about @klass.
3578
3579 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3580
3581         * docs/manual/intro-motivation.xml:
3582         * docs/manual/manual.xml:
3583         Avoid CORBA & Bonobo references (#340598)
3584
3585 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3586
3587         * docs/manual/basics-bus.xml:
3588         * docs/manual/basics-pads.xml:
3589         Fix up some inaccuracies and omissions (#340609)
3590         
3591 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3592
3593         * gst/gstghostpad.c:
3594           Small typo in docs (#340625)
3595
3596 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3597
3598         * gst/parse/Makefile.am:
3599           Make 'make -j' proof (see #340698).
3600
3601 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3602
3603         * configure.ac:
3604           Require GLib-2.8 here as well.
3605
3606 2006-05-05  Wim Taymans  <wim@fluendo.com>
3607
3608         * gst/glib-compat.c:
3609         * gst/gst.c: (init_pre):
3610         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
3611         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
3612         (gst_object_dispatch_properties_changed):
3613         * gst/gstobject.h:
3614         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
3615         * gst/gststructure.c: (gst_structure_set_valist):
3616         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3617         Remove pre glib2.8 compatibility, fixes #340508
3618
3619 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
3620
3621         * gst/gsttaglist.h:
3622           Mention type of tags in doc blurbs.
3623
3624 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
3625
3626         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
3627         (gst_pad_configure_src), (gst_pad_push):
3628         Restore acceptcaps checking behaviour now that good plugins have
3629         been released.
3630
3631 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
3632
3633         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
3634
3635         * gst/gst.c:
3636         * gst/gstbus.c:
3637         * gst/gstclock.c:
3638         * gst/gstevent.c:
3639         * gst/gstformat.c:
3640         * gst/gstmessage.c:
3641         * gst/gstparse.c:
3642         * gst/gstquery.c:
3643         * gst/gstutils.c:
3644         * gst/parse/Makefile.am:
3645         * libs/gst/base/gstadapter.c:
3646         * libs/gst/base/gstbasesrc.c:
3647         * libs/gst/base/gstpushsrc.c:
3648         * libs/gst/base/gsttypefindhelper.c:
3649         * plugins/elements/gstfakesrc.c:
3650         * plugins/elements/gstidentity.c:
3651           Make sure gstprivate.h and/or config.h are
3652           always included first, otherwise some of our
3653           defines (like _FILE_OFFSET_BITS) might be
3654           redefined in the system headers. Fixes build
3655           on opensolaris (#340016).
3656
3657 2006-05-04  Wim Taymans  <wim@fluendo.com>
3658
3659         * docs/libs/gstreamer-libs-sections.txt:
3660         API: addition: gst_adapter_take_buffer()
3661         
3662         * libs/gst/base/gstadapter.c: (gst_adapter_push),
3663         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
3664         (gst_adapter_available_fast):
3665         * libs/gst/base/gstadapter.h:
3666         Prepare for optimizing the hell out of this hugely inefficient
3667         piece of code. 
3668         Added gst_adapter_take_buffer() so we can at least start thinking
3669         about subbuffering and merging.
3670         Added some comments.
3671
3672         * tests/check/Makefile.am:
3673         * tests/check/libs/adapter.c: (GST_START_TEST),
3674         (gst_adapter_suite), (main):
3675         Added GstAdapter check.
3676
3677 2006-05-04  Wim Taymans  <wim@fluendo.com>
3678
3679         * docs/design/part-overview.txt:
3680         Fix some typos, add blurb about buffer flags.
3681
3682 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3683
3684         * docs/libs/gstreamer-libs-sections.txt:
3685           make sure GstBaseTransformClass shows up in the docs
3686         * libs/gst/base/gstbasetransform.c:
3687         * libs/gst/base/gstbasetransform.h:
3688           move docs so gtk-doc picks it up now
3689
3690 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
3691
3692         * docs/libs/gstreamer-libs-sections.txt:
3693           add missing symbols to docs
3694
3695 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
3696
3697         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
3698           back out the newsegment handling change, see #340060 for ongoing
3699           discussion
3700
3701 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
3702
3703         * tools/gst-run.c: (get_candidates), (main):
3704           Fix wrong g_file_test() usage (see glib docs for why it doesn't
3705           work); fix typo in error message. Fixes #340079.
3706
3707 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3708
3709         * common/Makefile.am:
3710         * docs/Makefile.am:
3711         * docs/faq/Makefile.am:
3712         * docs/gst/Makefile.am:
3713         * docs/libs/Makefile.am:
3714         * docs/manual/Makefile.am:
3715         * docs/plugins/Makefile.am:
3716         * docs/pwg/Makefile.am:
3717         * docs/slides/Makefile.am:
3718         * docs/upload.mak:
3719         * common/upload.mak:
3720           move upload.mak to common
3721
3722 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3723
3724         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3725           add more asserts on refcounts
3726           do more cleanup at end of tests
3727           fix test leaks showing in FC5
3728
3729 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
3730
3731         * plugins/elements/gsttypefindelement.c:
3732         (gst_type_find_element_handle_event):
3733         reverted wrong change and reflowed code to avoid others falling into
3734         this trap
3735
3736 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3737
3738         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
3739           fix changelog entry about last collectpads change,
3740           add notes about proper fix
3741
3742 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3743
3744         * gst/gst.c:
3745         * gst/gstregistry.c: (gst_registry_scan_path_level),
3746         (gst_registry_scan_path):
3747         * gst/gstregistry.h:
3748           only write out registry if it has changed, fixes #338339
3749
3750 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3751
3752         * gst/gstbin.c:
3753         * gst/gstpipeline.c:
3754         * plugins/elements/gstcapsfilter.c:
3755         * plugins/elements/gstfakesink.c:
3756         * plugins/elements/gstfakesrc.c:
3757         * plugins/elements/gstfdsink.c:
3758         * plugins/elements/gstfdsrc.c:
3759         * plugins/elements/gstfilesink.c:
3760         * plugins/elements/gstfilesrc.c:
3761         * plugins/elements/gstidentity.c:
3762         * plugins/elements/gstqueue.c:
3763         * plugins/elements/gsttee.c:
3764         * plugins/elements/gsttypefindelement.c:
3765         (gst_type_find_element_handle_event):
3766           make GstElementDetails const
3767
3768 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3769
3770         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
3771         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3772         (gst_collect_pads_is_collected), (gst_collect_pads_event):
3773           more detailed debug and formatting cleanup,
3774           forward newsegments to src-pad (so that e.g. adder not eats them)
3775
3776 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3777
3778         * gst/gstutils.c: (gst_element_link_pads):
3779           cleanup double code
3780
3781 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3782
3783         * libs/gst/controller/gstcontroller.c:
3784         (gst_controller_sync_values):
3785           some little tuning
3786         * tests/check/libs/controller.c: (GST_START_TEST),
3787         (gst_controller_suite):
3788           a new test for live value handling
3789
3790 2006-04-28  Wim Taymans  <wim@fluendo.com>
3791
3792         * gst/gstutils.c: (push_and_ref):
3793         Added some more docs.
3794         Fix refcount issue whith gst_element_found_tags() helper 
3795         function. Fixes #338335
3796
3797         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3798         Added testsuite for gst_element_found_tags().
3799
3800 2006-04-28  Michael Smith  <msmith@fluendo.com>
3801
3802         * gst/gstvalue.c: (gst_value_serialize_flags):
3803           Avoid NULL dereference when trying to serialize flags containing
3804           invalid values.
3805
3806 2006-04-28  Michael Smith  <msmith@fluendo.com>
3807
3808         * plugins/elements/gsttypefindelement.c:
3809         (gst_type_find_element_handle_event):
3810           If we get EOS before any data is accumulated, don't use
3811           uninitialised local variables.
3812
3813 2006-04-28  Michael Smith  <msmith@fluendo.com>
3814
3815         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
3816         (gst_dp_event_from_packet):
3817           Fixes in reading/writing events over GDP (not currently used?) - 
3818           dereferencing NULL events for unknown/invalid event types, memory
3819           leak, and change g_warning to GST_WARNING.
3820
3821 2006-04-28  Wim Taymans  <wim@fluendo.com>
3822
3823         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
3824         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
3825         (gst_base_sink_get_position), (gst_base_sink_change_state):
3826         When frame dropping is enabled, we should not ignore frames
3827         without a duration.
3828         Update some documentation.
3829
3830 2006-04-28  Wim Taymans  <wim@fluendo.com>
3831
3832         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3833         (gst_base_src_send_event), (gst_base_src_change_state):
3834         Documentation updates.
3835
3836 2006-04-28  Wim Taymans  <wim@fluendo.com>
3837
3838         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
3839         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
3840         handle EAGAIN, EINTR and short writes correctly. Also clean
3841         up some error cases, avoid a deadlock on bad file descriptors and
3842         use GST_DEBUG_OBJECT.
3843         Fixes #339843
3844
3845 2006-04-28  Wim Taymans  <wim@fluendo.com>
3846
3847         * gst/gstvalue.c: (gst_value_serialize_buffer),
3848         (gst_value_deserialize_buffer):
3849         Don't try to serialize a GValue with a NULL buffer. 
3850         Fixes #339821.
3851
3852         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3853         Added check for serialisation of NULL buffers.
3854
3855 2006-04-28  Wim Taymans  <wim@fluendo.com>
3856
3857         * gst/gstminiobject.c: (gst_value_take_mini_object):
3858         Taking a NULL miniobject is valid, fix the case where
3859         we try to unref the NULL miniobject.
3860
3861 2006-04-28  Wim Taymans  <wim@fluendo.com>
3862
3863         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
3864
3865         * gst/gstbin.c: (gst_bin_handle_message_func):
3866         Update docs.
3867         Don't leak bin refcount when a state recalc is
3868         in progress and we delay another one #339808.
3869
3870 2006-04-28  Wim Taymans  <wim@fluendo.com>
3871
3872         * docs/design/part-TODO.txt:
3873         Mention QoS as an ongoing work item.
3874
3875         * docs/design/part-buffering.txt:
3876         New doc about buffering that needs to be fleshed out
3877         at some point.
3878
3879         * docs/design/part-qos.txt:
3880         More QoS policy for decoders/demuxers/transforms
3881
3882         * docs/design/part-trickmodes.txt:
3883         Small update.
3884
3885 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3886
3887         * configure.ac:
3888           back to HEAD
3889
3890 === release 0.10.5 ===
3891
3892 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
3893
3894         * configure.ac:
3895           releasing 0.10.5, "Fogo"
3896
3897 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3898
3899         patch by: Wim Taymans
3900
3901         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
3902         (gst_pad_configure_src), (gst_pad_push):
3903         * gst/gstpipeline.c: (gst_pipeline_init):
3904           Fix internal data flow errors.  Fixes #338711.
3905
3906 2006-04-12  Wim Taymans  <wim@fluendo.com>
3907
3908         * tests/check/gst/gstelement.c: (GST_START_TEST):
3909         Don't leak the factory.
3910
3911 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3912
3913         * configure.ac:
3914         * win32/common/config.h:
3915           prerelease
3916
3917 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3918
3919         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
3920         (gst_controller_unset_all):
3921           Free allocated GstTimedValues when freeing list nodes.
3922           Should fix leaks 'make check-valgrind' complains about.
3923
3924         * win32/common/libgstcontroller.def:
3925           Add gst_controller_unset_all.
3926
3927 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
3928
3929         * docs/libs/gstreamer-libs-sections.txt:
3930         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
3931         (gst_controller_unset_all):
3932         * libs/gst/controller/gstcontroller.h:
3933         API: Added new method gst_controller_unset_all()
3934         fixed gst_controller_unset()
3935         * tests/check/libs/controller.c: (GST_START_TEST),
3936         (gst_controller_suite):
3937         Added two testcases for new and fixed method
3938
3939 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
3940
3941         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3942           MSG_DONTWAIT is not defined on Cygwin, so work
3943           around that (fixes #317048).
3944           
3945 2006-04-11  Wim Taymans  <wim@fluendo.com>
3946
3947         * gst/gstelementfactory.c: (gst_element_register),
3948         (gst_element_factory_create), (gst_element_factory_make):
3949         Some cleanups.
3950         Fixed a FIXME.
3951         Updated docs (Fixes #131079)
3952
3953         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
3954         Small cleanups.
3955
3956         * tests/check/gst/gstelement.c: (GST_START_TEST),
3957         (gst_element_suite):
3958         Added testcase for elementfactory class field.
3959
3960 2006-04-10  Wim Taymans  <wim@fluendo.com>
3961
3962         * gst/gstsegment.c:
3963         Added some more docs.
3964
3965         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
3966         (gst_base_sink_reset_qos):
3967         Calculate more accurate rate values.
3968
3969 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
3970
3971         * gst/gst_private.h:
3972           add a new #ifdef to use __declspec(dllimport) only for
3973           other modules and not for gstreamer core
3974         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
3975           use gst_guint64_to_gdouble for conversion
3976         * win32/common/libgstreamer.def:
3977           add new exported functions
3978         * win32/vs6/gst_inspect.dsp:
3979         * win32/vs6/gst_launch.dsp:
3980         * win32/vs6/libgstbase.dsp:
3981         * win32/vs6/libgstcontroller.dsp:
3982         * win32/vs6/libgstcoreelements.dsp:
3983         * win32/vs6/libgstdataprotocol.dsp:
3984         * win32/vs6/libgstnet.dsp:
3985           update project files
3986
3987 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
3988
3989         * gst/gstbuffer.c: (gst_subbuffer_class_init):
3990         * gst/gstclock.c: (gst_clock_class_init):
3991         * gst/gstelement.c: (gst_element_class_init):
3992         * gst/gstindex.c: (gst_index_class_init):
3993         * gst/gstindexfactory.c: (gst_index_factory_class_init):
3994         * gst/gstobject.c: (gst_object_class_init),
3995         (gst_signal_object_class_init):
3996         * gst/gstpad.c: (gst_pad_class_init):
3997         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
3998         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
3999         * gst/gstregistry.c: (gst_registry_class_init):
4000         * gst/gstsystemclock.c: (gst_system_clock_class_init):
4001         * gst/gsttask.c: (gst_task_class_init):
4002         * gst/gstxml.c: (gst_xml_class_init):
4003         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4004         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4005         (gst_base_src_loop):
4006         * libs/gst/controller/gstcontroller.c:/
4007         (_gst_controller_class_init):
4008         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
4009         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
4010         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
4011         * tests/old/examples/plugins/example.c: (gst_example_class_init):
4012         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
4013         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
4014
4015 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
4016
4017         * gst/gstpad.c: (gst_pad_link):
4018           Must set peer pads before calling the link function, otherwise
4019           a task started from a link function might get a flow-not-linked
4020           result when trying to push because the other thread where the
4021           linking happens hasn't had a chance to set the peers yet. This
4022           might happen for example when a queue gets linked to a downstream
4023           element, as queue starts a streaming task when its source pad
4024           gets linked. Happens in real life when playing back flac/musepack
4025           files in playbin (#332390).
4026           
4027 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
4028
4029         * gst/gstindex.h:
4030         * gst/gstxml.h:
4031         * libs/gst/base/gstadapter.h:
4032         * libs/gst/base/gstbasesink.h:
4033         * libs/gst/base/gstbasesrc.h:
4034         * libs/gst/base/gstbasetransform.h:
4035         * libs/gst/base/gstcollectpads.h:
4036         * libs/gst/base/gstpushsrc.h:
4037         Fix broken GObject macros
4038
4039 2006-04-07  Wim Taymans  <wim@fluendo.com>
4040
4041         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4042         Initialize start and stop times, thanks valgrind.
4043
4044 2006-04-07  Wim Taymans  <wim@fluendo.com>
4045
4046         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4047         Be a bit nicer to badly behaving upstream elements that expect
4048         us to deal with non TIME segments and timestamps (such as fakesrc
4049         in the testsuite).
4050
4051 2006-04-07  Wim Taymans  <wim@fluendo.com>
4052
4053         * gst/gstbus.c:
4054         Small documentation clarification about the signal watch.
4055
4056         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
4057         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
4058         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
4059         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
4060         (gst_base_sink_get_position_last),
4061         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
4062         Convert and store timestamps in stream time and running time, the
4063         raw timestamps are not usefull, also document this better.
4064         Use different window sizes for good and bad QoS observations so
4065         we react to badness a little quicker.
4066         Keep track of the amount of rendered and dropped buffers.
4067         Send QoS timestamps in running time.
4068
4069         * libs/gst/base/gstbasetransform.c:
4070         (gst_base_transform_sink_eventfunc),
4071         (gst_base_transform_handle_buffer):
4072         Compare QoS timestamps against running time.
4073
4074 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
4075
4076         * gst/gstpad.c:
4077           Typo fixes in docs.
4078
4079 2006-04-06  Michael Smith  <msmith@fluendo.com>
4080
4081         * gst/gstpad.c: (gst_pad_set_property):
4082           Use g_value_get_object() instead of g_value_dup_gst_object(),
4083           to avoid double-reffing the pad template (which we then sink,
4084           so this worked previously if (and only if) the pad template
4085           was floating.
4086
4087         * gst/gstpadtemplate.c: (gst_pad_template_init),
4088         (gst_pad_template_pad_created):
4089           Never return floating references to pad templates, create
4090           them as initially-sunken.
4091
4092           Document an extra function (and make this stop sinking our
4093           pad template, since that is now guaranteed to do nothing,
4094           since we created it sunken).
4095
4096         * gst/gstghostpad.c:
4097           Fix docs typo.
4098
4099 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
4100
4101         * gst/gstinfo.c: (__gst_in_valgrind):
4102           Add some newlines.
4103
4104         * plugins/elements/gsttypefindelement.c:
4105         (gst_type_find_element_chain):
4106           Don't leak buffer caps.
4107
4108 2006-04-06  Michael Smith  <msmith@fluendo.com>
4109
4110         * gst/parse/grammar.y:
4111           Fix a leak in parse-launch for any source-or-sink named element 
4112           references used.
4113
4114         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
4115           Unref the pipeline if it exists after we've failed parsing.
4116
4117 2006-04-05  Michael Smith  <msmith@fluendo.com>
4118
4119         * gst/gstpipeline.c: (gst_pipeline_init):
4120           When we create a pipeline bus, initially create it in flushing mode.
4121           Fixes leaks in at least one test, and makes a new pipeline work the
4122           same as one that has gone to READY and then back to NULL.
4123
4124         * gst/gstelement.c:
4125           Typo fix in docs.
4126
4127 2006-04-05  Michael Smith  <msmith@fluendo.com>
4128
4129         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4130           Unref a pad we reffed.
4131         * tests/check/gst/gstutils.c: (GST_START_TEST):
4132           Unref bins
4133
4134 2006-04-05  Michael Smith  <msmith@fluendo.com>
4135
4136         * gst/gstquery.c: (gst_query_set_formats),
4137         (gst_query_set_formatsv):
4138           Fix leaking GValues in queries, as shown by valgrind/testsuite.
4139
4140 2006-04-05  Michael Smith  <msmith@fluendo.com>
4141
4142         * tests/check/generic/sinks.c: (GST_START_TEST):
4143           Fix a variety of memleaks in sinks check, which are only sometimes 
4144           shown by running the tests under valgrind (weird?).
4145
4146 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
4147
4148         * docs/version.entities.in:
4149           Fix the substituted entity name after thomas' changes on the
4150           weekend.
4151
4152 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4153
4154         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
4155         VALGRIND_PRINTF
4156         
4157 2006-04-05  Andy Wingo  <wingo@pobox.com>
4158
4159         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
4160
4161         * libs/gst/base/gstbasetransform.c
4162         (gst_base_transform_sink_eventfunc): When resetting our segment on
4163         FLUSH_STOP, also update the flag saying we haven't seen a
4164         newsegment.
4165
4166 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
4167
4168         Patch by: Paolo Borelli  <pborelli at katamail dot com>
4169
4170         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
4171         (gst_plugin_check_license):
4172           minor clean-ups: G_DEFINE_TYPE already takes care of the
4173           parent_class stuff, no need to do it twice. Mark array of
4174           license strings as constant. (#337103)
4175           
4176 2006-04-04  Michael Smith  <msmith@fluendo.com>
4177
4178         * tools/gst-inspect.c: (print_element_list):
4179           Free the right plugin list; fixes a memory leak.
4180
4181 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
4182
4183         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
4184
4185         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
4186           Don't error out on empty buffers (#336945).
4187           
4188 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
4189
4190         * docs/libs/gstreamer-libs-sections.txt:
4191         * gst/gsttaglist.c:
4192         * libs/gst/base/gstbasesink.c:
4193         * libs/gst/base/gstbasesink.h:
4194         * libs/gst/base/gstbasesrc.c:
4195         * libs/gst/base/gstbasesrc.h:
4196           Documentation updates. Make BaseSink and BaseSrc docs contain the
4197           class structure so that people can actually see the prototypes for
4198           virtual functions they're supposed to be overriding.
4199
4200 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
4201
4202         * plugins/elements/gsttypefindelement.c:
4203         (gst_type_find_element_chain):
4204           More debug info; when skipping typefinding, send cached
4205           events in all cases.
4206
4207 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4208
4209         * configure.ac:
4210           use new AS_VERSION and AS_NANO macros
4211         * gst/gst-i18n-lib.h:
4212         * gst/gst.c:
4213         * gst/gsterror.c:
4214         * gst/gstversion.h.in:
4215         * win32/common/config.h:
4216         * win32/common/config.h.in:
4217           update accordingly
4218
4219 2006-03-31  Michael Smith  <msmith@fluendo.com>
4220
4221         * plugins/elements/gsttypefindelement.c:
4222         (gst_type_find_element_chain):
4223           Do not typefind content if the buffers already have caps.
4224           Neccesary for icydemux (#333657), and the right thing to do anyway.
4225
4226 2006-03-30  Wim Taymans  <wim@fluendo.com>
4227
4228         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4229         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
4230         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
4231         (gst_base_sink_record_qos_observation),
4232         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
4233         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
4234         (gst_base_sink_change_state):
4235         More QoS measurements as described in the design doc.
4236         Get rid of ringbuffer with observations, running average is
4237         more simple and equally good.
4238         Calculates valid proportion now.
4239         Added beginning of flood measurement.
4240
4241 2006-03-29  Wim Taymans  <wim@fluendo.com>
4242
4243         * docs/design/part-qos.txt:
4244         * gst/gstclock.c:
4245         Small documentation updates and additions.
4246
4247 2006-03-29  Wim Taymans  <wim@fluendo.com>
4248
4249         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
4250         (gst_base_src_send_event), (gst_base_src_loop),
4251         (gst_base_src_change_state):
4252         Perform the EOS logic when we reach the segment stop position.
4253         Fix compilation on gcc4.1
4254
4255 2006-03-29  Wim Taymans  <wim@fluendo.com>
4256
4257         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
4258
4259         * plugins/elements/gstqueue.c: (gst_queue_init),
4260         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
4261         (gst_queue_set_property):
4262         * plugins/elements/gstqueue.h:
4263         In queue, when EOS is received, if minimum threshold > max_size -
4264         current_level, there is chance that queue blocks forever in conditional
4265         item del wait. This is because the queue is not emptied completely due
4266         to minimum threshold.  Here is another approach. Instead of setting
4267         cur_levels to max in EOS, just zero all minimum threshold levels. This
4268         should make sure that queue gives out all data. When going to READY
4269         (stop) state, just reset the original minimum threshold levels.
4270         Fixes #336336.
4271
4272 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
4273
4274         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
4275         (gst_type_find_element_handle_event),
4276         (gst_type_find_element_send_cached_events),
4277         (gst_type_find_element_change_state):
4278         * plugins/elements/gsttypefindelement.h:
4279           When typefinding is done in push mode, we should cache
4280           events we receive during typefinding instead of just
4281           dropping them (e.g. newsegment, custom events from
4282           dvdreadsrc etc.) and then send them out once we've
4283           determined the type of the stream (and decodebin
4284           has had a chance to plug in a decoder/demuxer).
4285           
4286 2006-03-27  Wim Taymans  <wim@fluendo.com>
4287
4288         * docs/design/part-qos.txt:
4289         First QoS ideas.
4290
4291 2006-03-27  Wim Taymans  <wim@fluendo.com>
4292
4293         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
4294
4295         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
4296         (gst_base_src_send_event), (gst_base_src_change_state):
4297         Handle element seek correctly when we are streaming.
4298         Fixes #326998.
4299
4300 2006-03-24  Michael Smith  <msmith@fluendo.com>
4301
4302         * docs/faq/gst-uninstalled:
4303           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
4304           allow you to correctly run intalled applications built against old 
4305           core, using plugins that require updated core (e.g. running
4306           installed totem against a full uninstalled gstreamer stack)
4307
4308 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
4309
4310         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
4311         more debug details
4312
4313 2006-03-24  Wim Taymans  <wim@fluendo.com>
4314
4315         * docs/gst/gstreamer-sections.txt:
4316         Rearrange the order of the methods so that related methods
4317         are grouped together in sections.
4318
4319 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
4320
4321         * gst/gstelement.c:
4322           Little clarification in the docs
4323
4324 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
4325
4326         * docs/README:
4327         formatting fix
4328         * plugins/elements/gstidentity.c:
4329         * plugins/elements/gstqueue.c:
4330         * plugins/elements/gsttee.c:
4331         * plugins/elements/gsttypefindelement.c:
4332         GST_ELEMENT_DETAILS formatting
4333
4334 2006-03-24  Wim Taymans  <wim@fluendo.com>
4335
4336         * libs/gst/base/gstbasesink.h:
4337         Only add fields, not insert or we break ABI.
4338
4339 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
4340
4341         * win32/common/libgstbase.def:
4342         * win32/common/libgstreamer.def:
4343           Update, add recently added functions.
4344
4345 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
4346
4347         * docs/gst/gstreamer-sections.txt:
4348         * gst/gstutils.c: (gst_pad_query_peer_position),
4349         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
4350         * gst/gstutils.h:
4351           API: add some new utility functions:
4352            - gst_pad_query_peer_position()
4353            - gst_pad_query_peer_duration()
4354            - gst_pad_query_peer_convert()
4355           
4356 2006-03-23  Wim Taymans  <wim@fluendo.com>
4357
4358         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4359         (gst_base_sink_init), (gst_base_sink_finalize),
4360         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
4361         (gst_base_sink_set_property), (gst_base_sink_get_property),
4362         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
4363         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
4364         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
4365         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
4366         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
4367         (gst_base_sink_preroll_object), (gst_base_sink_event),
4368         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
4369         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
4370         (gst_base_sink_query), (gst_base_sink_change_state):
4371         Decouple max-lateness and the fact that QoS messages are generated
4372         with a new property (qos).
4373         added API: GstBaseSink::async_play()
4374         Add vmethod so subclasses can be notified of ASYNC playing
4375         state changes.
4376         Collect timestamp start and stop to report better current
4377         position in EOS/PLAYING/PAUSED/READY/NULL.
4378         Refactor QoS/frame dropping and other measurements.
4379         API: GstBaseSrc::qos
4380         Fixes #326311
4381
4382         * libs/gst/base/gstbasesink.h:
4383         Added Private struct.
4384         API: gst_base_sink_set_qos_enabled()
4385         API: gst_base_sink_is_qos_enabled()
4386
4387 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
4388
4389         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
4390           If compiling against GLib-2.8 or newer, try to read the
4391           registry file using GMappedFile first before falling back
4392           to fopen() + fread() (#332151).
4393
4394 2006-03-22  Wim Taymans  <wim@fluendo.com>
4395
4396         * gst/gstinfo.c: (gst_debug_set_active),
4397         (gst_debug_category_set_threshold):
4398         Disable debugging unless explicitly activated.
4399         Fixes #335480.
4400
4401 2006-03-22  Wim Taymans  <wim@fluendo.com>
4402
4403         * gst/gstelement.c: (gst_element_set_locked_state),
4404         (gst_element_dispose):
4405         Cleanup the error case.
4406
4407         * gst/gstobject.c: (gst_object_dispose):
4408         print a critical when some object was disposed with
4409         a parent, also revive the object since it might
4410         crash the parent.
4411
4412 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
4413
4414         * tools/gst-launch.1.in:
4415           Fix another typo.
4416
4417 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4418
4419         * configure.ac:
4420         * tests/check/Makefile.am:
4421           disable some tests when we don't have a registry
4422         * tests/check/gst/gstutils.c: (gst_utils_suite):
4423           don't build the part that needs parsing
4424
4425 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4426
4427         * gst/Makefile.am
4428         * tests/examples/Makefile.am:
4429           fix --disable-parse build
4430
4431 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4432
4433         * tools/gst-feedback.1.in:
4434           Fix typo: s/feeback/feedback/ (#133494).
4435
4436 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4437
4438         * tools/Makefile.am:
4439         * tools/gst-launch.1.in:
4440           Add FILES section and correct entry about GST_REGISTRY_PATH
4441           environment variable (#133495; #133494).
4442
4443 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4444
4445         * tools/Makefile.am:
4446         * tools/gst-md5sum.1.in:
4447         * tools/gst-md5sum.c:
4448           Remove gst-md5sum and man page (the md5sink element
4449           required was removed ages ago)
4450
4451 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4452
4453         * gst/gststructure.c: (gst_structure_id_set_value):
4454           Make sure that string fields in structures/taglists
4455           contain valid UTF-8 - we don't want to pass rubbish to
4456           applications because of a buggy plugin (cp. #334167).
4457
4458 2006-03-21  Edward Hervey  <edward@fluendo.com>
4459
4460         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
4461         (gst_bin_handle_message_func):
4462         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
4463         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
4464         (gst_element_set_bus_func):
4465         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
4466         * gst/gstminiobject.c: (gst_value_set_mini_object),
4467         (gst_value_take_mini_object):
4468         * gst/gstpad.c: (gst_pad_set_pad_template):
4469         * gst/gstpipeline.c: (gst_pipeline_dispose),
4470         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4471         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
4472         (gst_collect_pads_chain):
4473         * libs/gst/net/gstnettimeprovider.c:
4474         (gst_net_time_provider_set_property):
4475         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
4476         It's in fact all issues with gst_*object_replace().
4477
4478 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4479
4480         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
4481         
4482         * pkgconfig/gstreamer-check-uninstalled.pc.in:
4483         * pkgconfig/gstreamer-check.pc.in:
4484           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
4485
4486 2006-03-21  Edward Hervey  <edward@fluendo.com>
4487
4488         * gst/gstbuffer.h:
4489         * gst/gstevent.h:
4490         * gst/gstmessage.h:
4491         gst_[buffer|event|message]_ref() macros are replaced by a static
4492         inline functions because gcc-4.1 will about if the return value
4493         isn't used.
4494         * tests/check/gst/gstevent.c: (event_probe):
4495         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
4496
4497 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
4498
4499         * gst/gstutils.h:
4500         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
4501         the type' case. (Closes: #335195 for now). In the future, when we
4502         depend on GLib 2.10, we could also intern the type name using
4503         g_intern_static_string()
4504
4505 2006-03-20  Wim Taymans  <wim@fluendo.com>
4506
4507         * gst/gstbin.c: (gst_bin_handle_message_func),
4508         (bin_query_max_init), (bin_query_position_fold),
4509         (bin_query_position_done), (gst_bin_query):
4510         Position query should also take max of all streams.
4511
4512 2006-03-20  Wim Taymans  <wim@fluendo.com>
4513
4514         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4515         (gst_fake_src_finalize):
4516         Fix leaks in fakesrc.
4517
4518         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4519         Fix leaks in the testcase.
4520
4521 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
4522
4523         * gst/gst_private.h:
4524           add win32 specific import decoration(__declspec(dllimport)) 
4525           for all extern GstDebugCategory * variables
4526         * win32/common/libgstbase.def:
4527         * win32/common/libgstcontroller.def:
4528         * win32/common/libgstreamer.def:
4529           Add some exports, remove empty lines
4530         * win32/common/libgstdataprotocol.def:
4531         * win32/common/libgstdataprotocol.dsp:
4532         * win32/common/libgstnet.def:
4533         * win32/common/libgstnet.dsp:
4534           new project files and exportation files added
4535         
4536 2006-03-19  Wim Taymans  <wim@fluendo.com>
4537
4538         * tests/check/libs/basesrc.c: (eos_event_counter):
4539         Use proper return value for probe.
4540
4541 2006-03-17  Wim Taymans  <wim@fluendo.com>
4542
4543         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
4544         (gst_pad_push):
4545         Don't leak buffers, caps and pads on negotiation errors.
4546
4547 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
4548
4549         * docs/faq/cvs.xml:
4550         * docs/faq/dependencies.xml:
4551         * docs/faq/developing.xml:
4552         * docs/faq/faq.xml:
4553         * docs/faq/general.xml:
4554         * docs/faq/getting.xml:
4555         * docs/faq/legal.xml:
4556         * docs/faq/troubleshooting.xml:
4557         * docs/faq/using.xml:
4558         Faq review and update.
4559
4560 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
4561
4562         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
4563         (gst_pad_push):
4564         Don't pound the cpu to pieces by checking get_caps when accept_caps
4565         is called with the same caps as the pad already has.
4566         Use GST_DEBUG_OBJECT when outputting caps change information.
4567
4568 2006-03-15  Wim Taymans  <wim@fluendo.com>
4569
4570         * gst/gstclock.c: (gst_clock_class_init):
4571         Fix docs.
4572
4573 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
4574
4575         * gst/gstbuffer.h:
4576         Documentation fix.
4577
4578         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
4579         (gst_pad_accept_caps), (gst_pad_configure_sink),
4580         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
4581         Make the default acceptcaps behaviour be to check the requested 
4582         caps against the gst_pad_get_caps output. 
4583
4584         Ensure that gst_pad_accept_caps is used to check caps when a pad
4585         doesn't have a setcaps function, so that pads automatically refuse 
4586         caps that they don't allow in their pad template. (Fixes #332986)
4587
4588         When a buffer with attached caps is pushed, ensure that the source 
4589         pad receives those caps even if the element didn't call
4590         gst_pad_set_caps first.
4591
4592 2006-03-15  Wim Taymans  <wim@fluendo.com>
4593
4594         * libs/gst/base/gstadapter.c:
4595         Add some docs.
4596
4597 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
4598
4599         * win32/common/libgstbase.def:
4600         * win32/common/libgstcontroller.def:
4601         * win32/common/libgstreamer.def:
4602           Add a whole bunch of missing functions (#334434).
4603
4604 2006-03-14  Wim Taymans  <wim@fluendo.com>
4605
4606         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
4607         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
4608         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
4609         Better debug info when we receive a segment event.
4610         Reorganize a bit so we can pass the get_times() results around.
4611         Use the segment format when calculating the running time.
4612         Don't do QoS is sync is disabled or we have no clock or the
4613         element does not want us to sync to the clock.
4614         Don't drop buffers if QoS is disabled for now.
4615
4616 2006-03-14  Wim Taymans  <wim@fluendo.com>
4617
4618         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
4619         Marked the stats property as unimplemented so people don't get
4620         wild ideas.
4621         Add debug message when regression goes wrong.
4622         Added some more docs.
4623
4624 2006-03-14  Wim Taymans  <wim@fluendo.com>
4625
4626         * gst/gstsegment.c: (gst_segment_to_stream_time):
4627         Return correct return type in case of errors.
4628
4629 2006-03-14  Wim Taymans  <wim@fluendo.com>
4630
4631         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
4632           Don't segfault on invalid formats.
4633
4634 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
4635
4636         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4637           Can't use gst_segment_to_running_time() when the segment
4638           is not in GST_TIME_FORMAT (like with filesink, for example).
4639           Stops flac encoding pipelines from spewing critical warnings
4640           at EOS (#331248).
4641           
4642 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
4643
4644         * gst/gstpipeline.c: (gst_pipeline_class_init):
4645           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
4646
4647         * plugins/elements/gsttypefindelement.c:
4648         (gst_type_find_element_handle_event):
4649           Don't try to typefind empty streams.
4650
4651 2006-03-14  Wim Taymans  <wim@fluendo.com>
4652
4653         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
4654         (gst_base_sink_do_qos):
4655         Separate QoS calculation.
4656         Only drop buffers when lateness is bigger than the 
4657         duration of the buffer.
4658
4659 2006-03-13  Wim Taymans  <wim@fluendo.com>
4660
4661         * gst/gstpipeline.c: (gst_pipeline_set_property),
4662         (gst_pipeline_get_property), (do_pipeline_seek),
4663         (gst_pipeline_change_state), (gst_pipeline_set_delay),
4664         (gst_pipeline_get_delay):
4665         Don't deadlock when reading properties.
4666
4667 2006-03-13  Wim Taymans  <wim@fluendo.com>
4668
4669         * libs/gst/base/gstbasetransform.c:
4670         (gst_base_transform_class_init), (gst_base_transform_init),
4671         (gst_base_transform_sink_event),
4672         (gst_base_transform_sink_eventfunc),
4673         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
4674         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
4675         (gst_base_transform_set_property),
4676         (gst_base_transform_get_property),
4677         (gst_base_transform_change_state), (gst_base_transform_update_qos),
4678         (gst_base_transform_set_qos_enabled),
4679         (gst_base_transform_is_qos_enabled):
4680         * libs/gst/base/gstbasetransform.h:
4681         Make basetransform virtual method for src events too.
4682         Handle QOS in basetransform.
4683         API: gst_base_transform_update_qos()
4684         API: gst_base_transform_set_qos_enabled()
4685         API: gst_base_transform_is_qos_enabled()
4686
4687 2006-03-13  Wim Taymans  <wim@fluendo.com>
4688
4689         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4690         (gst_base_sink_do_sync):
4691         Small cleanups.
4692         Use QOS debug category.
4693
4694 2006-03-13  Wim Taymans  <wim@fluendo.com>
4695
4696         * plugins/elements/gstqueue.c:
4697         Very small doc update.
4698
4699 2006-03-13  Wim Taymans  <wim@fluendo.com>
4700
4701         * gst/gst_private.h:
4702         * gst/gstinfo.c: (_gst_debug_init):
4703         Added QOS debug category
4704
4705 2006-03-13  Wim Taymans  <wim@fluendo.com>
4706
4707         * docs/gst/gstreamer-sections.txt:
4708         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
4709         * gst/gstbin.h:
4710         * gst/gstbus.c: (gst_bus_class_init):
4711         * gst/gstbus.h:
4712         * gst/gstclock.c:
4713         * gst/gstelement.c: (gst_element_set_locked_state):
4714         * gst/gstsegment.c:
4715         Documentation updates.
4716
4717         * gst/gstpipeline.c: (gst_pipeline_get_type),
4718         (gst_pipeline_class_init), (gst_pipeline_init),
4719         (gst_pipeline_dispose), (gst_pipeline_set_property),
4720         (gst_pipeline_get_property), (do_pipeline_seek),
4721         (gst_pipeline_send_event), (gst_pipeline_change_state),
4722         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
4723         (gst_pipeline_get_delay):
4724         * gst/gstpipeline.h:
4725         Added methods for setting the delay.
4726         API: gst_pipeline_set_delay()
4727         API: gst_pipeline_get_delay()
4728         Add pipeline debug category
4729         Various cleanups.
4730         Updated docs.
4731         Don't reset stream time when seek failed.
4732
4733 2006-03-13  Wim Taymans  <wim@fluendo.com>
4734
4735         * docs/design/draft-klass.txt:
4736         * docs/design/part-clocks.txt:
4737         * docs/design/part-events.txt:
4738         * docs/design/part-gstbin.txt:
4739         * docs/design/part-gstpipeline.txt:
4740         * docs/design/part-messages.txt:
4741         * docs/design/part-negotiation.txt:
4742         * docs/design/part-overview.txt:
4743         * docs/design/part-preroll.txt:
4744         * docs/design/part-seeking.txt:
4745         * docs/design/part-states.txt:
4746         * docs/design/part-streams.txt:
4747         Documentation updates.
4748
4749 2006-03-12  Julien MOUTTE  <julien@moutte.net>
4750
4751         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
4752         us to leak strings...
4753
4754 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4755
4756         * libs/gst/net/gstnettimeprovider.c:
4757           fix docs
4758         * win32/common/config.h:
4759           update
4760
4761 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
4762
4763         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
4764
4765         * configure.ac:
4766           Don't check for libgnomeui (leftover from old examples
4767           that aren't built or disted any longer) (#334303).
4768           
4769 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
4770
4771         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
4772         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
4773           Emit RESOURCE_NO_SPACE_LEFT error here as well when
4774           there's no space left on the device.
4775
4776 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
4777
4778         * gst/gstclock.h:
4779           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
4780           to cast the input to GstClockTime before comparing with
4781           another GstClockTime value.
4782
4783 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4784
4785         * configure.ac:
4786           back to trunk
4787
4788 === release 0.10.4 ===
4789
4790 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
4791
4792         * configure.ac:
4793           releasing 0.10.4, "Light"
4794
4795 2006-03-10  Michael Smith  <msmith@fluendo.com>
4796
4797         * libs/gst/dataprotocol/dataprotocol.c:
4798           Fix docs for dataprocotol to not get the return types completely
4799           wrong for a few functions.
4800
4801 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
4802
4803         * docs/gst/gstreamer-sections.txt:
4804         * gst/gstpipeline.c: (gst_pipeline_class_init),
4805         (gst_pipeline_init), (gst_pipeline_set_property),
4806         (gst_pipeline_get_property), (gst_pipeline_change_state),
4807         (gst_pipeline_set_auto_flush_bus),
4808         (gst_pipeline_get_auto_flush_bus):
4809         * gst/gstpipeline.h:
4810           Add new API: gst_pipeline_set_auto_flush_bus() and
4811           gst_pipeline_get_auto_flush_bus() to disable automatic
4812           flushing of the pipeline's GstBus when going from READY
4813           to NULL state (#332045).
4814
4815 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
4816
4817         * docs/gst/gstreamer-sections.txt:
4818         * gst/gsturi.c: (gst_uri_has_protocol):
4819         * gst/gsturi.h:
4820            Add new API: gst_uri_has_protocol() (#333779).
4821
4822 2006-03-09  Wim Taymans  <wim@fluendo.com>
4823
4824         * gst/gstclock.c: (gst_clock_entry_new),
4825         (gst_clock_id_compare_func), (gst_clock_id_wait),
4826         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
4827         (gst_clock_init), (gst_clock_get_internal_time),
4828         (gst_clock_set_master), (do_linear_regression),
4829         (gst_clock_add_observation), (gst_clock_set_property):
4830         * gst/gstclock.h:
4831         Review docs.
4832         Small cleanups.
4833         Fix a possible segfault when the window-size is made smaller.
4834         Calculate jitter before performing the clock wait. Ideally
4835         the clock implementation should calculate jitter but we need
4836         API breakage for that.
4837
4838         * gst/gstsystemclock.c: (gst_system_clock_init):
4839         Docs review.
4840         
4841         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4842         Remove leftover else
4843
4844         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
4845         (gst_systemclock_suite):
4846         Added check to test GST_CLOCK_DIFF.
4847
4848 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
4849
4850         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
4851         (gst_type_find_helper_get_range):
4852           If we are provided with the size, we should implement
4853           GstTypeFind::get_length, so that typefind functions who
4854           want to can actually peek at the middle of a file.
4855
4856 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
4857
4858         * docs/manual/advanced-dataaccess.xml:
4859           Add some very very basic error checking.
4860
4861         * docs/pwg/appendix-checklist.xml:
4862           Some updates to the list of things to check when writing an element.
4863
4864 2006-03-08  Wim Taymans  <wim@fluendo.com>
4865
4866         * docs/design/part-element-transform.txt:
4867         Added some docs about the design of tranform elements.
4868
4869         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
4870         (gst_base_src_loop), (gst_base_src_change_state):
4871         Mark buffers with the DISCONT flag.
4872
4873 2006-03-08  Michael Smith  <msmith@fluendo.com>
4874
4875         * gst/gstregistry.h:
4876         * gst/gstregistryxml.c: (gst_registry_save),
4877         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
4878         (gst_registry_xml_save_pad_template),
4879         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
4880         (gst_registry_xml_write_cache):
4881           Rewrite registry-saving to avoid race conditions and check for
4882           failed writes.
4883
4884 2006-03-08  Wim Taymans  <wim@fluendo.com>
4885
4886         * libs/gst/base/gstbasetransform.c:
4887         (gst_base_transform_transform_caps),
4888         (gst_base_transform_transform_size),
4889         (gst_base_transform_prepare_output_buffer),
4890         (gst_base_transform_get_unit_size),
4891         (gst_base_transform_buffer_alloc),
4892         (gst_base_transform_handle_buffer),
4893         (gst_base_transform_change_state):
4894         Cleanups, separate normal flow from errors, add sensible
4895         DEBUG lines.
4896         Don't try to renegotiate when allocating an output buffer.
4897         Also copy DISCONT buffer flag when copying a buffer.
4898         Reset the transform after we finish streaming, not during.
4899
4900 2006-03-08  Wim Taymans  <wim@fluendo.com>
4901
4902         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4903         Use last buffer timestamp in qos message.
4904
4905 2006-03-07  Wim Taymans  <wim@fluendo.com>
4906
4907         Patch by: Christophe Fergeau
4908
4909         * docs/pwg/advanced-tagging.xml:
4910         * docs/pwg/building-pads.xml:
4911           fixes #333416
4912
4913 2006-03-07  Wim Taymans  <wim@fluendo.com>
4914
4915         * docs/libs/gstreamer-libs-sections.txt:
4916         Added basesink new methods.
4917
4918         * gst/gstevent.c:
4919         * gst/gstevent.h:
4920         Docs updates. Flesh out the QoS docs.
4921
4922         * libs/gst/base/gstadapter.c:
4923         Small doc clarification about ownership and flushing.
4924
4925         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
4926         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
4927         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
4928         (gst_base_sink_get_property), (gst_base_sink_do_sync):
4929         * libs/gst/base/gstbasesink.h:
4930         API additions: 
4931         Added new methods to allow subclass to control max-lateness 
4932         and sync.
4933         Generate very basic QoS events based on last sync observation.
4934         Updated docs, fix typo, added some QoS blurb.
4935
4936         * libs/gst/base/gstbasesrc.c:
4937         Remove obsolete _get_state() calls from docs.
4938
4939 2006-03-07  Wim Taymans  <wim@fluendo.com>
4940
4941         * docs/libs/gstreamer-libs-sections.txt:
4942         * libs/gst/base/gstbasetransform.h:
4943         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
4944         Fix docs for GstBaseSrc.
4945
4946 2006-03-07  Wim Taymans  <wim@fluendo.com>
4947
4948         * docs/gst/gstreamer-sections.txt:
4949         * gst/gstbuffer.h:
4950         * gst/gstvalue.c:
4951         * libs/gst/base/gstbasetransform.h:
4952         Small documentation fixes.
4953
4954 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
4955
4956         * gst/gstvalue.c:
4957           Document thread-unsafety of gst_value_register_foo_func()
4958           when used at the same time as gst_value_foo() (#322628).
4959
4960 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
4961
4962         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
4963         (gst_push_src_check_get_range):
4964           Push sources don't support pull mode by default.
4965
4966 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
4967
4968         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4969         (gst_base_src_init), (gst_base_src_pad_check_get_range),
4970         (gst_base_src_default_check_get_range):
4971         * libs/gst/base/gstbasesrc.h:
4972           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
4973           provide default implementation, and rename
4974           gst_base_src_check_get_range() to
4975           gst_base_src_pad_check_get_range() for clarity.
4976
4977 2006-03-06  Wim Taymans  <wim@fluendo.com>
4978
4979         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4980         Make property overridable.
4981
4982 2006-03-06  Wim Taymans  <wim@fluendo.com>
4983
4984         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4985         (gst_base_sink_init), (gst_base_sink_set_property),
4986         (gst_base_sink_get_property), (gst_base_sink_do_sync):
4987         * libs/gst/base/gstbasesink.h:
4988         API addition: Make max-lateness a property.
4989
4990 2006-03-06  Wim Taymans  <wim@fluendo.com>
4991
4992         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
4993         (gst_base_sink_do_sync), (gst_base_sink_render_object):
4994         Don't ever draw a frame that is >10ms late.
4995
4996 2006-03-06  Michael Smith  <msmith@fluendo.com>
4997
4998         * gst/gstmessage.c: (_gst_message_copy):
4999           When copying a message, set the parent_refcount of the enclosed
5000           structure to point at the copy, not the original message.
5001
5002 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
5003
5004         Patch by: Christophe Fergeau
5005
5006         * gst/gstutils.h:
5007           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
5008           usable in c++ code (#333417)
5009
5010 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5011
5012         * gst/gstclock.h:
5013           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
5014
5015 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
5016
5017         * libs/gst/base/gstbasetransform.c:
5018         (gst_base_transform_transform_caps):
5019           Make sure caps are writable before passing them to
5020           gst_caps_append().
5021
5022 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
5023
5024         * gst/gsterror.h:
5025           Fix some minor docs errors.
5026
5027 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
5028
5029           Patch by: Ross Burton <ross at burtonini dot com>
5030
5031         * gst/gsterror.c: (_gst_resource_errors_init):
5032         * gst/gsterror.h:
5033           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
5034
5035 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
5036
5037         * gst/gst.c:
5038         Add a check and output a g_warning when GStreamer is built
5039         against GLib 2.6 but running against 2.8 or higher, and vice 
5040         versa. (Closes: #323542)
5041
5042 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
5043
5044         * gst/parse/parse.l:
5045           Commit patch for parse_launch syntax from #331255. Removes 
5046           support for quoted strings and mimetypes when writing filtered 
5047           caps. See the bug report for more details - I'm pretty sure this
5048           obscure feature is not in use by _anyone_ anywhere.
5049
5050           With this simple change, the size of the gstreamer.so here 
5051           drops from 2193KB to 1565KB.
5052
5053 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
5054
5055         * plugins/elements/gsttypefindelement.h:
5056         * plugins/elements/gsttypefindelement.c:
5057         (gst_type_find_element_src_event), (start_typefinding),
5058         (stop_typefinding), (gst_type_find_element_handle_event),
5059         (gst_type_find_element_chain),
5060         (gst_type_find_element_chain_do_typefinding):
5061           Use gst_type_find_helper_for_buffer() for chain-based
5062           typefinding.
5063
5064 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
5065
5066         * plugins/elements/gsttypefindelement.c:
5067         (gst_type_find_element_class_init),
5068         (gst_type_find_element_set_property),
5069         (gst_type_find_element_get_property):
5070           Deprecate "maximum" property (not only was it only taken into
5071           account for typefinding in push-mode anyway, it also was never
5072           actually possible to set it in the first place because the
5073           property was registered with the numeric property ID for the
5074           "minimum" property). Register "maximum" property correctly,
5075           for the sake of future copy'n'pasters. Remove some cruft
5076           from property get/set functions.
5077
5078 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
5079
5080         * plugins/elements/gsttypefindelement.c:
5081         (gst_type_find_element_activate):
5082           Use gst_type_find_helper_get_range() here, so we
5083           can honour the "minimum" property and also emit
5084           the signal with the correct probability of the found caps.
5085
5086 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
5087
5088         * docs/libs/gstreamer-libs-sections.txt:
5089         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
5090         (helper_find_suggest), (gst_type_find_helper_get_range),
5091         (gst_type_find_helper):
5092         * libs/gst/base/gsttypefindhelper.h:
5093           New API: gst_type_find_helper_get_range() (#333042).
5094
5095 2006-03-02  Michael Smith  <msmith@fluendo.com>
5096
5097         * gst/gstregistryxml.c: (load_feature):
5098           Asserting on a failure to read part of the registry is Not Cool.
5099           Just log a warning and return NULL (which is already handled)
5100
5101 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
5102
5103         * win32/common/libgstbase.def:
5104           added export of gst_type_find_helper_for_buffer
5105         * win32/common/libgstbase.def:
5106           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
5107           gst_ghost_pad_get_target
5108
5109 2006-02-28  Wim Taymans  <wim@fluendo.com>
5110
5111         * docs/design/draft-klass.txt:
5112         We use Filter now.
5113         Added Connector to mark elements that are only used to
5114         allow pipeline connections.
5115         Moved Debug to extra feature since most of them are 
5116         functionally something else.
5117
5118 2006-02-28  Wim Taymans  <wim@fluendo.com>
5119
5120         * docs/design/draft-klass.txt:
5121         Some updates and clarifications.
5122
5123 2006-02-28  Wim Taymans  <wim@fluendo.com>
5124
5125         * docs/design/draft-klass.txt:
5126         Proposal for klass field values.
5127
5128         * docs/design/part-streams.txt:
5129         Start of a doc describing stream anatomy.
5130
5131 2006-02-28  Wim Taymans  <wim@fluendo.com>
5132
5133         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
5134         Help the compiler a bit with type registration.
5135         Use existing forward cod path instead of duplicating it when 
5136         handling a message.
5137         
5138         * gst/gstbus.c: (gst_bus_get_type):
5139         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
5140         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
5141         * gst/gstclock.c: (gst_clock_get_type):
5142         * gst/gstelement.c: (gst_element_get_type),
5143         * gst/gstelementfactory.c: (gst_element_factory_get_type):
5144         * gst/gstindexfactory.c: (gst_index_factory_get_type):
5145         * gst/gstminiobject.c: (gst_mini_object_get_type):
5146         * gst/gstpad.c: (gst_pad_get_type):
5147         * gst/gstsegment.c: (gst_segment_get_type):
5148         * gst/gststructure.c: (gst_structure_get_type):
5149         * gst/gstsystemclock.c: (gst_system_clock_get_type):
5150         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
5151         * gst/gstvalue.c:
5152         Help compiler with type registration.
5153
5154         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
5155         Small doc update.
5156
5157 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
5158
5159         * plugins/elements/gsttypefindelement.c:
5160         (gst_type_find_element_handle_event):
5161           When we get an EOS event and have not found a type yet
5162           (most likely because we had not yet accumulated
5163           TYPE_FIND_MIN_SIZE of data yet), try to determine the
5164           type given the data we have so far. Fixes typefinding
5165           for very short streams again, most notably quicktime
5166           redirections as used on Apple's trailer site (#331701).
5167
5168 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
5169
5170         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
5171         (gst_type_find_helper):
5172           Try typefinding factories with the highest rank first.
5173
5174 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
5175
5176         * docs/libs/gstreamer-libs-docs.sgml:
5177         * docs/libs/gstreamer-libs-sections.txt:
5178         * libs/gst/base/gsttypefindhelper.c:
5179           Add section for typefind helper and add documentation
5180           for the old and the new function.
5181
5182 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
5183
5184         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
5185         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
5186         (gst_type_find_helper_for_buffer):
5187         * libs/gst/base/gsttypefindhelper.h:
5188           New API: gst_type_find_helper_for_buffer() (#332723).
5189           
5190 2006-02-27  Michael Smith  <msmith@fluendo.com>
5191
5192         Patch by: Loïc Minier
5193
5194         * configure.ac:
5195         * docs/Makefile.am:
5196         * docs/slides/Makefile.am:
5197           prevent CVS directories getting disted.
5198
5199 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
5200
5201         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
5202           Use the REFCOUNTING category for caps refcounting.
5203           
5204 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
5205
5206         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
5207           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
5208
5209 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
5210
5211         * plugins/elements/gsttypefindelement.c:
5212         (gst_type_find_element_activate):
5213           Use gst_pad_check_pull_range() before _activate_pull()
5214           to avoid unnecessary open/close (see #331690).
5215
5216 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
5217
5218         * gst/gstutils.c:
5219           Docs enhancement: make it crystal clear what the
5220           gst_pad_add_*_probe() callbacks should look like.
5221
5222 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
5223
5224         * libs/gst/base/gstbasesrc.c:
5225           Document how applications can stop recording from
5226           live sources (see #330996).
5227
5228 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
5229
5230         * tests/check/Makefile.am:
5231         * tests/check/libs/basesrc.c: (eos_event_counter),
5232         (basesrc_eos_events_pull), (basesrc_eos_events_push),
5233         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
5234         (gst_basesrc_suite), (main):
5235           ... and add some tests for the base source EOS stuff.
5236
5237 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
5238
5239         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
5240           Test case originally showed the problem fixed below,
5241           but was then amended. Add checks back at the place
5242           where they used to be.
5243
5244 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
5245
5246         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5247         (gst_base_src_init), (gst_base_src_loop),
5248         (gst_base_src_activate_push), (gst_base_src_activate_pull),
5249         (gst_base_src_change_state):
5250         * libs/gst/base/gstbasesrc.h:
5251           Don't unconditionally send EOS when going from PAUSED to
5252           READY state, esp. make sure we don't send two EOS events
5253           in some cases (e.g. one when reaching EOS and one when
5254           going from PAUSED to READY). Also, we don't want to send
5255           EOS events when operating in pull mode. However, we do
5256           want to send an EOS event when shutting down a live
5257           source explicitly, for example (fixes #330996).
5258           
5259 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
5260
5261         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
5262           Update src->read_position after a seek when not using mmap.
5263           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
5264
5265 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
5266
5267         * gst/Makefile.am:
5268         * gst/gstparse.h:
5269         * gst/gstutils.c:
5270         * gst/gstutils.h:
5271         Make things work with --disable-parse as they do with 
5272         --disable-load-save - the symbols involved disappear, but the
5273         header is still installed and GST_DISABLE_PARSE is included via
5274         gstconfig.h
5275
5276 2006-02-20  Julien MOUTTE  <julien@moutte.net>
5277
5278         * libs/gst/base/gstbasetransform.c:
5279         (gst_base_transform_change_state): Fix a stupid bug. I was 
5280         sure I compiled that.
5281
5282 2006-02-20  Julien MOUTTE  <julien@moutte.net>
5283
5284         * gst/gstpad.c: (gst_pad_set_blocked_async):
5285         * gst/gstutils.c: (gst_pad_add_data_probe),
5286         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
5287         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
5288         (gst_pad_remove_buffer_probe): Make those function act on the
5289         ghostpad target when it's a ghostpad. (Closes #331727)
5290
5291 2006-02-20  Julien MOUTTE  <julien@moutte.net>
5292
5293         * libs/gst/base/gstbasetransform.c:
5294         (gst_base_transform_change_state): Make basetransform reusable.
5295         (Closes #331898)
5296
5297 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
5298
5299         * docs/random/release:
5300         Move the current documentation of how to do a release to the top
5301         of the file.
5302
5303         * gst/gstbin.c: (gst_bin_class_init),
5304         (gst_bin_handle_message_func):
5305         Allow multiple state-recalculation threads. (Closes #328873)
5306
5307 2006-02-19  Julien MOUTTE  <julien@moutte.net>
5308
5309         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
5310         * gst/gstpad.c: (gst_pad_set_event_function),
5311         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
5312         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
5313         2 strings. You can't use the STR_NULL macro on that.
5314
5315 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
5316
5317         * gst/gstpad.c: (gst_pad_set_event_function),
5318         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
5319         (gst_pad_set_getcaps_function)
5320         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
5321           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
5322           So now, we can use --gst-debug-level=5 on Windows
5323         * win32/common/libgstcontroller.def:
5324           Added export of gst_controller_init
5325         * win32/vs6/libgstcontroller.dsp:
5326           Fixed Release post build configuration
5327
5328 2006-02-17  Wim Taymans  <wim@fluendo.com>
5329
5330         * tests/check/gst/gstquery.c: (GST_START_TEST):
5331         Added another check.
5332
5333 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
5334
5335         * plugins/elements/gsttypefindelement.c: (find_peek):
5336           We can do peeks at non-zero offsets, as long as they
5337           fall within the buffer we have.
5338
5339 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
5340
5341         * tests/check/Makefile.am:
5342         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
5343         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
5344         (parse_suite), (main):
5345           Add testsuite for parse launch syntax
5346
5347 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
5348
5349         * plugins/elements/gsttypefindelement.c:
5350         (gst_type_find_element_chain):
5351           When typefinding is unsuccessful in the chain function, don't
5352           error out immediately. Only error out with NO_CAPS_FOUND if
5353           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
5354           otherwise simply wait for more data so we can try typefinding
5355           again with more data later. Also, don't attempt to typefind
5356           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
5357           this should improve typefinding from network sources where the
5358           size of the first buffer can be somewhat random.
5359
5360 2006-02-14  Wim Taymans  <wim@fluendo.com>
5361
5362         * docs/gst/gstreamer-sections.txt:
5363         * gst/gstpadtemplate.c:
5364         * gst/gstpadtemplate.h:
5365         Fix padtemplate docs, fixes #328805.
5366
5367 2006-02-14  Wim Taymans  <wim@fluendo.com>
5368
5369         * tools/gst-launch.c: (main):
5370         NO_PREROLL is not an ERROR so don't send confusing messages
5371         to the user.
5372
5373 2006-02-14  Wim Taymans  <wim@fluendo.com>
5374
5375         Patch by: Torsten Schoenfeld
5376
5377         * gst/gstregistry.c: (gst_registry_get_default),
5378         (_gst_registry_cleanup):
5379         Protect default registry with lock and ref/sink it.
5380         Fixes #324818
5381
5382 2006-02-14  Wim Taymans  <wim@fluendo.com>
5383
5384         * gst/gstbuffer.c:
5385         * gst/gstquery.c: (gst_query_list_add_format),
5386         (gst_query_set_formatsv), (gst_query_parse_formats_length),
5387         (gst_query_parse_formats_nth):
5388         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5389         Docs fixes.
5390
5391 2006-02-14  Wim Taymans  <wim@fluendo.com>
5392
5393         * docs/gst/gstreamer-sections.txt:
5394         Reworked query docs.
5395
5396         * gst/gstquery.c: (gst_query_new_formats),
5397         (gst_query_list_add_format), (gst_query_set_formats),
5398         (gst_query_set_formatsv), (gst_query_parse_formats_length),
5399         (gst_query_parse_formats_nth):
5400         * gst/gstquery.h:
5401         Flesh out formats query, added some new methods.
5402         Fix part of #324398.
5403
5404         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
5405         Added query creation tests.
5406
5407 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
5408
5409         * gst/gstpad.c: (fixate_value):
5410         Add a default fixation for fraction lists.
5411
5412 2006-02-13  Wim Taymans  <wim@fluendo.com>
5413
5414         * gst/gsttask.c: (gst_task_init), (gst_task_func),
5415         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
5416         (gst_task_join):
5417         * gst/gsttask.h:
5418         Detect and warn for obvious deadlocks. fixes #320340
5419         Fix error case where lock was not released.
5420
5421         * tests/check/Makefile.am:
5422         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
5423         (task_func), (gst_element_suite), (main):
5424         Add task check.
5425
5426 2006-02-13  Wim Taymans  <wim@fluendo.com>
5427
5428         * docs/gst/gstreamer-sections.txt:
5429         * gst/gstbus.c:
5430         Add new functions to docs.
5431
5432 2006-02-13  Wim Taymans  <wim@fluendo.com>
5433
5434         * docs/design/part-TODO.txt:
5435         Updated TODO list, basesrc supports seeking to non-bytes
5436         formats.
5437
5438         * docs/design/part-element-sink.txt:
5439         Update docs.
5440
5441         * gst/gstbin.c: (bin_replace_message),
5442         (gst_bin_handle_message_func):
5443         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
5444         * gst/gstevent.c: (gst_event_finalize):
5445         * gst/gstpad.c: (gst_pad_event_default_dispatch),
5446         (gst_pad_send_event):
5447         Use shiny new _TYPE_NAME macros.
5448
5449         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
5450         Move debug statement up.
5451
5452         * gst/gstelement.c: (gst_element_set_locked_state):
5453         Add some debugging.
5454
5455 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
5456
5457         * docs/gst/gstreamer-sections.txt:
5458         * gst/gstmessage.h:
5459         * gst/gstquery.h:
5460           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
5461           macros (#330906). Also, document the already existing
5462           GST_QUERY_TYPE macro.
5463
5464 2006-02-13  Wim Taymans  <wim@fluendo.com>
5465
5466         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
5467         (event_probe), (GST_START_TEST):
5468         Only events up to the pipeline EOS are counted, there are
5469         some more when going to NULL currently which we don't care
5470         about for now.
5471
5472 2006-02-13  Wim Taymans  <wim@fluendo.com>
5473
5474         * gst/gstpad.c: (gst_pad_send_event):
5475         Correctly check flushing and emit probes. fixes #330125
5476
5477 2006-02-10  Andy Wingo  <wingo@pobox.com>
5478
5479         * gst/gstbus.c (gst_bus_class_init): Declare our private data
5480         structure.
5481         (gst_bus_init): Cache the location of the private data in the
5482         instance structure.
5483         (gst_bus_enable_sync_message_emission) 
5484         (gst_bus_disable_sync_message_emission): Implement new public
5485         functions.
5486         (gst_bus_post): Emit the sync-message signal if the user asked for
5487         it. Fixes #330684.
5488
5489         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
5490         location of the bus-private structure.
5491         (gst_bus_enable_sync_message_emission)
5492         (gst_bus_disable_sync_message_emission): API addition
5493
5494 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
5495
5496         Patch by: Vincent Torri
5497
5498         * docs/pwg/building-boiler.xml:
5499         PWG patch from #326800
5500
5501 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5502
5503         * configure.ac:
5504         * docs/Makefile.am:
5505         * docs/design/Makefile.am:
5506           Dist design docs.
5507
5508 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
5509
5510         * configure.ac:
5511           back to CVS
5512
5513 === release 0.10.3 ===
5514
5515 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
5516
5517         * configure.ac:
5518           releasing 0.10.3, "Like a virgin"
5519
5520 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
5521
5522         * configure.ac:
5523           2nd prerelease of 0.10.3
5524           Bump libtool versioning.
5525
5526 2006-02-07  Andy Wingo  <wingo@pobox.com>
5527
5528         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
5529         update last_stop if we're in TIME format and the timestamp is
5530         valid.
5531
5532         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
5533         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
5534         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
5535         If we get a new newsegment with a different format, adapt
5536         accordingly.
5537
5538         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
5539         of 0. Not a problem, really.
5540
5541         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
5542         warn if sync=true.
5543
5544 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
5545
5546         * configure.ac:
5547           Prelease of 0.10.3
5548
5549 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
5550
5551         * win32/vs7:
5552           project files updated to the default vs7 configuration
5553         * win32/common/libgstbase.def:
5554         * win32/common/libgstreamer.def:
5555           added new symbols,
5556           removed empty lines,
5557           sorted all exported symbols alphabetically
5558         * win32/common/dirent.c:
5559         * win32/common/dirent.h:
5560         * win32/common/gchar.h:
5561           use windows line end.
5562           
5563 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
5564
5565         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
5566           Send EOS event when stopping.
5567
5568 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
5569
5570         * docs/README:
5571           Tell folks what to do if the plugin-foobar.xml file
5572           hasn't been generated for a newly-added plugin.
5573
5574 2006-02-05  Julien MOUTTE  <julien@moutte.net>
5575
5576         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
5577         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
5578         (gst_collect_pads_start), (gst_collect_pads_stop),
5579         (gst_collect_pads_event): Collectpads now holds a reference
5580         to the GstPad that was added. Indeed we don't want to look
5581         at pads that might just go away with no warning...
5582
5583 2006-02-05  Julien MOUTTE  <julien@moutte.net>
5584
5585         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
5586         (gst_collect_pads_start), (gst_collect_pads_stop),
5587         (gst_collect_pads_event), (gst_collect_pads_chain):
5588         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
5589         Mark Nauwelaerts's patch on bug #328491.
5590
5591 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
5592
5593         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
5594         (gst_utils_suite):
5595           Add some simple tests for gst_parse_bin_from_description() and
5596           gst_bin_find_unconnected_pad() (#329069).
5597
5598 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
5599
5600         * tools/gst-launch.c: (event_loop), (main):
5601           Catch errors during preroll (#320084).
5602
5603 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
5604
5605         * plugins/elements/gsttypefindelement.c:
5606         (gst_type_find_element_activate):
5607           Post TYPE_NOT_FOUND error message when typefinding
5608           is unsuccessful in the activate function as well.
5609
5610 2006-02-02  Wim Taymans  <wim@fluendo.com>
5611
5612         * docs/design/part-element-sink.txt:
5613         Updated doc.
5614
5615 2006-02-02  Wim Taymans  <wim@fluendo.com>
5616
5617         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
5618         (gst_base_sink_render_object),
5619         (gst_base_sink_queue_object_unlocked):
5620         Only keep track of prerollable items when we are 
5621         prerolling.
5622         Before rendering after preroll, always check if we
5623         have queued items.
5624         Added some more debugging.
5625
5626 2006-02-02  Wim Taymans  <wim@fluendo.com>
5627
5628         * gst/gstelement.c: (gst_element_continue_state),
5629         (gst_element_set_state_func), (gst_element_change_state):
5630         Fixed #326576, been running this for quite some time with
5631         no regressions at all.
5632
5633 2006-02-02  Wim Taymans  <wim@fluendo.com>
5634
5635         * common/gst.supp:
5636         Added more suppressions
5637
5638 2006-02-02  Wim Taymans  <wim@fluendo.com>
5639
5640         * docs/design/part-element-sink.txt:
5641         Updated document.
5642
5643         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5644         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
5645         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
5646         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
5647         (gst_base_sink_do_sync), (gst_base_sink_render_object),
5648         (gst_base_sink_preroll_object),
5649         (gst_base_sink_queue_object_unlocked),
5650         (gst_base_sink_queue_object), (gst_base_sink_event),
5651         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
5652         (gst_base_sink_loop), (gst_base_sink_activate_pull),
5653         (gst_base_sink_get_position), (gst_base_sink_change_state):
5654         * libs/gst/base/gstbasesink.h:
5655         Totally refactored matching the design doc.
5656         Use two segments, one to clip incomming buffers and another to
5657         perform sync.
5658         Handle queueing correctly, bypass the queue when playing.
5659         Make EOS cancelable.
5660         Handle errors correctly when operating in pull based mode.
5661
5662         * tests/check/elements/fakesink.c: (GST_START_TEST),
5663         (fakesink_suite):
5664         Added new check for sinks.
5665
5666 2006-02-02  Wim Taymans  <wim@fluendo.com>
5667
5668         * gst/gstsegment.c: (gst_segment_clip):
5669         No reason to refuse to clip when start == -1
5670
5671 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
5672
5673         * docs/README:
5674         * docs/manual/intro-basics.xml:
5675         * docs/manual/intro-preface.xml:
5676         * docs/manual/manual.xml:
5677         * docs/pwg/advanced-dparams.xml:
5678         * docs/pwg/intro-basics.xml:
5679         * docs/pwg/intro-preface.xml:
5680         * docs/pwg/pwg.xml:
5681           describe dparams (controller) for plugins
5682           unify docs a little more
5683
5684 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
5685
5686         * docs/gst/gstreamer-sections.txt:
5687         * gst/gstutils.c: (element_find_unconnected_pad),
5688         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
5689         * gst/gstutils.h:
5690           Add new API: gst_parse_bin_from_description() and
5691           gst_bin_find_unconnected_pad() (#329069).
5692
5693 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
5694
5695         * docs/manual/README:
5696           uncover a nasty detail of the docs build
5697
5698 2006-01-31  Wim Taymans  <wim@fluendo.com>
5699
5700         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
5701         Don't cache duration messages if we're not going to use or
5702         free them.
5703
5704 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
5705
5706         * docs/manual/advanced-dparams.xml:
5707         * docs/pwg/advanced-dparams.xml:
5708           more dparam docs
5709         * gst/gstindex.c:
5710           fix docs
5711         * libs/gst/controller/lib.c: (gst_controller_init):
5712           init just once
5713
5714 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
5715
5716         * gst/gstelement.c: (gst_element_message_full):
5717           also show file/line/func if no additional debug was given
5718
5719 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
5720         
5721         * win32/vs7/grammar.vcproj:
5722           activate copy of autogenerated files for Release mode
5723
5724 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
5725         
5726         * win32/common/libgstreamer.def:
5727           export gst_value_compare
5728
5729 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
5730
5731         * plugins/elements/Makefile.am:
5732         * plugins/elements/gstelements.c:
5733         * plugins/elements/gstfdsink.c: (_do_init),
5734         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
5735         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
5736         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
5737         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
5738         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
5739         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
5740         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
5741         * plugins/elements/gstfdsink.h:
5742         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
5743
5744 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
5745
5746         * docs/manual/advanced-dparams.xml:
5747           describe controller
5748         * docs/manual/advanced-position.xml:
5749         * docs/manual/basics-init.xml:
5750         * docs/manual/manual.xml:
5751         * docs/manual/titlepage.xml:
5752         * docs/pwg/pwg.xml:
5753         * docs/pwg/titlepage.xml:
5754           cleanup xml (more to come)
5755         * libs/gst/controller/gstcontroller.c:
5756           fix typo
5757
5758 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
5759         
5760         * win32/vs6/grammar.dsp:
5761           add autogen of gstmarshal.c,h for Release mode
5762                 
5763 2006-01-30  Wim Taymans  <wim@fluendo.com>
5764
5765         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5766         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
5767         (gst_base_sink_handle_object), (gst_base_sink_event),
5768         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
5769         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
5770         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
5771         (gst_base_sink_deactivate), (gst_base_sink_activate),
5772         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
5773         (gst_base_sink_query), (gst_base_sink_change_state):
5774         Basesink cleanups, remove some old code.
5775         Handle the case where a subclass can preroll in the render
5776         method (mostly audiosinks).
5777         Handle more events.
5778         Remove some locks around variables that are now protected
5779         with the PREROLL_LOCK (clock_id, flushing, ..).
5780         Optimize position query some more, do correct locking.
5781         Remove old code to push queue in state change, this is not
5782         needed anymore since preroll blocks on all prerollable items 
5783         now.
5784         Almost implemented as described in design doc.
5785
5786 2006-01-30  Wim Taymans  <wim@fluendo.com>
5787
5788         * tests/check/gst/gstbin.c: (GST_START_TEST):
5789         Wait for refcount to settle down before checking.
5790
5791 2006-01-30  Wim Taymans  <wim@fluendo.com>
5792
5793         * docs/design/part-element-sink.txt:
5794         Pseudo code overview of desired sink behaviour regarding
5795         preroll.
5796
5797 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5798         * win32/vs6/grammar.dsp:
5799           fix some bugs in Release mode for autogenerated files
5800                 
5801 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5802         * win32/common/libgstbase.def:
5803         * win32/common/libgstreamer.def:
5804           export some new symbols: gst_base_src_set_format,
5805           gst_iterator_next, gst_structure_set_valist
5806
5807 2006-01-29  Julien MOUTTE  <julien@moutte.net>
5808
5809         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
5810         Set pad functions unconditionally. Fixes #329105.
5811
5812 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5813         * win32/vs8:
5814           add vs8 project files created by Sergey Scobich
5815
5816 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
5817
5818         * gst/gstutils.c: (gst_element_unlink_pads):
5819         Don't leak pad references.
5820
5821         * tests/check/elements/fakesink.c: (GST_START_TEST):
5822         * tests/check/generic/sinks.c: (GST_START_TEST):
5823         * tests/check/generic/states.c: (GST_START_TEST):
5824         * tests/check/gst/gstbin.c: (GST_START_TEST):
5825         * tests/check/gst/gstcaps.c: (GST_START_TEST):
5826         * tests/check/gst/gstelement.c: (GST_START_TEST):
5827         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
5828         * tests/check/gst/gstiterator.c: (GST_START_TEST):
5829         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5830         Fix a bunch of leaks. Make generic/sinks.c
5831         use a bit less cpu by slowing the buffer rate
5832         between fakesrc and fakesink.
5833         
5834 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
5835         * gst/gstcaps.c:
5836         * gst/gstelement.c: (gst_element_send_event):
5837         * gst/gstevent.c:
5838         * gst/gstinfo.c:
5839         * gst/gstiterator.c:
5840         * gst/gstiterator.h:
5841         * gst/gstpad.c: (gst_pad_send_event):
5842         * gst/gststructure.c:
5843         * gst/gsturi.c:
5844         * gst/gstutils.c:
5845         * gst/gstvalue.c:
5846         * libs/gst/base/gstadapter.c:
5847           doc fixes, to link to function, just write gst_cool_function(), don't
5848           prefix with '#'
5849
5850 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
5851
5852         * plugins/elements/gsttee.c: (gst_tee_do_push),
5853         (gst_tee_handle_buffer):
5854         Always prefer an actual return value from a src
5855         pad in place of NOT_LINKED. This means we return
5856         WRONG_STATE when all src pads are WRONG_STATE
5857         instead of NOT_LINKED.
5858
5859         Lock when replacing the last message to prevent
5860         racing with the get_property method.
5861
5862         Add debug output
5863
5864 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
5865
5866         * tests/check/Makefile.am:
5867         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
5868         (main):
5869         Add a very simple check that should have caught the memleak I fixed
5870         last night (if not for the slice allocator hiding it)
5871
5872 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
5873
5874         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
5875         (gst_bin_remove_func), (gst_bin_handle_message_func),
5876         (bin_query_duration_fold), (bin_query_generic_fold):
5877         Clean up references to the clock provider when disposed or when
5878         handling a clock-lost message from it.
5879
5880         Unref sinks when performing a query via gst_iterator_fold, as the
5881         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
5882
5883         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
5884         (gst_clock_set_master):
5885         Drop our reference to the master clock, if any, when we are disposed.
5886
5887         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
5888         Chain up in dispose. 
5889
5890 2006-01-26  Wim Taymans  <wim@fluendo.com>
5891
5892         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
5893         Add some debugging.
5894
5895 2006-01-26  Julien MOUTTE  <julien@moutte.net>
5896
5897         * plugins/elements/gsttee.c: (gst_tee_do_push),
5898         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
5899         handles pad being NOT_LINKED or in WRONG_STATE.
5900
5901 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
5902
5903         * win32/MANIFEST:
5904           more updating
5905
5906 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
5907
5908         * win32/MANIFEST:
5909           remove obsolete entry
5910
5911 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
5912
5913         * docs/gst/gstreamer-sections.txt:
5914         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
5915         (gst_bin_iterate_sources), (gst_bin_send_event):
5916         * gst/gstbin.h:
5917         * gst/gstelement.c: (gst_element_send_event):
5918         * gst/gstevent.c:
5919         * gst/gstpad.c: (gst_pad_send_event):
5920           added code for downstream events, reviewed docs in gstevent.c
5921
5922 2006-01-25  Julien MOUTTE  <julien@moutte.net>
5923
5924         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5925         We only query position using the clock in the playing state.
5926         Query peer in the other cases.
5927         * win32/common/config.h: Updates.
5928
5929 2006-01-24  Wim Taymans  <wim@fluendo.com>
5930
5931         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
5932         A clock entry that is scheduled for the exact time of the
5933         clock is still in time.
5934
5935         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5936         (gst_base_sink_do_sync):
5937         Add some more debug info.
5938
5939 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
5940
5941         * win32/vs7:
5942           Add new vs7 project files and solution.
5943
5944 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
5945
5946         * win32/vs7:
5947           all files removed as they were out-dated.
5948
5949 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5950
5951         * docs/random/release:
5952           update notes
5953         * gst/gstbin.c: (gst_bin_init):
5954         * gst/gstbus.c: (gst_bus_new):
5955         * gst/gstbus.h:
5956         * gst/gstpipeline.c: (gst_pipeline_init):
5957           use gst_bus_new(), improve logging, fix docs
5958         * win32/common/config.h:
5959           update for cvs build
5960
5961 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5962
5963         * autogen.sh:
5964           up required version of automake to 1.7
5965
5966 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
5967
5968         * win32/common/libgstreamer.def:
5969           export gst_buffer_is_metadata_writable
5970
5971 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
5972
5973         * docs/gst/gstreamer-sections.txt:
5974         * gst/gstevent.h:
5975           Add gst_event_replace() (#327001)
5976
5977 2006-01-20  Wim Taymans  <wim@fluendo.com>
5978
5979         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
5980         Make it actually compile too..
5981
5982 2006-01-20  Wim Taymans  <wim@fluendo.com>
5983
5984         * gst/gstcaps.c:
5985         Clarify behaviour of _is_equal() when passing NULL parameters.
5986
5987         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
5988         (gst_pad_set_caps):
5989         Cleanups. Don't unref NULL caps.
5990         When setting the same caps, protect caps of the pad with
5991         proper lock.
5992         Use full functionality of _is_equal() when comparing caps.
5993
5994 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
5995
5996         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
5997         Don't loop infinitely if there are no buffers to present. Partially
5998         fixes #327197, but collectpads is just broken for reusing elements
5999         to do multiple encodes atm.
6000
6001 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
6002
6003         * tools/gst-inspect.c: (print_element_features):
6004         * tools/gst-xmlinspect.c: (main):
6005         URL_HANDLER is not a plugin feature we can search for in
6006         the registry.
6007
6008 2006-01-19  Edward Hervey  <edward@fluendo.com>
6009
6010         * gst/gstelement.c: (gst_element_pads_activate): 
6011         When activating, do src pads first, then sink pads.
6012         When de-activating, do sink pads first, then src pads.
6013
6014 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6015
6016         * docs/gst/gstreamer-sections.txt:
6017         Add gst_index_add_associationv to the docs
6018
6019 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6020
6021         * gst/gstevent.c:
6022           Fix docs typo
6023
6024         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
6025         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
6026           Do some refactoring. Doesn't actually change functionality,
6027           but makes landing the DRAIN event easier later.
6028
6029 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
6030
6031         * docs/pwg/advanced-scheduling.xml:
6032           Update from 0.9.x to 0.10 API and make example a bit
6033           clearer.
6034
6035 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6036
6037         * docs/gst/gstreamer-sections.txt:
6038         Add gst_buffer_(is|make)_metadata_writable methods.
6039
6040 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6041
6042         * docs/design/part-sparsestreams.txt:
6043         Update sparse streams doc, hopefully for greater clarity
6044
6045 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
6046
6047         * docs/design/part-events.txt:
6048         Remove mention of FILLER events.
6049         Add DRAIN event.
6050
6051         * docs/design/part-sparsestreams.txt:
6052         Write some things about using NEWSEGMENT to keep sparse streams
6053         flowing.
6054
6055 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
6056
6057         * gst/gstbin.c: (gst_bin_dispose):
6058           Guard gst_object_unref call against a NULL object (dispose
6059           can theoretically be called multiple times).
6060           
6061 2006-01-18  Wim Taymans  <wim@fluendo.com>
6062
6063         * gst/gstbin.c: (gst_bin_element_set_state):
6064         * gst/gstclock.c: (gst_clock_id_wait):
6065         Added some more debug info.
6066
6067         * libs/gst/base/gstadapter.c:
6068         Added more docs.
6069
6070         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6071         (gst_base_sink_do_sync), (gst_base_sink_chain):
6072         Added some comments.
6073
6074 2006-01-18  Wim Taymans  <wim@fluendo.com>
6075
6076         * tests/check/Makefile.am:
6077         * tests/check/elements/fakesink.c: (chain_async_buffer),
6078         (chain_async), (chain_async_return), (GST_START_TEST),
6079         (fakesink_suite), (main):
6080         Added fakesink test that checks prerolling and clipping
6081         behaviour.
6082
6083         * tests/check/gst/gstutils.c: (GST_START_TEST):
6084         Make check run faster so that buildbots don't timeout.
6085
6086 2006-01-18  Wim Taymans  <wim@fluendo.com>
6087
6088         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6089         (gst_base_sink_do_sync):
6090         Some cleanups.
6091         When the sink finishes blocking on the preroll buffer, it can
6092         immediatly render it instead of rendering when the next buffer
6093         arrives.
6094
6095 2006-01-18  Wim Taymans  <wim@fluendo.com>
6096
6097         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
6098         (gst_base_sink_get_property), (gst_base_sink_do_sync),
6099         (gst_base_sink_chain):
6100         Small cleanups.
6101         GST_ELEMENT_CLOCK and sync are protected with LOCK.
6102         Don't store _last_stop if the buffer is dropped.
6103
6104 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
6105
6106         * plugins/elements/gsttypefindelement.c:
6107         (gst_type_find_element_class_init):
6108           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
6109           object method handler that sets the caps on the pad and we want
6110           that to happen before we emit the signal (fixes e.g. feeding a
6111           plain text file to decodebin).
6112
6113 2006-01-18  Christian Schaller  <Christian@fluendo.com>
6114
6115         * gst/gstplugin.c: Add MPL and Proprietary as license options
6116
6117 2006-01-18  Andy Wingo  <wingo@pobox.com>
6118
6119         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
6120         symbol was exported before, it appears this was just an oversight.
6121         Fixes #168703.
6122         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
6123
6124         * gst/gstindex.c (gst_index_add_associationv): Changed int in
6125         prototype to gint. OK since this prototype was not in the header.
6126
6127 2006-01-17  Andy Wingo  <wingo@pobox.com>
6128
6129         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
6130         registry while we remove plugins.
6131
6132         * tools/gst-inspect.c (print_element_info): Don't unref the
6133         factory arg, that should be the responsibility of whatever code
6134         received the ref. Fixes a double-free when called from
6135         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
6136         (main): Unref the factory if we have one.
6137         (print_element_list): No change -- relies on the
6138         plugin_feature_list_free to free the list of features.
6139
6140 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
6141
6142         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
6143         (gst_buffer_make_metadata_writable):
6144         * gst/gstbuffer.h:
6145         * libs/gst/base/gstbasetransform.c:
6146         (gst_base_transform_prepare_output_buf):
6147         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6148         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6149           Replace gst_buffer_(make|is)_metadata_writable patch now
6150           that the release is out.
6151
6152 2006-01-17  Andy Wingo  <wingo@pobox.com>
6153
6154         * gst/gstregistry.c: Reflow design comment. Update so as to speak
6155         in the present tense without reference to versions.
6156
6157         * gst/gstregistry.c (gst_registry_add_plugin)
6158         (gst_registry_remove_plugin, gst_registry_remove_feature)
6159         (gst_registry_find_feature, gst_registry_get_feature_list)
6160         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
6161         (gst_registry_lookup, gst_registry_scan_path)
6162         (_gst_registry_remove_cache_plugins)
6163         (gst_registry_get_feature_list_by_plugin): Add argument
6164         validation.
6165
6166 === release 0.10.2 ===
6167
6168 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
6169
6170         * configure.ac:
6171           releasing 0.10.2, "If man is five"
6172
6173 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
6174
6175         * gst/gstbuffer.c:
6176         * gst/gstbuffer.h:
6177         * libs/gst/base/gstbasetransform.c:
6178         (gst_base_transform_prepare_output_buf):
6179         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6180         * tests/check/gst/gstbuffer.c: (gst_test_suite):
6181           Back out patch until after the release.
6182
6183 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
6184
6185         * gst/gstminiobject.c:
6186           Spelling fix in docs.
6187         * ChangeLog - remove conflict indicator
6188
6189 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
6190
6191         Reviewed By: Andy Wingo
6192
6193         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
6194         (gst_buffer_make_metadata_writable):
6195         * gst/gstbuffer.h:
6196           Add gst_buffer_(is|make)_metadata_writable as analogues of
6197           gst_buffer_(is|make)_writable.
6198
6199         * libs/gst/base/gstbasetransform.c:
6200         (gst_base_transform_prepare_output_buf):
6201         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6202           Use name gst_buffer_(is|make)_metadata_writable functions.
6203
6204         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6205           Test gst_buffer_(is|make)_metadata_writable
6206         
6207           (Closes: #324162)
6208
6209 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6210
6211         * docs/manual/Makefile.am:
6212           don't do parallel make
6213         * configure.ac:
6214           AC_SUBST HOST_CPU
6215         * win32/common/config.h.in:
6216           add generations for HOST_CPU and GST_MAJORMINOR
6217         * win32/common/config.h:
6218           commit generated result
6219
6220 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
6221
6222         * docs/manual/appendix-integration.xml:
6223           Update GNOME integration section to use gst_init_get_option_group()
6224           instead of the old popt stuff (#322911). Also, GNOME applications
6225           should  now use gconf*sink and gconf*src instead of the old gconf
6226           helper lib we had.
6227
6228 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
6229
6230
6231         * docs/gst/gstreamer-docs.sgml:
6232         * docs/gst/gstreamer-sections.txt:
6233         * docs/libs/gstreamer-libs-sections.txt:
6234           add new API entries to the docs
6235         * libs/gst/controller/Makefile.am:
6236         * libs/gst/controller/gstcontroller.c:
6237         * libs/gst/controller/gstcontroller.h:
6238         * libs/gst/controller/gstcontrollerprivate.h:
6239         * libs/gst/controller/gsthelper.c:
6240         * libs/gst/controller/gstinterpolation.c:
6241           move private structs to private header
6242         * po/README:
6243           gstreamer-0.7 -> gstreamer-0.10
6244         * tests/check/libs/struct_i386.h:
6245           remove private structs
6246
6247 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6248
6249         * plugins/indexers/Makefile.am:
6250           Fixes as part of #317048
6251
6252 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6253
6254         * plugins/indexers/Makefile.am:
6255           fix #316086 - compilation when mmap is missing
6256
6257 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
6258
6259         * libs/gst/base/gstbasesink.c:
6260           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
6261           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
6262         * win32/common/config.h:
6263           added some defines GST_MAJORMINOR and HOST_CPU
6264         * win32/common/libgstbase.def:
6265         * win32/common/libgstreamer.def:
6266           added some exported functions.
6267
6268 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
6269
6270         * libs/gst/controller/gstcontroller.c:
6271         (gst_controlled_property_set_interpolation_mode),
6272         (gst_controlled_property_new):
6273         * libs/gst/controller/gstcontroller.h:
6274         * libs/gst/controller/gstinterpolation.c:
6275         (interpolate_none_get_string_value_array):
6276           make G_TYPE_STRING controlable
6277
6278 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
6279
6280         * tools/README:
6281         * tools/gst-feedback.1.in:
6282         * tools/gst-inspect.1.in:
6283         * tools/gst-launch.1.in:
6284         * tools/gst-md5sum.1.in:
6285         * tools/gst-typefind.1.in:
6286         * tools/gst-xmlinspect.1.in:
6287         * tools/gst-xmllaunch.1.in:
6288           cleanup man-pages, remove reference to gst-register, document env-vars
6289
6290 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
6291
6292         * gst/gstbuffer.c: (gst_buffer_span):
6293           gst_buffer_span should copy the timestamp of the first buffer
6294           if they were both originally overlapping subbuffers of the 
6295           same parent, using the same logic as the 'slow copy' case.
6296
6297 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
6298
6299         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
6300           Need to awaken ALL the pads when we pop a buffer, otherwise
6301           collectpads only works when there is 2 input streams.
6302
6303 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
6304
6305         * docs/random/ensonic/media-device-daemon.txt:
6306           more ideas (dbus)
6307         * gst/gstbuffer.c:
6308           fix doc example, add clarification
6309         * tools/gst-launch.1.in:
6310           add initial info about GST_PLUGIN_PATH, needs more work
6311
6312 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
6313
6314         * docs/manual/basics-bins.xml:
6315         * docs/manual/basics-elements.xml:
6316         * docs/manual/intro-basics.xml:
6317           Some more minor docs additions and updates.
6318
6319 2006-01-11  Wim Taymans  <wim@fluendo.com>
6320
6321         * docs/manual/basics-bins.xml:
6322         * docs/manual/basics-elements.xml:
6323         Some small fixes as pointed out by Ser-ver on IRC.
6324
6325 2006-01-10  Edward Hervey  <edward@fluendo.com>
6326
6327         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6328         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
6329         the single-segment mode.
6330
6331 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
6332
6333         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6334
6335         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
6336         (gst_base_src_perform_seek), (gst_base_src_send_event),
6337         (gst_base_src_set_property), (gst_base_src_get_property),
6338         (gst_base_src_loop), (gst_base_src_start),
6339         (gst_base_src_activate_push):
6340         * libs/gst/base/gstbasesrc.h:
6341           Name (private) union; makes Sun's Forte compiler happy (#324900).
6342
6343 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
6344
6345         * README:
6346           gst-register is gone.
6347
6348 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6349
6350         * gst/gstvalue.c: (_gst_value_initialize):
6351           make the G_TYPE_DATE instantiation work if debug is disabled
6352
6353 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
6354
6355         * gst/gstmessage.c: (gst_message_parse_tag),
6356         (gst_message_parse_error), (gst_message_parse_warning):
6357           Don't crash when return location for error/warning debug
6358           string is NULL; add fact that return locations can be
6359           NULL to docs where appropriate.
6360
6361 2006-01-05  Wim Taymans  <wim@fluendo.com>
6362
6363         * gst/gstplugin.c: (gst_plugin_load_file):
6364         Replace strdup by g_strdup.
6365
6366 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6367
6368         * docs/pwg/advanced-types.xml:
6369           fix doc borkage
6370
6371 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6372
6373         submitted by: Abel Cheung
6374
6375         * po/LINGUAS:
6376         * po/zh_TW.po:
6377           Added Chinese (traditional) translation
6378
6379 2006-01-04  Wim Taymans  <wim@fluendo.com>
6380
6381         * docs/manual/basics-pads.xml:
6382         * docs/plugins/Makefile.am:
6383         * docs/plugins/gstreamer-plugins-docs.sgml:
6384         * docs/plugins/gstreamer-plugins-sections.txt:
6385         * docs/pwg/advanced-clock.xml:
6386         * docs/pwg/advanced-scheduling.xml:
6387         * docs/pwg/advanced-types.xml:
6388         * plugins/elements/gstfdsink.c:
6389         * plugins/elements/gstfdsrc.c:
6390         * plugins/elements/gstfdsrc.h:
6391         * plugins/elements/gstidentity.c: (gst_identity_class_init):
6392         * plugins/elements/gstidentity.h:
6393         * plugins/elements/gstqueue.h:
6394         * plugins/elements/gsttee.c:
6395         * plugins/elements/gsttee.h:
6396         * plugins/elements/gsttypefindelement.c:
6397         (gst_type_find_element_class_init):
6398         * plugins/elements/gsttypefindelement.h:
6399         Small updates to various docs.
6400         Added core plugins to docs.
6401
6402 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6403
6404         * common/gst.supp:
6405           add a suppression for liboil's uninitialized variable
6406
6407 2006-01-02  James Livingston  <jrl at ids dot org dot au>
6408
6409         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6410
6411         * gst/gstutils.h:
6412           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
6413           macro, so that gcc doesn't complain if the -Wmissing-prototypes
6414           compiler switch is being used (#325429).
6415
6416 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
6417
6418         * gst/gstbin.c: (gst_bin_query):
6419           Disable duration query caching in bins until it gets
6420           fixed (see #324807).
6421
6422 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
6423
6424         * tools/gst-inspect.c: (print_element_properties_info):
6425           Handle properties of POINTER and BOXED type.
6426
6427 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
6428
6429         * gst/gst.c: (init_post):
6430           Init tags stuff and some other things before loading
6431           any static plugins (there may be other static plugins
6432           than just the GStreamer ones, and they may want to
6433           register their own tags or formats or whatever, and
6434           preferably without segfaulting).
6435
6436         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6437           Print at least a warning in the debug logs if we drop a
6438           query just because we don't know how to adjust the value
6439           in the particular format.
6440
6441 2005-12-24  David Schleef  <ds@schleef.org>
6442
6443         * tools/gstreamer-completion:
6444           Replacement for gst-complete written in sh and sed.  Only
6445           completes names of features, but that's 90% of what I want
6446           it for.  Properties are not available in registry.xml.  (Maybe
6447           they should be...)
6448
6449 === release 0.10.1 ===
6450
6451 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
6452
6453         * configure.ac:
6454           releasing 0.10.1, "Nollaig chridheil"
6455
6456 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
6457
6458         * docs/faq/cvs.xml:
6459           Add missing quote, should be make ERROR_CFLAGS="".
6460
6461 2005-12-20  Wim Taymans  <wim@fluendo.com>
6462
6463         * docs/design/part-trickmodes.txt:
6464         More documentation on trickmodes.
6465
6466 2005-12-20  Edward Hervey  <edward@fluendo.com>
6467
6468         * gst/gstcaps.c: (gst_static_caps_get_type):
6469         * gst/gstcaps.h:
6470           API addition: GST_TYPE_STATIC_CAPS
6471         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
6472         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
6473         * gst/gstpadtemplate.h:
6474           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
6475         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
6476         bindings.
6477
6478 2005-12-18  Wim Taymans  <wim@fluendo.com>
6479
6480         * libs/gst/base/gstadapter.c:
6481         * libs/gst/base/gstadapter.h:
6482         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6483         (gst_base_sink_get_position):
6484         * libs/gst/base/gstbasesink.h:
6485         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6486         (gst_base_src_default_query), (gst_base_src_default_do_seek),
6487         (gst_base_src_do_seek), (gst_base_src_perform_seek),
6488         (gst_base_src_send_event), (gst_base_src_update_length),
6489         (gst_base_src_get_range), (gst_base_src_loop),
6490         (gst_base_src_start):
6491         * libs/gst/base/gstbasesrc.h:
6492         * libs/gst/base/gstbasetransform.h:
6493         * libs/gst/base/gstcollectpads.h:
6494         * libs/gst/base/gstpushsrc.c:
6495         * libs/gst/base/gstpushsrc.h:
6496         * libs/gst/dataprotocol/dataprotocol.c:
6497         * libs/gst/dataprotocol/dataprotocol.h:
6498         * libs/gst/net/gstnetclientclock.h:
6499         * libs/gst/net/gstnettimeprovider.h:
6500         Documentation updates.
6501
6502 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
6503
6504         * docs/manual/basics-helloworld.xml:
6505           Remove superfluous closing bracket in helloworld example.
6506
6507 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
6508
6509         * tools/gst-launch.1.in:
6510           Update gst-launch man page; add a section with useful
6511           environment variables. Fixes #323882.
6512
6513 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
6514
6515         * gst/gst.c:
6516         * gst/gst_private.h:
6517           change some char* into char[]
6518
6519 2005-12-16  Wim Taymans  <wim@fluendo.com>
6520
6521         * gst/gstregistryxml.c: (load_feature):
6522         Cleanups.
6523         Don't use g_object_unref on GstObjects so that we avoid
6524         leaks on unsafe glibs.
6525
6526 2005-12-16  Wim Taymans  <wim@fluendo.com>
6527
6528         * gst/gstbin.c: (gst_bin_recalc_state):
6529         Small doc updates.
6530
6531 2005-12-16  Wim Taymans  <wim@fluendo.com>
6532
6533         * common/check.mak:
6534         Added make forever target for check.
6535
6536 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6537
6538         * gst/gst.c: (init_post):
6539           make the registry cache file HOST_CPU-dependent
6540
6541 2005-12-16  Andy Wingo  <wingo@pobox.com>
6542
6543         * plugins/elements/gstbufferstore.c
6544         (gst_buffer_store_cleared_func): Pay attention to g_list_append
6545         return value.
6546
6547         * tests/check/gst/gstobject.c
6548         (test_fake_object_name_threaded_unique): Pay attention to
6549         g_list_sort return value.
6550
6551 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
6552
6553         * tools/gst-feedback-m.m:
6554           Update for 0.9/0.10 (fixes #323870).
6555
6556 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
6557
6558         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
6559           Fix lcopy for mini objects, the mini object needs to be ref'ed.
6560           
6561         * tests/check/gst/gstminiobject.c: (my_foo_init),
6562         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
6563         (test_value_collection), (gst_mini_object_suite):
6564           Add test to ensure refcounts end up as expected when passing
6565           GstMiniObjects through g_object_get() and g_object_set().
6566
6567 2005-12-14  Julien MOUTTE  <julien@moutte.net>
6568
6569         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6570         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
6571         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
6572         of collectpads. This version removes a lot of races without
6573         touching API/ABI. Yay !
6574
6575 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
6576
6577         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
6578           Don't allow activation of a srcpad in pull_range if it has no
6579           getrange function.
6580           Change some debug statements to be a little clearer
6581
6582         * plugins/elements/gsttypefindelement.c:
6583         (gst_type_find_handle_src_query):
6584           Check that we have a peer before executing queries thereupon.
6585
6586         * tests/examples/metadata/read-metadata.c: (message_loop):
6587           Use gst_bus_pop instead of gst_bus_poll when we just want it to
6588           immediately return us any available message with 0 timeout.
6589
6590 2005-12-12  Michael Smith  <msmith@fluendo.com>
6591
6592         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
6593           Don't unref factories after calling them.
6594         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
6595         * plugins/elements/gsttypefindelement.c:
6596         (gst_type_find_element_chain):
6597           Free lists of factories after using them. Fixing typefinding memory
6598           leaks.
6599
6600 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6601
6602         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
6603         (gst_plugin_feature_load):
6604           more meaningful debug output
6605         * configure.ac:
6606         * tests/Makefile.am:
6607         * tests/old/examples/Makefile.am:
6608           make make distcheck happy again
6609
6610 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
6611
6612         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
6613           Catch the special case where we are operating chain-based,
6614           but the downstream peer pad has no chain function. Emit a
6615           custom error message in this case instead of letting the
6616           core generate one implying that this is some sort of core
6617           bug. It's not, it just means that whatever got plugged
6618           into the pipeline downstream when we announced the type
6619           can only operate pull-based, while our source can only
6620           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
6621           Error string has not been marked for translation yet, as
6622           it probably needs some more work first.
6623
6624         (gst_type_find_element_get_best_possibility):
6625           Add helper function to find the best of all available
6626           found possibilities that qualify given the min. threshold.
6627
6628         (gst_type_find_element_handle_event):
6629           Fix the case where we get an EOS while still in TYPEFIND
6630           mode (we want to chose the best of all possible types,
6631           not just the first type that happens to be in our unsorted
6632           list of possible types).
6633
6634         (gst_type_find_element_chain):
6635           Make sure we return GST_FLOW_ERROR when we errored out
6636           in stop_typefinding(); also, don't just find the best of
6637           all found type entries and then use the last examined
6638           type entry, but actually use the best entry.
6639
6640 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
6641
6642         * tests/examples/typefind/typefind.c: (type_found):
6643         * tests/examples/xml/runxml.c: (xml_loaded):
6644           More gcc4 fixes and a mem leak fix.
6645
6646 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6647
6648         * tests/examples/xml/createxml.c: (object_saved):
6649           gcc 4 fixes
6650
6651 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6652
6653         * tests/Makefile.am:
6654           enable the examples even more
6655
6656 2005-12-12  Andy Wingo  <wingo@pobox.com>
6657
6658         * libs/gst/net/gstnettimeprovider.c
6659         (gst_net_time_provider_class_init, gst_net_time_provider_init)
6660         (gst_net_time_provider_set_property)
6661         (gst_net_time_provider_get_property):
6662         API addition: Export "active" as a GObject property.
6663         (gst_net_time_provider_thread): Only respond to time queries if
6664         the time provider is active.
6665
6666         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
6667         NetTimeProvider, preserving binary compat.
6668
6669 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6670
6671         * tests/examples/controller/audio-example.c: (main):
6672         * tests/examples/launch/Makefile.am:
6673           convert comments again
6674
6675 2005-12-12  Wim Taymans  <wim@fluendo.com>
6676
6677         * libs/gst/base/gstpushsrc.c:
6678         Fix typo.
6679
6680 2005-12-12  Wim Taymans  <wim@fluendo.com>
6681
6682         * docs/libs/gstreamer-libs-sections.txt:
6683         Added new symbol to docs.
6684
6685         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6686         (gst_base_src_init), (gst_base_src_set_format),
6687         (gst_base_src_default_query), (gst_base_src_query),
6688         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
6689         (gst_base_src_perform_seek), (gst_base_src_send_event),
6690         (gst_base_src_default_event), (gst_base_src_event_handler),
6691         (gst_base_src_set_property), (gst_base_src_get_property),
6692         (gst_base_src_wait), (gst_base_src_do_sync),
6693         (gst_base_src_update_length), (gst_base_src_get_range),
6694         (gst_base_src_check_get_range), (gst_base_src_loop),
6695         (gst_base_src_default_negotiate), (gst_base_src_start),
6696         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6697         (gst_base_src_change_state):
6698         * libs/gst/base/gstbasesrc.h:
6699         Implement seeking to other formats than _BYTES.
6700         Implement more seeking methods correctly.
6701         Doc updates.
6702         Added query vmethod.
6703         Added do_seek vmethod to make life easier for subclasses
6704         when seeking.
6705         API addition: gst_base_src_set_format()
6706
6707 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6708
6709         * tests/examples/Makefile.am:
6710           added that too
6711
6712 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6713
6714         * configure.ac:
6715         * docs/random/ensonic/media-device-daemon.txt:
6716         * tests/examples/controller/.cvsignore:
6717         * tests/examples/controller/Makefile.am:
6718         * tests/examples/controller/audio-example.c: (main):
6719         * tests/examples/helloworld/.cvsignore:
6720         * tests/examples/helloworld/Makefile.am:
6721         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
6722         * tests/examples/launch/.cvsignore:
6723         * tests/examples/launch/Makefile.am:
6724         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
6725         * tests/examples/metadata/.cvsignore:
6726         * tests/examples/metadata/Makefile.am:
6727         * tests/examples/metadata/read-metadata.c: (message_loop),
6728         (make_pipeline), (print_tag), (main):
6729         * tests/examples/queue/.cvsignore:
6730         * tests/examples/queue/Makefile.am:
6731         * tests/examples/queue/queue.c: (event_loop), (main):
6732         * tests/examples/typefind/.cvsignore:
6733         * tests/examples/typefind/Makefile.am:
6734         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
6735         (main):
6736         * tests/examples/xml/.cvsignore:
6737         * tests/examples/xml/Makefile.am:
6738         * tests/examples/xml/createxml.c: (object_saved), (main):
6739         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
6740         * tests/old/examples/Makefile.am:
6741         * tests/old/examples/TODO:
6742         * tests/old/examples/controller/.cvsignore:
6743         * tests/old/examples/controller/Makefile.am:
6744         * tests/old/examples/controller/audio-example.c:
6745         * tests/old/examples/helloworld/.cvsignore:
6746         * tests/old/examples/helloworld/Makefile.am:
6747         * tests/old/examples/helloworld/helloworld.c:
6748         * tests/old/examples/launch/.cvsignore:
6749         * tests/old/examples/launch/Makefile.am:
6750         * tests/old/examples/launch/mp3parselaunch.c:
6751         * tests/old/examples/launch/mp3play:
6752         * tests/old/examples/manual/Makefile.am:
6753         * tests/old/examples/metadata/Makefile.am:
6754         * tests/old/examples/metadata/read-metadata.c:
6755         * tests/old/examples/queue/.cvsignore:
6756         * tests/old/examples/queue/Makefile.am:
6757         * tests/old/examples/queue/queue.c:
6758         * tests/old/examples/typefind/.cvsignore:
6759         * tests/old/examples/typefind/Makefile.am:
6760         * tests/old/examples/typefind/typefind.c:
6761         * tests/old/examples/xml/.cvsignore:
6762         * tests/old/examples/xml/Makefile.am:
6763         * tests/old/examples/xml/createxml.c:
6764         * tests/old/examples/xml/runxml.c:
6765           applied some simple fixing to some examples
6766           re-enabled the working examples
6767
6768 2005-12-12  Wim Taymans  <wim@fluendo.com>
6769
6770         * gst/gstsegment.c: (gst_segment_init),
6771         (gst_segment_set_last_stop), (gst_segment_set_seek),
6772         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6773         (gst_segment_to_running_time):
6774         Added more documentation.
6775         Make sure the last_pos value is updated properly.
6776         Make sure to_stream_time and to_running_time don't
6777         operate on wrong values.
6778
6779         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6780         Update check.
6781
6782 2005-12-12  Michael Smith  <msmith@fluendo.com>
6783
6784         * plugins/elements/gsttypefindelement.c: (free_entry),
6785         (gst_type_find_element_chain):
6786           Now that we're not leaking factories, make sure we keep references
6787           to them while we need them.
6788
6789 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6790
6791         * tests/check/gst/struct_i386.h:
6792           ifdef out the XML structs
6793
6794 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6795
6796         * gst/gstvalue.c: (gst_value_transform_double_fraction):
6797           floor is not needed, F is always positive; this obviates the
6798           need for adding -lm when building without libxml
6799
6800 2005-12-12  Wim Taymans  <wim@fluendo.com>
6801
6802         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6803         Take current playback rate into account when reporting
6804         the position.
6805
6806 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6807
6808         * docs/manual/mime-world.fig:
6809           Let's try this again, this time with a file that is
6810           actually in XFig format.
6811
6812 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6813
6814         * docs/manual/mime-world.fig:
6815           Add audioconvert element to diagram so that it
6816           matches the text and the code (fixes #319526).
6817
6818 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6819
6820         * docs/pwg/building-chainfn.xml:
6821         * docs/pwg/building-pads.xml:
6822         * docs/pwg/building-state.xml:
6823         * docs/pwg/other-source.xml:
6824           Update state change stuff for 0.10 (fixes #322969).
6825
6826 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6827
6828         * docs/manual/advanced-dataaccess.xml:
6829         * docs/manual/appendix-checklist.xml:
6830         * docs/manual/appendix-programs.xml:
6831         * docs/manual/basics-pads.xml:
6832         * docs/manual/highlevel-components.xml:
6833         * docs/manual/manual.xml:
6834           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
6835           add converters in front of pipelines; remove curly
6836           brackets for threads stuff, they no longer exist; use
6837           GST_TYPE_FRACTION for framerates; update some pieces of
6838           code to 0.10, but there's plenty more to do.
6839
6840         * docs/manual/appendix-porting.xml:
6841           Expand on asynchroneous state changes; s/0.9/0.10/;
6842           mention disappearance of gst_init_get_popt_table()
6843           (fixes #322916).
6844
6845 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6846
6847         * docs/faq/using.xml:
6848           Spider no longer exists, and neither does gst-launch-ext.
6849           Update examples to use decodebin and playbin and put
6850           converters in front of sinks (fixes #323726).
6851
6852 2005-12-09  Michael Smith  <msmith@fluendo.com>
6853
6854         * plugins/elements/gsttypefindelement.c: (find_peek),
6855         (gst_type_find_element_chain):
6856           Fix leaking element factories in typefinding.
6857           Fix problem where we forgot about a probable type on non-seekable
6858           files, and thus later mis-typefound it.
6859
6860 2005-12-09  Michael Smith  <msmith@fluendo.com>
6861
6862         * common/m4/gst-makecontext.m4:
6863         * common/m4/gst-mcsc.m4:
6864         * configure.ac:
6865         * win32/common/config.h:
6866         * win32/common/config.h.in:
6867           Remove makecontext stuff; not used in 0.10 and causes problems on
6868           HPUX according to bug #322441
6869
6870 2005-12-07  Wim Taymans  <wim@fluendo.com>
6871
6872         * tests/check/Makefile.am:
6873         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
6874         (main):
6875         * tests/check/libs/struct_i386.h:
6876         Added ABI check for libs
6877
6878 2005-12-07  Wim Taymans  <wim@fluendo.com>
6879
6880         * tests/check/Makefile.am:
6881         And add the struct_i386.h to dist.
6882
6883 2005-12-07  Wim Taymans  <wim@fluendo.com>
6884
6885         * tests/check/Makefile.am:
6886         * tests/check/gst/.cvsignore:
6887         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
6888         (main):
6889         * tests/check/gst/struct_i386.h:
6890         Added check for ABI compatibility.
6891
6892 2005-12-07  Wim Taymans  <wim@fluendo.com>
6893
6894         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
6895         (gst_fake_src_get_times), (gst_fake_src_create):
6896         Fix broken sync option, fixes #323259
6897
6898 2005-12-07  Wim Taymans  <wim@fluendo.com>
6899
6900         * gst/gstbuffer.c:
6901         Small docs update.
6902
6903         * gst/gstcaps.c: (gst_caps_is_equal):
6904         Don't assert on NULL <--> X. Fixes #323260
6905
6906         * gst/gstminiobject.c: (gst_mini_object_replace):
6907         If we're doing atomic operations, we might just as well use
6908         the proper way to get an atomic pointer.
6909
6910         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6911         Clean up debugging.
6912
6913 2005-12-07  Michael Smith  <msmith@fluendo.com>
6914
6915         * gst/parse/grammar.y:
6916           Remove handling of { } for threads.
6917
6918 2005-12-06  David Schleef  <ds@schleef.org>
6919
6920         * libs/gst/base/gstbasetransform.c: speling fix.
6921
6922 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6923
6924         * docs/libs/tmpl/gstdataprotocol.sgml:
6925         * docs/random/omega/testing/gstobject.c:
6926         * gst/gst.c:
6927         * gst/gstclock.c:
6928         * gst/gstelement.c:
6929         * gst/gstelementfactory.c:
6930         * gst/gsterror.c:
6931         * gst/gstevent.c:
6932         * gst/gstghostpad.c:
6933         * gst/gstinfo.c:
6934         * gst/gstpadtemplate.c:
6935         * gst/gstregistryxml.c:
6936         * gst/gsttaglist.c:
6937         * gst/gsttagsetter.c:
6938         * gst/gsttypefind.c:
6939         * gst/gstvalue.c:
6940         * libs/gst/base/gstbasesrc.c:
6941         * libs/gst/net/gstnetclientclock.c:
6942         * libs/gst/net/gstnettimeprovider.c:
6943         * plugins/elements/gstfakesrc.c:
6944         * plugins/elements/gstfdsrc.c:
6945         * plugins/elements/gstfilesrc.c:
6946         * plugins/elements/gstidentity.c:
6947         * plugins/elements/gstqueue.c:
6948         * plugins/elements/gsttypefindelement.c:
6949         * plugins/indexers/gstfileindex.c:
6950         * plugins/indexers/gstmemindex.c:
6951         * tests/check/gst/gsttag.c:
6952         * tests/old/examples/cutter/cutter.c:
6953         * tests/old/examples/mixer/mixer.c:
6954         * tests/old/examples/xml/runxml.c: (main):
6955         * tests/old/testsuite/caps/normalisation.c:
6956         * tests/old/testsuite/debug/global.c:
6957         * tests/old/testsuite/parse/parse1.c:
6958         * tools/gst-xmlinspect.c:
6959         * win32/common/dirent.c:
6960           expand tabs
6961
6962 === release 0.10.0 ===
6963
6964 2005-12-05   <thomas (at) apestaart (dot) org>
6965
6966         * configure.ac:
6967           releasing 0.10.0, "Maroilles"
6968
6969 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6970
6971         submitted by: Funda Wang <fundawang@linux.net.cn>
6972
6973         * po/LINGUAS:
6974         * po/zh_CN.po:
6975           added Chinese (Traditional) translation
6976
6977 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6978
6979         * docs/gst/gstreamer-sections.txt:
6980         * docs/libs/tmpl/gstdataprotocol.sgml:
6981         * docs/random/thomasvs/TODO:
6982         * gst/gstutils.c:
6983         * gst/gstutils.h:
6984           fix docs
6985
6986 2005-12-05  Andy Wingo  <wingo@pobox.com>
6987
6988         patch by: Wim Taymans <wim@fluendo.com>
6989
6990         * libs/gst/base/gstbasetransform.c
6991         (gst_base_transform_prepare_output_buf)
6992         (gst_base_transform_buffer_alloc):
6993         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
6994         alloc_buffer_and_set_caps.
6995
6996         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
6997         set_caps on the source pad.
6998         (gst_pad_alloc_buffer_and_set_caps): New function, does what
6999         alloc_buffer used to do. Fixes #322874.
7000
7001         * docs/gst/gstreamer-sections.txt: 
7002         * docs/design/part-negotiation.txt: 
7003         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
7004         changes.
7005
7006 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7007
7008         patch by: Sebastien Moutte
7009
7010         * win32/MANIFEST:
7011         * win32/common/config.h.in:
7012         * win32/vs6/libgstcontroller.dsp:
7013           win32 build fixes
7014
7015 2005-12-05  Wim Taymans  <wim@fluendo.com>
7016
7017         * gst/gstcaps.c: (gst_caps_is_equal):
7018         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7019         (gst_fake_src_create):
7020         Back out previous code changes, leave doc updates, file bugs 
7021         instead. 
7022
7023 2005-12-05  Wim Taymans  <wim@fluendo.com>
7024
7025         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7026         (gst_fake_src_get_times), (gst_fake_src_create):
7027         * plugins/elements/gstfakesrc.h:
7028         Fix broken sync code.
7029
7030 2005-12-05  Wim Taymans  <wim@fluendo.com>
7031
7032         * gst/gstcaps.c: (gst_caps_is_equal):
7033         Comparing NULL against !NULL yields different caps, not a
7034         failure.
7035
7036 2005-12-05  Wim Taymans  <wim@fluendo.com>
7037
7038         * gst/gstpipeline.c:
7039         Fix small typo in docs.
7040
7041 2005-12-05  Andy Wingo  <wingo@pobox.com>
7042
7043         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
7044
7045         * gst/gst.c (init_post): remove hard-coded 0.9 location for
7046         registries/plugins with a MAJORMINOR one.
7047         (plugin_desc): Rename library from gstcoreleements to
7048         staticelements. Fixes #323222.
7049
7050 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
7051
7052         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
7053           Change debug category to 'collectpads' from 'collect_pads'
7054           (fixes #323250).
7055
7056 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7057
7058         patch by: Sebastien Moutte
7059
7060         * libs/gst/controller/gstinterpolation.c:
7061           use convert function for uint64/double
7062         * win32/vs6/libgstcontroller.dsp:
7063           link to GLib
7064
7065 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7066
7067         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
7068         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
7069         * gst/gstutils.h:
7070         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7071           add tests that seem to show that the guint64/gdouble conversions
7072           are correct.
7073
7074 2005-12-02  Wim Taymans  <wim@fluendo.com>
7075
7076         * gst/gstregistry.c: (gst_registry_add_path):
7077         * gst/gstregistry.h:
7078         * gst/gstregistryxml.c:
7079         Fix docs again.
7080
7081 2005-12-02  Wim Taymans  <wim@fluendo.com>
7082
7083         * gst/gstutils.c: (gst_util_uint64_scale_int64),
7084         (gst_util_uint64_scale_int):
7085         Small cleanup.
7086
7087         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7088         Add debug log line.
7089
7090         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
7091         Add FIXME.
7092
7093 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7094
7095         * win32/MANIFEST:
7096         * win32/common/config.h:
7097         * win32/vs6/gstreamer.dsw:
7098         * win32/vs6/libgstcoreelements.dsp:
7099         * win32/vs6/libgstelements.dsp:
7100           renamed core elements plugin
7101
7102 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7103
7104         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
7105         (get_candidates):
7106           do piece-wise major/minor comparison so 0.9 < 0.10
7107           also allow .exe extensions for tools
7108
7109 2005-12-02  Michael Smith  <msmith@fluendo.com>
7110
7111         * gst/gst.c:
7112           Escape a % to make gtkdoc happier; bug 322958.
7113
7114 === release 0.9.7 ===
7115
7116 2005-12-01   <thomas (at) apestaart (dot) org>
7117
7118         * configure.ac:
7119           releasing 0.9.7, "My Dog Has No Nose"
7120
7121 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7122
7123         * common/gst-xmlinspect.py:
7124         * configure.ac:
7125         * docs/libs/tmpl/gstdataprotocol.sgml:
7126         * docs/random/release:
7127         * po/af.po:
7128         * po/az.po:
7129         * po/bg.po:
7130         * po/ca.po:
7131         * po/cs.po:
7132         * po/de.po:
7133         * po/en_GB.po:
7134         * po/fr.po:
7135         * po/it.po:
7136         * po/nb.po:
7137         * po/nl.po:
7138         * po/ru.po:
7139         * po/sq.po:
7140         * po/sr.po:
7141         * po/sv.po:
7142         * po/tr.po:
7143         * po/uk.po:
7144         * po/vi.po:
7145         * win32/common/config.h:
7146         * win32/common/config.h.in:
7147         * win32/vs6/gst_inspect.dsp:
7148         * win32/vs6/gst_launch.dsp:
7149         * win32/vs6/libgstbase.dsp:
7150         * win32/vs6/libgstelements.dsp:
7151         * win32/vs6/libgstreamer.dsp:
7152         * win32/vs7/GStreamer.vcproj:
7153         * win32/vs7/gst-inspect.vcproj:
7154         * win32/vs7/gst-launch.vcproj:
7155         * win32/vs7/libgstbase.vcproj:
7156           bump GST_MAJORMINOR to 0.10
7157           reset libtool version
7158
7159 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7160
7161         * po/LINGUAS:
7162         * po/bg.po:
7163           Added Bulgarian translation by (Alexander Shopov)
7164
7165 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7166
7167         * tests/check/gst/gstplugin.c:
7168           fix test
7169
7170 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7171
7172         * common/gst-xmlinspect.py:
7173         * common/gtk-doc-plugins.mak:
7174         * configure.ac:
7175         * docs/Makefile.am:
7176         * docs/gst/Makefile.am:
7177         * docs/gst/gstreamer-docs.sgml:
7178         * docs/gst/gstreamer-sections.txt:
7179         * docs/gst/gstreamer.types:
7180         * docs/gst/gstreamer.types.in:
7181         * docs/plugins/Makefile.am:
7182         * docs/plugins/gstreamer-plugins-docs.sgml:
7183         * docs/plugins/gstreamer-plugins-sections.txt:
7184         * docs/plugins/gstreamer-plugins.types:
7185         * docs/plugins/inspect.stamp:
7186         * docs/plugins/inspect/plugin-coreelements.xml:
7187         * docs/plugins/inspect/plugin-coreindexers.xml:
7188         * docs/plugins/scanobj-build.stamp:
7189         * gstreamer.spec.in:
7190         * plugins/elements/Makefile.am:
7191         * plugins/elements/gstelements.c:
7192         * plugins/elements/gstfakesink.c:
7193         * plugins/elements/gstfakesrc.c:
7194         * plugins/elements/gstfilesink.c:
7195         * plugins/elements/gstfilesrc.c:
7196         * plugins/elements/gstqueue.c:
7197         * plugins/indexers/Makefile.am:
7198         * plugins/indexers/gstindexers.c:
7199           document core plugins in a separate document just like all the
7200           others
7201           rename these plugins to something starting with core
7202
7203 2005-12-01  Andy Wingo  <wingo@pobox.com>
7204
7205         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
7206         padding here before, but it missed the commit.
7207
7208 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7209
7210         * libs/gst/controller/gstinterpolation.c:
7211           whitespace prices have crashed, we should feel free to use some now
7212           use gst_guint64_to_gdouble
7213
7214 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7215
7216         * libs/gst/controller/gstcontroller.c:
7217         * libs/gst/controller/gsthelper.c:
7218         * libs/gst/controller/gstinterpolation.c:
7219         * libs/gst/controller/lib.c:
7220           wrap config.h include
7221
7222 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7223
7224         * docs/gst/gstreamer-sections.txt:
7225           update docs
7226
7227 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7228
7229         * plugins/elements/gstelements.c:
7230         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
7231         (gst_fd_sink__class_init), (gst_fd_sink__init),
7232         (gst_fd_sink__chain), (gst_fd_sink__set_property),
7233         (gst_fd_sink__get_property):
7234         * plugins/elements/gstfdsink.h:
7235         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
7236         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
7237         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
7238         (gst_fd_src_unlock), (gst_fd_src_set_property),
7239         (gst_fd_src_get_property), (gst_fd_src_create),
7240         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
7241         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
7242         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
7243         (gst_fd_src_uri_handler_init):
7244         * plugins/elements/gstfdsrc.h:
7245         * plugins/elements/gstqueue.c: (gst_queue_get_type):
7246           more anal cleanup
7247
7248 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7249
7250         * docs/gst/Makefile.am:
7251         * docs/gst/gstreamer.types.in:
7252         * gst/Makefile.am:
7253           fix the docs build
7254
7255 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7256
7257         * configure.ac:
7258         * gst/Makefile.am:
7259         * gst/gst.c:
7260         * gst/gstplugin.h:
7261         * gst/gstregistry.h:
7262         * tests/benchmarks/complexity.c:
7263         * tests/benchmarks/mass-elements.c:
7264         * tests/check/Makefile.am:
7265         * tools/Makefile.am:
7266         * tools/gst-inspect.c:
7267         * tools/gst-xmlinspect.c:
7268           various fixes to make
7269           --disable-nls --disable-registry --disable-loadsave
7270           --disable-parse --disable-gst-debug
7271           work and get the core .so down to 360444 bytes after stripping
7272
7273 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7274
7275         * Makefile.am:
7276         * configure.ac:
7277           descend into tests
7278         * docs/random/thomasvs/TODO:
7279         * tests/Makefile.am:
7280         * tests/README:
7281           add a README
7282
7283 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7284
7285         * win32/GStreamer.vcproj:
7286         * win32/MANIFEST:
7287         * win32/Makefile:
7288         * win32/Makefile.inspect:
7289         * win32/Makefile.launch:
7290         * win32/Makefile.register:
7291         * win32/README.txt:
7292         * win32/gst-inspect.vcproj:
7293         * win32/gst-launch.vcproj:
7294         * win32/gst-register.vcproj:
7295         * win32/gstelements.vcproj:
7296         * win32/gstgetbits.def:
7297         * win32/gstgetbits.vcproj:
7298         * win32/gstreamer-dbg.def:
7299         * win32/gstreamer.def:
7300         * win32/libgstbase.def:
7301         * win32/libgstbase.vcproj:
7302         * win32/link_oldruntime.c:
7303         * win32/mman.c:
7304         * win32/mman.h:
7305         * win32/mman.inl:
7306         * win32/msvc71.sln:
7307           move even more stuff, win32/ is nice and clean now
7308
7309 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7310
7311         * libs/gst/control/.cvsignore:
7312         * win32/MANIFEST:
7313         * win32/config.h:
7314         * win32/dirent.c:
7315         * win32/dirent.h:
7316         * win32/gstbytestream.def:
7317         * win32/gstbytestream.vcproj:
7318         * win32/gstconfig.h:
7319         * win32/gstenumtypes.c:
7320         * win32/gstenumtypes.h:
7321         * win32/gstoptimalscheduler.vcproj:
7322         * win32/gstversion.h:
7323         * win32/gtchar.h:
7324         * win32/testsuite/bins.vcproj:
7325         * win32/testsuite/bytestream.vcproj:
7326         * win32/testsuite/caps.vcproj:
7327         * win32/testsuite/cleanup.vcproj:
7328         * win32/testsuite/clock.vcproj:
7329         * win32/testsuite/debug.vcproj:
7330         * win32/testsuite/dlopen.vcproj:
7331         * win32/testsuite/dynparams.vcproj:
7332         * win32/testsuite/elements.vcproj:
7333         * win32/testsuite/ghostpads.vcproj:
7334         * win32/testsuite/indexers.vcproj:
7335         * win32/testsuite/negotiation.vcproj:
7336         * win32/testsuite/parse.vcproj:
7337         * win32/testsuite/plugin.vcproj:
7338         * win32/testsuite/refcounting.vcproj:
7339         * win32/testsuite/schedulers.vcproj:
7340         * win32/testsuite/states.vcproj:
7341         * win32/testsuite/tags.vcproj:
7342         * win32/testsuite/threads.vcproj:
7343           remove old win32 stuff that isn't maintained and should be
7344           reorganized
7345
7346 2005-11-30  Andy Wingo  <wingo@pobox.com>
7347
7348         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
7349         loading the gst.interfaces python module bork.
7350
7351         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
7352         available since GLib 2.2. Fixes #318031.
7353
7354 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7355
7356         * Makefile.am:
7357         * check/.cvsignore:
7358         * check/Makefile.am:
7359         * check/elements/.cvsignore:
7360         * check/elements/fakesrc.c:
7361         * check/elements/fdsrc.c:
7362         * check/elements/identity.c:
7363         * check/generic/.cvsignore:
7364         * check/generic/states.c:
7365         * check/gst-libs/.cvsignore:
7366         * check/gst-libs/controller.c:
7367         * check/gst-libs/gdp.c:
7368         * check/gst/.cvsignore:
7369         * check/gst/capslist.h:
7370         * check/gst/gst.c:
7371         * check/gst/gstbin.c:
7372         * check/gst/gstbuffer.c:
7373         * check/gst/gstbus.c:
7374         * check/gst/gstcaps.c:
7375         * check/gst/gstelement.c:
7376         * check/gst/gstevent.c:
7377         * check/gst/gstghostpad.c:
7378         * check/gst/gstiterator.c:
7379         * check/gst/gstmessage.c:
7380         * check/gst/gstminiobject.c:
7381         * check/gst/gstobject.c:
7382         * check/gst/gstpad.c:
7383         * check/gst/gstpipeline.c:
7384         * check/gst/gstplugin.c:
7385         * check/gst/gstsegment.c:
7386         * check/gst/gststructure.c:
7387         * check/gst/gstsystemclock.c:
7388         * check/gst/gsttag.c:
7389         * check/gst/gstutils.c:
7390         * check/gst/gstvalue.c:
7391         * check/net/.cvsignore:
7392         * check/net/gstnetclientclock.c:
7393         * check/net/gstnettimeprovider.c:
7394         * check/pipelines/.cvsignore:
7395         * check/pipelines/cleanup.c:
7396         * check/pipelines/simple_launch_lines.c:
7397         * check/pipelines/stress.c:
7398         * check/states/.cvsignore:
7399         * check/states/sinks.c:
7400         * configure.ac:
7401         * examples/Makefile.am:
7402         * examples/appreader/.cvsignore:
7403         * examples/appreader/Makefile.am:
7404         * examples/appreader/appreader.c:
7405         * examples/controller/.cvsignore:
7406         * examples/controller/Makefile.am:
7407         * examples/controller/audio-example.c:
7408         * examples/cutter/.cvsignore:
7409         * examples/cutter/Makefile.am:
7410         * examples/cutter/cutter.c:
7411         * examples/cutter/cutter.h:
7412         * examples/events/Makefile.am:
7413         * examples/events/seek.c:
7414         * examples/helloworld/.cvsignore:
7415         * examples/helloworld/Makefile.am:
7416         * examples/helloworld/helloworld.c:
7417         * examples/helloworld2/.cvsignore:
7418         * examples/helloworld2/Makefile.am:
7419         * examples/helloworld2/helloworld2.c:
7420         * examples/launch/.cvsignore:
7421         * examples/launch/Makefile.am:
7422         * examples/launch/mp3parselaunch.c:
7423         * examples/launch/mp3play:
7424         * examples/manual/.cvsignore:
7425         * examples/manual/Makefile.am:
7426         * examples/manual/extract.pl:
7427         * examples/metadata/Makefile.am:
7428         * examples/metadata/read-metadata.c:
7429         * examples/mixer/.cvsignore:
7430         * examples/mixer/Makefile.am:
7431         * examples/mixer/mixer.c:
7432         * examples/mixer/mixer.h:
7433         * examples/pingpong/.cvsignore:
7434         * examples/pingpong/Makefile.am:
7435         * examples/pingpong/pingpong.c:
7436         * examples/plugins/.cvsignore:
7437         * examples/plugins/Makefile.am:
7438         * examples/plugins/example.c:
7439         * examples/plugins/example.h:
7440         * examples/pwg/.cvsignore:
7441         * examples/pwg/Makefile.am:
7442         * examples/pwg/extract.pl:
7443         * examples/queue/.cvsignore:
7444         * examples/queue/Makefile.am:
7445         * examples/queue/queue.c:
7446         * examples/queue2/.cvsignore:
7447         * examples/queue2/Makefile.am:
7448         * examples/queue2/queue2.c:
7449         * examples/queue3/.cvsignore:
7450         * examples/queue3/Makefile.am:
7451         * examples/queue3/queue3.c:
7452         * examples/queue4/.cvsignore:
7453         * examples/queue4/Makefile.am:
7454         * examples/queue4/queue4.c:
7455         * examples/retag/.cvsignore:
7456         * examples/retag/Makefile.am:
7457         * examples/retag/retag.c:
7458         * examples/retag/transcode.c:
7459         * examples/thread/.cvsignore:
7460         * examples/thread/Makefile.am:
7461         * examples/thread/thread.c:
7462         * examples/typefind/.cvsignore:
7463         * examples/typefind/Makefile.am:
7464         * examples/typefind/typefind.c:
7465         * examples/xml/.cvsignore:
7466         * examples/xml/Makefile.am:
7467         * examples/xml/createxml.c:
7468         * examples/xml/runxml.c:
7469         * tests/Makefile.am:
7470         * tests/check/Makefile.am:
7471         * testsuite/.cvsignore:
7472         * testsuite/Makefile.am:
7473         * testsuite/Rules:
7474         * testsuite/caps/.cvsignore:
7475         * testsuite/caps/Makefile.am:
7476         * testsuite/caps/app_fixate.c:
7477         * testsuite/caps/audioscale.c:
7478         * testsuite/caps/caps.c:
7479         * testsuite/caps/caps.h:
7480         * testsuite/caps/caps_strings:
7481         * testsuite/caps/compatibility.c:
7482         * testsuite/caps/deserialize.c:
7483         * testsuite/caps/enumcaps.c:
7484         * testsuite/caps/eratosthenes.c:
7485         * testsuite/caps/filtercaps.c:
7486         * testsuite/caps/fixed.c:
7487         * testsuite/caps/fraction-convert.c:
7488         * testsuite/caps/fraction-multiply-and-zero.c:
7489         * testsuite/caps/intersect2.c:
7490         * testsuite/caps/intersection.c:
7491         * testsuite/caps/normalisation.c:
7492         * testsuite/caps/random.c:
7493         * testsuite/caps/renegotiate.c:
7494         * testsuite/caps/sets.c:
7495         * testsuite/caps/simplify.c:
7496         * testsuite/caps/string-conversions.c:
7497         * testsuite/caps/structure.c:
7498         * testsuite/caps/subtract.c:
7499         * testsuite/caps/union.c:
7500         * testsuite/debug/.cvsignore:
7501         * testsuite/debug/Makefile.am:
7502         * testsuite/debug/category.c:
7503         * testsuite/debug/commandline.c:
7504         * testsuite/debug/global.c:
7505         * testsuite/debug/output.c:
7506         * testsuite/debug/printf_extension.c:
7507         * testsuite/dlopen/.cvsignore:
7508         * testsuite/dlopen/Makefile.am:
7509         * testsuite/dlopen/dlopen_gst.c:
7510         * testsuite/dlopen/loadgst.c:
7511         * testsuite/elements/.cvsignore:
7512         * testsuite/elements/Makefile.am:
7513         * testsuite/elements/gst-inspect-check.in:
7514         * testsuite/elements/struct_i386.h:
7515         * testsuite/elements/struct_size.c:
7516         * testsuite/indexers/.cvsignore:
7517         * testsuite/indexers/Makefile.am:
7518         * testsuite/indexers/cache1.c:
7519         * testsuite/indexers/indexdump.c:
7520         * testsuite/parse/.cvsignore:
7521         * testsuite/parse/Makefile.am:
7522         * testsuite/parse/parse1.c:
7523         * testsuite/parse/parse2.c:
7524         * testsuite/plugin/.cvsignore:
7525         * testsuite/plugin/Makefile.am:
7526         * testsuite/plugin/README:
7527         * testsuite/plugin/dynamic.c:
7528         * testsuite/plugin/linked.c:
7529         * testsuite/plugin/loading.c:
7530         * testsuite/plugin/registry.c:
7531         * testsuite/plugin/static.c:
7532         * testsuite/plugin/static2.c:
7533         * testsuite/plugin/testplugin.c:
7534         * testsuite/plugin/testplugin2.c:
7535         * testsuite/plugin/testplugin2_s.c:
7536         * testsuite/plugin/testplugin_s.c:
7537         * testsuite/refcounting/.cvsignore:
7538         * testsuite/refcounting/Makefile.am:
7539         * testsuite/refcounting/bin.c:
7540         * testsuite/refcounting/element.c:
7541         * testsuite/refcounting/element_pad.c:
7542         * testsuite/refcounting/mainloop.c:
7543         * testsuite/refcounting/mem.c:
7544         * testsuite/refcounting/mem.h:
7545         * testsuite/refcounting/object.c:
7546         * testsuite/refcounting/pad.c:
7547         * testsuite/refcounting/sched.c:
7548         * testsuite/refcounting/thread.c:
7549         * testsuite/states/.cvsignore:
7550         * testsuite/states/Makefile.am:
7551         * testsuite/states/bin.c:
7552         * testsuite/states/locked.c:
7553         * testsuite/states/parent.c:
7554         * testsuite/threads/.cvsignore:
7555         * testsuite/threads/159566.c:
7556         * testsuite/threads/159852.c:
7557         * testsuite/threads/Makefile.am:
7558         * testsuite/threads/queue.c:
7559         * testsuite/threads/signals.c:
7560         * testsuite/threads/staticrec.c:
7561         * testsuite/threads/thread.c:
7562         * testsuite/threads/threadb.c:
7563         * testsuite/threads/threadc.c:
7564         * testsuite/threads/threadd.c:
7565         * testsuite/threads/threade.c:
7566         * testsuite/threads/threadf.c:
7567         * testsuite/threads/threadg.c:
7568         * testsuite/threads/threadh.c:
7569         * testsuite/threads/threadi.c:
7570           move all of these under tests
7571
7572 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7573
7574         * configure.ac:
7575         * tests/Makefile.am:
7576           fix distcheck
7577
7578 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7579
7580         * docs/gst/gstreamer-sections.txt:
7581         * tests/sched/.cvsignore:
7582         * tests/sched/Makefile.am:
7583         * tests/sched/cases/(fs-fs).xml:
7584         * tests/sched/cases/(fs-i-fs).xml:
7585         * tests/sched/cases/(fs-i-i-fs).xml:
7586         * tests/sched/cases/(fs-i-q[i-fs]).xml:
7587         * tests/sched/dynamic-pipeline.c:
7588         * tests/sched/interrupt1.c:
7589         * tests/sched/interrupt2.c:
7590         * tests/sched/interrupt3.c:
7591         * tests/sched/runtestcases:
7592         * tests/sched/runxml.c:
7593         * tests/sched/sched-stress.c:
7594         * tests/sched/sort.c:
7595         * tests/sched/testcases:
7596         * tests/sched/testcases1.tc:
7597         * tests/seeking/.cvsignore:
7598         * tests/seeking/Makefile.am:
7599         * tests/seeking/seeking1.c:
7600         * tests/threadstate/.cvsignore:
7601         * tests/threadstate/Makefile.am:
7602         * tests/threadstate/test1.c:
7603         * tests/threadstate/test2.c:
7604         * tests/threadstate/threadstate1.c:
7605         * tests/threadstate/threadstate2.c:
7606         * tests/threadstate/threadstate3.c:
7607         * tests/threadstate/threadstate4.c:
7608         * tests/threadstate/threadstate5.c:
7609           remove obsolete tests
7610         * configure.ac:
7611         * tests/bench-complexity.scm:
7612         * tests/bench-mass_elements.scm:
7613         * tests/complexity.c:
7614         * tests/complexity.gnuplot:
7615         * tests/instantiate/.cvsignore:
7616         * tests/instantiate/Makefile.am:
7617         * tests/instantiate/caps.c:
7618         * tests/mass_elements.c:
7619         * tests/network-clock-utils.scm:
7620         * tests/network-clock.scm:
7621         * tests/plot-data:
7622         First pass at cleaning up tests/ dir before moving the rest
7623         Combined with CVS surgery
7624
7625 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7626
7627         * po/POTFILES.in:
7628           queue has moved, update
7629
7630 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7631
7632         * docs/gst/gstreamer-sections.txt:
7633           remove double entries from the docs
7634         * gst/gst_private.h:
7635         * gst/gstinfo.c: (_gst_debug_init):
7636           remove the THREAD debug category
7637         * gst/Makefile.am:
7638         * gst/gstqueue.c:
7639         * gst/gstqueue.h:
7640         * docs/gst/gstreamer.types:
7641         * plugins/elements/gstqueue.c: (gst_queue_get_type),
7642         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
7643           completely move queue and fix up debugging categories
7644
7645 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7646
7647         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7648           make initialization portable, using LL is not
7649
7650 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7651
7652         * win32/common/gstconfig.h:
7653           add large padding
7654
7655 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7656
7657         * win32/common/libgstreamer.def:
7658           rename symbols; sort base section
7659
7660 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7661
7662         * gst/gstclock.c: (do_linear_regression):
7663           remove crack non-portable handrolled DEBUG macro
7664
7665 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7666
7667         * docs/random/release:
7668           update notes
7669         * win32/common/gstenumtypes.c: (register_gst_object_flags),
7670         (gst_object_flags_get_type), (register_gst_bin_flags),
7671         (gst_bin_flags_get_type), (register_gst_buffer_flag),
7672         (gst_buffer_flag_get_type), (register_gst_bus_flags),
7673         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7674         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
7675         (gst_caps_flags_get_type), (register_gst_clock_return),
7676         (gst_clock_return_get_type), (register_gst_clock_entry_type),
7677         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7678         (gst_clock_flags_get_type), (register_gst_state),
7679         (gst_state_get_type), (register_gst_state_change_return),
7680         (gst_state_change_return_get_type), (register_gst_state_change),
7681         (gst_state_change_get_type), (register_gst_element_flags),
7682         (gst_element_flags_get_type), (register_gst_core_error),
7683         (gst_core_error_get_type), (register_gst_library_error),
7684         (gst_library_error_get_type), (register_gst_resource_error),
7685         (gst_resource_error_get_type), (register_gst_stream_error),
7686         (gst_stream_error_get_type), (register_gst_event_type_flags),
7687         (gst_event_type_flags_get_type), (register_gst_event_type),
7688         (gst_event_type_get_type), (register_gst_seek_type),
7689         (gst_seek_type_get_type), (register_gst_seek_flags),
7690         (gst_seek_flags_get_type), (register_gst_format),
7691         (gst_format_get_type), (register_gst_index_certainty),
7692         (gst_index_certainty_get_type), (register_gst_index_entry_type),
7693         (gst_index_entry_type_get_type),
7694         (register_gst_index_lookup_method),
7695         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7696         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7697         (gst_index_resolver_method_get_type), (register_gst_index_flags),
7698         (gst_index_flags_get_type), (register_gst_debug_level),
7699         (gst_debug_level_get_type), (register_gst_debug_color_flags),
7700         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7701         (gst_iterator_result_get_type), (register_gst_iterator_item),
7702         (gst_iterator_item_get_type), (register_gst_message_type),
7703         (gst_message_type_get_type), (register_gst_mini_object_flags),
7704         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7705         (gst_pad_link_return_get_type), (register_gst_flow_return),
7706         (gst_flow_return_get_type), (register_gst_activate_mode),
7707         (gst_activate_mode_get_type), (register_gst_pad_direction),
7708         (gst_pad_direction_get_type), (register_gst_pad_flags),
7709         (gst_pad_flags_get_type), (register_gst_pad_presence),
7710         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7711         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7712         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7713         (gst_plugin_error_get_type), (register_gst_plugin_flags),
7714         (gst_plugin_flags_get_type), (register_gst_rank),
7715         (gst_rank_get_type), (register_gst_query_type),
7716         (gst_query_type_get_type), (register_gst_tag_merge_mode),
7717         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7718         (gst_tag_flag_get_type), (register_gst_task_state),
7719         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7720         (gst_alloc_trace_flags_get_type),
7721         (register_gst_type_find_probability),
7722         (gst_type_find_probability_get_type), (register_gst_uri_type),
7723         (gst_uri_type_get_type), (register_gst_parse_error),
7724         (gst_parse_error_get_type):
7725         * win32/common/gstenumtypes.h:
7726         * win32/common/gstversion.h:
7727           update visual studio generated files
7728
7729 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7730
7731         * win32/vs6/libgstbase.dsp:
7732         * win32/vs6/libgstelements.dsp:
7733           update project files for new locations
7734
7735 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7736
7737         * Makefile.am:
7738           remove some files
7739         * README:
7740           reinstate and update
7741         * DEVEL:
7742         * REQUIREMENTS:
7743           removed
7744         * LICENSE:
7745         * docs/random/LICENSE:
7746           moved to random
7747
7748 2005-11-30  Edward Hervey  <edward@fluendo.com>
7749
7750         * gst/gsttypefind.c: (gst_type_find_register):
7751         * gst/gsttypefind.h:
7752         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
7753         (gst_type_find_factory_dispose):
7754         * gst/gsttypefindfactory.h:
7755         Fix memory leak in GstTypeFindFactory.
7756
7757 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7758
7759         * gst/gst.c:
7760         * plugins/elements/Makefile.am:
7761         * plugins/elements/gstelements.c:
7762         * plugins/elements/gstqueue.c:
7763           move queue from core to the elements plugin
7764
7765 2005-11-29  Andy Wingo  <wingo@pobox.com>
7766
7767         * libs/gst/base/gstbasetransform.h: 
7768         * libs/gst/base/gstbasesrc.h: 
7769         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
7770
7771         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
7772         of pointers by which to pad very extensible base classes (like the
7773         ones in libs/gst/base).
7774
7775 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7776
7777         * docs/gst/gstreamer-docs.sgml:
7778         * docs/gst/gstreamer-sections.txt:
7779         * docs/libs/gstreamer-libs-docs.sgml:
7780         * docs/libs/gstreamer-libs-sections.txt:
7781           moving documentation from core to lib
7782
7783 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7784
7785         * check/Makefile.am:
7786         * configure.ac:
7787         * docs/gst/Makefile.am:
7788         * gst/Makefile.am:
7789         * gst/base/.cvsignore:
7790         * gst/base/Makefile.am:
7791         * gst/base/README:
7792         * gst/base/gstadapter.c:
7793         * gst/base/gstadapter.h:
7794         * gst/base/gstbasesink.c:
7795         * gst/base/gstbasesink.h:
7796         * gst/base/gstbasesrc.c:
7797         * gst/base/gstbasesrc.h:
7798         * gst/base/gstbasetransform.c:
7799         * gst/base/gstbasetransform.h:
7800         * gst/base/gstcollectpads.c:
7801         * gst/base/gstcollectpads.h:
7802         * gst/base/gstpushsrc.c:
7803         * gst/base/gstpushsrc.h:
7804         * gst/base/gsttypefindhelper.c:
7805         * gst/base/gsttypefindhelper.h:
7806         * gst/check/Makefile.am:
7807         * gst/check/gstcheck.c:
7808         * gst/check/gstcheck.h:
7809         * gst/net/Makefile.am:
7810         * gst/net/gstnet.h:
7811         * gst/net/gstnetclientclock.c:
7812         * gst/net/gstnetclientclock.h:
7813         * gst/net/gstnettimepacket.c:
7814         * gst/net/gstnettimepacket.h:
7815         * gst/net/gstnettimeprovider.c:
7816         * gst/net/gstnettimeprovider.h:
7817         * libs/gst/Makefile.am:
7818         * libs/gst/base/Makefile.am:
7819         * libs/gst/base/gstbasetransform.c:
7820         * libs/gst/check/Makefile.am:
7821         * plugins/elements/Makefile.am:
7822         * po/POTFILES.in:
7823           CVS surgery + support to move base, check, and net out of gst
7824           and into libs/gst
7825
7826 2005-11-29  Andy Wingo  <wingo@pobox.com>
7827
7828         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
7829
7830         * gst/gststructure.h (struct _GstStructure): Only one pointer of
7831         padding.
7832
7833         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
7834
7835         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
7836
7837         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
7838
7839         * gst/gstobject.h: (struct _GstObject): Only one pointer of
7840         padding; reduces object size by about 30%. We don't expect
7841         anything else to go into gstobject.
7842
7843         * gst/gstminiobject.h (struct _GstMiniObject)
7844         (struct _GstMiniObjectClass): Only one pointer of padding; the
7845         payload is only a pointer and two ints anyway. For the class there
7846         are only two methods as well.
7847         
7848         * gst/gstelement.h (struct _GstElementClass): Removed
7849         the state_changed signal callback, it is not used.
7850
7851 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7852
7853         * docs/gst/gstreamer.types:
7854           fix includes, though they are a little dinky
7855
7856 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7857
7858         * check/Makefile.am:
7859           look in the right place for elements, a lot more chance of
7860           success
7861         * gst/Makefile.am:
7862           remove indexers and elements subdirs
7863         * plugins/Makefile.am:
7864           make indexers conditional
7865
7866 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7867
7868         * Makefile.am:
7869         * configure.ac:
7870         * plugins/elements/Makefile.am:
7871         * plugins/elements/gstcapsfilter.c:
7872         * plugins/elements/gstfilesink.c:
7873         * plugins/elements/gstfilesrc.c:
7874         * plugins/elements/gstidentity.c:
7875         * plugins/indexers/Makefile.am:
7876           do CVS surgery and related build fixery to move elements
7877           and indexers in a new gstreamer/plugins directory, out of the
7878           gst/ directory
7879
7880 2005-11-29  Andy Wingo  <wingo@pobox.com>
7881
7882         * check/Makefile.am:
7883         * pkgconfig/gstreamer-net-uninstalled.pc.in:
7884         * pkgconfig/gstreamer-net.pc.in:
7885         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
7886         #322257.
7887
7888 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7889
7890         * tools/Makefile.am:
7891         * tools/gst-complete.1.in:
7892         * tools/gst-complete.c:
7893         * tools/gst-compprep.1.in:
7894         * tools/gst-compprep.c:
7895           removing -compprep and -complete
7896
7897 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7898
7899         * gst/gstevent.c: (gst_event_new_new_segment),
7900         (gst_event_parse_new_segment):
7901         * gst/gstevent.h:
7902           fix #320529 - clean up new_segment API and structure.
7903           Let's hope everyone was using the methods, and not the structure.
7904
7905 2005-11-29  Edward Hervey  <edward@fluendo.com>
7906
7907         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7908         (gst_base_sink_event), (gst_base_sink_do_sync),
7909         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
7910         Properly handle non GST_FORMAT_TIME segment
7911         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7912         Properly handle non GST_FORMAT_TIME segment
7913         * gst/gstsegment.c:
7914         This function is valid if the accumulator is 0 and the format
7915         is different from the requested format.
7916         
7917 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
7918
7919         * docs/gst/gstreamer-sections.txt:
7920         Add gst_query_new_seeking and gst_query_parse_seeking to the
7921         docs.
7922
7923 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
7924
7925         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7926           Treat a pad alloc with new caps the same as if we were not
7927           negotiated, in order to allow a changing upstream output
7928           to produce a new format of data.
7929
7930 2005-11-29  Edward Hervey  <edward@fluendo.com>
7931
7932         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7933         (gst_base_transform_event), (gst_base_transform_eventfunc):
7934         The event virtual method is now properly implemented, with a default
7935         handler
7936         Sub classes should call the parent_class event method. They should
7937         return FALSE if they had a problem handling the given event, or don't
7938         want GstBaseTransform to send that even downstream
7939         * gst/elements/gstidentity.c: (gst_identity_class_init),
7940         (gst_identity_init), (gst_identity_event),
7941         (gst_identity_transform_ip), (gst_identity_set_property),
7942         (gst_identity_get_property):
7943         * gst/elements/gstidentity.h:
7944         Added the single-segment boolean property.
7945         If set to TRUE, it will output a single segment of data, starting from
7946         0, will eat up all incoming newsegment, and modify the timestamp of the
7947         buffers accordingly
7948
7949 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
7950
7951         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
7952           Don't ref NULL target pad (#322751). Improve docs.
7953
7954 2005-11-29  Michael Smith  <msmith@fluendo.com>
7955
7956         * gst/gstregistryxml.c: (load_plugin):
7957           Don't crash if we failed to load a feature from a plugin. 
7958
7959 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7960
7961         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
7962         (GST_START_TEST):
7963           use more check API and less GLib API
7964
7965 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7966
7967         * Makefile.am:
7968           don't run checks if we don't have check
7969         * common/check.mak:
7970           remove the registry when running make torture
7971         * docs/gst/gstreamer-sections.txt:
7972           remove second multiply
7973         * gst/gstqueue.c: (gst_queue_loop):
7974           fix a compile warning when disabling debug
7975
7976 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
7977
7978         * gst/gstinfo.h:
7979         Hey! Let's print the pad name if the pointer != NULL instead
7980         of when it == NULL :-)
7981
7982 2005-11-28  Wim Taymans  <wim@fluendo.com>
7983
7984         * check/gst/gstutils.c: (GST_START_TEST):
7985         Updated check, add some scaling accuracy checking code.
7986
7987         * gst/gstutils.c: (gst_util_div128_64),
7988         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
7989         (gst_util_uint64_scale_int):
7990         Fix 6 times faster division code. Optimize for common 
7991         1/1 and less common X/1 cases.
7992
7993 2005-11-28  Wim Taymans  <wim@fluendo.com>
7994
7995         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7996         More checks.
7997
7998         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
7999         (do_linear_regression), (gst_clock_add_observation):
8000         Cleanups.
8001         Release lock when the clock cannot be slaved.
8002         Catch the case where the regression returned an invalid denominator.
8003
8004         * gst/gstutils.c: (gst_util_div128_64_iterate),
8005         (gst_util_div128_64), (gst_util_uint64_scale_int64),
8006         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
8007         Add protentially more performant non-iterative 128/64 divide function
8008         that unfortunatly does not work yet.
8009         Shortcut the trivial 0/X = 0 case.
8010         Remove the warnings on overflow.
8011
8012 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8013
8014         * gst/gstplugin.c: (gst_plugin_register_func):
8015           everything causing a plugin not to load should be at least a WARNING
8016
8017 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
8018
8019         * docs/random/ensonic/dparams.txt:
8020           some TODOs for the next dev cycle
8021         * libs/gst/controller/gstcontroller.c:
8022         (gst_controlled_property_set_interpolation_mode),
8023         (gst_controlled_property_new):
8024         * libs/gst/controller/gstcontroller.h:
8025           use base type to assign acccessor functions
8026
8027 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
8028
8029         * check/Makefile.am:
8030         Oops, that should have been top_srcdir
8031
8032 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
8033
8034         * check/Makefile.am:
8035         * check/elements/fdsrc.c: (GST_START_TEST):
8036         Use a cmdline define to specify the location of a file to use for
8037         testing, to avoid breaking distcheck.
8038
8039 2005-11-28  Andy Wingo  <wingo@pobox.com>
8040
8041         * gst/gstpad.c (fixate_value): Use array functions for arrays.
8042
8043 2005-11-28  Edward Hervey  <edward@fluendo.com>
8044
8045         * tools/gst-launch.c: (main):
8046         Clarify the output strings, makes it easier to translate.
8047         Fixes #322626
8048
8049 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8050
8051         * gst/Makefile.am:
8052           don't try and build net if we don't even have <sys/socket.h>
8053
8054 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
8055
8056         * check/Makefile.am:
8057         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
8058         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
8059           Add tests for fdsrc seekability
8060
8061         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8062         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
8063         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
8064         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
8065         * gst/elements/gstfdsrc.h:
8066           fdsrc should not be a 'live' source.
8067           Implement seeking on seekable fd's.
8068
8069         * gst/gstquery.c: (gst_query_new_seeking),
8070         (gst_query_parse_seeking):
8071         * gst/gstquery.h:
8072           Implement SEEKING query functions: 
8073             *_new_seeking and *_parse_seeking
8074
8075 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
8076
8077         * gst/gstelement.c: (gst_element_dispose):
8078           don't loop forever
8079
8080         * gst/gstiterator.c:
8081         * gst/gststructure.c:
8082           doc fixes
8083
8084         * libs/gst/controller/gstcontroller.c:
8085         (gst_controlled_property_set_interpolation_mode):
8086         * libs/gst/controller/gstcontroller.h:
8087         * libs/gst/controller/gstinterpolation.c:
8088         (interpolate_none_get_enum_value_array):
8089           support controlling enums
8090
8091 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
8092
8093         * gst/gstvalue.c:
8094           Improve documentation for gst_value_union().
8095
8096         * gst/gstvalue.h:
8097           Change return value for union, intersect and subtract functions
8098           from gint to gboolean.
8099
8100 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
8101
8102         * gst/gstvalue.c: (gst_value_serialize_any_list),
8103         (gst_value_transform_any_list_string),
8104         (gst_value_deserialize_list), (gst_value_deserialize_array),
8105         (gst_value_set_int_range), (gst_value_deserialize_int_range),
8106         (gst_value_set_double_range), (gst_value_deserialize_double_range),
8107         (gst_value_set_fraction_range_full),
8108         (gst_value_deserialize_fraction_range),
8109         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
8110         (gst_value_deserialize_boolean),
8111         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
8112         (gst_value_serialize_float), (gst_value_deserialize_float),
8113         (gst_string_wrap), (gst_value_deserialize_string),
8114         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
8115         (gst_value_union_int_range_int_range),
8116         (gst_value_intersect_int_range_int_range),
8117         (gst_value_intersect_double_range_double_range),
8118         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
8119         (gst_value_subtract_int_range_int_range),
8120         (gst_value_subtract_double_double_range),
8121         (gst_value_subtract_double_range_double_range),
8122         (gst_value_deserialize_fraction):
8123         * gst/gstvalue.h:
8124           Use gint, gdouble and gchar in our API instead of int, double and
8125           char (and make usage in gstvalue.c more consistent).
8126
8127 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
8128
8129         * check/Makefile.am:
8130         * libs/gst/controller/Makefile.am:
8131         * libs/gst/dataprotocol/Makefile.am:
8132           fix up Makefile.am and remove GST_ENABLE_NEW
8133
8134 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
8135
8136         * configure.ac:
8137         * gst/Makefile.am:
8138         * gst/base/Makefile.am:
8139         * gst/check/Makefile.am:
8140         * gst/elements/Makefile.am:
8141         * gst/net/Makefile.am:
8142           update LDFLAGS use some more
8143
8144 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
8145
8146         * common/m4/gst-doc.m4:
8147           Fixes #312589
8148
8149 2005-11-26  Edward Hervey  <edward@fluendo.com>
8150
8151         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
8152         This shouldn't issue a g_warning since it returns NULL if it
8153         couldn't find the plugin, and all functions using this behave
8154         properly on a NULL return. Switching to a GST_WARNING.
8155
8156 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
8157
8158         * gst/gstbin.c: (gst_bin_handle_message_func):
8159         Don't leak clock messages.
8160
8161 2005-11-25  Wim Taymans  <wim@fluendo.com>
8162
8163         * gst/gstutils.c: (gst_util_uint64_scale_int64),
8164         (gst_util_uint64_scale_int):
8165         Optimisations, remove unneeded vars.
8166
8167 2005-11-25  Wim Taymans  <wim@fluendo.com>
8168
8169         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8170         Added more checks for the high precision uint64 cases.
8171
8172         * gst/gstutils.c: (gst_util_uint64_scale_int64),
8173         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
8174         Implement high precision (guint64 * guint64) / guint64.
8175
8176 2005-11-24  Wim Taymans  <wim@fluendo.com>
8177
8178         * gst/base/gstbasesrc.c: (gst_base_src_query):
8179         Fix wrong percentage query.
8180
8181         * gst/gstutils.c: (gst_util_uint64_scale),
8182         (gst_util_uint64_scale_int):
8183         Add some more common cases that can be handled 
8184         efficiently to _scale.
8185
8186 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8187
8188         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
8189         (gst_mini_object_suite):
8190           don't use check calls from threads; check probably isn't
8191           threadsafe and using a lock to make it threadsafe would
8192           defeat the purpose of this check
8193         * gst/check/gstcheck.c:
8194         * gst/check/gstcheck.h:
8195           use GST_DEBUG some more
8196
8197 2005-11-24  Wim Taymans  <wim@fluendo.com>
8198
8199         * gst/gstutils.c: (gst_util_uint64_scale),
8200         (gst_util_uint64_scale_int):
8201         Chain trivial case to _scale_int.
8202
8203 2005-11-24  Wim Taymans  <wim@fluendo.com>
8204
8205         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8206         Added test for scaling.
8207
8208         * gst/gstclock.h:
8209         Small doc fix.
8210
8211         * gst/gstutils.c: (gst_util_uint64_scale_int):
8212         Implemented high precision scaling code.
8213
8214 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
8215
8216         * gst/gstinfo.h:
8217           do not crash on pad==NULL
8218
8219 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8220
8221         Patch by: Stefan Kost
8222
8223         * common/gtk-doc.mak:
8224         * docs/gst/Makefile.am:
8225         * docs/libs/Makefile.am:
8226           Fix distcheck issues for the libraries docs build
8227           Closes #319599.
8228
8229 2005-11-24  Michael Smith <msmith@fluendo.com>
8230
8231         * docs/manual/basics-helloworld.xml:
8232           Fix bug #315027: memory leak in example code in docs.
8233
8234 2005-11-24  Michael Smith <msmith@fluendo.com>
8235
8236         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8237           Unlock the PREROLL_LOCK in a failure case.
8238
8239 2005-11-24  Wim Taymans  <wim@fluendo.com>
8240
8241         * docs/gst/gstreamer-sections.txt:
8242         * gst/base/gstadapter.h:
8243         * gst/base/gstbasesink.h:
8244         * gst/base/gstbasesrc.h:
8245         * gst/base/gstbasetransform.h:
8246         * gst/base/gstpushsrc.h:
8247         * gst/elements/gstfakesink.h:
8248         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
8249         * gst/elements/gstfakesrc.h:
8250         * gst/elements/gstfilesink.h:
8251         * gst/elements/gstfilesrc.h:
8252         * gst/gst.c:
8253         * gst/gstbin.c:
8254         * gst/gstbuffer.c: (_gst_buffer_copy):
8255         * gst/gstbus.h:
8256         * gst/gstcaps.c:
8257         * gst/gstchildproxy.c:
8258         * gst/gstclock.c:
8259         * gst/gstelement.c:
8260         * gst/gstelementfactory.c:
8261         * gst/gstelementfactory.h:
8262         * gst/gstevent.c:
8263         * gst/gstghostpad.h:
8264         * gst/gstindex.h:
8265         * gst/gstinterface.h:
8266         * gst/gstminiobject.c:
8267         * gst/gstminiobject.h:
8268         * gst/gstpad.c:
8269         * gst/gstpad.h:
8270         * gst/gstpadtemplate.h:
8271         * gst/gstpipeline.h:
8272         * gst/gstpluginfeature.h:
8273         * gst/gstquery.h:
8274         * gst/gstqueue.h:
8275         * gst/gsttaglist.c:
8276         * gst/gsttaglist.h:
8277         * gst/gsttagsetter.c:
8278         * gst/gsttagsetter.h:
8279         * gst/gsttrace.c:
8280         * gst/gsttrace.h:
8281         * gst/gsttypefind.h:
8282         * gst/gsturi.h:
8283         * gst/gstvalue.c:
8284         * gst/net/gstnetclientclock.c:
8285         * gst/net/gstnetclientclock.h:
8286         * gst/net/gstnettimepacket.c:
8287         * gst/net/gstnettimeprovider.c:
8288         * gst/net/gstnettimeprovider.h:
8289         Doc fixes.
8290
8291 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8292
8293         * configure.ac: back to HEAD
8294
8295 === release 0.9.6 ===
8296
8297 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
8298
8299         * configure.ac:
8300           releasing 0.9.6, "Always On Time"
8301
8302 2005-11-23  Wim Taymans  <wim@fluendo.com>
8303
8304         * docs/gst/gstreamer-sections.txt:
8305         * gst/glib-compat.c:
8306         * gst/gsttagsetter.c:
8307         * gst/gstvalue.c:
8308         * gst/net/gstnetclientclock.c:
8309         * gst/net/gstnettimepacket.h:
8310         Doc updates.
8311
8312 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8313
8314         * docs/faq/using.xml:
8315         * docs/libs/tmpl/gstcontrol.sgml:
8316         * docs/manual/advanced-dparams.xml:
8317         * docs/manual/appendix-checklist.xml:
8318         * docs/manual/basics-elements.xml:
8319         * docs/pwg/other-source.xml:
8320         * docs/random/moving-plugins:
8321         * gst/gstpad.c:
8322         * tools/gst-launch.1.in:
8323           remove mentions of sinesrc
8324
8325 2005-11-23  Michael Smith <msmith@fluendo.com>
8326
8327         * docs/gst/gstreamer-sections.txt:
8328           Update for new API and API changes.
8329         * gst/gstobject.h:
8330           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
8331         * gst/gstvalue.c:
8332           Documentation typo fix.
8333         * gst/net/gstnettimepacket.c:
8334           Documentation fixes for arguments.
8335
8336 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
8337
8338         * gst/gststructure.c: (gst_structure_get_fraction),
8339         (gst_structure_parse_value),
8340         (gst_structure_fixate_field_nearest_fraction):
8341         * gst/gststructure.h:
8342         * gst/gstutils.c: (gst_util_uint64_scale_int):
8343         * gst/gstutils.h:
8344         * scripts/update-funcnames:
8345         API Changes. 
8346         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
8347         Make gst_structure_fixate_field_nearest_fraction take a numerator
8348         and denominator argument instead of a GValue
8349         add gst_structure_get_fraction helper function.
8350
8351 2005-11-23  Wim Taymans  <wim@fluendo.com>
8352
8353         * docs/design/part-TODO.txt:
8354         Update TODO.
8355
8356         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
8357         * gst/net/gstnetclientclock.h:
8358         Use parent fields for timeout and window_size.
8359
8360 2005-11-23  Andy Wingo  <wingo@pobox.com>
8361
8362         * check/net/gstnetclientclock.c (test_functioning): Adjust to
8363         rate_num/rate_denom change.
8364
8365         * gst/net/gstnetclientclock.c
8366         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
8367         OBJECT_LOCK. Don't call add_observation with the lock.
8368
8369         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
8370         fraction.
8371         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
8372         rate fraction.
8373         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
8374         deal with rate as a fraction whose numerator and denominator are
8375         GstClockTime values.
8376         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
8377         master; the other fields are protected by the SLAVE_LOCK.
8378         (do_linear_regression): Note that this must be called with the
8379         SLAVE_LOCK.
8380         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
8381         OBJECT_LOCK. Call set_calibration instead of touching the
8382         variables directly.
8383         (gst_clock_set_property, gst_clock_get_property): Protect
8384         master/slave parameters with the SLAVE_LOCK.
8385
8386         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
8387         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
8388         note that all of the instance variables that add_observation and
8389         the set_master functions use are protected by that lock and not
8390         the OBJECT_LOCK.
8391         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
8392
8393         * gst/gstclock.c (gst_clock_add_observation): No longer requires
8394         the caller to take the object lock.
8395
8396 2005-11-23  Wim Taymans  <wim@fluendo.com>
8397
8398         * gst/gsterror.c: (_gst_core_errors_init):
8399         * gst/gsterror.h:
8400         Add error for clock stuff.
8401
8402         * gst/gstpipeline.c: (gst_pipeline_change_state),
8403         (gst_pipeline_set_clock):
8404         Post clock error when clock cannot be used in a pipeline.
8405
8406 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
8407
8408         * docs/gst/gstreamer-sections.txt:
8409           make two symbols from gstinfo private for the docs
8410         * gst/base/gstcollectpads.h:
8411         * gst/gstutils.c:
8412           fix doc typos, update docs
8413
8414 2005-11-22  Wim Taymans  <wim@fluendo.com>
8415
8416         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
8417         (gst_base_sink_wait), (gst_base_sink_do_sync),
8418         (gst_base_sink_handle_event):
8419         * gst/base/gstbasesink.h:
8420         No need to store the clock, the parent element class already
8421         has it.
8422
8423         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
8424         Updates for clock_set returning a gboolean
8425
8426         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
8427         (gst_clock_id_wait_async), (gst_clock_class_init),
8428         (gst_clock_init), (gst_clock_finalize),
8429         (gst_clock_get_internal_time), (gst_clock_get_time),
8430         (gst_clock_slave_callback), (gst_clock_set_master),
8431         (gst_clock_get_master), (do_linear_regression),
8432         (gst_clock_add_observation), (gst_clock_set_property),
8433         (gst_clock_get_property):
8434         * gst/gstclock.h:
8435         Implement master/slave. When setting a clock as a slave, a
8436         periodic timeout is scheduled to sample master and slave times.
8437         Then the slave clock is recalibrated to match offset and rate
8438         of the master clock.
8439         Update logging a bit.
8440         Add flag so that a clock can state that is cannot be slaved to
8441         another clock.
8442
8443         * gst/gstelement.c: (gst_element_set_clock):
8444         * gst/gstelement.h:
8445         The set clock returns a gboolean for when an element cannot
8446         deal with the selected clock in the pipeline. 
8447
8448         * gst/gstpipeline.c: (gst_pipeline_change_state),
8449         (gst_pipeline_set_clock):
8450         * gst/gstpipeline.h:
8451         Handle the case where the selected clock cannot be set on
8452         the pipeline.
8453
8454         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
8455         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
8456         (gst_net_client_clock_set_property),
8457         (gst_net_client_clock_get_property),
8458         (gst_net_client_clock_observe_times):
8459         * gst/net/gstnetclientclock.h:
8460         Use regression code in GstClock parent, remove duplicated
8461         functionality.
8462
8463 2005-11-22  Michael Smith <msmith@fluendo.com>
8464
8465         * gst/gstutils.c: (gst_util_clock_time_scale):
8466         * gst/gstutils.h:
8467         * docs/gst/gstreamer-sections.txt:
8468           Rename method to have extra underscore.
8469
8470 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8471
8472         * gst/elements/Makefile.am:
8473         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
8474         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8475         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8476         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
8477         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
8478         * gst/elements/gstfakesrc.h:
8479         * gst/gstqueue.c: (queue_leaky_get_type):
8480           correctly fix GEnumValues so that nick is the short lowercase
8481           dashed tag
8482         * tools/gst-inspect.c: (print_element_properties_info):
8483           also show the nick, since it's useful to use from parse_launch
8484           syntax
8485           Fixes #322139
8486
8487 2005-11-22  Michael Smith <msmith@fluendo.com>
8488
8489         * gst/gstutils.c: (gst_util_clocktime_scale):
8490         * gst/gstutils.h:
8491         * docs/gst/gstreamer-sections.txt:
8492           Add util method for scaling a clocktime by a fraction. Useful 
8493           implementation is left as an exercise for the reader.
8494
8495 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8496
8497         * gst/gstvalue.c: (gst_value_collect_fraction_range):
8498         If needed, allocate storage in the destination value during
8499         collection.
8500
8501 2005-11-22  Edward Hervey  <edward@fluendo.com>
8502
8503         * docs/gst/gstreamer-sections.txt:
8504         * gst/Makefile.am:
8505         * gst/gst.h:
8506         * gst/gsturitype.c:
8507         * gst/gsturitype.h:
8508         * gst/gstutils.c: (gst_util_set_object_arg):
8509         * tools/gst-compprep.c: (main):
8510         * tools/gst-inspect.c: (print_element_properties_info):
8511         Removed GstURI, closes bug #321061
8512
8513 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8514
8515         * check/gst/gststructure.c: (GST_START_TEST):
8516         * gst/gststructure.c: (gst_structure_parse_value):
8517           Oops, broke automatic string type parsing.
8518           Add a test to catch it in future.
8519
8520 2005-11-22  Andy Wingo  <wingo@pobox.com>
8521
8522         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
8523         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
8524         Actually rename the function implementations. Grr.
8525
8526 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8527
8528         * check/gst/capslist.h:
8529           Comment test cases
8530         * check/gst/gststructure.c: (GST_START_TEST),
8531         (gst_structure_suite):
8532           Test automatic value type detection in gst_structure_from_string.
8533         * gst/gststructure.c: (gst_structure_parse_value):
8534           Add fraction as a type we try and guess automatically in
8535           caps/structure strings.
8536
8537 2005-11-22  Andy Wingo  <wingo@pobox.com>
8538
8539         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
8540
8541         * gst/gsttagsetter.h:
8542         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
8543         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
8544         (gst_tag_setter_add_tag_valist)
8545         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
8546         _add_values, _add_valist, and _add_valist_values. Since this is an
8547         interface the function suffixes should be more explicit so
8548         language binding don't end up with element.add_valist ->
8549         gst_tag_setter_add_valist, for example. Fixes #322069.
8550
8551 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8552
8553         * check/gst/gstcaps.c: (GST_START_TEST):
8554           Extend caps string tests to check that a caps to string
8555           conversion is reversible and produces the same caps.
8556
8557         * gst/gststructure.c: (gst_structure_value_get_generic_type):
8558           Output "fraction" as the generic type fraction range, so caps
8559           serialisation and deserialisation works.
8560         * check/gst/capslist.h:
8561         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8562           Support 'MIN' and 'MAX' for deserialising fractions.
8563
8564 2005-11-22  Andy Wingo  <wingo@pobox.com>
8565
8566         * gst/gstevent.h (gst_event_new_new_segment)
8567         (gst_event_parse_new_segment, gst_event_new_buffer_size)
8568         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
8569         Renamed from *_newsegment, *_buffersize, *_notarget.
8570
8571         * scripts/update-funcnames: New script, performs the changes
8572         listed above.
8573
8574 2005-11-22  Wim Taymans  <wim@fluendo.com>
8575
8576         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8577         Make sure the GstFlowReturn is returned.
8578
8579         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
8580         (gst_bus_add_signal_watch):
8581         * gst/gstbus.h:
8582         add gst_bus_add_signal_watch_full.
8583
8584         * gst/gstplugin.c: (gst_plugin_load_file):
8585         Small style cleanup.
8586
8587 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8588
8589         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
8590           Block the fakesrc srcpad when we send an event, to avoid
8591           contention on the stream_lock causing random test failures.
8592
8593 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8594
8595         * check/gst/gstvalue.c: (GST_START_TEST):
8596         * gst/gstvalue.c: (gst_value_fraction_subtract):
8597           Fix subtraction.
8598
8599 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
8600
8601         * gst/gst.h:
8602           include "gstchildproxy.h"
8603         * gst/gstchildproxy.h:
8604         * libs/gst/controller/gstcontroller.h:
8605           use G_GNUC_NULL_TERMINATED
8606
8607 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8608
8609         * check/gst/capslist.h:
8610         * check/gst/gstcaps.c: (GST_START_TEST):
8611         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8612         * gst/gststructure.c: (gst_structure_parse_range),
8613         (gst_structure_fixate_field_nearest_fraction):
8614         * gst/gststructure.h:
8615         * gst/gstvalue.c: (gst_value_init_fraction_range),
8616         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
8617         (gst_value_collect_fraction_range),
8618         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
8619         (gst_value_set_fraction_range_full),
8620         (gst_value_get_fraction_range_min),
8621         (gst_value_get_fraction_range_max),
8622         (gst_value_serialize_fraction_range),
8623         (gst_value_transform_fraction_range_string),
8624         (gst_value_compare_fraction_range),
8625         (gst_value_deserialize_fraction_range),
8626         (gst_value_intersect_fraction_fraction_range),
8627         (gst_value_intersect_fraction_range_fraction_range),
8628         (gst_value_subtract_fraction_fraction_range),
8629         (gst_value_subtract_fraction_range_fraction),
8630         (gst_value_subtract_fraction_range_fraction_range),
8631         (gst_value_collect_fraction), (gst_value_fraction_multiply),
8632         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
8633         (gst_value_transform_string_fraction), (_gst_value_initialize):
8634         * gst/gstvalue.h:
8635           Implement fraction ranges and extend GstFraction to support
8636           arithmetic subtraction, as well as deserialization from integer
8637           strings such as "100"
8638           Add a testsuite as for int and double range set operations
8639
8640 2005-11-21  Andy Wingo  <wingo@pobox.com>
8641
8642         * gst/gsttaglist.h: 
8643         * gst/gstcaps.h: 
8644         * gst/gststructure.h: Add glib-compat.h.
8645
8646 2005-11-21  Wim Taymans  <wim@fluendo.com>
8647
8648         * gst/gstbin.c: (gst_bin_change_state_func):
8649         Fix for #321595
8650
8651 2005-11-21  Wim Taymans  <wim@fluendo.com>
8652
8653         * gst/gstsegment.h:
8654         And add a nice define too.
8655
8656 2005-11-21  Wim Taymans  <wim@fluendo.com>
8657
8658         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
8659         (gst_segment_new), (gst_segment_free), (gst_segment_init),
8660         (gst_segment_set_duration), (gst_segment_set_last_stop),
8661         (gst_segment_set_seek), (gst_segment_set_newsegment),
8662         (gst_segment_to_stream_time), (gst_segment_to_running_time),
8663         (gst_segment_clip):
8664         * gst/gstsegment.h:
8665         Make binding friendly.
8666
8667 2005-11-21  Andy Wingo  <wingo@pobox.com>
8668
8669         * gst/gsttagsetter.h: 
8670         * gst/gsttaglist.h: 
8671         * gst/gststructure.h: 
8672         * gst/gstcaps.h: 
8673         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
8674         #319940.
8675
8676         * gst/gsterror.c (_gst_core_errors_init):
8677         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
8678         category.
8679
8680         * gst/Makefile.am (gst_headers): Add glib-compat.h.
8681         (noinst_HEADERS): noinst the -private.
8682
8683 2005-11-21  Michael Smith <msmith@fluendo.com>
8684
8685         * gst/gstplugin.h:
8686         * gst/gstregistry.h:
8687           Remove unimplemented declarations for which we can see no sensible
8688           use.
8689
8690 2005-11-21  Andy Wingo  <wingo@pobox.com>
8691
8692         * gst/gst.h: Include glib-compat.h.
8693
8694         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
8695
8696         * gst/glib-compat.c: Include the public and the private header.
8697
8698         * gst/glib-compat-private.h: Copied here from glib-compat.h.
8699
8700         * gst/gstvalue.c: 
8701         * gst/gstpad.c: 
8702         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
8703
8704         * check/gst/gstevent.c (create_custom_events): Check that
8705         FLUSH_STOP is serialized.
8706
8707         * check/elements/identity.c (event_func): 
8708         * check/elements/fakesrc.c (event_func): No stream lock, the core
8709         takes it.
8710
8711         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
8712         stream lock taking, yay.
8713
8714         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
8715         ensure that core takes the stream lock.
8716
8717         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
8718         lock name change.
8719
8720         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
8721         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
8722         it already. For the flush start we do take it though so we get the
8723         right preroll state change messages.
8724
8725         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
8726         the stream lock here, the core does it for us.
8727
8728         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
8729         GST_STREAM_GET_LOCK.
8730         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
8731         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
8732         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
8733         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
8734         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
8735         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
8736
8737         * gst/gstpad.c: Update for stream lock name change.
8738
8739         * gst/base/gstbasesink.c: Update for preroll lock name change.
8740
8741 2005-11-21  Wim Taymans  <wim@fluendo.com>
8742
8743         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
8744         (gst_clock_get_master):
8745         * gst/gstclock.h:
8746         * gst/gstsystemclock.c: (gst_system_clock_init):
8747         Convert Clock flags to object flags.
8748         Added methods to manage master/slave clocks.
8749
8750 2005-11-21  Wim Taymans  <wim@fluendo.com>
8751
8752         * check/gst/gstsegment.c: (GST_START_TEST):
8753         * docs/design/part-TODO.txt:
8754         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8755         (gst_base_sink_event), (gst_base_sink_do_sync),
8756         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8757         (gst_base_sink_query), (gst_base_sink_change_state):
8758         * gst/base/gstbasesink.h:
8759         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
8760         (gst_base_src_default_newsegment),
8761         (gst_base_src_configure_segment), (gst_base_src_do_seek),
8762         (gst_base_src_get_range), (gst_base_src_loop),
8763         (gst_base_src_change_state):
8764         * gst/base/gstbasesrc.h:
8765         * gst/base/gstbasetransform.c:
8766         (gst_base_transform_prepare_output_buf),
8767         (gst_base_transform_event), (gst_base_transform_change_state):
8768         * gst/base/gstbasetransform.h:
8769         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8770         (gst_collect_pads_event):
8771         * gst/base/gstcollectpads.h:
8772         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
8773         (gst_fake_src_create):
8774         * gst/elements/gstfakesrc.h:
8775         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
8776         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
8777         (gst_segment_set_last_stop), (gst_segment_set_seek),
8778         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
8779         (gst_segment_to_running_time), (gst_segment_clip):
8780         * gst/gstsegment.h:
8781         More segment updates, replace code in plugins with segment
8782         helper functions.
8783
8784 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
8785
8786         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
8787         Don't ignore sscanf results
8788
8789 2005-11-21  Andy Wingo  <wingo@pobox.com>
8790
8791         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
8792
8793         * *.h:
8794         * *.c: Ran scripts/update-macros. Oh yes.
8795
8796         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
8797         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
8798         GST_GET_LOCK, etc.
8799
8800         * scripts/update-macros: New script. Run it on your files to
8801         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
8802         well.
8803
8804 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
8805
8806         * docs/gst/Makefile.am:
8807         * docs/gst/gstreamer-docs.sgml:
8808         * docs/gst/gstreamer-sections.txt:
8809         * docs/gst/gstreamer.types:
8810         * gst/gstinfo.h:
8811           more docs fixes, add new api to the docs
8812
8813 2005-11-21  Andy Wingo  <wingo@pobox.com>
8814
8815         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
8816         state_broadcast call.
8817
8818         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
8819
8820 2005-11-21  Julien MOUTTE  <julien@moutte.net>
8821
8822         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
8823         function calls for arrays.
8824
8825 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
8826
8827         * docs/random/ensonic/media-device-daemon.txt:
8828           wild idea, can this be done?
8829         * docs/gst/gstreamer-sections.txt:
8830         * gst/gsterror.h:
8831         * gst/gstfilter.c:
8832         * gst/gstfilter.h:
8833         * gst/gstplugin.h:
8834         * gst/gstpluginfeature.c:
8835         * gst/gsttrace.c:
8836         * gst/gstvalue.c:
8837         * gst/gstvalue.h:
8838           doc fixes and additions
8839
8840 2005-11-21  Andy Wingo  <wingo@pobox.com>
8841
8842         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
8843         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
8844         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
8845         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
8846         private to the basesrc implementation.
8847
8848         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
8849         behalf of event function if necessary. It should no longer be
8850         necessary to take the stream lock in pad's event functions. Fixes
8851         #320299.
8852
8853 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
8854         * docs/gst/gstreamer-sections.txt:
8855         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
8856         (gst_structure_fixate_field_nearest_double),
8857         (gst_structure_fixate_field_boolean):
8858         * gst/gststructure.h:
8859         * win32/common/libgstreamer.def:
8860         * win32/gstreamer.def:
8861
8862         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
8863         (#322027)
8864
8865 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
8866
8867         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
8868         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
8869         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
8870         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
8871         (gst_fdsrc_uri_handler_init):
8872         * gst/elements/gstfdsrc.h:
8873           Port fd:// URI handler from 0.8 to fdsrc
8874
8875 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8876
8877         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
8878         (gst_value_serialize_fourcc):
8879         * gst/gstvalue.h:
8880           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
8881           consistent with our other format defines (#320324).
8882
8883 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8884
8885         * gst/gstvalue.c: (gst_value_is_fixed):
8886           Revert previous commit. Value lists are by definition
8887           not fixed, as they are a list of possible values.
8888
8889 2005-11-21  Andy Wingo  <wingo@pobox.com>
8890
8891         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
8892         during the stable series if we need it. Fixes #319178.
8893
8894         * gst/gstevent.c (gst_event_new_filler): Removed.
8895
8896         * check/gst/gstevent.c: Update comment about filler events.
8897
8898 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8899
8900         * gst/gstvalue.c: (gst_value_is_fixed):
8901           Should handle both value arrays and value lists.
8902
8903 2005-11-21  Andy Wingo  <wingo@pobox.com>
8904
8905         patch by: Alessandro Dessina <alessandro nnva org>
8906
8907         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
8908         functions to access arrays. Fixes #321962.
8909
8910 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8911
8912         * docs/gst/gstreamer.types:
8913           gst_collectpads_get_type => gst_collect_pads_get_type.
8914           
8915         * gst/base/gstbasetransform.c:
8916           Remove unused SIGNAL_HANDOFF enum.
8917
8918 2005-11-21  Andy Wingo  <wingo@pobox.com>
8919
8920         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
8921         the event type (upstream, downstream, serialized). Renamed
8922         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
8923         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
8924         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
8925
8926         * gst/gstevent.c: Update for new CUSTOM event names.
8927
8928         * check/gst/gstevent.c: Update check for new CUSTOM event names.
8929
8930         * gst/gstevent.h:
8931         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
8932         bug #319392.
8933
8934 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8935
8936         * docs/gst/gstreamer-sections.txt:
8937         * win32/common/libgstbase.def:
8938         * win32/libgstbase.def:
8939         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
8940         (gst_collect_pads_class_init), (gst_collect_pads_init),
8941         (gst_collect_pads_finalize), (gst_collect_pads_new),
8942         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
8943         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
8944         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
8945         (gst_collect_pads_start), (gst_collect_pads_stop),
8946         (gst_collect_pads_peek), (gst_collect_pads_pop),
8947         (gst_collect_pads_available), (gst_collect_pads_read),
8948         (gst_collect_pads_flush), (gst_collect_pads_event),
8949         (gst_collect_pads_chain):
8950         * gst/base/gstcollectpads.h:
8951           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
8952           unimplemented functions as unimplemented. Add padding to
8953           GstCollectData. (#320766, #320423)
8954
8955 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8956
8957         * gst/gstmessage.c:
8958           Improve docs for DURATION message (usage of duration parameter)
8959           (#320113)
8960
8961 2005-11-20  Wim Taymans  <wim@fluendo.com>
8962
8963         * check/Makefile.am:
8964         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
8965         (main):
8966         * gst/Makefile.am:
8967         * gst/gst.h:
8968         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
8969         (gst_segment_set_seek), (gst_segment_set_newsegment),
8970         (gst_segment_to_stream_time), (gst_segment_to_running_time),
8971         (gst_segment_clip):
8972         * gst/gstsegment.h:
8973         Added segment helper structure and methods. Not fully implemented
8974         yet.
8975         Added segment check.
8976
8977 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
8978
8979         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8980           Add a deserialisation test for fractions
8981         * examples/metadata/read-metadata.c: (message_loop),
8982         (make_pipeline), (main):
8983           Fix up metadata reading sample.
8984         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8985           Debug format fix
8986         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8987           Don't try and fixate empty caps
8988         * gst/gst_private.h:
8989           Wrap in G_BEGIN_DECLS/G_END_DECLS
8990         * gst/gstvalue.c: (gst_value_collect_fraction),
8991         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
8992         (gst_value_transform_string_fraction),
8993         (gst_value_compare_fraction):
8994           Add some extra guards to ensure that we don't end up 
8995           with an invalid denominator of 0 in a gstfraction and
8996           that fractions always get reduced.
8997
8998 2005-11-20  Wim Taymans  <wim@fluendo.com>
8999
9000         * docs/gst/gstreamer-sections.txt:
9001         * gst/gstbuffer.h:
9002         * gst/gstelement.c:
9003         * gst/gstformat.c:
9004         * gst/gstformat.h:
9005         * gst/gstindex.h:
9006         * gst/gstquery.c:
9007         * gst/gstquery.h:
9008         * gst/gstvalue.c:
9009         Doc fixes.
9010
9011 2005-11-20  Wim Taymans  <wim@fluendo.com>
9012
9013         * docs/design/part-TODO.txt:
9014         * gst/gstcaps.h:
9015         Make a proper enum of the flag.
9016
9017 2005-11-19  Wim Taymans  <wim@fluendo.com>
9018
9019         * docs/design/part-TODO.txt:
9020         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
9021         (gst_format_to_quark), (gst_format_register):
9022         * gst/gstformat.h:
9023         * gst/gstquery.c: (_gst_query_initialize),
9024         (gst_query_type_get_name), (gst_query_type_to_quark),
9025         (gst_query_type_register):
9026         * gst/gstquery.h:
9027         Add type to quark and type to string conversions.
9028
9029 2005-11-19  Andy Wingo  <wingo@pobox.com>
9030
9031         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
9032         #320097.
9033
9034 2005-11-19  Wim Taymans  <wim@fluendo.com>
9035
9036         * docs/design/part-TODO.txt:
9037         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
9038         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
9039         (gst_bin_handle_message_func):
9040         * gst/gstbin.h:
9041         Make message handling overridable.
9042
9043 2005-11-19  Andy Wingo  <wingo@pobox.com>
9044
9045         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
9046
9047         * gst/gstclock.h:
9048         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
9049         be a GstClockTime.
9050         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
9051         is a GstClockTime. Fixes #321710.
9052
9053         * gst/gstclock.h (GstClock): Remove offset property. Add
9054         internal_calibration and external_calibration. Fix padding. Pad
9055         also by GstClockTime so we don't run into problems.
9056
9057         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
9058         (gst_clock_get_rate_offset): Remove.
9059         (gst_clock_set_time_adjust): Remove. Fixes #321712.
9060
9061         * gst/gstutils.h:
9062         * gst/gstutils.c (g_static_rec_cond_wait)
9063         (g_static_rec_cond_timed_wait): Removed, no longer needed.
9064
9065         * gst/gstbin.c: Remove terrible continue_state prototype.
9066
9067         * gst/gstelement.h (gst_element_continue_state): Make public.
9068
9069         * gst/gstelement.h:
9070         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
9071         by continue_state. Fixes #319389.
9072
9073         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
9074         Really fixes #168438. However I don't see anywhere where the
9075         filter function is called... stupid GStreamer...
9076         
9077         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
9078         don't have a dispose function, so it won't get called when the
9079         object is unreffed, but oh well!
9080
9081         * gst/gstindex.c (gst_index_set_filter_full): New API function,
9082         allows a destroy function to be set so user_data can be freed.
9083         Fixes #168438.
9084         (gst_index_set_filter): Call gst_index_set_filter_full.
9085
9086         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
9087
9088         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
9089         string should produce an error, given the lack of a way to
9090         represent NULL strings. Fixes #165650.
9091         
9092         * gst/gstvalue.h: 
9093         * gst/gstvalue.c (gst_value_array_append_value) 
9094         (gst_value_array_prepend_value, gst_value_array_get_size) 
9095         (gst_value_array_get_value): New API, copied from
9096         gst_value_list_*, only operates on arrays.
9097         (gst_value_list_append_value, gst_value_list_prepend_value) 
9098         (gst_value_list_concat, gst_value_list_get_size) 
9099         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
9100
9101         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
9102         init_list, because it works on both.
9103         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
9104         (gst_value_copy_list_or_array): Renamed from copy_list.
9105         (gst_value_free_list_or_array): Renamed from free_list.
9106         (gst_value_collect_list_or_array): Renamed from collect_list.
9107         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
9108         (gst_value_list_or_array_peek_pointer): Renamed from
9109         list_peek_pointer.
9110         (_gst_value_array_value_table, _gst_value_list_value_table):
9111         Update value table functions.
9112         (gst_value_compare_list_or_array): Renamed from compare_list.
9113
9114         * gsttaglist.h: Whoops, foreach function returns void. Also fix
9115         some constness.
9116
9117         * gst/gsttaglist.c:
9118         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
9119         GstTagList*. Fixes #143472.
9120
9121         * gst/gststructure.h: Clarify what the foreach/map functions can
9122         or can't do to their arguments.
9123
9124 2005-11-18  Wim Taymans  <wim@fluendo.com>
9125
9126         * gst/gstclock.c: (gst_clock_set_calibration),
9127         (gst_clock_get_calibration):
9128         Doc and API fixes.
9129         Calibration can be set with internal time equal to current
9130         internal time too.
9131
9132 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9133
9134         * gst/gsterror.c:
9135         * gst/gsterror.h:
9136           document
9137
9138 2005-11-18  Andy Wingo  <wingo@pobox.com>
9139
9140         * configure.ac: 
9141         * pkgconfig/gstreamer-net.pc.in:
9142         * pkgconfig/gstreamer-net-uninstalled.pc.in:
9143         * pkgconfig/Makefile.am: Add net pkgconfig files.
9144
9145 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
9146
9147         * gst/gstcaps.c:
9148         * gst/gstghostpad.c:
9149         * gst/gsttrace.c:
9150         * gst/gstvalue.c:
9151         * gst/gstvalue.h:
9152           docs fixes
9153
9154 2005-11-18  Andy Wingo  <wingo@pobox.com>
9155
9156         * gst/net/gstnetclientclock.c: Turn off debugging.
9157
9158         * check/net/gstnetclientclock.c (test_functioning): Assert that the
9159         times connverge somewhat. Can't make a real test.
9160
9161         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
9162         integer arithmetic. Return the minimum of the domain, which can be
9163         set as "internal" for gst_clock_set_calibration.
9164         (gst_net_client_clock_observe_times): Call _set_calibration.
9165         (gst_net_client_clock_new): Call _set_calibration instead of
9166         rate_offset.
9167
9168         * check/net/gstnetclientclock.c (test_functioning): Use the right
9169         adjustment api.
9170
9171         * gst/gstclock.h:
9172         * gst/gstclock.c (gst_clock_get_calibration) 
9173         (gst_clock_set_calibration): New functions, obsolete the ones I
9174         added yesterday. Doh. Precision issues mean we have to extrapolate
9175         from a point in the more recent past than 1970.
9176         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
9177         obsolete.
9178         (gst_clock_adjust_unlocked): Use the right calibration data.
9179
9180 2005-11-18  Edward Hervey  <edward@fluendo.com>
9181
9182         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
9183         Also reset the ->current_* values in READY->PAUSED
9184
9185 2005-11-18  Andy Wingo  <wingo@pobox.com>
9186
9187         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
9188         Whoops, check the right fd. Also add some debugging.
9189         (gst_net_client_clock_observe_times): Adjust for int64 offset.
9190         (do_linear_regression): Add a crapload of debugging. Subtract off
9191         the minimum values from the input series to discard unneeded bits.
9192         Use only int arithmetic. There is still double arithmetic when
9193         calculating the intercept that needs fixing. Return boolean to
9194         indicate success; FALSE would mean the domain or range is too
9195         great. Still needs fixes.
9196
9197 2005-11-18  Wim Taymans  <wim@fluendo.com>
9198
9199         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
9200         For the current position in stream time, we need to subtract
9201         accumulated time.
9202         
9203         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
9204         Release lock before calling the callback function of async
9205         entries.
9206
9207 2005-11-18  Andy Wingo  <wingo@pobox.com>
9208
9209         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
9210         Port goes all the way to MAXUINT16.
9211
9212         * gst/net/gstnettimeprovider.c: Make the port range the same as
9213         for the kernel: 0 assigns, otherwise ports are less than
9214         MAXUINT16.
9215
9216         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
9217         port change.
9218
9219         * check/net/gstnetclientclock.c (test_functioning): Add the start
9220         of another test. 
9221
9222 2005-11-18  Wim Taymans  <wim@fluendo.com>
9223
9224         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9225         (gst_bin_remove_func), (bin_bus_handler):
9226         * gst/gstbin.h:
9227         Removing a clock provider from a bin, triggers a clock lost message
9228         so that a new clock will be selected.
9229         Adding a clock to a bin triggers a clock provider message.
9230         Make sure we reselect a clock when we received a clock lost message.
9231         Keep a reference to the element that provided the clock.
9232
9233 2005-11-18  Andy Wingo  <wingo@pobox.com>
9234
9235         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
9236         the clock initially so it produces values around the base time.
9237         (gst_net_client_clock_class_init): Typo fix.
9238         (gst_net_client_clock_thread): Add note on when the socket gets
9239         closed.
9240
9241 2005-11-17  Wim Taymans  <wim@fluendo.com>
9242
9243         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
9244         Free remote and local time arrays.
9245
9246 2005-11-17  Wim Taymans  <wim@fluendo.com>
9247
9248         * gst/net/gstnetclientclock.c: (do_linear_regression),
9249         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
9250         Fix compilation, uninitialized vars and a forgotten continue.
9251
9252 2005-11-17  Andy Wingo  <wingo@pobox.com>
9253
9254         * check/Makefile.am (check_PROGRAMS): 
9255         * check/net/gstnetclientclock.c: Add a most minimal test for the
9256         net client clock. More to come later.
9257
9258         * gst/net/gstnet.h: 
9259         * gst/net/Makefile.am: Add netclientclock.
9260
9261         * gst/net/gstnetclientclock.h:
9262         * gst/net/gstnetclientclock.c: New files, implement an untested
9263         GstClock that takes its time from a network time provider.
9264         Implements the algorithm in network-clock.scm.
9265
9266         * tests/network-clock.scm (*window-size*): Rename from
9267         *queue-length*.
9268         * tests/network-clock.scm (network-time): 
9269         * tests/network-clock-utils.scm (q-push): Update callers.
9270
9271 2005-11-17  Wim Taymans  <wim@fluendo.com>
9272
9273         * gst/gstbin.c: (gst_bin_provide_clock_func),
9274         (gst_bin_sort_iterator_new):
9275         And unref the child too..
9276
9277 2005-11-17  Wim Taymans  <wim@fluendo.com>
9278
9279         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
9280         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
9281         Refactor the sort iterator so it can be used while holding the
9282         LOCK too.
9283         Make clock selection select a clock closest to the source.
9284
9285 2005-11-17  Michael Smith <msmith@fluendo.com>
9286
9287         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
9288         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
9289         * gst/gstclock.h:
9290           Anonymous structs are a gcc (and some other compilers) extension, so
9291           don't use them. Since this is only for ABI-compatibility, and our
9292           API/ABI freeze is over in a few days, this whole thing will only
9293           last a few days, so don't bother trying to think up a meaningful
9294           name for the struct.
9295
9296 2005-11-17  Andy Wingo  <wingo@pobox.com>
9297
9298         * gst/gstclock.h (GstClock): Add rate and offset properties,
9299         preserving ABI stability. Add rate/offset accessors. Will file bug
9300         for the freeze break.
9301
9302         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
9303         and offset, trying to keep precision and avoiding
9304         underflow/overflow.
9305         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
9306         functions. Make gst_clock_set_time_adjust obsolete.
9307         (gst_clock_set_time_adjust): Note that this function is obsolete.
9308         Will file bug soon.
9309
9310         * gst/base/gstbasetransform.h: Make the ABI-stability hack
9311         greppable by using GST_PADDING-1+1.
9312
9313 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
9314
9315         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9316
9317         * gst/gstmessage.c: (gst_message_parse_clock_lost):
9318           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
9319
9320         * gst/gstpadtemplate.h:
9321         * gst/gstpluginfeature.h:
9322           Don't use c++ style comments in headers (#321638).
9323
9324 2005-11-16  Andy Wingo  <wingo@pobox.com>
9325
9326         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
9327         buffer.
9328
9329         * check/net/gstnettimeprovider.c: Check to see that the time
9330         provider actually provides times. Works, yo!
9331
9332 2005-11-16  Wim Taymans  <wim@fluendo.com>
9333
9334         * check/Makefile.am:
9335         Enable more tests.
9336
9337         * check/elements/fakesrc.c: (GST_START_TEST):
9338         Set element to NULL before disposing it.
9339
9340 2005-11-16  Andy Wingo  <wingo@pobox.com>
9341
9342         * gst/net/Makefile.am:
9343         * gst/net/gstnet.h:
9344         * gst/net/gstnettimeprovider.c: 
9345         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
9346         provider, include it from gstnet.h, and add it to the build.
9347
9348         * gst/net/gstnettimepacket.h: 
9349         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
9350         sending and receiving.
9351
9352 2005-11-16  Wim Taymans  <wim@fluendo.com>
9353
9354         * check/Makefile.am:
9355         Enable valgrind check.
9356
9357         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
9358         (gst_fake_src_alloc_buffer):
9359         Fix memleak.
9360
9361 2005-11-16  Wim Taymans  <wim@fluendo.com>
9362
9363         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
9364         Call parent finalize too.
9365
9366 2005-11-16  Wim Taymans  <wim@fluendo.com>
9367
9368         * check/Makefile.am:
9369         Enable valgrind check that should work fine now.
9370
9371         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9372         * gst/gstqueue.c: (gst_queue_init):
9373         Fix memleaks in pad allocation.
9374
9375 2005-11-16  Andy Wingo  <wingo@pobox.com>
9376
9377         * gst/net/Makefile.am:
9378         * gst/net/gstnet.h: New part of core to hold network elements and
9379         objects. Put in core because it exposes API that applications want
9380         to use. The library is named libgstnet-tempname right now because
9381         of the existing libgstnet in gst-plugins-base. Solution is
9382         probably to rename the one in plugins-base; will file a bug for
9383         the freeze break.
9384
9385         * gst/net/gstnettimeprovider.c: 
9386         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
9387         get_time call over the network.
9388
9389         * configure.ac: 
9390         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
9391
9392         * check/Makefile.am:
9393         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
9394         get additions shortly.
9395
9396 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9397
9398         * gst/gstpad.c: (gst_pad_new_from_static_template):
9399         * gst/gstpad.h:
9400           add gst_pad_new_from_static_template functions
9401         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
9402         (gst_check_setup_sink_pad):
9403         * gst/elements/gsttee.c: (gst_tee_init):
9404           and use them
9405
9406 2005-11-16  Wim Taymans  <wim@fluendo.com>
9407
9408         * gst/gstpad.c: (gst_pad_pause_task):
9409         Removed warning, it's not really an error either.
9410
9411 2005-11-16  Wim Taymans  <wim@fluendo.com>
9412
9413         * gst/base/gstbasetransform.c:
9414         (gst_base_transform_prepare_output_buf),
9415         (gst_base_transform_event):
9416         Check if the caps are NULL, this can happen if the element
9417         is shutting down and the pad caps are set to NULL.
9418
9419 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9420
9421         * gst/elements/gsttee.c: (gst_tee_init):
9422           fix pad template leak in tee
9423
9424 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9425
9426         * gst/glib-compat.c: (g_value_dup_gst_object):
9427         * gst/glib-compat.h:
9428         * gst/gstpad.c: (gst_pad_set_property):
9429           use gst_object_ref when setting the pad template; this will
9430           trigger the pad template leaks on GLib 2.6 and the slaves
9431
9432 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9433
9434         * gst/glib-compat.c: (gst_flags_get_first_value):
9435         * gst/glib-compat.h:
9436         * gst/gstregistryxml.c:
9437           remove functions copied from GLib 2.6
9438
9439 2005-11-16  Michael Smith <msmith@fluendo.com>
9440
9441         * gst/Makefile.am:
9442           Don't link against VALGRIND_LIBS. That was always the wrong thing to
9443           do, but only breaks with newer valgrind versions. We're not a
9444           valgrind tool, we have no link-time dependencies on libcoregrind.
9445
9446 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9447
9448         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9449           some debug changes
9450         * gst/gstmessage.h:
9451           typo fixes
9452
9453 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9454
9455         * gst/base/gstbasesrc.c: (gst_base_src_init):
9456         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9457         * gst/gstqueue.c: (gst_queue_init):
9458         * gst/gstregistryxml.c: (load_feature):
9459           Revert all these unrefs, they don't even pass make check !
9460
9461 2005-11-15  Johan Dahlin  <johan@gnome.org>
9462
9463         * gst/base/gstbasesrc.c: (gst_base_src_init):
9464         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9465         * gst/gstqueue.c: (gst_queue_init): 
9466         Free pad templates, fixes a couple of leaks.
9467
9468 2005-11-15  Daniel Fischer  <dan at f3c dot com>
9469
9470         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9471
9472         * gst/gstpad.c: (gst_pad_get_property):
9473           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
9474           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
9475           (#321452)
9476
9477 2005-11-15  Wim Taymans  <wim@fluendo.com>
9478
9479         * gst/gstevent.c:
9480         Small doc update.
9481
9482 2005-11-15  Andy Wingo  <wingo@pobox.com>
9483
9484         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
9485
9486         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
9487         using GST_CLOCK_TIME_NONE to disable base time management.
9488         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
9489         time if it was NONE before.
9490         (gst_pipeline_change_state): Only munge the base time if
9491         stream_time != GST_CLOCK_TIME_NONE.
9492
9493         * check/gst/gstpipeline.c (test_base_time): Punt around the
9494         problem of the probe not being called, because that's not the
9495         issue I'm looking at. Add a check that setting stream_time to NONE
9496         disables base time management.
9497         
9498 2005-11-15  Wim Taymans  <wim@fluendo.com>
9499
9500         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9501         segment_stop == -1 at startup.
9502
9503         * gst/base/gstbasetransform.c: (gst_base_transform_event),
9504         (gst_base_transform_change_state):
9505         Init segment values at start.
9506
9507 2005-11-15  Wim Taymans  <wim@fluendo.com>
9508
9509         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9510         0 segment values are 0 in any format.
9511
9512         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9513         * gst/base/gstbasetransform.h:
9514         Parse newsegment correctly in basetransform
9515
9516         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
9517         Sync to clock using updated segment values.
9518
9519 2005-11-15  Andy Wingo  <wingo@pobox.com>
9520
9521         * check/gst/gstpipeline.c (test_base_time): Add check that the
9522         base time and stream time are reset correctly.
9523
9524 2005-11-15  Wim Taymans  <wim@fluendo.com>
9525
9526         * docs/design/part-TODO.txt:
9527         Some more TODO items.
9528
9529 2005-11-15  Andy Wingo  <wingo@pobox.com>
9530
9531         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
9532         error if the user selected "no clock" as the clocking method.
9533
9534         * check/gst/gstpipeline.c (test_base_time): New test for buffer
9535         timestamps with live capture.
9536
9537         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
9538         is 0 but we are a live source, timestamp the buffers using the
9539         element's clock.
9540
9541 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
9542
9543         * docs/gst/gstreamer-sections.txt:
9544         * gst/gsterror.c:
9545         * gst/gstghostpad.c:
9546         * gst/gstobject.h:
9547         * gst/gstxml.c:
9548           more section docs
9549
9550 2005-11-14  Wim Taymans  <wim@fluendo.com>
9551
9552         * common/gst.supp:
9553           add suppressions from Wim's Debian machine
9554
9555 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9556
9557         * common/gst.supp:
9558           add suppressions from Andy's AMD64 Ubuntu machine
9559
9560 2005-11-14  Andy Wingo  <wingo@pobox.com>
9561
9562         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
9563         STATE_LOCK not necessary. Fixes #311489.
9564
9565         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
9566         #305291.
9567
9568         * gst/gstindex.c (gst_index_add_object): Note in the docs that
9569         this function is not implemented.
9570
9571 2005-11-14  Julien MOUTTE  <julien@moutte.net>
9572
9573         * gst/base/gstbasetransform.c:
9574         (gst_base_transform_prepare_output_buf):
9575         Ref the source pad caps while we need them.
9576         Fixes (#321386)
9577
9578 2005-11-11  Wim Taymans  <wim@fluendo.com>
9579
9580         * docs/gst/gstreamer-sections.txt:
9581         Added some docs for GstCollectData.
9582
9583         * gst/base/gstadapter.c:
9584         Some small code example fix.
9585
9586         * gst/base/gstcollectpads.c:
9587         * gst/base/gstcollectpads.h:
9588         Document some more.
9589
9590 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9591
9592         * configure.ac: back to HEAD
9593
9594 === release 0.9.5 ===
9595
9596 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
9597
9598         * configure.ac:
9599           releasing 0.9.5, "Bike Lunch Day"
9600
9601 2005-11-11  Wim Taymans  <wim@fluendo.com>
9602
9603         * gst/gstbuffer.c: (_gst_buffer_copy):
9604         Copy more flags.
9605
9606         * gst/gstcaps.c: (gst_caps_is_equal):
9607         Fix some docs.
9608         Make _is_equal fast in the trivial cases.
9609
9610         * gst/gstminiobject.c:
9611         * gst/gstminiobject.h:
9612         More docs. Spifify .h file.
9613
9614         * gst/gstutils.c:
9615         Small doc update.
9616
9617 2005-11-11  Wim Taymans  <wim@fluendo.com>
9618
9619         * gst/base/gstbasetransform.c:
9620         (gst_base_transform_prepare_output_buf),
9621         (gst_base_transform_handle_buffer):
9622         Small cleanups.
9623         If we're processing a buffer and need to allocate an output
9624         buffer, we cannot accept a format change. If we did get a 
9625         format change, we have to alloc a buffer ourselves of the 
9626         right size.
9627
9628 2005-11-11  Wim Taymans  <wim@fluendo.com>
9629
9630         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
9631         While checking the flag for reentrancy in the gstcaps function
9632         is nice to detect recursive invocations, it also makes it 
9633         impossible to call getcaps from multiple threads, which must be
9634         possible. So, checking for recursive calls has to go.
9635
9636 2005-11-11  Michael Smith <msmith@fluendo.com>
9637
9638         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9639           Don't sync on buffers that fall partially outside our current
9640           segment. Prevents an assertion failure/abort playing some files.
9641
9642 2005-11-10  Andy Wingo  <wingo@pobox.com>
9643
9644         * check/gst/gstbin.c (test_message_state_changed_children): Style
9645         fix..
9646
9647         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
9648         gst_bus_poll with the signal watch. Ensures that poll and a signal
9649         watch see the same messages.
9650
9651         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
9652         a poll and a watch at the same time get the same messages.
9653
9654 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9655
9656         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
9657         * gst/gstcaps.c: (gst_caps_intersect):
9658           Don't call gst_caps_do_simplify - it doesn't respect order of caps
9659           and it's not needed.
9660
9661 2005-11-10  Wim Taymans  <wim@fluendo.com>
9662
9663         * docs/design/part-TODO.txt:
9664         Updated todo.
9665
9666 2005-11-10  Wim Taymans  <wim@fluendo.com>
9667
9668         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9669         * gst/base/gstbasesrc.c: (gst_base_src_wait),
9670         (gst_base_src_do_sync), (gst_base_src_get_range):
9671         Implement clock sync in base class.
9672
9673 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9674
9675         patch by: Tim-Philipp Müller <tim at centricular dot net>
9676
9677         * gst/gststructure.c: (gst_structure_parse_field),
9678         (gst_structure_from_string):
9679           Forward-port a 0.8 patch to handle escaped spaces in structure string,
9680           so that gst_parse_launch() can deal with spaces in filtered link
9681           caps (fixes #164479)
9682         * check/gst/capslist.h:
9683         * check/gst/gststructure.c: (GST_START_TEST):
9684           add unit tests for this change
9685
9686 2005-11-10  Wim Taymans  <wim@fluendo.com>
9687
9688         * docs/gst/gstreamer-sections.txt:
9689         * gst/gstelement.c:
9690         * gst/gstelement.h:
9691         Fix docs, move some STATE macros to private.
9692
9693 2005-11-10  Wim Taymans  <wim@fluendo.com>
9694
9695         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9696         Added check for bug #317341
9697
9698         * gst/gstbuffer.c:
9699         * gst/gstbuffer.h:
9700         Some more spiffifying.
9701
9702         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
9703         Call peer linkfunction if we are a source pad. Totally fixes
9704         #317341
9705
9706         * gst/gstpad.c:
9707         Update docs, source pads should call the peer linkfunction
9708         so they can atomically perform the pad link.
9709
9710 2005-11-09  Wim Taymans  <wim@fluendo.com>
9711
9712         * gst/gstbuffer.c:
9713         * gst/gstbuffer.h:
9714         Uber-spiffy-spiffify some more.
9715
9716 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
9717
9718         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
9719         * gst/elements/gstfilesink.c: (gst_file_sink_init):
9720         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9721         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
9722         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
9723         * gst/gstpad.c: (gst_pad_init):
9724           Use GST_DEBUG_FUNCPTR() more extensively.
9725
9726 2005-11-09  Wim Taymans  <wim@fluendo.com>
9727
9728         * gst/gstobject.c: (gst_object_class_init):
9729         * gst/gstobject.h:
9730         Documentation fixes.
9731
9732 2005-11-09  Edward Hervey  <edward@fluendo.com>
9733
9734         * gst/gsttypefindfactory.c:
9735         Fix docs.
9736         
9737 2005-11-09  Edward Hervey  <edward@fluendo.com>
9738
9739         * gst/base/gsttypefindhelper.c:
9740         * gst/gsttypefind.c:
9741         * gst/gsttypefind.h:
9742         Fix docs.
9743
9744 2005-11-09  Wim Taymans  <wim@fluendo.com>
9745
9746         * gst/gstiterator.c:
9747         Fix revision data.
9748
9749         * gst/gsttask.c:
9750         * gst/gsttask.h:
9751         Fix docs.
9752
9753 2005-11-09  Wim Taymans  <wim@fluendo.com>
9754
9755         * gst/gstevent.h:
9756         * gst/gsturi.h:
9757         Fix docs.
9758
9759 2005-11-09  Wim Taymans  <wim@fluendo.com>
9760
9761         * docs/gst/gstreamer-sections.txt:
9762         Moved the message async delivery private lock and cond
9763         to the private section.
9764
9765         * gst/gstmessage.c:
9766         * gst/gstmessage.h:
9767         Fixed docs.
9768
9769 2005-11-09  Edward Hervey  <edward@fluendo.com>
9770
9771         * docs/gst/gstreamer-sections.txt:
9772         * gst/gsturi.c:
9773         * gst/gsturi.h:
9774         Document GstURIHandler
9775
9776 2005-11-09  Wim Taymans  <wim@fluendo.com>
9777
9778         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
9779         (gst_iterator_find_custom):
9780         * gst/gstiterator.h:
9781         Fix iterator docs.
9782
9783 2005-11-09  Wim Taymans  <wim@fluendo.com>
9784
9785         * gst/gstbin.h:
9786         Document another field.
9787
9788         * gst/gststructure.c:
9789         * gst/gststructure.h:
9790         Document.
9791
9792 2005-11-09  Wim Taymans  <wim@fluendo.com>
9793
9794         * gst/gstbin.h:
9795         Documented structs.
9796
9797 2005-11-09  Wim Taymans  <wim@fluendo.com>
9798
9799         * docs/gst/gstreamer-sections.txt:
9800         Added some new macros.
9801
9802         * gst/gstclock.c:
9803         * gst/gstclock.h:
9804         * gst/gstobject.h:
9805         Docs updates.
9806
9807 2005-11-09  Wim Taymans  <wim@fluendo.com>
9808
9809         * docs/design/part-TODO.txt:
9810         Some more items for the TODO
9811
9812         * gst/gstcaps.c:
9813         * gst/gstcaps.h:
9814         Document GstCaps.
9815
9816 2005-11-09  Andy Wingo  <wingo@pobox.com>
9817
9818         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
9819         to work on something else now tho...
9820
9821         * gst/base/gstadapter.c: More adapter docs.
9822
9823         * gst/elements/gstfilesink.c (gst_file_sink_start) 
9824         (gst_file_sink_stop): New functions, replace the state change
9825         handler.
9826         (gst_file_sink_class_init): Hook up the start and stop functions.
9827         (gst_file_sink_base_init): Don't set the state change handler any
9828         more. It was a bit ugly too, being set from here...
9829         (gst_file_sink_get_property, gst_file_sink_set_property):
9830         Cleanups...
9831         (gst_file_sink_set_location): More robust check that doesn't call
9832         GST_STATE. Ugggggg.
9833
9834 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
9835
9836         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9837           Hold STREAM_LOCK while pushing newsegment or tag events as well.
9838
9839 2005-11-08  Wim Taymans  <wim@fluendo.com>
9840
9841         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9842         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9843         (gst_base_sink_chain), (gst_base_sink_change_state):
9844         * gst/base/gstbasesink.h:
9845         * gst/base/gstbasesrc.h:
9846         * gst/gstelement.h:
9847         * gst/gstevent.h:
9848         Avoid excessive typechecking in macros.
9849
9850         * gst/gstminiobject.c: (gst_mini_object_get_type),
9851         (gst_mini_object_init), (gst_mini_object_new),
9852         (gst_mini_object_free):
9853         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
9854         (gst_object_finalize):
9855         Remove cruft code, optimize alloc_trace.
9856
9857 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9858
9859         * docs/faq/gst-uninstalled:
9860           fix up PS1 for systems that try to reset it
9861
9862 2005-11-07  Wim Taymans  <wim@fluendo.com>
9863
9864         * gst/base/gstbasesrc.c: (gst_base_src_init),
9865         (gst_base_src_get_range):
9866         Set the segment_end to -1 initially. Fixed typefind.
9867
9868 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
9869
9870         * gst/base/gstadapter.c:
9871           Debug category should be 'adapter', not 'GstAdapter'.
9872           
9873         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
9874         (gst_collectpads_class_init), (gst_collectpads_init),
9875         (gst_collectpads_peek), (gst_collectpads_pop),
9876         (gst_collectpads_event), (gst_collectpads_chain):
9877           Add debug category and some debugging output. Use boilerplate
9878           macros. Remove some extraneous words from docs.
9879
9880 2005-11-05  Andy Wingo  <wingo@pobox.com>
9881
9882         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
9883         macro.
9884
9885 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
9886
9887         * docs/gst/gstreamer-sections.txt:
9888         * gst/gstcaps.h:
9889         * gst/gstinfo.c:
9890         * gst/gstminiobject.h:
9891         * gst/gstobject.h:
9892         * gst/gstutils.h:
9893           more docs added
9894
9895 2005-11-04  Wim Taymans  <wim@fluendo.com>
9896
9897         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9898         Small update to stop at the configured segment_end
9899         position.
9900
9901 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
9902
9903         * gst/gstregistry.c:
9904         * gst/gstregistry.h:
9905           added missing docs
9906
9907 2005-11-04  Edward Hervey  <edward@fluendo.com>
9908
9909         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9910         Check if we are doing a segment seek and have arrived at the
9911         end of that segment.
9912
9913 2005-11-04  Wim Taymans  <wim@fluendo.com>
9914
9915         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
9916         Don't leak a mutex unlock in case of an error.
9917
9918         * gst/gstbus.h:
9919         Doc fixes.
9920
9921 2005-11-04  Wim Taymans  <wim@fluendo.com>
9922
9923         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
9924         (gst_bus_post):
9925         Get the context to wake up only once.
9926
9927 2005-11-03  Wim Taymans  <wim@fluendo.com>
9928
9929         * check/states/sinks.c: (GST_START_TEST):
9930         Uncomment fixed check.
9931
9932         * docs/design/part-TODO.txt:
9933         Updated TODO.
9934
9935         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9936         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
9937         (gst_base_sink_get_position):
9938         If we are going to PLAYING, post the right pending state
9939         when we post the intermediate paused message.
9940
9941         * gst/gstelement.c: (gst_element_continue_state),
9942         (gst_element_set_state_func), (gst_element_change_state):
9943         Don't post state changes that were between the same state
9944         and were not ASYNC.
9945
9946 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
9947
9948         * docs/gst/gstreamer-sections.txt:
9949         * gst/gstcaps.h:
9950         * gst/gstinfo.c:
9951         * gst/gstminiobject.h:
9952         * gst/gstobject.h:
9953         * gst/gstutils.h:
9954           more docs and doc style fixes
9955
9956 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
9957
9958         * docs/gst/gstreamer-sections.txt:
9959         * gst/gstelement.c:
9960         * gst/gstminiobject.c:
9961         doc fixes
9962
9963 2005-11-03  Andy Wingo  <wingo@pobox.com>
9964
9965         * check/states/sinks.c (test_livesrc_sink): Add checks that the
9966         state-changed messages actually have the right order and the right
9967         values.
9968
9969 2005-11-03  Wim Taymans  <wim@fluendo.com>
9970
9971         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
9972         Added some more checks. Specifically the case where NO_PREROLL
9973         elements are in the pipeline.
9974
9975         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9976         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
9977         (gst_base_sink_get_position):
9978         Post READY->PAUSED state change messages too.
9979         Fix bug where VOID was posted as pending state...
9980
9981         * gst/gstbin.c: (gst_bin_recalc_state):
9982         use _element_continue_state() to continue the state change.
9983
9984         * gst/gstelement.c: (gst_element_continue_state),
9985         (gst_element_commit_state), (gst_element_set_state_func),
9986         (gst_element_change_state), (gst_element_change_state_func):
9987         Lots of state change cleanups, assign the STATE_RETURN in
9988         a new continue_state() function that also propagates the
9989         last return value from a state change to the app.
9990         Update some debug statements with proper category.
9991
9992 2005-11-03  Wim Taymans  <wim@fluendo.com>
9993
9994         * docs/design/part-events.txt:
9995         * docs/design/part-gstpipeline.txt:
9996         * docs/design/part-messages.txt:
9997         * docs/design/part-overview.txt:
9998         * docs/design/part-seeking.txt:
9999         * docs/design/part-states.txt:
10000         * docs/design/part-trickmodes.txt:
10001         * docs/manual/advanced-position.xml:
10002         Small docs updates.
10003
10004         * gst/gstobject.h:
10005         People think !! is ugly, this looks better.
10006
10007         * gst/gstpad.c: (gst_pad_set_blocked_async):
10008         Remove !! since it's fixed elsewhere now.
10009
10010 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
10011
10012         * gst/gstminiobject.h:
10013         * gst/gstobject.h:
10014           Add !! to _FLAG_IS_SET macros to make the result boolean.
10015
10016 2005-11-03  Edward Hervey  <edward@fluendo.com>
10017
10018         * gst/gstpad.c: (gst_pad_set_blocked_async):
10019         comparing a flag and a gboolean rarely returns coherent results...
10020         Added two characters (!!) to make that work correctly.
10021         
10022 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
10023
10024         * gst/gstbus.c: (gst_bus_class_init):
10025           Fix some typos.
10026           
10027         * gst/gstqueue.c: (gst_queue_loop):
10028           Don't assume a miniobject that isn't a buffer is an
10029           event (it could be that there is a refcounting
10030           problem somewhere and the pointer is stale and
10031           refers to an already destroyed miniobject).
10032
10033 2005-11-03  Julien MOUTTE  <julien@moutte.net>
10034
10035         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
10036
10037 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
10038
10039         * docs/manual/advanced-position.xml:
10040           Update seek example and explanations to current 0.9 API.
10041
10042         * gst/elements/gsttypefindelement.c:
10043         (gst_type_find_element_activate):
10044           Remove FIXME comment now that the found caps
10045           are unreffed.
10046
10047 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10048
10049         * gst/gstregistryxml.c: (load_feature):
10050           Add another GST_STR_NULL instance
10051
10052 2005-11-02  Edward Hervey  <edward@fluendo.com>
10053
10054         * gst/gstpad.c: (handle_pad_block):
10055         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
10056         
10057 2005-11-02  Wim Taymans  <wim@fluendo.com>
10058
10059         * gst/gstbin.c:
10060         Fix typo in docs.
10061
10062         * gst/gstelement.c: (gst_element_commit_state):
10063         Remove unused value.
10064
10065         * gst/gstiterator.c:
10066         Mention that the returned element is reffed in the docs.
10067
10068 2005-11-02  Wim Taymans  <wim@fluendo.com>
10069
10070         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
10071         (gst_pad_push), (gst_pad_push_event):
10072         Unlock blocked pads when they are flushed.
10073
10074 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10075
10076         * docs/README:
10077         * docs/gst/gstreamer-sections.txt:
10078         * gst/gstbin.c:
10079           doc updates
10080         * gst/gstregistry.c: (gst_registry_scan_path_level):
10081           fix for a nasty little missed situation where an installed plug-in
10082           which was in the cache did not get overridden by an uninstalled one
10083           which was earlier in the plugin path because the newly created plugin
10084           for the uninstalled one (not in the registry) didn't get its
10085           ->registered set to TRUE
10086
10087 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
10088
10089         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
10090         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
10091         (gst_collectpads_is_active), (gst_collectpads_collect),
10092         (gst_collectpads_collect_range), (gst_collectpads_start),
10093         (gst_collectpads_stop), (gst_collectpads_peek),
10094         (gst_collectpads_pop), (gst_collectpads_available),
10095         (gst_collectpads_read), (gst_collectpads_flush):
10096           Guard public API with assertions.
10097         
10098         * gst/gstpad.c:
10099           Fix docs for gst_pad_set_link_function().
10100
10101 2005-11-02  Johan Dahlin  <johan@gnome.org>
10102
10103         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
10104         Unref found_caps after we used it.
10105
10106 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
10107
10108         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
10109           Don't try to ref NULL.
10110
10111 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10112
10113         * win32/common/config.h.in:
10114           provide a GST_FUNCTION that just gives a string for now
10115
10116 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10117
10118         * win32/common/gstenumtypes.c: (register_gst_object_flags),
10119         (gst_object_flags_get_type), (register_gst_bin_flags),
10120         (gst_bin_flags_get_type), (register_gst_buffer_flag),
10121         (gst_buffer_flag_get_type), (register_gst_bus_flags),
10122         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
10123         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
10124         (gst_clock_return_get_type), (register_gst_clock_entry_type),
10125         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
10126         (gst_clock_flags_get_type), (register_gst_state),
10127         (gst_state_get_type), (register_gst_state_change_return),
10128         (gst_state_change_return_get_type), (register_gst_state_change),
10129         (gst_state_change_get_type), (register_gst_element_flags),
10130         (gst_element_flags_get_type), (register_gst_core_error),
10131         (gst_core_error_get_type), (register_gst_library_error),
10132         (gst_library_error_get_type), (register_gst_resource_error),
10133         (gst_resource_error_get_type), (register_gst_stream_error),
10134         (gst_stream_error_get_type), (register_gst_event_type),
10135         (gst_event_type_get_type), (register_gst_seek_type),
10136         (gst_seek_type_get_type), (register_gst_seek_flags),
10137         (gst_seek_flags_get_type), (register_gst_format),
10138         (gst_format_get_type), (register_gst_index_certainty),
10139         (gst_index_certainty_get_type), (register_gst_index_entry_type),
10140         (gst_index_entry_type_get_type),
10141         (register_gst_index_lookup_method),
10142         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
10143         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
10144         (gst_index_resolver_method_get_type), (register_gst_index_flags),
10145         (gst_index_flags_get_type), (register_gst_debug_level),
10146         (gst_debug_level_get_type), (register_gst_debug_color_flags),
10147         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
10148         (gst_iterator_result_get_type), (register_gst_iterator_item),
10149         (gst_iterator_item_get_type), (register_gst_message_type),
10150         (gst_message_type_get_type), (register_gst_mini_object_flags),
10151         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
10152         (gst_pad_link_return_get_type), (register_gst_flow_return),
10153         (gst_flow_return_get_type), (register_gst_activate_mode),
10154         (gst_activate_mode_get_type), (register_gst_pad_direction),
10155         (gst_pad_direction_get_type), (register_gst_pad_flags),
10156         (gst_pad_flags_get_type), (register_gst_pad_presence),
10157         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
10158         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
10159         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
10160         (gst_plugin_error_get_type), (register_gst_plugin_flags),
10161         (gst_plugin_flags_get_type), (register_gst_rank),
10162         (gst_rank_get_type), (register_gst_query_type),
10163         (gst_query_type_get_type), (register_gst_tag_merge_mode),
10164         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
10165         (gst_tag_flag_get_type), (register_gst_task_state),
10166         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
10167         (gst_alloc_trace_flags_get_type),
10168         (register_gst_type_find_probability),
10169         (gst_type_find_probability_get_type), (register_gst_uri_type),
10170         (gst_uri_type_get_type), (register_gst_parse_error),
10171         (gst_parse_error_get_type):
10172         * win32/common/gstversion.h:
10173           update win32 copies
10174
10175 2005-11-01  Luca Ognibene  <luogni@tin.it>
10176
10177         * gst/gst.c:
10178           fix docs. popt is dead, long live GOption.
10179
10180 2005-10-31  Wim Taymans  <wim@fluendo.com>
10181
10182         * gst/gstbuffer.h:
10183         Small doc fix.
10184
10185 2005-10-31  Andy Wingo  <wingo@pobox.com>
10186
10187         * Boo!
10188
10189         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
10190
10191         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
10192         need to serialize property notifications on GLib 2.8. GLib 2.6 has
10193         the possibility of deadlocks here if code calling notify() or
10194         set() has a lock that can be taken in another notify handler (ABBA
10195         with class lock and e.g. python GIL state lock).
10196
10197 2005-10-28  Julien MOUTTE  <julien@moutte.net>
10198
10199         * gst/gstbus.c: Doc updates.
10200
10201 2005-10-28  Wim Taymans  <wim@fluendo.com>
10202
10203         * docs/design/part-TODO.txt:
10204         * gst/gstiterator.c:
10205         * gst/gstsystemclock.c:
10206         * gst/gstsystemclock.h:
10207         Doc updates.
10208
10209 2005-10-28  Edward Hervey  <edward@fluendo.com>
10210
10211         * docs/gst/gstreamer-docs.sgml:
10212         * docs/gst/gstreamer-sections.txt:
10213         the GstURIType documentation page is private, it only defines GstURIType
10214         which should be defined in the GstURIHandler page
10215         
10216 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10217
10218         * gst/gstbin.c: (gst_bin_class_init):
10219         * gst/gstbin.h:
10220         * gst/gstutils.c:
10221         Documentation updates.
10222
10223 2005-10-28  Wim Taymans  <wim@fluendo.com>
10224
10225         * docs/gst/gstreamer-sections.txt:
10226         * gst/gstclock.c:
10227         * gst/gstclock.h:
10228         Documented the clocks.
10229
10230 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
10231
10232         * docs/gst/gstreamer-sections.txt:
10233           move some macros to private sections
10234         * gst/gstminiobject.c:
10235         * gst/gstminiobject.h:
10236           add descriptions provided by ds and some more
10237         * gst/gstpad.h:
10238           mark macro as to be removed
10239
10240 2005-10-28  Wim Taymans  <wim@fluendo.com>
10241
10242         * docs/design/part-TODO.txt:
10243         Add an item to TODO.
10244
10245         * gst/gstiterator.c: (gst_iterator_fold),
10246         (gst_iterator_find_custom):
10247         * gst/gstiterator.h:
10248         Add iterator docs.
10249
10250 2005-10-28  Wim Taymans  <wim@fluendo.com>
10251
10252         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10253         (gst_base_transform_init):
10254         Don't leak class.
10255
10256         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
10257         An EOS event marks the queue as completely filled.
10258
10259 2005-10-27  Wim Taymans  <wim@fluendo.com>
10260
10261         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10262         (gst_base_sink_do_sync), (gst_base_sink_get_position):
10263         Some more debugging.
10264
10265         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
10266         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
10267         (gst_base_transform_event), (gst_base_transform_getrange),
10268         (gst_base_transform_chain):
10269         * gst/base/gstbasetransform.h:
10270         Fix debugging,
10271         Protect transform and concurrent buffer alloc with a new lock.
10272         Try not to break ABI/API.
10273
10274 2005-10-27  Wim Taymans  <wim@fluendo.com>
10275
10276         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10277         (gst_base_src_init), (gst_base_src_query),
10278         (gst_base_src_default_newsegment),
10279         (gst_base_src_configure_segment), (gst_base_src_do_seek),
10280         (gst_base_src_send_event), (gst_base_src_event_handler),
10281         (gst_base_src_pad_get_range), (gst_base_src_loop),
10282         (gst_base_src_unlock), (gst_base_src_default_negotiate),
10283         (gst_base_src_start), (gst_base_src_deactivate),
10284         (gst_base_src_activate_push), (gst_base_src_change_state):
10285         Move some stuff around and cleanup things.
10286
10287 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
10288
10289         * gst/base/gstbasesrc.c: (gst_base_src_query):
10290           Add missing break statements.
10291
10292 2005-10-27  Wim Taymans  <wim@fluendo.com>
10293
10294         * check/gst/gstbin.c: (GST_START_TEST):
10295         An extra refcount is taken in basesrc.
10296
10297         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
10298         (gst_base_src_get_range), (gst_base_src_pad_get_range),
10299         (gst_base_src_loop):
10300         Small cleanups, check for flushing after being unlocked from the 
10301         LIVE_LOCK. take refcounts correctly (not yet everywhere).
10302         Don't send out EOS when going to READY.
10303
10304 2005-10-27  Wim Taymans  <wim@fluendo.com>
10305
10306         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10307         (gst_base_sink_get_position):
10308         Some more debug.
10309
10310         * gst/gstbin.c: (message_check), (bin_replace_message),
10311         (bin_remove_messages), (is_eos), (gst_bin_add_func),
10312         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
10313         (bin_query_duration_init), (bin_query_duration_fold),
10314         (bin_query_duration_done), (bin_query_generic_fold),
10315         (gst_bin_query):
10316         * tools/gst-launch.c: (main):
10317         Remove old option.
10318
10319 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
10320
10321         * examples/controller/audio-example.c: (main):
10322         * examples/queue/queue.c: (event_loop):
10323         * gst/base/gstbasetransform.h:
10324         * gst/gstelement.c: (gst_element_send_event):
10325         * gst/gstevent.h:
10326         * gst/gstpad.c: (gst_pad_send_event):
10327           fixing examples
10328           fixing docs typos
10329           changing log priority in error situations
10330
10331 2005-10-25  Wim Taymans  <wim@fluendo.com>
10332
10333         * gst/gstbin.c: (message_check), (bin_replace_message),
10334         (bin_remove_messages), (is_eos), (gst_bin_add_func),
10335         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
10336         (bin_query_duration_init), (bin_query_duration_fold),
10337         (bin_query_duration_done), (bin_query_generic_fold),
10338         (gst_bin_query):
10339         Some doc and debug updates.
10340         Cache previously requested query DURATION for speed. invalidate
10341         cached duration if element posts a DURATION message.
10342
10343 2005-10-25  Wim Taymans  <wim@fluendo.com>
10344
10345         * docs/design/part-TODO.txt:
10346         Update TODO.
10347
10348         * gst/gstbin.c: (message_check), (bin_replace_message),
10349         (bin_remove_messages), (is_eos), (gst_bin_add_func),
10350         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
10351         (bin_query_duration_init), (bin_query_duration_fold),
10352         (bin_query_duration_done), (bin_query_generic_fold),
10353         (gst_bin_query):
10354         Handle SEGMENT_START/DONE messages correctly.
10355         More evolved query algorithm that handles duration queries
10356         correctly.
10357
10358         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
10359         (gst_element_get_state_func), (gst_element_abort_state),
10360         (gst_element_commit_state), (gst_element_lost_state):
10361         Some more debugging.
10362
10363         * gst/gstmessage.h:
10364         Added doc.
10365
10366 2005-10-25  Wim Taymans  <wim@fluendo.com>
10367
10368         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
10369         Don't use invalid stream_time.
10370
10371         * gst/gstevent.c: (gst_event_new_newsegment):
10372         stream_time in newsegment cannot be undefined.
10373
10374 2005-10-24  Wim Taymans  <wim@fluendo.com>
10375
10376         * gst/gstbus.c:
10377         Doc fix.
10378
10379         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10380         (gst_queue_loop):
10381         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
10382
10383 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
10384
10385         * docs/libs/tmpl/gstdparam.sgml:
10386         * docs/libs/tmpl/gstdplinint.sgml:
10387         * docs/libs/tmpl/gstdpman.sgml:
10388         * docs/libs/tmpl/gstdpsmooth.sgml:
10389         * docs/libs/tmpl/gstunitconvert.sgml:
10390           these are obsolete
10391
10392 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10393
10394         * configure.ac:
10395           back to HEAD
10396
10397 === release 0.9.4 ===
10398
10399 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10400
10401         * configure.ac:
10402           releasing 0.9.4, "Tyrannosaurus Rex"
10403
10404 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
10405
10406         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
10407         (gst_file_sink_get_current_offset):
10408           Use fseeko() and ftello() if available. When falling back on
10409           lseek() to get the current offset, fflush() first to make sure
10410           everything is up-to-date and we get the right offset.
10411
10412 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10413
10414         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10415         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10416         * gst/gsterror.c: (_gst_stream_errors_init):
10417         * gst/gsterror.h:
10418         * gst/gstqueue.c: (gst_queue_loop):
10419         * po/POTFILES.in:
10420           remove prematurely added error category and clean up the instances
10421
10422 2005-10-21  Wim Taymans  <wim@fluendo.com>
10423
10424         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10425         (gst_base_sink_get_position), (gst_base_sink_query),
10426         (gst_base_sink_change_state):
10427         Simply set the right flag when going to playing, that's all
10428         we need to do instead of calling a function inside the object
10429         lock (that could take the lock as well and deadlock)
10430
10431 2005-10-21  Wim Taymans  <wim@fluendo.com>
10432
10433         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
10434         (gst_base_src_loop):
10435         Don't warn, the peer element knows what to do best when
10436         the seek failed, it might try something else.
10437
10438 2005-10-21  Wim Taymans  <wim@fluendo.com>
10439
10440         * gst/base/gstbasesrc.c: (gst_base_src_init),
10441         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
10442         Fix seeking.
10443
10444 2005-10-21  Wim Taymans  <wim@fluendo.com>
10445
10446         * docs/design/part-segments.txt:
10447         More docs.
10448
10449         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
10450         Correctly set caps, even on the subbufer.
10451
10452 2005-10-21  Wim Taymans  <wim@fluendo.com>
10453
10454         * docs/gst/gstreamer-docs.sgml:
10455         * docs/gst/gstreamer-sections.txt:
10456         * gst/gstelement.h:
10457         * gst/gstevent.c:
10458         * gst/gstevent.h:
10459         * gst/gstmessage.h:
10460         * gst/gstpad.h:
10461         * gst/gstparse.h:
10462         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
10463         * gst/gsttask.h:
10464         * gst/gstutils.c:
10465         * gst/gstutils.h:
10466         And 2% more doc coverage.
10467
10468 2005-10-21  Andy Wingo  <wingo@pobox.com>
10469
10470         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
10471         position reporting.
10472
10473 2005-10-20  Wim Taymans  <wim@fluendo.com>
10474
10475         * gst/gsterror.c: (gst_error_get_message):
10476         * gst/gstparse.h:
10477         * gst/gstquery.h:
10478         * gst/gststructure.c:
10479         * gst/gsttrace.c:
10480         * gst/gstutils.c:
10481         More docs.
10482
10483 2005-10-20  Wim Taymans  <wim@fluendo.com>
10484
10485         * gst/gstbuffer.h:
10486         * gst/gstpad.c:
10487         * gst/gstparse.c:
10488         Another 1% more coverage.
10489
10490 2005-10-20  Wim Taymans  <wim@fluendo.com>
10491
10492         * docs/gst/gstreamer-sections.txt:
10493         * gst/gstelement.c: (gst_element_get_state_func),
10494         (gst_element_abort_state), (gst_element_commit_state),
10495         (gst_element_lost_state):
10496         * gst/gstevent.h:
10497         * gst/gstquery.c: (gst_query_set_position),
10498         (gst_query_parse_position), (gst_query_set_duration),
10499         (gst_query_parse_duration), (gst_query_new_convert):
10500         * gst/gstutils.c:
10501         Yay! 1% more docs coverage.
10502
10503 2005-10-20  Wim Taymans  <wim@fluendo.com>
10504
10505         * gst/gstpad.h:
10506         * gst/gstquery.c: (gst_query_set_position),
10507         (gst_query_parse_position), (gst_query_set_duration),
10508         (gst_query_parse_duration), (gst_query_new_convert):
10509         * gst/gstquery.h:
10510         * gst/gstutils.c: (gst_element_query_convert):
10511         * gst/gstutils.h:
10512         Docs and consistency fixes.
10513
10514 2005-10-20  Wim Taymans  <wim@fluendo.com>
10515
10516         * gst/gsttask.c:
10517         * gst/gsttask.h:
10518         More docs.
10519
10520 2005-10-20  Wim Taymans  <wim@fluendo.com>
10521
10522         * gst/gstbin.c: (message_check), (bin_replace_message),
10523         (bin_remove_messages), (is_eos), (gst_bin_add_func),
10524         (update_degree), (gst_bin_sort_iterator_next),
10525         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
10526         Reworked the message handling a bit, cache the messages instead of
10527         only the senders. alows us to do more in the future.
10528
10529 2005-10-20  Wim Taymans  <wim@fluendo.com>
10530
10531         * docs/design/part-TODO.txt:
10532         Update TODO
10533
10534         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
10535         (gst_base_sink_query):
10536         Don't use clock time to report position when in EOS.
10537
10538 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
10539
10540         * tools/gst-inspect.c: (print_interfaces),
10541         (print_element_properties_info), (print_element_info):
10542           Fix interface output with gst-inspect -a; don't print
10543           newlines after double/float properties.
10544
10545 2005-10-20  Wim Taymans  <wim@fluendo.com>
10546
10547         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
10548         (gst_base_sink_query):
10549         Speed up current position calculation.
10550
10551         * gst/base/gstbasesrc.c: (gst_base_src_query),
10552         (gst_base_src_default_newsegment):
10553         Correctly set stream position in newsegment.
10554
10555         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
10556         (update_degree), (gst_bin_sort_iterator_next),
10557         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
10558         * gst/gstmessage.c: (gst_message_new_custom):
10559         Clean up debugging info
10560
10561         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
10562         (gst_queue_loop), (gst_queue_handle_src_query):
10563         Pause task faster.
10564
10565 2005-10-19  Wim Taymans  <wim@fluendo.com>
10566
10567         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10568         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
10569         Fix query handling again.
10570
10571 2005-10-19  Wim Taymans  <wim@fluendo.com>
10572
10573         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10574         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
10575         * gst/base/gstbasesrc.c: (gst_base_src_query):
10576         * gst/elements/gstfilesink.c: (gst_file_sink_query):
10577         * gst/elements/gsttypefindelement.c:
10578         (gst_type_find_handle_src_query), (find_element_get_length),
10579         (gst_type_find_element_activate):
10580         API change fix.
10581
10582         * gst/gstquery.c: (gst_query_new_position),
10583         (gst_query_set_position), (gst_query_parse_position),
10584         (gst_query_new_duration), (gst_query_set_duration),
10585         (gst_query_parse_duration), (gst_query_set_segment),
10586         (gst_query_parse_segment):
10587         * gst/gstquery.h:
10588         Bundling query position/duration is not a good idea since duration
10589         does not change much and we don't want to recalculate it for every
10590         position query, so they are separated again..
10591         Base value in segment query is not needed.
10592
10593         * gst/gstqueue.c: (gst_queue_handle_src_query):
10594         * gst/gstutils.c: (gst_element_query_position),
10595         (gst_element_query_duration), (gst_pad_query_position),
10596         (gst_pad_query_duration):
10597         * gst/gstutils.h:
10598         Updates for query API change.
10599         Added some docs here and there.
10600
10601 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10602
10603         * check/gst/gstbin.c: (GST_START_TEST):
10604         * check/gst/gstghostpad.c: (GST_START_TEST):
10605         * check/pipelines/cleanup.c: (GST_START_TEST):
10606           wait on thread to die so we can check refcount correctly
10607
10608 2005-10-18  Wim Taymans  <wim@fluendo.com>
10609
10610         * check/pipelines/stress.c: (GST_START_TEST):
10611         Make check a little more time consuming.
10612
10613 2005-10-18  Wim Taymans  <wim@fluendo.com>
10614
10615         * check/Makefile.am:
10616         * check/pipelines/stress.c: (GST_START_TEST),
10617         (simple_launch_lines_suite), (main):
10618         Small state change torture test.
10619
10620         * docs/design/part-states.txt:
10621         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10622         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
10623         (gst_base_sink_change_state):
10624         Never take state lock from streaming thread, clean up ugly
10625         hacks. Unfortunatly core does not yet support nice ways to
10626         async commit state.
10627         
10628         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
10629         (bin_bus_handler):
10630         Start state recalc if a STATE_DIRTY message is posted, but only
10631         on the toplevel bin.
10632
10633         * gst/gstelement.c: (gst_element_sync_state_with_parent),
10634         (gst_element_get_state_func), (gst_element_abort_state),
10635         (gst_element_commit_state), (gst_element_lost_state),
10636         (gst_element_set_state_func), (gst_element_change_state):
10637         * gst/gstelement.h:
10638         State variables are now protected with the LOCK, the state
10639         lock is only used to serialize _set_state().
10640
10641 2005-10-18  Wim Taymans  <wim@fluendo.com>
10642
10643         * check/gst/gstbin.c: (GST_START_TEST):
10644         * check/gst/gstmessage.c: (GST_START_TEST):
10645         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10646         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
10647         (bin_bus_handler):
10648         * gst/gstelement.c: (gst_element_abort_state),
10649         (gst_element_commit_state), (gst_element_lost_state):
10650         * gst/gstmessage.c: (gst_message_new_state_changed),
10651         (gst_message_new_state_dirty), (gst_message_new_segment_start),
10652         (gst_message_new_segment_done), (gst_message_new_duration),
10653         (gst_message_parse_state_changed),
10654         (gst_message_parse_segment_start),
10655         (gst_message_parse_segment_done), (gst_message_parse_duration):
10656         * gst/gstmessage.h:
10657         * tools/gst-launch.c: (event_loop):
10658         Seriously, this is better than a previous commit as we only need
10659         to notify the fact that an element changed state in a streaming
10660         thread, marking the state of the parents dirty, hence the 
10661         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
10662         message.
10663
10664 2005-10-18  Wim Taymans  <wim@fluendo.com>
10665
10666         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
10667         (gst_bin_recalc_func):
10668         * gst/gstelement.c: (gst_element_set_clock),
10669         (gst_element_abort_state), (gst_element_lost_state):
10670         Cleanups, prepare for state change fixes.
10671
10672 2005-10-18  Wim Taymans  <wim@fluendo.com>
10673
10674         * gst/gstbin.h:
10675         * gst/gstelement.c: (gst_element_class_init),
10676         (gst_element_set_state), (gst_element_set_state_func):
10677         * gst/gstelement.h:
10678         Pending ABI changes.
10679         GThreadPool in GstBinClass to monitor async state changes.
10680         state_cookie in GstElement to detect concurrent gst/set state.
10681         set_state is now virtual too in case a very complicated element
10682         has to be constructed.
10683
10684 2005-10-18  Wim Taymans  <wim@fluendo.com>
10685
10686         * check/gst/gstbin.c: (GST_START_TEST):
10687         * check/gst/gstmessage.c: (GST_START_TEST):
10688         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10689         * gst/gstbin.c: (bin_bus_handler):
10690         * gst/gstelement.c: (gst_element_commit_state),
10691         (gst_element_lost_state):
10692         * gst/gstmessage.c: (gst_message_new_state_changed),
10693         (gst_message_new_segment_start), (gst_message_new_segment_done),
10694         (gst_message_new_duration), (gst_message_parse_state_changed),
10695         (gst_message_parse_segment_start),
10696         (gst_message_parse_segment_done), (gst_message_parse_duration):
10697         * gst/gstmessage.h:
10698         * tools/gst-launch.c: (event_loop):
10699         Make messages future proof.
10700         state-change gets a flag if it was a message comming from the
10701         streaming thread.
10702         segment-start/stop can also be specified in other formats.
10703         A message to notify an app that a pipeline changed playback 
10704         duration.
10705         Also fix a GstMessage leak in -launch
10706
10707 2005-10-18  Andy Wingo  <wingo@pobox.com>
10708
10709         * gst/gstelement.c (gst_element_dispose): More helpful message.
10710
10711 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10712
10713         reviewed by: <delete if not using a buddy>
10714
10715         * common/gtk-doc.mak:
10716
10717 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10718
10719         * gst/gstregistry.c: (gst_registry_scan_path_level):
10720           unref a plug-in we get that was already initialized
10721
10722 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
10723
10724         * docs/gst/gstreamer-sections.txt:
10725         * docs/libs/gstreamer-libs-sections.txt:
10726         * gst/gstelement.h:
10727           add new api entries
10728           hide internal macro
10729
10730 2005-10-17  Andy Wingo  <wingo@pobox.com>
10731
10732         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
10733         cleanup.
10734
10735         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
10736
10737         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
10738
10739         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
10740         (gst_element_get_state_func): Better debug message.
10741         (gst_element_commit_state): s/INFO/DEBUG/.
10742         (gst_element_lost_state, gst_element_change_state): 
10743
10744         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
10745         (gst_message_new_custom): s/INFO/LOG/.
10746
10747 2005-10-17  Michael Smith <msmith@fluendo.com>
10748
10749         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
10750           Check if end time is valid using end time, not start time.
10751
10752 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
10753
10754         * check/gst-libs/controller.c: (GST_START_TEST),
10755         (gst_controller_suite):
10756         * libs/gst/controller/gstcontroller.c:
10757         (gst_controlled_property_set_interpolation_mode):
10758         * libs/gst/controller/gstcontroller.h:
10759         * libs/gst/controller/gstinterpolation.c:
10760         * testsuite/controller/.cvsignore:
10761         * testsuite/controller/Makefile.am:
10762         * testsuite/controller/interpolator.c:
10763           merge controller testsuites
10764           fix broken tests
10765           remove mem-chunk from docs
10766
10767 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10768
10769         * gst/gstmemchunk.c:
10770         * gst/gstmemchunk.h:
10771         * gst/gsttrashstack.c:
10772         * gst/gsttrashstack.h:
10773           out.  get out.  you're fired.  to the Attic !
10774
10775 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10776
10777         * gst/gstcaps.c: (gst_caps_intersect):
10778           fix signedness issues in a (hopefully) correct way
10779         * gst/gstelement.c: (gst_element_pads_activate):
10780           some debugging
10781         * gst/gstobject.c: (gst_object_set_parent):
10782           some debugging
10783
10784 2005-10-17  Julien MOUTTE  <julien@moutte.net>
10785
10786         * gst/gstvalue.h: Fix prototypes.
10787
10788 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10789
10790         * docs/gst/gstreamer-sections.txt:
10791         * gst/gst.c: (gst_version_string):
10792         * gst/gst.h:
10793         * gst/gstversion.h.in:
10794         * win32/common/libgstreamer.def:
10795           add gst_version_string ()
10796
10797 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10798
10799         * configure.ac:
10800           clean up further
10801         * gst/gst.c: (init_post):
10802         * win32/common/config.h.in:
10803           it's PLUGINDIR now
10804         * gst/gstcaps.c: (gst_caps_intersect):
10805           use gint64, the range could be bigger than a guint
10806
10807 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10808
10809         * gst/gstclock.h:
10810           document potential problem in 2038
10811
10812 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10813
10814         * gst/gstcaps.c: (gst_caps_intersect):
10815           Fix guint j diving under 0
10816
10817 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10818
10819         * configure.ac:
10820         * win32/common/config.h:
10821         * win32/common/config.h.in:
10822           check for process.h, declares getpid() on Windows
10823         * gst/gstinfo.c:
10824           include process.h if we have it
10825         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
10826         * gst/gstmemchunk.h:
10827           fix signedness issues
10828         * win32/common/libgstreamer.def:
10829           fix get_type's
10830
10831 2005-10-16  Julien MOUTTE  <julien@moutte.net>
10832
10833         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
10834         fix. Because of unsigned ints, caps intersection was going nuts and
10835         trying to access structures with G_MAXUINT index. That fixes
10836         videotestsrc ! ffmpegcolorspace ! fakesink
10837         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
10838         consistency.
10839
10840 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10841
10842         * configure.ac:
10843           use the gettext macro
10844         * gst/elements/gstelements.c:
10845         * gst/gst.c:
10846         * gst/indexers/gstindexers.c:
10847           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
10848         * win32/common/config.h:
10849           updated config.h
10850         * win32/common/config.h.in:
10851           add the template to generate config.h
10852         * win32/common/gstenumtypes.c:
10853         * win32/common/gstversion.h:
10854           updated copies
10855
10856 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10857
10858         * gst/gst.c: (gst_version):
10859         * gst/gstversion.h.in:
10860           add the nano
10861
10862 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
10863
10864         * gst/gstevent.h:
10865           Oops, add missing closing bracket.
10866
10867 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10868
10869         * configure.ac:
10870           use common m4's for argument checking
10871
10872 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
10873
10874         * docs/gst/gstreamer-sections.txt:
10875         * gst/gstevent.h:
10876           Add GST_EVENT_TYPE_NAME() macro.
10877
10878 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10879
10880         * gst/gstinfo.c:
10881         * gst/gstpluginfeature.c:
10882         * gst/gsttask.c:
10883           privatize more symbols
10884
10885 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10886
10887         * configure.ac:
10888           add srcdir, builddir includes to GST_ALL_CFLAGS, since
10889           everything that uses GStreamer API should have the includes
10890
10891 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10892
10893         * docs/gst/gstreamer-sections.txt:
10894         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10895         * gst/gstvalue.h:
10896           give each value a _get_type, removes the DATA exports
10897
10898 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10899
10900         * gst/gst.c:
10901         * gst/gst.h:
10902           remove _gst_registry_auto_load, not used anymore
10903         * gst/gstbin.c: (gst_bin_get_type):
10904         * gst/gstbin.h:
10905         * gst/gstelement.c: (gst_element_get_type):
10906         * gst/gstelement.h:
10907         * gst/gstobject.c: (gst_object_get_type):
10908         * gst/gstobject.h:
10909         * gst/gstpad.c: (gst_pad_get_type):
10910         * gst/gstpad.h:
10911           make _get_type functions similar, fixes data export from library
10912
10913 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10914
10915         * configure.ac:
10916           correctly make conditionals
10917         * gst/elements/Makefile.am:
10918         * gst/elements/gstelements.c:
10919           fix typo causing fdsrc not to build
10920
10921 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10922
10923         * testsuite/Makefile.am:
10924         * testsuite/bytestream/.cvsignore:
10925         * testsuite/bytestream/Makefile.am:
10926         * testsuite/bytestream/filepadsink.c:
10927         * testsuite/bytestream/gstbstest.c:
10928         * testsuite/bytestream/test1.c:
10929         * testsuite/bytestream/testfile1:
10930         * testsuite/caps/normalisation.c:
10931         * testsuite/caps/random.c: (main):
10932         * testsuite/cleanup/.cvsignore:
10933         * testsuite/cleanup/Makefile.am:
10934         * testsuite/cleanup/cleanup1.c:
10935         * testsuite/cleanup/cleanup2.c:
10936         * testsuite/cleanup/cleanup3.c:
10937         * testsuite/cleanup/cleanup4.c:
10938         * testsuite/cleanup/cleanup5.c:
10939         * testsuite/controller/interpolator.c:
10940         * testsuite/debug/printf_extension.c: (main):
10941         * testsuite/elements/tee.c:
10942         * testsuite/negotiation/.cvsignore:
10943         * testsuite/negotiation/Makefile.am:
10944         * testsuite/negotiation/pad_link.c:
10945         * testsuite/pad/Makefile.am:
10946         * testsuite/pad/chainnopull.c:
10947         * testsuite/pad/getnopush.c:
10948         * testsuite/pad/link.c:
10949         * testsuite/refcounting/sched.c: (create_pipeline):
10950         * testsuite/registry/Makefile.am:
10951         * testsuite/registry/gst-print-formats.c:
10952         * testsuite/schedulers/.cvsignore:
10953         * testsuite/schedulers/142183-2.c:
10954         * testsuite/schedulers/142183.c:
10955         * testsuite/schedulers/143777-2.c:
10956         * testsuite/schedulers/143777.c:
10957         * testsuite/schedulers/147713.c:
10958         * testsuite/schedulers/147819.c:
10959         * testsuite/schedulers/147894-2.c:
10960         * testsuite/schedulers/147894.c:
10961         * testsuite/schedulers/Makefile.am:
10962         * testsuite/schedulers/group_link.c:
10963         * testsuite/schedulers/queue_link.c:
10964         * testsuite/schedulers/relink.c:
10965         * testsuite/schedulers/unlink.c:
10966         * testsuite/schedulers/unref.c:
10967         * testsuite/schedulers/useless_iteration.c:
10968         * testsuite/states/bin.c:
10969           clean out/remove some stuff from the testsuite directories
10970
10971 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10972
10973         * configure.ac:
10974           check for some headers
10975         * gst/elements/Makefile.am:
10976         * gst/elements/gstelements.c:
10977           don't compile fdsrc without sys/socket.h
10978         * gst/indexers/Makefile.am:
10979         * gst/indexers/gstindexers.c: (plugin_init):
10980           don't compile fileindex without mmap
10981
10982 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10983
10984         * configure.ac:
10985           reorganize
10986           clean up
10987           document more
10988           remove cruft
10989         * check/Makefile.am:
10990         * docs/gst/Makefile.am:
10991         * examples/helloworld/Makefile.am:
10992         * gst/Makefile.am:
10993         * gst/base/Makefile.am:
10994         * gst/check/Makefile.am:
10995         * gst/elements/Makefile.am:
10996         * gst/indexers/Makefile.am:
10997         * gst/parse/Makefile.am:
10998         * libs/gst/controller/Makefile.am:
10999         * libs/gst/dataprotocol/Makefile.am:
11000         * examples/helloworld/helloworld.c: (event_loop):
11001           compile fixes, though it's not being compiled currently
11002
11003 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
11004
11005         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
11006           Add some simple tests for the new taglist date API.
11007
11008 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
11009
11010         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
11011         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
11012           Beautify 'last-message' output: print 'none' for buffer timestamps
11013           and durations if none is set; improve alignment with next messages.
11014
11015 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
11016
11017         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
11018         * gst/gstpluginfeature.h:
11019         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
11020         * gst/gstregistry.h:
11021         * docs/gst/gstreamer-sections.txt:
11022           Add new API to check plugin feature version requirements.
11023
11024         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
11025           Some basic tests for the above.         
11026
11027 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11028
11029         * gst/gststructure.c: (gst_structure_to_string):
11030           guard against NULL printf - happens when for example
11031           a message structure with GstClock gets serialized
11032
11033 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11034
11035         * gst/base/gstcollectpads.c: (gst_collectpads_event):
11036           Fix presumable copy'n'pasto.
11037
11038 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11039
11040         * gst/elements/gstfakesrc.h:
11041         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
11042         * gst/elements/gsttypefindelement.c:
11043           fix some signedness
11044         * gst/elements/gstfilesink.c: (gst_file_sink_render):
11045           I wonder if this could actually write +2GB files before
11046
11047 2005-10-13  Andy Wingo  <wingo@pobox.com>
11048
11049         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
11050         Fix Timmeke Waymans bug.
11051         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
11052         string of the proper length to gst_caps_from_string. There's a
11053         potential for, before this fix, that this could cause someone
11054         connecting over the network to cause a segfault if the payload is
11055         not NUL-terminated.
11056
11057 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
11058
11059         * docs/design/draft-push-pull.txt:
11060         * docs/design/part-overview.txt:
11061         * docs/random/TODO-pre-0.9:
11062         * docs/random/old/ChangeLog.gstreamer:
11063         * gst/base/gstpushsrc.c:
11064         * gst/gstclock.c:
11065           fixed typos
11066
11067 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11068
11069         * gst/glib-compat.c: (gst_flags_get_first_value):
11070         * gst/glib-compat.h:
11071         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
11072         (gst_value_compare_double), (gst_value_serialize_flags):
11073           GLib 2.6 g_flags_get_first_value has a bug that triggers an
11074           infinite loop
11075
11076 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11077
11078         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11079         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
11080           fix up debugging
11081         * tools/gst-launch.c: (event_loop):
11082           print out clock nicely
11083
11084 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11085
11086         * docs/gst/gstreamer-sections.txt:
11087         * gst/gsttaglist.h:
11088         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
11089         (gst_tag_list_get_date_index):
11090           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
11091           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
11092
11093 2005-10-13  Julien MOUTTE  <julien@moutte.net>
11094
11095         * gst/base/gstcollectpads.c: (gst_collectpads_event),
11096         (gst_collectpads_chain):
11097         * gst/base/gstcollectpads.h: Handle newsegment and store informations
11098         in CollectData.
11099
11100 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
11101
11102         * docs/gst/gstreamer-sections.txt:
11103         * gst/gst.c:
11104         * gst/gsterror.h:
11105         * tools/gst-inspect.c: (main):
11106         * tools/gst-launch.c: (main):
11107         * tools/gst-run.c: (main):
11108         * tools/gst-xmlinspect.c: (main):
11109           fix GOption context leaks
11110           doc fixes
11111
11112 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11113
11114         * gst/gstbus.c:
11115           use HAVE_UNISTD_H
11116         * win32/common/config.h:
11117           update config
11118         * win32/vs6/grammar.dsp:
11119         * win32/vs6/libgstelements.dsp:
11120         * win32/vs6/libgstreamer.dsp:
11121           update vs6 files
11122
11123 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11124
11125         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11126         * gst/base/gstbasesrc.c: (gst_base_src_query):
11127           fix more guint64<->gdouble conversions
11128
11129 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11130
11131         * Makefile.am:
11132           add win32-update target
11133         * win32/common/gstconfig.h:
11134         * win32/common/gstenumtypes.c:
11135         * win32/common/gstenumtypes.h:
11136         * win32/common/gstversion.h:
11137           add files that visual studio can't generate
11138
11139 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11140
11141         * Makefile.am:
11142           add a win32-update target
11143         * configure.ac:
11144
11145 2005-10-12  Wim Taymans  <wim@fluendo.com>
11146
11147         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11148         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
11149         * gst/gstelement.c: (gst_element_commit_state),
11150         (gst_element_set_state):
11151         Protect flags with proper lock.
11152         unref provided cached clock in dispose.
11153
11154 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
11155
11156         * gst/gst.c:
11157         * gst/gstminiobject.h:
11158         * gst/gstpad.h:
11159         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
11160           removed unused flags from miniobject
11161           doc fixes
11162
11163 2005-10-12  Wim Taymans  <wim@fluendo.com>
11164
11165         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
11166         (gst_file_sink_event), (gst_file_sink_render):
11167         Flush before seeking.
11168
11169 2005-10-12  Andy Wingo  <wingo@pobox.com>
11170
11171         * gst/gst.c (gst_init_check): Ignore unknown options, as has
11172         always been the case.
11173
11174 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
11175
11176         * check/gst/gstbin.c: (GST_START_TEST):
11177         * docs/gst/gstreamer-sections.txt:
11178         * gst/base/gstbasesink.c: (gst_base_sink_init):
11179         * gst/base/gstbasesrc.c: (gst_base_src_init),
11180         (gst_base_src_get_range), (gst_base_src_check_get_range),
11181         (gst_base_src_start), (gst_base_src_stop):
11182         * gst/base/gstbasesrc.h:
11183         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
11184         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11185         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
11186         (bin_bus_handler):
11187         * gst/gstbin.h:
11188         * gst/gstbuffer.h:
11189         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
11190         * gst/gstbus.h:
11191         * gst/gstelement.c: (gst_element_is_locked_state),
11192         (gst_element_set_locked_state), (gst_element_commit_state),
11193         (gst_element_set_state):
11194         * gst/gstelement.h:
11195         * gst/gstindex.c: (gst_index_init):
11196         * gst/gstindex.h:
11197         * gst/gstminiobject.h:
11198         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
11199         (gst_object_set_parent):
11200         * gst/gstobject.h:
11201         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
11202         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
11203         * gst/gstpad.h:
11204         * gst/gstpadtemplate.h:
11205         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
11206         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
11207         * gst/gstpipeline.h:
11208         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11209         (gst_file_index_commit):
11210         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
11211         * testsuite/pad/link.c: (gst_test_src_init),
11212         (gst_test_filter_init), (gst_test_sink_init):
11213         * testsuite/states/locked.c: (main):
11214           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
11215           moved bitshift from macro to enum definition
11216
11217 2005-10-12  Wim Taymans  <wim@fluendo.com>
11218
11219         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
11220         * gst/elements/gstfilesink.c: (gst_file_sink_event),
11221         (gst_file_sink_render):
11222         Some more debugging info.
11223
11224 2005-10-12  Wim Taymans  <wim@fluendo.com>
11225
11226         * docs/design/part-states.txt:
11227         * tools/gst-launch.c: (main):
11228         Some doc updates.
11229         Revert non-intentional change.
11230
11231 2005-10-12  Wim Taymans  <wim@fluendo.com>
11232
11233         * check/gst/gstbin.c: (GST_START_TEST):
11234         * check/gst/gstelement.c: (GST_START_TEST):
11235         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
11236         * check/gst/gstghostpad.c: (GST_START_TEST):
11237         * check/gst/gstpipeline.c: (GST_START_TEST):
11238         * check/pipelines/simple_launch_lines.c: (run_pipeline):
11239         * check/states/sinks.c: (GST_START_TEST):
11240         * gst/elements/gsttypefindelement.c: (stop_typefinding):
11241         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
11242         (gst_bin_remove_func), (gst_bin_get_state_func),
11243         (gst_bin_recalc_state), (gst_bin_change_state_func),
11244         (bin_bus_handler):
11245         * gst/gstelement.c: (gst_element_get_state_func),
11246         (gst_element_get_state), (gst_element_abort_state),
11247         (gst_element_commit_state), (gst_element_set_state),
11248         (gst_element_change_state), (gst_element_change_state_func):
11249         * gst/gstelement.h:
11250         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
11251         (gst_pipeline_provide_clock_func):
11252         * gst/gstutils.c: (gst_element_link_pads_filtered):
11253         * tools/gst-launch.c: (main):
11254         * tools/gst-typefind.c: (main):
11255         Use GstClockTime in _get_state() instead of GTimeVal.
11256         Remove old code in gstutils.c
11257
11258 2005-10-12  Andy Wingo  <wingo@pobox.com>
11259
11260         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
11261         removed.
11262
11263         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
11264         there is no task. Shouldn't affect any code, as nothing in our
11265         plugins checks this return value.
11266         (gst_pad_stop_task): Also take the stream lock if the pad has no
11267         task. Docs updated.
11268
11269 2005-10-12  Wim Taymans  <wim@fluendo.com>
11270
11271         * gst/gstpad.c: (pre_activate), (post_activate),
11272         (gst_pad_activate_pull), (gst_pad_activate_push):
11273         Cleanup activation code. Reset old state if
11274         activation failed.
11275
11276 2005-10-12  Wim Taymans  <wim@fluendo.com>
11277
11278         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11279         (gst_base_sink_change_state):
11280         No need to prerol after receiving EOS.
11281
11282         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
11283         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
11284         * gst/elements/gstidentity.c: (gst_identity_event):
11285         Print events more verbosely.
11286
11287 2005-10-12  Wim Taymans  <wim@fluendo.com>
11288
11289         * check/Makefile.am:
11290         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
11291         * check/states/sinks2.c:
11292         Moved sinks2 testcode in sinks check.
11293
11294         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
11295         (gst_bin_remove_func), (gst_bin_recalc_state),
11296         (gst_bin_change_state_func), (bin_bus_handler):
11297         Fix potential race condition when _get_state() iterated over an
11298         ASYNC element right before it posted a state completion.
11299
11300         * gst/gstclock.h:
11301         Do proper cast here.
11302
11303         * gst/gstevent.c: (gst_event_new_newsegment),
11304         (gst_event_parse_newsegment):
11305         A playback rate of 0.0 is not allowed.
11306
11307 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11308
11309         * win32/common/config.h:
11310         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
11311         (_trewinddir), (_ttelldir), (_tseekdir):
11312         * win32/common/dirent.h:
11313         * win32/common/gtchar.h:
11314         * win32/common/libgstbase.def:
11315         * win32/common/libgstreamer.def:
11316         * win32/vs6/grammar.dsp:
11317         * win32/vs6/gst_inspect.dsp:
11318         * win32/vs6/gst_launch.dsp:
11319         * win32/vs6/gstreamer.dsw:
11320         * win32/vs6/libgstbase.dsp:
11321         * win32/vs6/libgstelements.dsp:
11322         * win32/vs6/libgstreamer.dsp:
11323           Visual Studio 6 project files, and a new common directory.
11324           Phear.
11325
11326 2005-10-11  Wim Taymans  <wim@fluendo.com>
11327
11328         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11329         (gst_base_sink_do_sync), (gst_base_sink_query),
11330         (gst_base_sink_change_state):
11331         * gst/base/gstbasesink.h:
11332         Correctly parse newsegment info.
11333
11334 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11335
11336         * gst/gst.c: (init_post):
11337           split plugin paths correctly
11338
11339 2005-10-11  Wim Taymans  <wim@fluendo.com>
11340
11341         * check/gst/gstevent.c: (GST_START_TEST):
11342         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11343         (gst_base_sink_change_state):
11344         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
11345         * gst/base/gstbasetransform.c: (gst_base_transform_event):
11346         * gst/elements/gstfilesink.c: (gst_file_sink_event):
11347         * gst/gstevent.c: (gst_event_new_newsegment),
11348         (gst_event_parse_newsegment):
11349         * gst/gstevent.h:
11350         Added extra flag to newsegment for future API freeze.
11351         Updated check and base elements.
11352
11353 2005-10-11  Julien MOUTTE  <julien@moutte.net>
11354
11355         * gst/base/gstcollectpads.c: (gst_collectpads_init),
11356         (gst_collectpads_add_pad), (gst_collectpads_pop),
11357         (gst_collectpads_event), (gst_collectpads_chain):
11358         * gst/base/gstcollectpads.h: Handle EOS correctly.
11359
11360 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11361
11362         * tools/gst-launch.c: (main):
11363           more null protecting
11364
11365 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11366
11367         * gst/gst-i18n-lib.h:
11368           check for ENABLE_NLS, not GETTEXT_PACKAGE
11369         * gst/gstregistry.c: (gst_registry_add_plugin),
11370         (gst_registry_scan_path_level),
11371         (_gst_registry_remove_cache_plugins):
11372           protect possibly NULL strings
11373         * gst/parse/types.h:
11374           config.h already included before
11375         * tools/gst-inspect.c: (main):
11376           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
11377           check for ENABLE_NLS, not GETTEXT_PACKAGE
11378         * tools/gst-launch.c: (main):
11379           check for ENABLE_NLS, not GETTEXT_PACKAGE
11380
11381 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11382
11383         * configure.ac:
11384           if we don't have glib, fail before testing 2.8
11385         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
11386           fix a leak, should fix plugins-base testsuite
11387
11388 2005-10-11  Andy Wingo  <wingo@pobox.com>
11389
11390         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
11391         take the mode we're going to as an arg. Go head and set the mode
11392         and flushing flags now, so that if the activate function starts a
11393         thread all the flags will be in the right state.
11394         (post_activate): Renamed also. Just handle making sure streaming
11395         finishes for the deactivation case, and setting the deactivated
11396         mode.
11397         (gst_pad_set_active): Complain loudly if deactivation fails.
11398         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
11399         (gst_pad_activate_push): Adapt to pre/post_activate changes,
11400         remove the terrible hack.
11401
11402 2005-10-11  Wim Taymans  <wim@fluendo.com>
11403
11404         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
11405         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
11406         (gst_bin_recalc_state), (gst_bin_change_state_func),
11407         (gst_bin_dispose), (bin_bus_handler):
11408         * gst/gstbin.h:
11409         Prepare to make current EOS message queue more generic.
11410         Fix some typos.
11411
11412         * gst/gstevent.c: (gst_event_new_newsegment),
11413         (gst_event_parse_newsegment):
11414         * gst/gstevent.h:
11415         Rename base to stream_time.
11416
11417         * gst/gstmessage.h:
11418         Fix typo in docs.
11419
11420 2005-10-11  Wim Taymans  <wim@fluendo.com>
11421
11422         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
11423         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
11424         (gst_bin_change_state_func), (bin_bus_handler):
11425         * gst/gstbin.h:
11426         Work on proper clock selection.
11427
11428 2005-10-11  Edward Hervey  <edward@fluendo.com>
11429
11430         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
11431         * libs/gst/controller/gstcontroller.h:
11432         Added GList* version of _remove_properties() in order to be able to wrap
11433         it in bindings.
11434
11435 2005-10-11  Wim Taymans  <wim@fluendo.com>
11436
11437         * docs/design/part-states.txt:
11438         Some more docs.
11439
11440         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
11441         (gst_bin_change_state_func), (bin_bus_handler):
11442         Doc updates. Don't distribute the same clock over and over again.
11443
11444         * gst/gstclock.c:
11445         * gst/gstclock.h:
11446         Doc updates.
11447
11448         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
11449         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
11450         (gst_pad_send_event):
11451         * gst/gstpad.h:
11452         Make probe emission threadsafe again.
11453         Register quarks and move _get_name() from utils.
11454         Doc updates.
11455
11456         * gst/gstpipeline.c: (gst_pipeline_class_init),
11457         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
11458         Only redistribute the clock of it changed.
11459
11460         * gst/gstsystemclock.h:
11461         Doc updates. 
11462
11463         * gst/gstutils.c:
11464         * gst/gstutils.h:
11465         Moved the _flow_get_name() to GstPad.
11466
11467 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11468
11469         * check/gst-libs/gdp.c: (GST_START_TEST):
11470         * check/gst/gstcaps.c: (GST_START_TEST):
11471         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
11472         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
11473         (gst_dp_packet_from_caps):
11474           fix more valgrind warnings before turning up the heat
11475
11476 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11477
11478         * gst/parse/grammar.y:
11479           some cleanup before the hacking
11480
11481 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11482
11483         * gst/base/gstbasesrc.c: (gst_base_src_query):
11484           use conversions
11485         * gst/gstutils.c: (gst_guint64_to_gdouble),
11486         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
11487         * gst/gstutils.h:
11488           externalize, basesrc uses it
11489           obviously the implementation needs testing
11490
11491 2005-10-10  Wim Taymans  <wim@fluendo.com>
11492
11493         * tests/sched/Makefile.am:
11494         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
11495         (make_pipeline3), (make_pipeline4), (print_elem), (main):
11496
11497 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11498
11499         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
11500           apparently converting from guint64 to double is not implemented
11501           on MSVC
11502
11503 2005-10-10  Wim Taymans  <wim@fluendo.com>
11504
11505         * check/Makefile.am:
11506         * check/generic/states.c: (GST_START_TEST):
11507         * check/gst/gstbin.c: (GST_START_TEST):
11508         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11509         * check/states/sinks.c: (GST_START_TEST):
11510         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
11511         (main):
11512         Check fixes, use API as stated in design docs, remove hacks.
11513
11514         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11515         (gst_base_sink_change_state):
11516         Catch stopping our task while we're shutting down.
11517
11518         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
11519         (gst_bin_remove_func), (gst_bin_get_state_func),
11520         (gst_bin_recalc_state), (gst_bin_change_state_func),
11521         (bin_bus_handler):
11522         * gst/gstbin.h:
11523         * gst/gstelement.c: (gst_element_init),
11524         (gst_element_get_state_func), (gst_element_abort_state),
11525         (gst_element_commit_state), (gst_element_lost_state),
11526         (gst_element_set_state), (gst_element_change_state),
11527         (gst_element_change_state_func):
11528         * gst/gstelement.h:
11529         New state change algorithm (see #318116)
11530
11531         * gst/gstpipeline.c: (gst_pipeline_class_init),
11532         (gst_pipeline_init), (gst_pipeline_set_property),
11533         (gst_pipeline_get_property), (do_pipeline_seek),
11534         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
11535         * gst/gstpipeline.h:
11536         Remove crude state change hacks.
11537
11538         * gst/gstutils.h:
11539         Remove crude hacks.
11540
11541         * tools/gst-launch.c: (main):
11542         Fixes for state change. Needs some more work to fully use the
11543         new stuff.
11544
11545 2005-10-10  Andy Wingo  <wingo@pobox.com>
11546
11547         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
11548
11549         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
11550         this flag, but it's not even in GLib 2.6. Odd. Hack around the
11551         issue.
11552
11553 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
11554
11555         * gst/gstiterator.c: (gst_iterator_new):
11556           Fix my previous commit: GTypes passed to gst_iterator_new()
11557           can be fundamental types.
11558
11559 2005-10-10  Wim Taymans  <wim@fluendo.com>
11560
11561         * gst/gstelement.c: (gst_element_iterate_pad_list),
11562         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
11563         (gst_element_iterate_sink_pads):
11564         Use src/sink pads lists for the respective iterators instead
11565         of filtering.
11566
11567 2005-10-10  Andy Wingo  <wingo@pobox.com>
11568
11569         Merged in popt removal + GOption addition patch from Ronald, bug
11570         #169772.
11571
11572         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
11573         GstElement macros around, remove popt-related symbols, add goption
11574         stuff.
11575
11576         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
11577         
11578         * docs/gst/Makefile.am:
11579         * docs/libs/Makefile.am: No POPT_CFLAGS.
11580         
11581         * examples/manual/Makefile.am:
11582         * docs/manual/basics-init.xml: Doc updates with an example.
11583         
11584         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
11585         (gst_init), (parse_one_option), (parse_goption_arg):
11586         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
11587         bit of hand merging and debugging to get the GOption stuff working
11588         tho.
11589         
11590         * tests/Makefile.am:
11591         * tools/Makefile.am:
11592         * tools/gst-inspect.c: (main):
11593         * tools/gst-launch.c: (main):
11594         * tools/gst-run.c: (main):
11595         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
11596
11597 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
11598
11599         * gst/gstiterator.c: (gst_iterator_new):
11600           Add assertions to make sure passed GType is likely to really
11601           be a GType (as the compiler won't catch it if the size and
11602           GType arguments get mixed up, see #318447).
11603
11604 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
11605
11606         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11607
11608         * gst/gstbin.c: (gst_bin_iterate_sorted):
11609           Pass GType and size arguments to gst_iterator_new() in the right
11610           order (maybe we should make _new() take the GType as first argument
11611           just like _new_list()?) (#318447).
11612           
11613
11614 2005-10-10  Wim Taymans  <wim@fluendo.com>
11615
11616         * gst/gstelement.c: (gst_element_finalize):
11617         And free the GStaticRecMutex too
11618
11619 2005-10-10  Andy Wingo  <wingo@pobox.com>
11620
11621         * gst/gstelement.c (gst_element_init, gst_element_finalize):
11622         Allocate and free the mutex properly.
11623
11624         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
11625         New macros.
11626         (GstElement): The state_lock is now recursive. Rebuild your
11627         plugins, suckers. Old macros adapted.
11628
11629         * docs/gst/gstreamer-sections.txt: Doc updates.
11630
11631         * gst/gstutils.h:
11632         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
11633         (g_static_rec_cond_wait): Ported from state changes patch, while
11634         we wait on bug #317802 to be solved in a well-distributed GLib.
11635
11636         * gst/gstelement.c (gst_element_change_state_func): Renamed from
11637         gst_element_change_state, variable name changes.
11638         (gst_element_change_state): Split out of gst_element_set_state in
11639         preparation for the state change merge. Doesn't pay attention to
11640         the 'transition' argument.
11641         (gst_element_set_state): Updates, hopefully purely cosmetic.
11642         (gst_element_sync_state_with_parent): MT-safety. Ported from the
11643         state change patch.
11644         (gst_element_get_state_func): Renamed from get_state, cosmetic
11645         changes.
11646
11647 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11648
11649         * gst/elements/gstelements.c:
11650         * win32/GStreamer.vcproj:
11651         * win32/config.h:
11652         * win32/dirent.c: (_tseekdir):
11653         * win32/gst-inspect.vcproj:
11654         * win32/gst-launch.vcproj:
11655         * win32/gstconfig.h:
11656         * win32/gstelements.vcproj:
11657         * win32/gstenumtypes.c: (gst_object_flags_get_type):
11658         * win32/gstreamer.def:
11659         * win32/msvc71.sln:
11660           updates for the win32 build (patch from Sebastien Moutte)
11661
11662 2005-10-10  Andy Wingo  <wingo@pobox.com>
11663
11664         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
11665         gst_bin_get_state, cleaned up (but no logic changes).
11666         (bin_element_is_sink): Comment updates.
11667         (sink_iterator_filter): Remove needless cast.
11668         (gst_bin_iterate_sinks): Doc update.
11669         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
11670         cleaned up (but no logic changes).
11671
11672         * check/states/sinks.c (test_src_sink): Cleanups from the state
11673         change patch.
11674         (test_livesrc_sink): Sync on the state.
11675
11676         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
11677         the state change patch.
11678
11679         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
11680         change patch.
11681
11682         * check/gst/gstbin.c: Merge in some style fixes and additional
11683         checks from Wim's state change patch.
11684
11685 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
11686
11687         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11688         (gst_type_find_helper):
11689           Check whether we have the requested data already in our list of
11690           cached buffers before pulling a new buffer; also make the buffer
11691           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
11692
11693 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11694
11695         * gst/gstcaps.c:
11696         * gst/gstevent.c:
11697           doc updates
11698         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11699           don't use long long, it's not portable.  Replacing with
11700           gint64 seems to work; let's hope no skeletons fall out of the closet.
11701
11702 2005-10-10  Andy Wingo  <wingo@pobox.com>
11703
11704         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
11705
11706 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
11707
11708         * docs/gst/gstreamer-sections.txt:
11709         * gst/gstevent.c:
11710         * gst/gstevent.h:
11711         * gst/gstinfo.c:
11712         * gst/gstinfo.h:
11713         * gst/gstmessage.c: (gst_message_parse_state_changed):
11714         * gst/gstpad.c:
11715         * gst/gstpad.h:
11716           more docs, fix compilation
11717
11718 2005-10-09  Philippe Khalaf <burger@speedy.org>
11719         * gst/gstmessage.c:
11720           Fixed a few forgotten variables on previous commit
11721
11722 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
11723
11724         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11725           Fix evil typefind crasher: getrange() might return a short
11726           buffer at the end of a file, but gst_type_find_peek() must
11727           either return the full data as requested or NULL, but
11728           never a short buffer.
11729
11730 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11731
11732         * gst/gstmessage.c: (gst_message_new_state_changed),
11733         (gst_message_parse_state_changed):
11734         * gst/gstmessage.h:
11735           don't use "new", it's a C++ keyword
11736
11737 2005-10-08  Wim Taymans  <wim@fluendo.com>
11738
11739         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
11740         * gst/gstelement.c: (gst_element_post_message):
11741         * gst/gstpipeline.c: (gst_pipeline_change_state):
11742         Small docs and debug updates.
11743
11744 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
11745
11746         * docs/gst/gstreamer-sections.txt:
11747         * gst/gstelementfactory.c:
11748         * gst/gstevent.c:
11749         * gst/gsttaglist.c:
11750           more docs
11751
11752 2005-10-08  Wim Taymans  <wim@fluendo.com>
11753
11754         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
11755         (gst_bin_dispose), (bin_bus_handler):
11756         Fix typos, add comments.
11757         Clear EOS list when going to PAUSED from any direction and do it
11758         in a threadsafe way.
11759         Get base time in a threadsafe way too.
11760         Fix confusing debug in the change_state function.
11761         Various other small cleanups.
11762         
11763         * gst/gstelement.c: (gst_element_post_message):
11764         Fix very verbose bus posting code.
11765
11766         * gst/gstpipeline.c: (gst_pipeline_class_init),
11767         (gst_pipeline_set_property), (gst_pipeline_get_property),
11768         (gst_pipeline_change_state):
11769         Small ARG_ -> PROP_ cleanup
11770
11771 2005-10-08  Wim Taymans  <wim@fluendo.com>
11772
11773         * gst/gstbin.c: (is_eos), (bin_bus_handler):
11774         Do a less CPU demanding EOS check because we can.
11775
11776 2005-10-08  Wim Taymans  <wim@fluendo.com>
11777
11778         * libs/gst/dataprotocol/dataprotocol.c:
11779         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
11780         (gst_dp_packet_from_event):
11781         * libs/gst/dataprotocol/dataprotocol.h:
11782         * libs/gst/dataprotocol/dp-private.h:
11783         It's about time we bump the version number.
11784         Since event types don't fit in the guint8 anymore describing
11785         the payload type, make payload type 16 bits wide.
11786
11787 2005-10-08  Wim Taymans  <wim@fluendo.com>
11788
11789         * docs/design/part-TODO.txt:
11790         * docs/design/part-clocks.txt:
11791         * docs/design/part-events.txt:
11792         * docs/design/part-gstbin.txt:
11793         * docs/design/part-gstelement.txt:
11794         * docs/design/part-gstpipeline.txt:
11795         * docs/design/part-live-source.txt:
11796         * docs/design/part-messages.txt:
11797         * docs/design/part-overview.txt:
11798         * docs/design/part-states.txt:
11799         Many doc updates.
11800
11801 2005-10-08  Wim Taymans  <wim@fluendo.com>
11802
11803         * gst/gstevent.c:
11804         * gst/gstevent.h:
11805         Fix event quark registration.
11806         Add some space between events so we can insert them in the
11807         right groups.
11808
11809 2005-10-08  Wim Taymans  <wim@fluendo.com>
11810
11811         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11812         (gst_base_sink_handle_buffer):
11813         Better log message.
11814
11815         * gst/gstbus.h:
11816         * gst/gstelement.h:
11817         More docs.
11818
11819         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11820         (gst_queue_set_property), (gst_queue_get_property):
11821         * gst/gstqueue.h:
11822         Remove old unused properties.
11823
11824 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
11825         * docs/gst/gstreamer-sections.txt:
11826         * gst/gstmessage.c:
11827         * gst/gstmessage.h:
11828         * gst/gstminiobject.c:
11829         * gst/gstminiobject.h:
11830         * gst/gstobject.h:
11831         * gst/gstpad.h:
11832         * gst/gstutils.h:
11833           lots of new docs and doc fixes
11834
11835 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11836
11837         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
11838         * gst/gstplugin.h:
11839         * gst/gstregistry.c: (gst_registry_lookup_locked),
11840         (gst_registry_scan_path_level):
11841         * gst/gstregistryxml.c: (load_plugin):
11842           Only ever load one plugin for a given plugin basename.
11843           This ensures correct overriding of GST_PLUGIN_PATH over
11844           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
11845           system installed plugins.
11846
11847 2005-10-08  Wim Taymans  <wim@fluendo.com>
11848
11849         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11850         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
11851         Prepare for doing QOS.
11852
11853 2005-10-08  Wim Taymans  <wim@fluendo.com>
11854
11855         * check/gst/gstbin.c: (GST_START_TEST):
11856         * check/pipelines/cleanup.c: (GST_START_TEST):
11857         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
11858         Allow new clock message too.
11859
11860 2005-10-08  Wim Taymans  <wim@fluendo.com>
11861
11862         * gst/gstmessage.c: (gst_message_new_error),
11863         (gst_message_new_warning), (gst_message_new_tag),
11864         (gst_message_new_state_changed), (gst_message_new_clock_provide),
11865         (gst_message_new_clock_lost), (gst_message_new_new_clock),
11866         (gst_message_new_segment_start), (gst_message_new_segment_done),
11867         (gst_message_parse_state_changed),
11868         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
11869         (gst_message_parse_new_clock):
11870         * gst/gstmessage.h:
11871         Also carry the clock in question.
11872
11873 2005-10-08  Wim Taymans  <wim@fluendo.com>
11874
11875         * gst/gstmessage.c: (gst_message_new_custom),
11876         (gst_message_new_eos), (gst_message_new_error),
11877         (gst_message_new_warning), (gst_message_new_tag),
11878         (gst_message_new_state_changed), (gst_message_new_clock_provide),
11879         (gst_message_new_new_clock), (gst_message_new_segment_start),
11880         (gst_message_new_segment_done), (gst_message_parse_state_changed),
11881         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
11882         * gst/gstmessage.h:
11883         Clean up.
11884         Added clock related messages.
11885
11886         * gst/gstpipeline.c: (gst_pipeline_change_state):
11887         Post message when the clock changed.
11888
11889         * tools/gst-launch.c: (event_loop):
11890         Print new clock.
11891
11892 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
11893
11894         * tools/gst-inspect.c: (print_element_properties_info):
11895           Can't pass NULL strings to g_print() on windows.
11896
11897 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11898
11899         * docs/Makefile.am:
11900         * docs/gst/Makefile.am:
11901         * docs/gst/gstreamer-docs.sgml:
11902         * docs/gst/running.xml:
11903         * docs/version.entities.in:
11904           add a chapter on running GStreamer.
11905           document GST_DEBUG and GST_PLUGIN* env vars
11906
11907 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11908
11909         * Makefile.am:
11910           remove include dir
11911         * configure.ac:
11912           remove PLUGINS_BUILDDIR stuff
11913         * gst/gst.c: (init_post):
11914           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
11915         * idiottest.mak:
11916           remove, it was condescending and not needed
11917
11918 2005-10-08  Wim Taymans  <wim@fluendo.com>
11919
11920         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
11921         (gst_base_sink_handle_object), (gst_base_sink_event),
11922         (gst_base_sink_wait), (gst_base_sink_handle_event),
11923         (gst_base_sink_change_state):
11924         * gst/base/gstbasesink.h:
11925         Repost EOS message while going to PLAYING if still EOS.
11926         Make sure that when receiving a FLUSH_START we don't attempt
11927         to sync on the clock anymore.
11928
11929 2005-10-08  Wim Taymans  <wim@fluendo.com>
11930
11931         * tools/gst-launch.c: (event_loop):
11932         Better message printout.
11933
11934 2005-10-08  Wim Taymans  <wim@fluendo.com>
11935
11936         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
11937         (gst_bin_child_proxy_get_children_count):
11938         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
11939         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
11940         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
11941         (gst_child_proxy_set_valist):
11942         * gst/parse/grammar.y:
11943         Make ChildProxy threadsafe and fix mem leaks.
11944
11945 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11946
11947         * gst/gst.c: (init_post):
11948           debug the GST_PLUGIN_ env vars
11949
11950 2005-10-08  Wim Taymans  <wim@fluendo.com>
11951
11952         * check/gst/gstbin.c: (GST_START_TEST):
11953         * check/gst/gstmessage.c: (GST_START_TEST):
11954         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
11955         * gst/gstelement.c: (gst_element_commit_state),
11956         (gst_element_lost_state):
11957         * gst/gstmessage.c: (gst_message_new_state_changed),
11958         (gst_message_parse_state_changed):
11959         * gst/gstmessage.h:
11960         * tools/gst-launch.c: (event_loop):
11961         Added extra field to STATE_CHANGE message with the pending
11962         state, which will be different from the new state soon.
11963
11964 2005-10-08  Wim Taymans  <wim@fluendo.com>
11965
11966         * gst/gstbus.c: (gst_bus_pop):
11967         * gst/gstclock.c:
11968         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
11969         Small cleanups and doc updates.
11970
11971 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11972
11973         * gst/gst.c: (init_pre):
11974         * gst/gstbin.c: (gst_bin_add_func):
11975           log distributing clocks and base time
11976         * gst/gstregistry.c: (gst_registry_add_plugin),
11977         (gst_registry_scan_path_level), (gst_registry_scan_path):
11978           clean up the debugging output a little
11979         * gst/gstutils.c: (gst_element_state_get_name):
11980           warn about a memleak (I've actually seen this be used, though
11981           it was probably a bug)
11982
11983 2005-10-07  Wim Taymans  <wim@fluendo.com>
11984
11985         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11986         (gst_base_src_init), (gst_base_src_default_newsegment),
11987         (gst_base_src_newsegment), (gst_base_src_do_seek),
11988         (gst_base_src_loop), (gst_base_src_start):
11989         * gst/base/gstbasesrc.h:
11990         Make the newsegment event customizable by subclasses.
11991
11992 2005-10-07  Wim Taymans  <wim@fluendo.com>
11993
11994         * gst/gstevent.c: (gst_event_new_buffersize),
11995         (gst_event_parse_buffersize):
11996         * gst/gstevent.h:
11997         New event for future idea.
11998
11999 2005-10-07  Andy Wingo  <wingo@pobox.com>
12000
12001         * gst/gstelement.c (gst_element_post_message): Doc update.
12002
12003         * docs/gst/gstreamer-sections.txt: Update.
12004
12005         * gst/gstmessage.c (gst_message_new_application): Made into a
12006         function like honest API calls.
12007         (gst_message_new_element): New message type.
12008
12009         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
12010
12011         * check/elements/fakesrc.c (test_no_preroll): New check, checks
12012         that setting a live fakesrc to PAUSED returns NO_PREROLL both
12013         times.
12014
12015         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
12016         NO_PREROLL from gst_element_change_state to fall through.
12017
12018 2005-10-07  Wim Taymans  <wim@fluendo.com>
12019
12020         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
12021         (gst_ghost_pad_do_activate_push):
12022         Activating a ghostpad with no internal pad in push mode
12023         is ok.
12024
12025 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12026
12027         * gst/gstobject.h:
12028           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
12029           Fixes compilation on Windows.
12030
12031 2005-10-07  Michael Smith <msmith@fluendo.com>
12032
12033         * tools/gst-inspect.c:
12034           Print out feature and plugin count at the end when printing out
12035           all features.
12036
12037 2005-10-04  Michael Smith <msmith@fluendo.com>
12038
12039         * gst/gsterror.c: (_gst_stream_errors_init):
12040           Add another error string used in a few existing plugins.
12041
12042         * gst/gstplugin.c:
12043         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
12044         * tools/gst-inspect.c: (print_element_info):
12045           When a feature disappears from a plugin (and the feature exists in
12046           the cached registry file), things went horribly wrong. This isn't a
12047           complete fix, we should actually be removing the 'missing' features
12048           from the features list when we load the actual plugin. That's not
12049           yet implemented. 
12050
12051 2005-10-04  Johan Dahlin  <johan@gnome.org>
12052
12053         * check/gst/gstiterator.c: (GST_START_TEST):
12054         * gst/gstbin.c: (gst_bin_iterate_elements),
12055         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
12056         * gst/gstelement.c: (gst_element_iterate_pads):
12057         * gst/gstformat.c: (gst_format_iterate_definitions):
12058         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12059         (gst_iterator_new_list), (gst_iterator_filter):
12060         * gst/gstiterator.h:
12061         * gst/gstquery.c: (gst_query_type_iterate_definitions):
12062         Add a GType to GstIterator, update callsites and tests.
12063
12064 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12065
12066         * gst/gstpad.c: (gst_pad_event_default_dispatch):
12067           give events a chance to be handled by event probes when the pad
12068           is not linked
12069
12070 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12071
12072         * gst/gstevent.c: (gst_event_type_get_name),
12073         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
12074         * gst/gstevent.h:
12075           add string representations for event types
12076
12077 2005-10-06  Wim Taymans  <wim@fluendo.com>
12078
12079         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
12080         Don't use NULL pointers.
12081
12082 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12083
12084         * gst/gst_private.h:
12085         * gst/gstbus.c:
12086         * gst/gstelement.c:
12087         * gst/gstinfo.c:
12088         * gst/gstpluginfeature.c:
12089           widen the debug category in output to fit the biggest one we have
12090           add a bus category and use it
12091           play with the colors
12092           fix up some categories
12093
12094 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12095
12096         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
12097           add push activation of sink ghost pads.
12098           Andye, please verify
12099
12100 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12101
12102         * gst/gstutils.c: (gst_element_link_pads):
12103           fix a bug in the case where neither element has a pad
12104         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
12105           add a test for that case
12106
12107 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12108
12109         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
12110           emit have-data before checking for peers.  This allows
12111           for probe handlers to connect elements.  This helps autopluggers.
12112         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
12113         (gst_pad_suite):
12114           add six checks, linked/unlinked with no/true/false probe
12115
12116 2005-10-04  Wim Taymans  <wim@fluendo.com>
12117
12118         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
12119         (gst_fake_sink_event), (gst_fake_sink_preroll),
12120         (gst_fake_sink_render), (gst_fake_sink_change_state):
12121         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
12122         (gst_fake_src_get_property), (gst_fake_src_create),
12123         (gst_fake_src_stop):
12124         * gst/elements/gstidentity.c: (gst_identity_stop):
12125         Protect last_message with lock.
12126
12127 2005-10-04  Edward Hervey  <edward@fluendo.com>
12128
12129         * gst/gstformat.h: 
12130         Added precision in the comments for GST_FORMAT_DEFAULT
12131
12132 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
12133
12134         * tools/gst-launch.c: (main):
12135           Don't try to run erroneous pipelines.
12136
12137 2005-10-04  Julien MOUTTE  <julien@moutte.net>
12138
12139         * gst/gstbus.c: We don't need this header.
12140
12141 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12142
12143         * configure.ac:
12144           back to development
12145
12146 === release 0.9.3 ===
12147
12148 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12149
12150         * README:
12151         * configure.ac:
12152           Releasing 0.9.3, "Unregistered"
12153
12154 2005-10-03  Andy Wingo  <wingo@pobox.com>
12155
12156         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
12157         whereby calling a pad's activatepush() function can start a thread
12158         that starts to push or pull before the pad gets the FLUSHING flag
12159         unset. Hack around it by holding the stream lock until the flag is
12160         set. Need to replace this with a proper solution. Together with
12161         the ghost pad fixes, this fixes mp3 playing/tagreading.
12162
12163         * docs/design/part-gstghostpad.txt: Add a note about activation of
12164         proxy pads outside of ghost pads.
12165
12166         * gst/gstghostpad.c: Implement the ghost pad activation design.
12167
12168 2005-10-02  Andy Wingo  <wingo@pobox.com>
12169
12170         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
12171         It is volatile, after all.
12172
12173         * docs/design/part-gstghostpad.txt: Flesh out activation with
12174         ghost pads.
12175
12176         * gst/base/gstbasesrc.c (gst_base_src_init): Use
12177         GST_DEBUG_FUNCPTR.
12178
12179 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12180
12181         * configure.ac:
12182           Fix (unused) AM_CONDITIONAL tests.
12183
12184 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
12185
12186         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12187
12188         * gst/gstutils.c: (gst_pad_query_convert):
12189           Add assertion that makes sure src_val is >=0, just like
12190           gst_query_new_convert() has. (#315895)
12191
12192 2005-09-30  Edward Hervey  <edward@fluendo.com>
12193
12194         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
12195         Let's not iterate pads we're not interested in, it avoids getting 
12196         sky-high refcounts on sinkpad.
12197
12198 2005-09-30  Wim Taymans  <wim@fluendo.com>
12199
12200         * gst/gstelement.c: (gst_element_set_state),
12201         (gst_element_change_state):
12202         Small tweak, element in ASYNC remains ASYNC.
12203
12204 2005-09-30  Wim Taymans  <wim@fluendo.com>
12205
12206         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
12207         Only error is an error.
12208
12209         * gst/gstbin.c: (gst_bin_change_state):
12210         Better debugging.
12211
12212         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
12213         Also call pad_block in pad alloc.
12214
12215         * gst/gstutils.c: (gst_flow_get_name):
12216         Better debugging.
12217
12218 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12219
12220         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12221         (gst_base_src_get_range):
12222           Fix documentation typos. Add some more debug info.
12223
12224 2005-09-29  David Schleef  <ds@schleef.org>
12225
12226         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
12227           more end-user friendly.
12228         * tools/gst-inspect.c: (main): Check if command-line argument is
12229           a file and attempt to load that file as a plugin.
12230
12231 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12232
12233         * check/gst/gstbin.c:
12234         * check/states/sinks.c:
12235           fix tests for the new warning
12236         * check/gst/gstpipeline.c:
12237           add a test for pipeline and bus interaction
12238         * gst/gstelement.c:
12239           elements should be NULL if they get disposed; add a warning if not
12240
12241 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12242
12243         * gst/gstobject.c:
12244           for 2.6 refcounting, make debug log more correct by printing
12245           the actual refcounts at the time of swap (Wim)
12246
12247 2005-09-29  Andy Wingo  <wingo@pobox.com>
12248
12249         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
12250         removes signal watches previously added via
12251         gst_bus_add_signal_watch.
12252         (gst_bus_add_signal_watch): Don't return the source id, just store
12253         it on the bus if there wasn't an id already.
12254
12255         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
12256         add_signal_watch and remove_signal_watch.
12257
12258 2005-09-29  Edward Hervey  <edward@fluendo.com>
12259
12260         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
12261         Better if we actually iterate the list :)
12262
12263 2005-09-29  Wim Taymans  <wim@fluendo.com>
12264
12265         * check/gst/gstbin.c: (GST_START_TEST):
12266         Change for new bus API.
12267
12268         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
12269         (send_messages), (GST_START_TEST), (gstbus_suite):
12270         Change for new bus signal API.
12271
12272         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
12273         (gst_bus_source_prepare), (gst_bus_source_check),
12274         (gst_bus_create_watch), (gst_bus_add_watch_full),
12275         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
12276         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
12277         * gst/gstbus.h:
12278         Remove support for multiple GSources operating on different
12279         message types as it is too complex and unneeded when using
12280         signals.
12281         Added support for receiving signals from the bus.
12282
12283 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12284
12285         * docs/libs/tmpl/gstdataprotocol.sgml:
12286         * docs/manual/advanced-dataaccess.xml:
12287         * gst/elements/gstcapsfilter.c:
12288         * gst/gstutils.c:
12289           rename filter-caps to caps property
12290
12291 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12292
12293         * gst/gstvalue.c: (gst_value_deserialize_fraction):
12294           More robust fraction string parsing.
12295
12296         * docs/pwg/appendix-porting.xml:
12297           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
12298
12299 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12300
12301         * gst/gstcaps.c: (gst_caps_do_simplify):
12302           Thou shalt not free a structure and then continue using it
12303           in the next loop iteration.
12304
12305         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
12306         (gst_caps_suite):
12307           Add test case for caps simplification.
12308
12309 2005-09-29  Wim Taymans  <wim@fluendo.com>
12310
12311         * check/gst/gstbin.c: (GST_START_TEST):
12312         Oops.
12313
12314 2005-09-29  Wim Taymans  <wim@fluendo.com>
12315
12316         * check/gst/gstbin.c: (GST_START_TEST):
12317         Add bus to bin.
12318
12319         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
12320         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
12321         (find_element), (gst_bin_sort_iterator_next),
12322         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12323         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12324         (gst_bin_change_state), (gst_bin_dispose):
12325         A bin does not have a bus, it gets the bus from the parent.
12326
12327         * gst/gstelement.c: (gst_element_requires_clock),
12328         (gst_element_provides_clock), (gst_element_is_indexable),
12329         (gst_element_is_locked_state), (gst_element_change_state),
12330         (gst_element_set_bus_func):
12331         Small cleanups.
12332
12333         * gst/gstpipeline.c: (gst_pipeline_class_init),
12334         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
12335         The pipeline provides a bus.
12336
12337 2005-09-28  Johan Dahlin  <johan@gnome.org>
12338
12339         * gst/gstmessage.c (gst_message_parse_state_changed): Use
12340         gst_structure_get_enum instead of gst_structure_get_int
12341
12342         * gst/gststructure.c (gst_structure_get_enum): Impl.
12343
12344         * gst/gststructure.h (gst_structure_get_enum): Add
12345
12346         * docs/gst/gstreamer-sections.txt: Ditto
12347
12348         * gst/gstmessage.c (gst_message_new_state_changed): Use
12349         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
12350         which does introspection.
12351         Reviewed by Christian Schaller
12352
12353 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
12354
12355         * gst/gstinfo.c: (gst_debug_log_default):
12356           don't do dummy g_strdup()s
12357         * libs/gst/controller/gstcontroller.c:
12358         (on_object_controlled_property_changed),
12359         (gst_controlled_property_new), (gst_controller_new_valist),
12360         (gst_controller_new_list),
12361         (gst_controller_remove_properties_valist), (gst_controller_set),
12362         (gst_controller_get), (gst_controller_sync_values),
12363         (gst_controller_get_value_array), (_gst_controller_class_init),
12364         (gst_controller_get_type):
12365         * libs/gst/controller/gstcontroller.h:
12366         * libs/gst/controller/gstinterpolation.c:
12367         (gst_controlled_property_find_timed_value_node):
12368           convert // to /**/ comments
12369
12370 2005-09-28  Wim Taymans  <wim@fluendo.com>
12371
12372         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
12373         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
12374         (gst_bus_sync_signal_handler):
12375         * gst/gstbus.h:
12376         Added async-message and sync-message signals to the bus.
12377         Added helper BusFunc to emit signals for all posted messages.
12378
12379         * gst/gstmessage.c: (gst_message_type_get_name),
12380         (gst_message_type_to_quark), (gst_message_get_type):
12381         * gst/gstmessage.h:
12382         Register quarks for message names.
12383
12384 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
12385
12386         * docs/libs/gstreamer-libs-sections.txt:
12387         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12388         (gst_controller_new_list):
12389         * libs/gst/controller/gstcontroller.h:
12390           added another constructor for language bindings
12391
12392 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12393
12394         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
12395           add another check
12396         * gst/gstbus.c:
12397           add some doc
12398         * gst/gstinfo.c: (_gst_debug_init):
12399           slightly more readable color for refcount debugging
12400
12401 2005-09-28  Wim Taymans  <wim@fluendo.com>
12402
12403         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
12404         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
12405         (find_element), (gst_bin_sort_iterator_next),
12406         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12407         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12408         (gst_bin_change_state), (gst_bin_dispose):
12409         Small doc fixes. get_clock -> provide_clock.
12410
12411         * gst/gstelement.c: (gst_element_class_init),
12412         (gst_element_provides_clock), (gst_element_provide_clock),
12413         (gst_element_get_clock), (gst_element_commit_state),
12414         (gst_element_lost_state):
12415         * gst/gstelement.h:
12416         Make get/set_clock() symetric. Add provide_clock vmethod since
12417         that is actually what this function does.
12418
12419         * gst/gstpipeline.c: (gst_pipeline_class_init),
12420         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
12421         (gst_pipeline_get_clock):
12422         get_clock -> provide_clock.
12423
12424 2005-09-28  Andy Wingo  <wingo@pobox.com>
12425
12426         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
12427         lieu of real docs...
12428
12429         * gst/elements/gstfdsrc.c: Cleaned up a bit.
12430
12431 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
12432
12433         * gst/elements/gstcapsfilter.c:
12434         * gst/elements/gstfakesink.c:
12435         * gst/elements/gstfakesrc.c:
12436         * gst/elements/gstfdsink.c:
12437         * gst/elements/gstfdsrc.c:
12438         * gst/elements/gstfilesink.c:
12439         * gst/elements/gstfilesrc.c:
12440         * gst/elements/gstidentity.c:
12441         * gst/elements/gsttee.c:
12442         * gst/elements/gsttypefindelement.c:
12443           Make element details static.
12444
12445 2005-09-28  Wim Taymans  <wim@fluendo.com>
12446
12447         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12448         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12449         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12450         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12451         (gst_bin_change_state), (gst_bin_dispose):
12452         Some documentation updates.
12453         Clean up dispose handlers.
12454
12455         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
12456         * gst/gstpad.c: (gst_pad_dispose):
12457         Clean up dispose handler.
12458
12459         * gst/gstpipeline.c: (gst_pipeline_change_state):
12460         Removed spurious UNLOCK.
12461
12462 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
12463
12464         * docs/gst/gstreamer-sections.txt:
12465         * gst/base/gstbasesrc.h:
12466         * gst/gstelement.h:
12467         * gst/gstevent.h:
12468         * gst/gstobject.h:
12469         * gst/gstpad.h:
12470         * gst/gstpipeline.c:
12471         * gst/gstpipeline.h:
12472         * gst/gstutils.h:
12473         * gst/gstxml.h:
12474           added two new functions to the docs
12475                 documents all undocumented GstXXXFlags
12476                 completed some incomplete docs 
12477
12478 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12479
12480         * gst/gstbin.c: (gst_bin_dispose):
12481         * gst/gstelement.c: (gst_element_dispose):
12482           remove now useless and leaky resurrection code in dispose
12483         * gst/base/gstbasesrc.c: (gst_base_src_init):
12484         * gst/gstelementfactory.c: (gst_element_factory_create):
12485         * gst/gstobject.c: (gst_object_set_parent):
12486           add some debugging
12487
12488 2005-09-27  Wim Taymans  <wim@fluendo.com>
12489
12490         * docs/design/part-TODO.txt:
12491         Update TODO.
12492
12493         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12494         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12495         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12496         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12497         (gst_bin_change_state):
12498         * gst/gstelement.h:
12499         Remove element variable, we keep element info in the iterator now.
12500
12501 2005-09-27  Andy Wingo  <wingo@pobox.com>
12502
12503         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
12504         values.
12505
12506 2005-09-27  Wim Taymans  <wim@fluendo.com>
12507
12508         * check/gst/gstbin.c: (GST_START_TEST):
12509         Enable check that works now.
12510
12511         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12512         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12513         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12514         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12515         (gst_bin_change_state):
12516         * gst/gstbin.h:
12517         Redid the state change algorithm using a topological sort algo.
12518         Handles all cases correctly.
12519         Exposed iterator for state change order.
12520
12521         * gst/gstelement.h:
12522         Temp storage for state changes. Need to get rid of this soon.
12523
12524 2005-09-27  Wim Taymans  <wim@fluendo.com>
12525
12526         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
12527         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
12528         (link_fold_func), (gst_pad_proxy_setcaps):
12529         Leak fixes, the fold functions need to unref the passed object and
12530         _get_parent_*() returns ref to parent.
12531
12532 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12533
12534         * check/gst/gstbuffer.c: (test_make_writable):
12535           Plug leak in test case and fix 'make check-valgrind'
12536
12537 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12538
12539         * gst/gstbuffer.c: (gst_subbuffer_init):
12540           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
12541           works correctly in all circumstances (we could have just copied
12542           the parent buffer's readonly flag, but conceptually it seems
12543           cleaner to mark all subbuffers as read-only). (based on patch
12544           by Alessandro Decina, #314710).
12545         
12546         * check/gst/gstbuffer.c: (create_read_only_buffer),
12547         (test_make_writable), (test_subbuffer_make_writable),
12548         (gst_test_suite):
12549           Add some tests for gst_buffer_make_writable().
12550
12551 2005-09-27  Wim Taymans  <wim@fluendo.com>
12552
12553         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
12554         use gst_object_has_ancestor().
12555
12556         * gst/gstobject.c: (gst_object_has_ancestor):
12557         * gst/gstobject.h:
12558         gst_object_has_ancestor() copied from gstbin.c as it is a
12559         usefull function.
12560
12561         * tests/instantiate/create.c: (create_all_elements):
12562         * tests/lat.c: (handoff_src), (handoff_sink):
12563         * tests/sched/runxml.c: (main):
12564         * tests/seeking/seeking1.c: (main):
12565         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
12566         (main):
12567         Fix compilation of some tests.
12568
12569 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12570
12571         * gst/gsterror.h:
12572           Remove comment. GST_TYPE_G_ERROR is here to stay,
12573           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
12574           (#316961, #300610).
12575
12576 2005-09-26  Wim Taymans  <wim@fluendo.com>
12577
12578         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12579         Added check that shows error in state change order.
12580
12581 2005-09-26  Wim Taymans  <wim@fluendo.com>
12582
12583         * gst/gstbin.c: (gst_bin_change_state):
12584         Make state change function use 3 queues again, we were
12585         adding elements in the wrong order.
12586
12587         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
12588         Some debug info,
12589
12590         * gst/gstpad.c: (gst_pad_dispose):
12591         Added some debug info first.
12592
12593 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
12594
12595         * docs/design/draft-push-pull.txt:
12596         * docs/design/part-events.txt:
12597         * docs/design/part-overview.txt:
12598         * docs/design/part-scheduling.txt:
12599           Replace all _pull_region() with _pull_range()
12600           
12601 2005-09-26  Andy Wingo  <wingo@pobox.com>
12602
12603         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
12604
12605         * check/gst-libs/controller.c: Update for controller api change.
12606
12607         * configure.ac: 
12608         * tests/Makefile.am:
12609         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
12610         over by GLib bug 118439.
12611         
12612         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
12613         routines to a function.
12614
12615         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
12616
12617         * libs/gst/controller/gsthelper.c:
12618         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
12619         (gst_object_sync_values): Renamed from sink_values. Ugh.
12620
12621         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
12622
12623         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
12624         Renamed from controller_key, as it is exported.
12625
12626         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
12627
12628 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12629
12630         * gst/Makefile.am:
12631         * gst/gst.h:
12632         * gst/gstpad.h:
12633         * gst/gstpadtemplate.h:
12634         * gst/gstquery.c:
12635         * gst/gstquery.h:
12636         * gst/gstqueryutils.c:
12637         * gst/gstqueryutils.h:
12638           remove queryutils headers after moving the two used functions
12639           to gstquery.  also fixes build problem for gstsiddec
12640
12641 2005-09-26  Michael Smith <msmith@fluendo.com>
12642
12643         * tools/gst-launch.1.in:
12644         Correct documentation in manpage of debug syntax
12645
12646 2005-09-26  Wim Taymans  <wim@fluendo.com>
12647
12648         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
12649         (gst_base_src_is_seekable), (gst_base_src_change_state):
12650         Some more debugging info.
12651
12652 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
12653
12654         * docs/gst/gstreamer-sections.txt:
12655         * gst/base/gstbasetransform.h:
12656         * gst/gstindex.h:
12657           added more docs
12658
12659 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
12660
12661         * docs/gst/.cvsignore:
12662         * docs/gst/tmpl/.cvsignore:
12663         * docs/gst/tmpl/gstpipeline.sgml:
12664         * docs/gst/tmpl/gstplugin.sgml:
12665         * gst/gstpipeline.c:
12666         * gst/gstplugin.c:
12667         * gst/gstplugin.h:
12668           inlined the last two docs files
12669           removed the tmpl directory from cvs (no more conflicts here!)
12670
12671 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
12672
12673         * docs/gst/gstreamer-sections.txt:
12674         * docs/gst/tmpl/.cvsignore:
12675         * docs/gst/tmpl/gstpad.sgml:
12676         * docs/gst/tmpl/gstpadtemplate.sgml:
12677         * gst/Makefile.am:
12678         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
12679         (gst_pad_finalize), (gst_pad_set_pad_template):
12680         * gst/gstpad.h:
12681         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
12682         (gst_pad_template_class_init), (gst_pad_template_init),
12683         (gst_pad_template_dispose), (name_is_valid),
12684         (gst_static_pad_template_get), (gst_pad_template_new),
12685         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
12686         (gst_pad_template_pad_created):
12687         * gst/gstpadtemplate.h:
12688           inlined two more docs
12689           factored gstpadtemplate out of gstpad
12690
12691 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
12692
12693         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
12694         (test_children_state_change_order_semi_sink):
12695           Fix test case: we can't rely on a fixed state change order when
12696           going from READY => PAUSED because the sink might commit its 
12697           new state first when the first buffer created by the source 
12698           reaches the sink before the source has finished its change state.
12699           (Test case still fails at times, see #316856, comment 5 onwards)
12700
12701 2005-09-24  Wim Taymans  <wim@fluendo.com>
12702
12703         * docs/design/part-events.txt:
12704         * docs/design/part-gstbus.txt:
12705         * docs/design/part-gstpipeline.txt:
12706         * docs/design/part-messages.txt:
12707         * docs/design/part-overview.txt:
12708         * docs/design/part-segments.txt:
12709         * gst/gstbin.c:
12710         * gst/gstbuffer.c:
12711         * gst/gstclock.c:
12712         * gst/gstelement.c:
12713         * gst/gstevent.c:
12714         * gst/gstfilter.c:
12715         * gst/gstiterator.c:
12716         Various documentation updates.
12717
12718 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12719
12720         * gst/gstclock.h:
12721           Well, that's embarassing.  Luckily we weren't using
12722           GST_CLOCK_DIFF anywhere.
12723
12724 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12725
12726         * common/gtk-doc.mak:
12727           don't fail on building XML, FC4 slave shows a bunch of doc
12728           missing bits that I don't get
12729         * gst/gstpad.c:
12730         * gst/gstpipeline.c:
12731         * gst/gststructure.c:
12732           some doc updates
12733
12734 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
12735
12736         * docs/design/part-gstbin.txt:
12737         * docs/design/part-gstbus.txt:
12738         * gst/gstbus.c:
12739           Add blurb about how the bus goes into flushing mode and
12740           drops all messages when its bin goes from READY into NULL 
12741           state.
12742
12743 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12744
12745         * docs/gst/gstreamer-sections.txt:
12746         * gst/gststructure.c: (gst_structure_get_clock_time):
12747         * gst/gststructure.h:
12748           add a method to get a GstClockTime out of a structure
12749
12750 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
12751
12752         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
12753         (test_children_state_change_order_semi_sink), (gst_bin_suite):
12754           Added test to check state change order in bins (can still be made
12755           to fail here under heavy disk load; bails out with 'Push on pad
12756           fakesink:sink0, but it was not activated in push mode').
12757
12758         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
12759           Fix state change order when there is only a semi sink (#316856)
12760
12761         * gst/gstbus.c: (gst_bus_class_init):
12762           Use _class_peek_parent(), not _class_ref(); fix docs to say
12763           'default main context' instead of 'mainloop' where that is
12764           what's meant.
12765
12766         * gst/gstelement.c: (gst_element_commit_state),
12767         (gst_element_set_state):
12768           Fix typos in debug messages
12769
12770 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12771
12772         * docs/README:
12773         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
12774         * gst/gstpluginfeature.c:
12775         * gst/gstutils.c:
12776           various doc updates
12777         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12778           change an assert into an error until it gets fixed properly
12779
12780 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
12781
12782         * docs/gst/gstreamer-sections.txt:
12783         * docs/gst/tmpl/.cvsignore:
12784         * docs/gst/tmpl/gstelement.sgml:
12785         * docs/gst/tmpl/gstinfo.sgml:
12786         * docs/gst/tmpl/gstobject.sgml:
12787         * gst/gstelement.c:
12788         * gst/gstelement.h:
12789         * gst/gstinfo.c:
12790         * gst/gstinfo.h:
12791         * gst/gstobject.c: (gst_object_class_init):
12792         * gst/gstobject.h:
12793           inlined 3 more biiiig doc files and added some missing docs on the fly
12794
12795 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12796
12797         * check/gst/.cvsignore:
12798         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
12799         * gst/gstregistryxml.c: (load_plugin),
12800         (gst_registry_xml_save_plugin):
12801           put back source in registry.  add checks for find_plugin.
12802         * testsuite/states/bin.c: (assert_state), (empty_bin),
12803         (test_adding_one_element), (main):
12804         * testsuite/states/locked.c: (main):
12805           some compile/run fixes
12806
12807 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12808
12809         * check/gst/gstvalue.c: (GST_START_TEST):
12810           fix leaks in the test itself
12811
12812 2005-09-22  Wim Taymans  <wim@fluendo.com>
12813
12814         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
12815         (gst_base_sink_send_event), (gst_base_sink_peer_query),
12816         (gst_base_sink_query):
12817         Prepare for more accurate position reporting and query
12818         handling.
12819
12820         * gst/gstelement.c: (gst_element_send_event),
12821         (gst_element_set_state):
12822         Add some comment.
12823
12824 2005-09-22  Wim Taymans  <wim@fluendo.com>
12825
12826         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
12827         (gst_query_parse_segment):
12828         * gst/gstquery.h:
12829         More documentation.
12830         Add segment query for future use.
12831
12832 2005-09-22  Wim Taymans  <wim@fluendo.com>
12833
12834         * gst/gstbin.c: (gst_bin_add_func):
12835         Some more debug info.
12836
12837         * gst/gstelement.c: (gst_element_send_event):
12838         Simplify send_event
12839
12840         * gst/gstelement.h:
12841         Don't know how flags got broken.
12842
12843         * gst/gstquery.h:
12844         Added new query.
12845
12846 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12847
12848         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
12849           Add simplistic test suite for GST_TYPE_DATE serialisation and
12850           deserialisation.
12851
12852 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12853
12854         * docs/gst/gstreamer-sections.txt:
12855         * gst/gststructure.c: (gst_structure_set_valist),
12856         (gst_structure_get_date):
12857         * gst/gststructure.h:
12858         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
12859         (gst_date_copy), (gst_value_compare_date),
12860         (gst_value_serialize_date), (gst_value_deserialize_date),
12861         (gst_value_transform_date_string),
12862         (gst_value_transform_string_date), (_gst_value_initialize):
12863         * gst/gstvalue.h:
12864           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
12865           bunch of utility functions along with a hack that checks that
12866           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
12867           is required. Part of the grand scheme in #170777.
12868
12869 2005-09-22  Andy Wingo  <wingo@pobox.com>
12870
12871         * gst/gstconfig.h.in: Psych out gtk-doc.
12872
12873         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
12874
12875         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
12876
12877         * tools/gst-inspect.c (print_element_list): Plug some
12878         inconsequential leaks.
12879
12880         * gst/gstregistry.c (gst_registry_get_default): Doc.
12881
12882         * check/gst/gstplugin.c: 
12883         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
12884         * gst/gstelementfactory.c (gst_element_factory_create): 
12885         * gst/gstindexfactory.c (gst_index_factory_create): Update for
12886         refcount changes.
12887
12888         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
12889         (gst_plugin_feature_load): Doc, don't eat refs.
12890
12891         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
12892         (gst_plugin_list_free): Doc.
12893         (gst_plugin_load_file): Doc updates.
12894
12895         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
12896         accessors returning refcounted objects, return a ref.
12897
12898         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
12899         accessor for caps. IDEMPOTENCE. Oh yes.
12900
12901 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
12902
12903         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12904
12905         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
12906         (_gst_debug_register_funcptr):
12907           Add mutex to serialise access to the hash table with
12908           the function pointer => function name string mapping;
12909           make that hash table static scope (#316809).
12910
12911         * gst/registries/.cvsignore:
12912           Remove left-over file.
12913
12914 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
12915
12916         * docs/pwg/appendix-porting.xml:
12917           And something about newsegment events and caps-on-buffers to
12918           the porting guide (feel free to improve).
12919
12920 2005-09-21  Andy Wingo  <wingo@pobox.com>
12921
12922         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
12923         data and event probes on the same pad.
12924         (test_buffer_probe_once): Test that removing probes from within
12925         the probe functions works.
12926
12927 2005-09-21  Andy Wingo  <wingo@pobox.com>
12928
12929         * check/gst/gstutils.c: New file.
12930         (test_buffer_probe_n_times): A simple buffer probe test. More to
12931         come, foolios.
12932
12933         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
12934         have-data::buffer, not have-data.
12935         (gst_pad_add_event_probe): Likewise for have-data::event.
12936         (gst_pad_add_data_probe): More docs. The part about 'resolving the
12937         peer' isn't quite right yet though.
12938         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
12939         (gst_pad_remove_data_probe): Change to take the guint handler_id
12940         as their arg, not the function+data, which is more glib-like.
12941
12942         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
12943         the signal emission to indicate if the data is a buffer or an
12944         event.
12945         (gst_pad_get_type): Initialize buffer and event quarks.
12946         (gst_pad_class_init): have-data is now a detailed signal, yes it
12947         is.
12948
12949 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
12950
12951         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
12952         * gst/gstutils.c: (gst_util_set_value_from_string),
12953         (gst_util_set_object_arg):
12954           Don't put functional code in g_return_if_fail() or
12955           g_return_val_if_fail() statements, otherwise things will 
12956           break when G_DISABLE_CHECKS is defined during compilation.
12957
12958 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
12959
12960         * docs/gst/tmpl/.cvsignore:
12961         * docs/gst/tmpl/gstvalue.sgml:
12962         * gst/gstvalue.c:
12963         * gst/gstvalue.h:
12964           inlied another one and added  some obvious docs
12965
12966 2005-09-21  Wim Taymans  <wim@fluendo.com>
12967
12968         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
12969         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
12970         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
12971         (gst_fdsrc_get_property), (gst_fdsrc_create):
12972         * gst/elements/gstfdsrc.h:
12973         Properly implement fdsrc. Removed signal and timeout,
12974         better implemented somewhere else.
12975
12976 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
12977
12978         * docs/gst/tmpl/.cvsignore:
12979         * docs/gst/tmpl/gstimplementsinterface.sgml:
12980         * gst/gstinterface.c:
12981           inlined more docs
12982
12983 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
12984
12985         * docs/gst/gstreamer-sections.txt:
12986         * docs/gst/tmpl/.cvsignore:
12987         * docs/gst/tmpl/gstenumtypes.sgml:
12988           remove obsolete doc file
12989
12990 2005-09-21  David Schleef  <ds@schleef.org>
12991
12992         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
12993         little beer, fix a little leak.
12994
12995 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
12996
12997         * docs/gst/gstreamer-docs.sgml:
12998         * docs/gst/gstreamer-sections.txt:
12999         * docs/gst/tmpl/.cvsignore:
13000         * gst/Makefile.am:
13001         * gst/gst.h:
13002         * gst/gstbin.c:
13003         * gst/gstelement.h:
13004         * gst/gstindex.c: (gst_index_class_init):
13005         * gst/gstindex.h:
13006         * gst/gstindexfactory.c: (gst_index_factory_get_type),
13007         (gst_index_factory_class_init), (gst_index_factory_init),
13008         (gst_index_factory_finalize), (gst_index_factory_new),
13009         (gst_index_factory_destroy), (gst_index_factory_find),
13010         (gst_index_factory_create), (gst_index_factory_make):
13011         * gst/gstindexfactory.h:
13012         * gst/gstpluginfeature.c:
13013         * gst/gstpluginfeature.h:
13014         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
13015           more docs inlined, splitted gstindex.{c,h}
13016
13017 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13018
13019         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
13020           fix a leak
13021
13022 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
13023
13024         * gst/elements/gstfilesink.c: (gst_file_sink_init):
13025           Set sync to FALSE by default.
13026
13027 2005-09-20  Wim Taymans  <wim@fluendo.com>
13028
13029         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
13030         (gst_base_sink_init):
13031         Make sync property settable from subclass.
13032
13033         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
13034         (gst_fake_sink_change_state):
13035         Set sync to FALSE by default.
13036
13037 2005-09-20  Wim Taymans  <wim@fluendo.com>
13038
13039         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
13040         * tools/gst-launch.c: (main):
13041         The timeout handler should have lower priority than the source
13042         so we don't timeout before popping a message with 0 timeout.
13043         Dump error messages after failed state change.
13044
13045 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
13046
13047         * tools/gst-inspect.c: (print_element_properties_info):
13048           Fix two typos.
13049
13050 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13051
13052         * check/gst/gstevent.c:
13053         * gst/elements/gstfakesink.c:
13054         * gst/elements/gstfakesink.h:
13055           remove the sync property from fakesink.
13056           has the side effect of setting sync TRUE
13057           for fakesink, which is a change.  Anyone who knows how
13058           to fix this nicely in a GObject-y way, feel free.
13059
13060 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
13061
13062         * docs/gst/gstreamer-docs.sgml:
13063           remove probe refsection
13064
13065 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
13066
13067         * check/Makefile.am:
13068           disable valgrinding the controller test again
13069         * docs/gst/gstreamer-sections.txt:
13070           update for api-changes
13071
13072 2005-09-20  Wim Taymans  <wim@fluendo.com>
13073
13074         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
13075         (gst_base_sink_set_property), (gst_base_sink_get_property),
13076         (gst_base_sink_do_sync):
13077         * gst/base/gstbasesink.h:
13078         Added sync property to basesink to disable clock sync.
13079
13080 2005-09-20  Andy Wingo  <wingo@pobox.com>
13081
13082         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
13083         eating the caller's refcount.
13084
13085         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
13086         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
13087         refcount.
13088
13089         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
13090         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
13091         of GLib 2.8 public, so we can know which refcount to check in
13092         tests.
13093
13094         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
13095         (gst_object_init): Only set the gst refcount if we're going ahead
13096         with the refcount hack.
13097
13098 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
13099
13100         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
13101         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
13102           more leaks plumbed, added more debug-logging
13103         * gst/gstmacros.h:
13104           whitespace fix
13105
13106 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13107
13108         * gst/gstmessage.c:
13109           remove include of gstmemchunk.h
13110
13111 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13112
13113         * gst/gstclock.c: (_gst_clock_id_free):
13114           Commit from the Political Party For More Atomic CVS Commits,
13115           so that people don't waste too much of their day fishing
13116           out obvious leaks out of massive commits.
13117           Oh, and fix a pretty damn obvious leak in the memchunk
13118           removal code.
13119
13120 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
13121
13122         * check/Makefile.am:
13123         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
13124           plug mem-leak, re-add to valgrindable tests
13125
13126 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13127
13128         * gst/gstplugin.h:
13129           unbreak the build for those who have chronic arthritis
13130           and typing "make check" is just too taxing on the hands
13131
13132 2005-09-20  Andy Wingo  <wingo@pobox.com>
13133
13134         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
13135         really want it out, you should fix plugins at the same time.
13136
13137 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
13138
13139         * configure.ac:
13140         * docs/gst/gstreamer-sections.txt:
13141         * gst/gstobject.c:
13142           added missing symbols to api docs
13143           disable ref-count hack if we have glib >= 2.8
13144
13145 2005-09-19  David Schleef  <ds@schleef.org>
13146
13147         * docs/gst/Makefile.am: Ignore a few more internal headers
13148         * docs/gst/gstreamer-docs.sgml: Remove old sections
13149         * docs/gst/gstreamer-sections.txt: Remove old sections
13150         * docs/gst/tmpl/gstobject.sgml: update
13151         * docs/gst/tmpl/gstplugin.sgml: update
13152         * docs/gst/tmpl/gstpluginfeature.sgml: update
13153         * docs/random/ds/0.9-suggested-changes: update.
13154         * gst/Makefile.am: remove memchunk and trashstack, since they're
13155           not used.
13156         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
13157         * gst/gst.h: don't include some headers
13158         * gst/gstchildproxy.c: add gstmarshal.h
13159         * gst/gstclock.c: Don't use memchunks
13160         * gst/gstminiobject.c: Add some docs
13161         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
13162         * gst/gstobject.h: same
13163         * gst/gstplugin.c: include gstmacros.h
13164         * gst/gstplugin.h: don't include gstmacros.h, since it's private
13165         * gst/gstquery.c: don't use memchunks
13166         * gst/gstregistry.c: rename gst_registry_deinit()
13167         * gst/gstregistry.h: same
13168
13169 2005-09-19  David Schleef  <ds@schleef.org>
13170
13171         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
13172         * docs/libs/gstreamer-libs-sections.txt:
13173         * docs/libs/tmpl/gstgetbits.sgml:
13174         * docs/libs/tmpl/gstputbits.sgml:
13175
13176 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
13177
13178         * win32/gstenumtypes.c:
13179         * win32/gstenumtypes.h:
13180           Update.
13181
13182 2005-09-19  Wim Taymans  <wim@fluendo.com>
13183
13184         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
13185         Automatically PAUSE and RESUME a pipeline when a flushing seek
13186         is performed.
13187
13188 2005-09-19  Andy Wingo  <wingo@pobox.com>
13189
13190         * gst/gstregistry.h: Spacing fixen.
13191
13192 2005-09-19  Wim Taymans  <wim@fluendo.com>
13193
13194         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
13195         Handle state change failure more correctly.
13196
13197 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13198
13199         * check/Makefile.am:
13200         * check/pipelines/cleanup.c: (run_pipeline):
13201         * check/pipelines/simple_launch_lines.c: (run_pipeline),
13202         (GST_START_TEST):
13203           enable cleanup again after fixing the leak
13204         * docs/README:
13205           some more info on docs
13206
13207 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13208
13209         * check/Makefile.am:
13210           re-enable tests now that leaks are plugged
13211         * check/gst/gst.c:
13212         * check/gst/gstbin.c:
13213         * check/gst/gstpipeline.c:
13214           add some more tests while fixing leaks
13215         * common/check.mak:
13216           make sure binaries are uptodate when valgrinding/gdbing
13217         * gst/gst.c:
13218         * gst/gstelementfactory.c:
13219           remove a ref too many, and add a FIXME for when we get
13220           round to disposing of classes
13221         * gst/gstplugin.c:
13222           fix the refcounting when loading a plugin from a file and
13223           the code pretends that the pointer is the same even though
13224           of course it can change
13225         * gst/gstpluginfeature.c:
13226           unref plugins marked cached (a bit confusing as a name)
13227           as the docs state should be done
13228           various doc additions to explain refcounting
13229         * gst/gstregistry.c:
13230         * gst/gstregistryxml.c:
13231           debugging
13232
13233 2005-09-19  Wim Taymans  <wim@fluendo.com>
13234
13235         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
13236         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
13237         (send_messages), (GST_START_TEST), (gstbus_suite):
13238         * check/gst/gstpipeline.c: (GST_START_TEST):
13239         * check/pipelines/cleanup.c: (run_pipeline):
13240         * check/pipelines/simple_launch_lines.c: (run_pipeline),
13241         (GST_START_TEST):
13242         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
13243         (gst_bus_source_check), (gst_bus_source_dispatch),
13244         (gst_bus_create_watch), (gst_bus_add_watch_full),
13245         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
13246         * gst/gstbus.h:
13247         * tools/gst-launch.c: (event_loop):
13248         * tools/gst-md5sum.c: (event_loop):
13249         GstBusHandler -> GstBusFunc, return value has the same meaning as
13250         any other GSource (FALSE == remove source).
13251         _add_watch() and _add_watch_full() now take a MessageType mask to
13252         only handle specific types of messages.
13253         _poll() returns the GstMessage instead of the message type to avoid
13254         race conditions.
13255         _have_pending() takes a MessageType mask now too.
13256         Added testsuite for multiple bus watches.
13257         Fix testsuites and applications for new bus API.
13258
13259 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13260
13261         * check/Makefile.am:
13262           mark a bunch of the tests as to fix until we fix them
13263
13264 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13265
13266         * common/check.mak:
13267           use GST_PLUGIN settings for valgrind tests as well, so we're
13268           valgrinding the correct thing
13269         * gst/gst.c: (init_post):
13270           plug another leak
13271
13272 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13273
13274         * gst/gst.c: (init_post), (gst_deinit):
13275         * gst/gstelementfactory.c: (gst_element_factory_class_init),
13276         (gst_element_factory_finalize), (gst_element_factory_cleanup):
13277         * gst/gstindex.c: (gst_index_factory_class_init),
13278         (gst_index_factory_finalize):
13279         * gst/gstobject.c: (gst_object_dispose):
13280         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
13281         (gst_plugin_load_file), (gst_plugin_desc_free):
13282         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
13283         (gst_plugin_feature_finalize):
13284         * gst/gstregistry.c: (gst_registry_class_init),
13285         (gst_registry_init), (gst_registry_finalize),
13286         (gst_registry_get_default), (gst_registry_deinit):
13287         * gst/gstregistry.h:
13288         * gst/gstregistryxml.c: (load_feature), (load_plugin):
13289           various cleanups and memleak plugging.  make valgrind is happy now.
13290
13291 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13292
13293         * common/check.mak:
13294           add a check-valgrind target
13295
13296 2005-09-18  David Schleef  <ds@schleef.org>
13297
13298         * tools/gst-inspect.c: Revert the GOption code.
13299
13300 2005-09-17  David Schleef  <ds@schleef.org>
13301
13302         * check/Makefile.am: Fix environment variables.
13303         * check/gst/gstplugin.c: Fix for API changes.
13304         * tools/gst-inspect.c: Fix for API changes.
13305         * tools/gst-xmlinspect.c: Fix for API changes.
13306         * gst/gstelementfactory.c:
13307         * gst/gstplugin.c:
13308         * gst/gstplugin.h:
13309         * gst/gstpluginfeature.c:
13310         * gst/gstpluginfeature.h:
13311         * gst/gstregistry.c:
13312         * gst/gstregistry.h:
13313         * gst/gstregistryxml.c:
13314         * gst/gsttypefind.c:
13315         * gst/gsttypefindfactory.c:
13316         * gst/indexers/gstfileindex.c:
13317         * gst/indexers/gstmemindex.c:
13318         * gst/schedulers/Makefile.am:
13319           Change registry to keep track of both plugins and features,
13320           removing the feature tracking from plugins themselves.
13321
13322 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13323
13324         * check/Makefile.am:
13325         * tools/gst-register.1.in:
13326           remove gst-register
13327
13328 2005-09-15  David Schleef  <ds@schleef.org>
13329
13330         * check/gst/gstplugin.c:
13331         * gst/gstelementfactory.c:
13332         * gst/gstplugin.c:
13333         * gst/gstpluginfeature.c:
13334         * gst/gstregistry.c:
13335           Getting tired of debugging.  Disabled all the unreffing of
13336           plugins and features, which fixes the segfaults, but of
13337           course leaks like crazy.  At least playbin works.
13338
13339 2005-09-15  David Schleef  <ds@schleef.org>
13340
13341         * check/gst/gstplugin.c: (register_check_elements),
13342         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
13343         More testing
13344         * gst/elements/gsttypefindelement.c: Fix refcounting.
13345         * gst/gsttypefind.c:
13346         * gst/gsttypefindfactory.c:
13347         * gst/gsttypefindfactory.h:
13348
13349 2005-09-15  David Schleef  <ds@schleef.org>
13350
13351         * gst/gstindex.c: get refcounting correct.
13352         * gst/gstregistry.c: Handle the case where a feature/plugin is
13353           not found.
13354
13355 2005-09-15  David Schleef  <ds@schleef.org>
13356
13357         * check/Makefile.am:
13358         * check/gst/gstplugin.c: Add test
13359         * gst/gstplugin.c: Fix problems noticed by testsuite
13360         * gst/gstplugin.h:
13361         * gst/gstregistry.c: 
13362         * gst/gstregistry.h:
13363
13364 2005-09-15  David Schleef  <ds@schleef.org>
13365
13366         * gst/gstplugin.c: Implement semi-decent recounting and locking
13367           in plugins and plugin features.
13368         * gst/gstplugin.h:
13369         * gst/gstpluginfeature.c:
13370         * gst/gstpluginfeature.h:
13371         * gst/gstregistry.c:
13372
13373 2005-09-15  Michael Smith <msmith@fluendo.com>
13374
13375         * gst/gstregistry.c: (gst_registry_get_feature_list):
13376           Implement this. Makes oggdemux work; decodebin still broken.
13377
13378 2005-09-14  David Schleef  <ds@schleef.org>
13379
13380         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
13381           #316076)
13382         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
13383         * gst/check/Makefile.am:
13384         * libs/gst/controller/Makefile.am:
13385         * libs/gst/dataprotocol/Makefile.am:
13386
13387 2005-09-14  David Schleef  <ds@schleef.org>
13388
13389         * configure.ac: Remove getbits library.  Nothing uses it, and
13390           it should be in something like liboil if someone did want
13391           to use it.
13392         * libs/gst/Makefile.am:
13393         * libs/gst/getbits/Makefile.am:
13394         * libs/gst/getbits/gbtest.c:
13395         * libs/gst/getbits/getbits.c:
13396         * libs/gst/getbits/getbits.h:
13397         * libs/gst/getbits/gstgetbits_generic.c:
13398         * libs/gst/getbits/gstgetbits_i386.s:
13399         * libs/gst/getbits/gstgetbits_inl.h:
13400
13401 2005-09-14  David Schleef  <ds@schleef.org>
13402
13403         * gst/Makefile.am: Dist glib-compat.h
13404
13405 2005-09-14  David Schleef  <ds@schleef.org>
13406
13407         * configure.ac: Remove gst/registries, since it's no longer used.
13408         * gst/registries/Makefile.am:
13409         * gst/registries/gstlibxmlregistry.c:
13410         * gst/registries/gstlibxmlregistry.h:
13411         * gst/registries/gstxmlregistry.c:
13412         * gst/registries/gstxmlregistry.h:
13413         * gst/registries/registrytest.c:
13414
13415 2005-09-14  David Schleef  <ds@schleef.org>
13416
13417         * gst/glib-compat.h:
13418         * gst/gstregistryxml.c:
13419           Convergence is near.  Seriously.
13420
13421 2005-09-14  David Schleef  <ds@schleef.org>
13422
13423         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13424         * gst/glib-compat.h:
13425           Attempt #4 to appease the buildbots.
13426
13427 2005-09-14  David Schleef  <ds@schleef.org>
13428
13429         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13430           Attempt #3.
13431
13432 2005-09-14  David Schleef  <ds@schleef.org>
13433
13434         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13435         Attempt #2.
13436
13437 2005-09-14  David Schleef  <ds@schleef.org>
13438
13439         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
13440           the new functions.
13441
13442 2005-09-14  David Schleef  <ds@schleef.org>
13443
13444         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13445         * gst/glib-compat.h: Add some functions that are in newer versions
13446           of glib than we care to require.
13447         * gst/gstregistryxml.c: Use them.
13448
13449 2005-09-14  David Schleef  <ds@schleef.org>
13450
13451         * po/POTFILES.in: remove gst-register.c
13452
13453 2005-09-14  David Schleef  <ds@schleef.org>
13454
13455         * docs/gst/gstreamer-docs.sgml:
13456         * docs/gst/gstreamer-sections.txt:
13457         * docs/gst/gstreamer.types:
13458         * docs/gst/tmpl/gstelement.sgml:
13459         * docs/gst/tmpl/gstplugin.sgml:
13460         * docs/gst/tmpl/gstpluginfeature.sgml:
13461           Documentation updates for registry changes.
13462
13463 2005-09-14  David Schleef  <ds@schleef.org>
13464
13465         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
13466           because we don't require glib-2.8.
13467
13468 2005-09-14  David Schleef  <ds@schleef.org>
13469
13470         * gst/gstregistryxml.c: Added.  Essentially moved out of the
13471           registries directory.
13472
13473 2005-09-14  David Schleef  <ds@schleef.org>
13474
13475         * check/Makefile.am:
13476         * check/generic/states.c:
13477         * gst/Makefile.am:
13478         * gst/gst.c:
13479         * gst/gst.h:
13480         * gst/gst_private.h:
13481         * gst/gstelementfactory.c:
13482         * gst/gstindex.c:
13483         * gst/gstinfo.c:
13484         * gst/gstplugin.c:
13485         * gst/gstplugin.h:
13486         * gst/gstpluginfeature.c:
13487         * gst/gstpluginfeature.h:
13488         * gst/gstregistry.c:
13489         * gst/gstregistry.h:
13490         * gst/gstregistrypool.c: remove
13491         * gst/gstregistrypool.h: remove
13492         * gst/gsttypefind.c:
13493         * gst/gsttypefindfactory.c:
13494         * gst/gsturi.c:
13495         * tools/Makefile.am:
13496         * tools/gst-compprep.c:
13497         * tools/gst-inspect.c:
13498         * tools/gst-register.c: remove
13499         * tools/gst-xmlinspect.c:
13500           Registry rewrite.  Changes registry from being a file created
13501           by a tool into a simple cache file created automatically by 
13502           libgstreamer.  Removed gst-register (because it's no longer
13503           needed).  Remove registry pools, because we only have one
13504           registry implementation (XML).  Fix up other subsystems as
13505           necessary.
13506
13507 2005-09-13  Michael Smith <msmith@fluendo.com>
13508
13509         * gst/gstconfig.h.in:
13510           Don't Use windows linking attributes for MinGW. Fixes #316157
13511
13512 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13513
13514         * gst/gstutils.c: (set_state_async_thread_func),
13515         (gst_element_set_state_async):
13516           Apparently people think it's better if this function doesn't
13517           try to set the state to whatever state was asked for on the first
13518           call to this function for any object.  Seriously.
13519
13520 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13521
13522         * check/gst/gstpipeline.c: (GST_START_TEST):
13523         * docs/gst/gstreamer-sections.txt:
13524         * gst/gstutils.c: (set_state_async_thread_func),
13525         (gst_element_set_state_async):
13526         * gst/gstutils.h:
13527           add a "gst_element_set_state_async" method that
13528           sets the state and starts a thread to make sure the state
13529           change completes as best as it can
13530
13531 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13532
13533         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
13534           codify design+behaviour in testsuite after discussion
13535
13536 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13537
13538         * docs/gst/tmpl/gstelement.sgml:
13539         * docs/manual/appendix-quotes.xml:
13540           add a quote
13541         * gst/gstelement.c: (gst_element_set_state):
13542           add some debug
13543
13544 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
13545
13546         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13547         (gst_base_transform_prepare_output_buf),
13548         (gst_base_transform_handle_buffer):
13549         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
13550         (gst_capsfilter_prepare_buf):
13551           Remove the requirement for sub-classes to call the parent
13552           implementation of prepare_output_buffer with a wrapper function.
13553           
13554         * gst/gsttaglist.h:
13555         * gst/gsttagsetter.h:
13556           Fix #define wrapper
13557
13558 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
13559
13560         * docs/gst/gstreamer-sections.txt:
13561           more doc cleanups
13562
13563 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13564
13565         * docs/gst/gstreamer-sections.txt:
13566         * docs/gst/tmpl/gstelement.sgml:
13567         * docs/gst/tmpl/gstplugin.sgml:
13568         * gst/gstminiobject.c:
13569         * gst/gstvalue.h:
13570           docs now stop throwing warnings
13571
13572 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13573
13574         * docs/gst/gstreamer-sections.txt:
13575         * docs/gst/gstreamer.types:
13576         * docs/gst/tmpl/gstpad.sgml:
13577         * docs/gst/tmpl/gsttypes.sgml:
13578         * gst/base/gstadapter.h:
13579         * gst/base/gstbasesink.h:
13580         * gst/base/gstbasesrc.h:
13581         * gst/gstbin.h:
13582         * gst/gstbuffer.h:
13583         * gst/gstbus.h:
13584         * gst/gstcaps.h:
13585         * gst/gstclock.h:
13586         * gst/gstelement.h:
13587         * gst/gstevent.h:
13588         * gst/gstmessage.h:
13589         * gst/gstpad.h:
13590         * gst/gststructure.c:
13591         * gst/registries/gstlibxmlregistry.h:
13592           various documentation fixes
13593
13594 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13595
13596         * docs/gst/gstreamer-sections.txt:
13597         * docs/gst/tmpl/gstvalue.sgml:
13598           rearrange gstvalue section
13599         * gst/gstutils.c: (gst_element_state_get_name):
13600           NONE -> VOID
13601         * gst/gstvalue.c: (_gst_value_initialize):
13602         * gst/gstvalue.h:
13603           doc updates
13604
13605 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
13606
13607         * check/gst-libs/controller.c:
13608           Header include fix.
13609         * gst/base/gstbasetransform.c:
13610         (gst_base_transform_default_prepare_buf),
13611         (gst_base_transform_handle_buffer):
13612         * gst/base/gstbasetransform.h:
13613           Some more basetransform changes and fixes to enable sub-classes
13614           that modify buffer metadata only.
13615         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
13616         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
13617         (gst_capsfilter_prepare_buf):
13618           If the output pad has fixed allowed caps and input buffers 
13619           don't have any, set the fixed caps on outgoing buffers.
13620
13621 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
13622         * check/elements/identity.c: (GST_START_TEST):
13623           Make the error a little clearer when the test fails because
13624           identity made a copy of the buffer.
13625         * docs/gst/gstreamer-sections.txt:
13626           New symbols in gstbasetransform.h
13627         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13628         (gst_base_transform_init), (gst_base_transform_transform_size),
13629         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13630         (gst_base_transform_default_prepare_buf),
13631         (gst_base_transform_get_unit_size),
13632         (gst_base_transform_buffer_alloc),
13633         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
13634         (gst_base_transform_change_state),
13635         (gst_base_transform_set_passthrough),
13636         (gst_base_transform_set_in_place),
13637         (gst_base_transform_is_in_place):
13638         * gst/base/gstbasetransform.h:
13639           Change BaseTransform to separate in_place operate from same_caps
13640           output. in_place implies that the element can perform the transform
13641           on incoming buffers in-place, even if the caps on the output are
13642           different.
13643           Sub-class elements can now implement special buffer allocation
13644           methods for outgoing buffers if they wish to.
13645           Big documentation addition.
13646         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
13647         * gst/elements/gstelements.c:
13648           Changes for basetransform modifications.
13649         * gst/elements/Makefile.am:
13650         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
13651           Compile fix. Extra debug output.
13652
13653 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13654
13655         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
13656         (gst_pad_suite):
13657           add tests for valid pad naming
13658         * gst/check/gstcheck.c: (gst_check_log_message_func),
13659         (gst_check_log_critical_func):
13660           add ASSERT_WARNING
13661           remove printing of code, it is fragile when the code contains
13662           % and the line number is enough info
13663         * gst/check/gstcheck.h:
13664         * gst/gstpad.c: (gst_pad_template_new):
13665           fix memleaks
13666
13667 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13668
13669         * configure.ac:
13670           say what CHECK flags we use
13671         * docs/libs/gstreamer-libs.types:
13672         * libs/gst/controller/Makefile.am:
13673         * libs/gst/controller/gst-controller.c:
13674         * libs/gst/controller/gst-controller.h:
13675         * libs/gst/controller/gst-helper.c:
13676         * libs/gst/controller/gst-interpolation.c:
13677         * libs/gst/controller/gstcontroller.c:
13678         * libs/gst/controller/gsthelper.c:
13679         * libs/gst/controller/gstinterpolation.c:
13680         * tools/gst-inspect.c: (print_plugin_info):
13681           we don't use dashes in header names
13682
13683 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13684
13685         * check/Makefile.am:
13686         * check/gst/.cvsignore:
13687         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
13688         (gst_pipeline_suite), (main):
13689           adding a test for pipelines and state changes
13690         * gst/gstutils.c: (get_state_func):
13691           add some debugging
13692         * gstreamer.spec.in:
13693           fix up spec file
13694
13695 2005-09-08  Michael Smith <msmith@fluendo.com>
13696
13697         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
13698         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
13699         (gst_file_src_is_seekable), (gst_file_src_get_size),
13700         (gst_file_src_start):
13701         * gst/elements/gstfilesrc.h:
13702           Various fixes for unseekable, unmmapable, and non-normal files, so
13703           that fallback to read() rather than mmap() works.
13704         * gst/gstevent.c: (gst_event_new_newsegment):
13705           Allow newsegment events with segment_start == segment_end, as will
13706           correctly happen if you use filesrc on a zero-size file, for
13707           example.
13708
13709 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
13710
13711         * gst/gstplugin.c: (gst_plugin_load_file):
13712           Call g_module_close when we don't load the module
13713
13714         * gst/registries/gstlibxmlregistry.c:
13715         (gst_xml_registry_get_property):
13716           Port leak fix from 0.8
13717
13718 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13719
13720         * docs/gst/gstreamer-docs.sgml:
13721         * docs/gst/tmpl/.cvsignore:
13722         * docs/gst/tmpl/gsttrace.sgml:
13723         * docs/gst/tmpl/gsttrashstack.sgml:
13724         * gst/Makefile.am:
13725         * gst/gst.h:
13726         * gst/gstelement.h:
13727         * gst/gstevent.h:
13728         * gst/gstmessage.c:
13729         * gst/gstmessage.h:
13730         * gst/gsttag.c:
13731         * gst/gsttag.h:
13732         * gst/gsttaginterface.c:
13733         * gst/gsttaginterface.h:
13734         * gst/gsttaglist.c:
13735         * gst/gsttaglist.h:
13736         * gst/gsttagsetter.c:
13737         * gst/gsttagsetter.h:
13738         * gst/gsttrace.c:
13739         * gst/gsttrace.h:
13740         * gst/gsttrashstack.c:
13741           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
13742           inlined docs for gsttrace, gsttrashstack
13743
13744 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13745
13746         * gst/Makefile.am:
13747         * gst/elements/gstbufferstore.h:
13748         * gst/elements/gsttypefindelement.c:
13749         * gst/elements/gsttypefindelement.h:
13750         * gst/gst.h:
13751         * gst/gsttypefind.c:
13752         * gst/gsttypefind.h:
13753         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
13754         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
13755         (gst_type_find_factory_dispose),
13756         (gst_type_find_factory_unload_thyself),
13757         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
13758         (gst_type_find_factory_get_caps),
13759         (gst_type_find_factory_get_extensions),
13760         (gst_type_find_factory_call_function):
13761         * gst/gsttypefindfactory.h:
13762         * gst/registries/gstlibxmlregistry.c:
13763         * gst/registries/gstxmlregistry.c:
13764           splitted gsttypefind into gsttypefind, gsttypefindfactory
13765
13766 2005-09-07  Andy Wingo  <wingo@pobox.com>
13767
13768         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
13769         condition whereby the pad's task function is entered before the
13770         pad_mode variable was set.
13771
13772 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
13773
13774         * gst/gstpad.c: (gst_pad_alloc_buffer):
13775           Catch misbehaving pad_alloc functions that don't
13776           set up caps and do it for them.
13777
13778 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13779
13780         * check/pipelines/simple_launch_lines.c: (run_pipeline):
13781           test for pipe!=NULL
13782         * docs/gst/tmpl/.cvsignore:
13783         * docs/gst/tmpl/gstmemchunk.sgml:
13784         * docs/gst/tmpl/gstparse.sgml:
13785         * docs/gst/tmpl/gsttaglist.sgml:
13786         * docs/gst/tmpl/gsttagsetter.sgml:
13787         * docs/gst/tmpl/gsttypefind.sgml:
13788         * docs/gst/tmpl/gsttypefindfactory.sgml:
13789         * gst/gstmemchunk.c:
13790         * gst/gstparse.c:
13791         * gst/gsttag.c:
13792         * gst/gsttaginterface.c:
13793         * gst/gsttypefind.c:
13794         * gst/gsttypefind.h:
13795           inlined more docs
13796
13797 === release 0.9.2 ===
13798
13799 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13800
13801         * NEWS:
13802         * RELEASE:
13803         * configure.ac:
13804           releasing 0.9.2, "South"
13805
13806 2005-09-05  Andy Wingo  <wingo@pobox.com>
13807
13808         * gst/registries/gstxmlregistry.h:
13809         * gst/registries/gstxmlregistry.c: Um... resurrect...
13810         
13811         * gst/registries/gstxmlregistry.h:
13812         * gst/registries/gstxmlregistry.c: and update to newer API.
13813         Incidentally they should be a bit faster now that they don't have
13814         to parse the caps.
13815         
13816 2005-09-05  Andy Wingo  <wingo@pobox.com>
13817
13818         * gst/registries/gstxmlregistry.h:
13819         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
13820         replaced by the libxml registry a while back
13821
13822 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13823
13824         * docs/gst/tmpl/gstplugin.sgml:
13825         * gst/elements/gstelements.c:
13826         * gst/gst.c:
13827         * gst/gstplugin.c: (gst_plugin_register_func),
13828         (gst_plugin_desc_copy), (gst_plugin_desc_free),
13829         (gst_plugin_get_source):
13830         * gst/gstplugin.h:
13831         * gst/registries/gstlibxmlregistry.c: (load_plugin),
13832         (gst_xml_registry_save_plugin):
13833         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
13834         (gst_xml_registry_save_plugin):
13835         * tools/gst-inspect.c: (print_plugin_info):
13836           add a "source" plugin description field, to represent the source
13837           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
13838           will set it to PACKAGE, which is automake's idea of the name of
13839           the source project.
13840
13841 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13842
13843         * Makefile.am:
13844         * autogen.sh:
13845         * configure.ac:
13846         * docs/Makefile.am:
13847         * docs/faq/Makefile.am:
13848         * docs/gst/tmpl/gstelement.sgml:
13849         * docs/gst/tmpl/gsttypes.sgml:
13850         * docs/htmlinstall.mak:
13851         * docs/manual/Makefile.am:
13852         * docs/pwg/Makefile.am:
13853           reorganize doc build a little
13854           split out docbook and gtk-doc stuff
13855           have two separate --enable's and enable them through autogen
13856           but disable by default in configure (to be similar to other
13857           projects)
13858         * gstreamer.spec.in:
13859           clean up docs install
13860         * po/af.po:
13861         * po/az.po:
13862         * po/ca.po:
13863         * po/cs.po:
13864         * po/de.po:
13865         * po/en_GB.po:
13866         * po/fr.po:
13867         * po/it.po:
13868         * po/nb.po:
13869         * po/nl.po:
13870         * po/ru.po:
13871         * po/sq.po:
13872         * po/sr.po:
13873         * po/sv.po:
13874         * po/tr.po:
13875         * po/uk.po:
13876         * po/vi.po:
13877           translation updates
13878
13879 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
13880
13881         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
13882           Add comment.
13883           
13884         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
13885         (gst_fake_sink_change_state):
13886           Make state change function thread-safe.
13887           
13888         * gst/gstpad.c: (gst_pad_alloc_buffer):
13889           Set offset on generic buffer allocated by fallback.
13890
13891 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
13892
13893         * docs/gst/gstreamer-sections.txt:
13894         * docs/gst/tmpl/gstelement.sgml:
13895         * gst/gstpad.c:
13896         * libs/gst/controller/gst-controller.c:
13897         (gst_controlled_property_set_interpolation_mode),
13898         (gst_controlled_property_new),
13899         (gst_controller_find_controlled_property):
13900          run the wingo-magic script against the docs
13901
13902 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
13903
13904         * docs/gst/gstreamer-docs.sgml:
13905         * docs/gst/gstreamer-sections.txt:
13906         * docs/gst/tmpl/.cvsignore:
13907         * docs/gst/tmpl/gstelementdetails.sgml:
13908         * docs/gst/tmpl/gstelementfactory.sgml:
13909         * gst/gst.c:
13910         * gst/gstbus.c:
13911         * gst/gstelementfactory.c:
13912         * gst/gstelementfactory.h:
13913           merged elementdetails docs into elementfactory docs
13914           inlined both
13915
13916 2005-09-02  Andy Wingo  <wingo@pobox.com>
13917
13918         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
13919         consider this enum an enum and not a flags.
13920
13921 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
13922
13923         * docs/gst/gstreamer-docs.sgml:
13924         * docs/gst/tmpl/.cvsignore:
13925         * docs/gst/tmpl/gstghostpad.sgml:
13926         * docs/gst/tmpl/gstiterator.sgml:
13927         * docs/gst/tmpl/gstmacros.sgml:
13928         * docs/gst/tmpl/gstrealpad.sgml:
13929         * docs/gst/tmpl/gstregistry.sgml:
13930         * docs/gst/tmpl/gstregistrypool.sgml:
13931         * docs/gst/tmpl/gststructure.sgml:
13932         * docs/gst/tmpl/gstsystemclock.sgml:
13933         * docs/gst/tmpl/gsttrace.sgml:
13934         * gst/gstghostpad.c:
13935         * gst/gstmacros.h:
13936         * gst/gstmemchunk.c:
13937         * gst/gstmemchunk.h:
13938         * gst/gstqueue.c:
13939         * gst/gstregistry.c:
13940         * gst/gstregistrypool.c:
13941         * gst/gststructure.c:
13942         * gst/gstsystemclock.c:
13943           more docs inlined
13944
13945 2005-09-02  Andy Wingo  <wingo@pobox.com>
13946
13947         * gst/gstelement.h (GstState): Renamed from GstElementState,
13948         changed to be a normal enum instead of flags.
13949         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
13950         munged to be GST_STATE_CHANGE_*.
13951         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
13952         work with the new state representation.
13953         (GstStateChange): New enumeration of possible state transitions.
13954         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
13955         (GstElementClass::change_state): Pass the GstStateChange along as
13956         an argument. Helps language bindings, so they don't have to use
13957         tricky lock-needing macros like GST_STATE_CHANGE ().
13958
13959         * scripts/update-states (file): New script. Run it on a file to
13960         update it for state naming and API changes. Updates files in
13961         place.
13962
13963         * All files updated for the new API.
13964
13965 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13966
13967         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
13968         * gst/gstutils.c: (gst_util_set_value_from_string),
13969         (gst_util_set_object_arg):
13970           fix a bunch of unchecked return values
13971         * tools/gst-complete.c: (main):
13972         * gstreamer.spec.in:
13973           clean up a little
13974
13975 2005-09-01  Wim Taymans  <wim@fluendo.com>
13976
13977         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13978         (gst_base_sink_event), (gst_base_sink_do_sync),
13979         (gst_base_sink_handle_event):
13980         * gst/base/gstbasesink.h:
13981         Handle newsegments more correctly.
13982
13983         * gst/gstbus.c:
13984         Fix docs.
13985
13986         * gst/gstevent.c: (gst_event_new_newsegment):
13987         A newsegment cannot have a start_time of -1
13988
13989 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
13990
13991         * win32/gstenumtypes.c:
13992         * win32/gstenumtypes.h:
13993           Update
13994
13995 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
13996
13997         * libs/gst/controller/gst-controller.c:
13998         (gst_controlled_property_set_interpolation_mode),
13999         (gst_controlled_property_new):
14000          fixed boolean again
14001
14002 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
14003
14004         * docs/faq/gst-uninstalled:
14005           add -good
14006         * gst/gstevent.c:
14007         * gst/gstevent.h:
14008           remove wrong docs
14009         * gst/gstutils.c: (gst_element_link_filtered):
14010         * gst/gstutils.h:
14011           add gst_element_link_filtered
14012
14013 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
14014
14015         * docs/gst/gstreamer-docs.sgml:
14016         * docs/gst/gstreamer-sections.txt:
14017         * docs/gst/tmpl/.cvsignore:
14018         * docs/gst/tmpl/gsterror.sgml:
14019         * docs/gst/tmpl/gstfilter.sgml:
14020         * docs/gst/tmpl/gsturihandler.sgml:
14021         * docs/gst/tmpl/gsturitype.sgml:
14022         * docs/gst/tmpl/gstutils.sgml:
14023         * docs/gst/tmpl/gstxml.sgml:
14024         * gst/gsterror.c:
14025         * gst/gsterror.h:
14026         * gst/gstfilter.c:
14027         * gst/gsturi.c:
14028         * gst/gsturitype.c:
14029         * gst/gstutils.c:
14030         * gst/gstxml.c:
14031           inlined more docs, fixed double id-ref
14032
14033 2005-08-31  Wim Taymans  <wim@fluendo.com>
14034
14035         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
14036         (gst_base_transform_handle_buffer):
14037         Passthrough elements don't need the caps as they don't care.
14038
14039 2005-08-31  Wim Taymans  <wim@fluendo.com>
14040
14041         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
14042         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
14043         Don't leak refcounts on buffers.
14044
14045 2005-08-31  Wim Taymans  <wim@fluendo.com>
14046
14047         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
14048         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
14049         (gst_base_transform_chain), (gst_base_transform_change_state):
14050         * gst/base/gstbasetransform.h:
14051         Handle the case where we are not negotiated more gracefully.
14052
14053 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
14054
14055         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
14056         (gst_file_src_map_region):
14057           Set READONLY flag on mmap'ed buffers, otherwise
14058           gst_buffer_make_writable() won't work properly (#314708).
14059
14060 2005-08-31  Wim Taymans  <wim@fluendo.com>
14061
14062         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
14063         passthrough elements can even do inplace on non writable
14064         buffers (as they don't touch them).
14065
14066 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
14067
14068         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
14069         (gst_test_mono_source_set_property),
14070         (gst_test_mono_source_class_init), (GST_START_TEST),
14071         (gst_controller_suite):
14072           more tests (hehe I have the most)
14073         * gst/gstbus.c:
14074           describe popping messages whenusing mulltiple sources
14075         * libs/gst/controller/gst-controller.c:
14076         (gst_controlled_property_set_interpolation_mode),
14077         (gst_controlled_property_new):
14078         * libs/gst/controller/gst-controller.h:
14079         * libs/gst/controller/gst-interpolation.c:
14080           implement boolean properties
14081
14082 2005-08-31  Wim Taymans  <wim@fluendo.com>
14083
14084         * gst/gstminiobject.c: (gst_mini_object_ref):
14085         Cannot assert that the refcount has to be positive
14086         since a disposed object can be resurrected.
14087
14088 2005-08-31  Wim Taymans  <wim@fluendo.com>
14089
14090         * gst/gstpad.c: (gst_pad_init):
14091         Revert change, need to first fix badly behaving 
14092         apps.
14093
14094 2005-08-30  Wim Taymans  <wim@fluendo.com>
14095
14096         * check/elements/fakesrc.c: (setup_fakesrc):
14097         * check/elements/identity.c: (setup_identity):
14098         Activate pads before using them.
14099
14100 2005-08-30  Wim Taymans  <wim@fluendo.com>
14101
14102         * gst/base/gstadapter.c: (gst_adapter_flush):
14103         Flushing out 0 bytes is ok for this function.
14104
14105         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14106         no newsegment gives a warning and sets the start/stop to 
14107         invalid.
14108
14109         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
14110         (gst_base_transform_set_passthrough):
14111         Some debug info.
14112
14113         * gst/gstminiobject.c: (gst_mini_object_ref):
14114         Check refcount here too.
14115
14116         * gst/gstpad.c: (gst_pad_init):
14117         Pads are initially flushing and refusing data.
14118
14119         * gst/gstutils.c: (gst_element_link_pads_filtered):
14120         When adding a capsfilter element make sure it has the
14121         same state as the parent bin.
14122
14123 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
14124
14125         * docs/gst/tmpl/.cvsignore:
14126         * docs/gst/tmpl/gstformat.sgml:
14127         * docs/gst/tmpl/gstversion.sgml:
14128         * gst/gstbus.h:
14129         * gst/gstformat.c:
14130         * gst/gstformat.h:
14131         * gst/gstversion.h.in:
14132           more docs and two more inlined
14133
14134 2005-08-30  Wim Taymans  <wim@fluendo.com>
14135
14136         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
14137         Don't sync to clock.
14138
14139 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
14140
14141         * docs/gst/gstreamer-sections.txt:
14142           ultral33t func10ns deserve to appear in the docs actually
14143         * docs/gst/tmpl/.cvsignore:
14144         * docs/gst/tmpl/gstcompat.sgml:
14145         * docs/gst/tmpl/gstconfig.sgml:
14146         * gst/check/gstcheck.c:
14147         * gst/gstcompat.h:
14148         * gst/gstconfig.h.in:
14149           inlined more docs
14150
14151 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
14152
14153         * docs/gst/tmpl/.cvsignore:
14154         * docs/gst/tmpl/gstquery.sgml:
14155         * docs/gst/tmpl/gstutils.sgml:
14156         * gst/gstquery.c:
14157         * gst/gstquery.h:
14158           inlined and extended docs
14159
14160 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
14161
14162         * check/gst-libs/controller.c: (GST_START_TEST),
14163         (gst_controller_suite):
14164           more tests
14165         * docs/gst/tmpl/gstutils.sgml:
14166         * docs/libs/gstreamer-libs-sections.txt:
14167         * docs/libs/tmpl/gstdataprotocol.sgml:
14168           include path fixes
14169         * examples/controller/audio-example.c: (main):
14170           controller example works now
14171         * gst/gstclock.h:
14172           doc fixes
14173         * tools/gst-inspect.c: (print_element_properties_info):
14174           show param spec flags
14175
14176 2005-08-29  Andy Wingo  <wingo@pobox.com>
14177
14178         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
14179
14180 2005-08-28  Andy Wingo  <wingo@pobox.com>
14181
14182         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
14183         as having two arguments instead of just one. Allows superclasses
14184         to access information on subclasses -- see the terrible for() loop
14185         in gtype.c:g_type_create_instance for the reason why. All callers
14186         changed.
14187
14188 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
14189
14190         * docs/design/part-messages.txt:
14191           update info
14192         * docs/gst/tmpl/.cvsignore:
14193         * docs/gst/tmpl/gstcaps.sgml:
14194         * docs/gst/tmpl/gstclock.sgml:
14195         * gst/gstbus.c:
14196         * gst/gstcaps.c:
14197         * gst/gstcaps.h:
14198         * gst/gstclock.c:
14199         * gst/gstclock.h:
14200         * gst/gstmessage.c:
14201           added descriptions for bus and message
14202           inline caps and clock docs
14203
14204 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
14205
14206         * gst/gstmessage.c:
14207         * gst/gstmessage.h:
14208           doc fixes
14209
14210 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
14211
14212         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
14213           fix div-by-zero
14214
14215 2005-08-26  Andy Wingo  <wingo@pobox.com>
14216
14217         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
14218         element_set_state's return val.
14219         (test_2_elements): Add test that's been disabled for months.
14220
14221         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
14222         can-activate-pull properties.
14223
14224         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
14225         can-activate-pull properties. Implement is_seekable so fakesrc can
14226         operate in pull mode.
14227
14228         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
14229         properties.
14230         (gst_base_sink_activate, gst_base_sink_activate_pull)
14231         (gst_base_sink_activate_push): Make activation mode choosing work.
14232         Cleanups.
14233         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
14234         is right. Make pull mode work. Post an eos before pausing in pull
14235         mode.
14236         (gst_base_sink_change_state): Pay attention to the core's
14237         change_state() return val.
14238         
14239         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
14240         has-getrange properties. Cleanups.
14241         
14242         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
14243         has_getrange and replace with can_activate_pull and
14244         can_activate_push.
14245
14246         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
14247         locking comments. Remove has_loop, has_chain and replace with
14248         can_activate_pull and can_activate_push.
14249
14250 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
14251
14252         * configure.ac:
14253         * examples/Makefile.am:
14254         * examples/metadata/Makefile.am:
14255         * examples/metadata/read-metadata.c: (message_loop),
14256         (have_pad_handler), (make_pipeline), (print_tag), (main):
14257           Add metadata reading example that loops over a list of filenames,
14258           dumping any tags found.
14259
14260         * gst/gstbus.c: (gst_bus_dispose):
14261         * gst/gstelement.c: (gst_element_dispose):
14262           Release a few potentially-held references in dispose.
14263
14264 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
14265
14266         * docs/gst/tmpl/gstminiobject.sgml:
14267           do *not* add tmpl/*.sgml files to CVS!
14268
14269 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
14270
14271         * libs/gst/bytestream/.cvsignore:
14272         * libs/gst/bytestream/Makefile.am:
14273         * libs/gst/bytestream/adapter.c:
14274         * libs/gst/bytestream/adapter.h:
14275         * libs/gst/bytestream/bytestream.c:
14276         * libs/gst/bytestream/bytestream.h:
14277         * libs/gst/bytestream/filepad.c:
14278         * libs/gst/bytestream/filepad.h:
14279           removing obsolete files
14280
14281 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
14282
14283         * docs/gst/gstreamer-docs.sgml:
14284         * docs/libs/gstreamer-libs-docs.sgml:
14285           disabed additional index entries again, as this makes docs-gen just
14286           slow and they aren't useful yet
14287         * docs/libs/gstreamer-libs-sections.txt:
14288           little -section.txt cleanup for libs
14289
14290 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
14291
14292         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14293         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
14294           fix up some debugging
14295         (gst_base_transform_get_unit_size),
14296         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
14297         (gst_base_transform_handle_buffer):
14298         * gst/base/gstbasetransform.h:
14299           handle and store timed NEWSEGMENT events so that subclasses that
14300           calculate time by counting samples have a segment_start time they
14301           need to add to their timestamps - see audioresample
14302
14303 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
14304
14305         * gst/gstbin.h:
14306           removed ';' from the end of macro defs
14307         * docs/gst/gstreamer-docs.sgml:
14308         * docs/gst/gstreamer-sections.txt:
14309         * docs/gst/tmpl/.cvsignore:
14310         * gst/gstbus.h:
14311         * gst/gstelement.c: (gst_element_class_init),
14312         (gst_element_set_state), (activate_pads),
14313         (gst_element_save_thyself):
14314         * gst/gstevent.c: (gst_event_new_newsegment):
14315         * gst/gstevent.h:
14316         * gst/gstiterator.c:
14317         * gst/gstiterator.h:
14318         * gst/gstpad.c:
14319         * gst/gstprobe.h:
14320         * gst/gstutils.c: (gst_pad_query_convert):
14321         * gst/gstutils.h:
14322           fixed parameter name mismatches between source, header and docs
14323           added some more docs, resolved the last batch of unused elements in
14324           docs (now someone needs to doc them)
14325
14326 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14327
14328         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
14329         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
14330           don't walk through the plugins backwards.  Where is all this
14331           reversed logic coming from ?
14332
14333 2005-08-25  Wim Taymans  <wim@fluendo.com>
14334
14335         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14336         (gst_base_transform_transform_size),
14337         (gst_base_transform_configure_caps),
14338         (gst_base_transform_get_unit_size),
14339         (gst_base_transform_buffer_alloc),
14340         (gst_base_transform_change_state):
14341         * gst/base/gstbasetransform.h:
14342         Cache caps unit_size.
14343         Make sure we cannot negotiate up and downstream at the
14344         same time.
14345
14346 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14347
14348         * gst/gst.c: (init_pre), (init_post):
14349           register the installed plugin path after the env var
14350         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
14351         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
14352           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
14353           directories, so the tests can prefer uninstalled over installed
14354
14355 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14356
14357         * gst/base/gstbasetransform.h:
14358           comment
14359         * gst/gstpad.c:
14360           add to docs
14361
14362 2005-08-25  Wim Taymans  <wim@fluendo.com>
14363
14364         * gst/gstbin.c: (bin_bus_handler):
14365         Be a bit more conservative about the posted message.
14366         
14367         * gst/gstbus.c: (gst_bus_post):
14368         Some cleanups, warn wrong return values.
14369
14370 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
14371
14372         * check/gst/gstbin.c: (GST_START_TEST):
14373         * gst/gstbin.c: (bin_bus_handler):
14374         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
14375         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
14376         (gst_message_new_warning), (gst_message_new_tag),
14377         (gst_message_new_state_changed), (gst_message_new_segment_start),
14378         (gst_message_new_segment_done), (gst_message_new_custom):
14379         * gst/gstmessage.h:
14380         * tools/gst-launch.c: (event_loop):
14381         * tools/gst-md5sum.c: (event_loop):
14382           Revert unpopular change for GST_MESSAGE_SRC to GObject.
14383
14384 2005-08-25  Wim Taymans  <wim@fluendo.com>
14385
14386         * check/generic/states.c: (GST_START_TEST):
14387         Cleanup can be done at the end.
14388
14389         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
14390         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
14391         (gst_task_get_state), (gst_task_start), (gst_task_pause):
14392         Oh boy.. Thanks for finding this, Thomas. 
14393
14394 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
14395
14396         * docs/gst/gstreamer.types:
14397           added missing types
14398
14399 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
14400
14401         * docs/gst/gstreamer-docs.sgml:
14402         * docs/gst/gstreamer-sections.txt:
14403         * docs/gst/tmpl/.cvsignore:
14404         * gst/gstbin.c:
14405         * gst/gstiterator.c:
14406         * gst/gstutils.c:
14407         * gst/registries/gstxmlregistry.h:
14408           added missing classes and symbols (123 more to go)
14409           removed removed symbols from section file
14410           fixed many doc-comments
14411
14412 2005-08-24  Wim Taymans  <wim@fluendo.com>
14413
14414         * check/generic/states.c: (GST_START_TEST):
14415         Make sure all tasks are stopped.
14416
14417         * check/gst/gstbin.c: (GST_START_TEST):
14418         Unref after usage for proper valgrinding.
14419
14420         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
14421         Really wait for the task to stop before destroying the
14422         mutex.
14423
14424         * gst/gstqueue.c: (gst_queue_sink_activate_push),
14425         (gst_queue_src_activate_push):
14426         Small cleanups. Don't stop the task when we did not start
14427         it.
14428
14429         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
14430         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
14431         (gst_task_get_state), (gst_task_start), (gst_task_pause),
14432         (gst_task_join):
14433         * gst/gsttask.h:
14434         Protect the stream lock with the object lock.
14435         Disallow setting the stream lock when running.
14436         Add cleanup_all to wait for the threadpool to finish.
14437         Remove code to autoallocate a mutex if none was provided.
14438         Add _join() to wait for a task to stop.
14439         Protect the thread pool with a global lock.
14440
14441 2005-08-24  Wim Taymans  <wim@fluendo.com>
14442
14443         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14444         (gst_base_sink_get_times), (gst_base_sink_do_sync),
14445         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
14446         * gst/base/gstbasesink.h:
14447         Handle newsegment events correctly.
14448         Drop buffers out of the segment range.
14449
14450 2005-08-22  Andy Wingo  <wingo@pobox.com>
14451
14452         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
14453         macro, implements an interface and gstimplementsinterface for a
14454         new type.
14455
14456 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14457
14458         * check/Makefile.am:
14459         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
14460           add a test that does a bunch of state changes on elements
14461           needs some fixing for valgrind
14462         * check/states/sinks.c: (gst_object_suite):
14463           whitespace
14464         * gst/gstcaps.h:
14465           add prototype for gst_caps_is_equal_fixed
14466         * gst/gstplugin.c:
14467         * gst/gstregistrypool.c:
14468           doc fixes
14469
14470 2005-08-24  Andy Wingo  <wingo@pobox.com>
14471
14472         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
14473         convert a negative value. Doesn't make much sense. Mostly this is
14474         here to force callers to ensure -1 maps to -1.
14475
14476 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
14477
14478         * docs/pwg/advanced-types.xml:
14479           Well done to Michael for catching my deliberate introduction
14480           of this spelling mistake. 
14481         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
14482         * gst/gstelement.h:
14483           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
14484           unlink pads before removing the element from the bin.
14485
14486 2005-08-24  Andy Wingo  <wingo@pobox.com>
14487
14488         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
14489         the same thing as GST_DEBUG=*:4.
14490         (parse_debug_level, parse_debug_category): New helper parsers.
14491
14492 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14493
14494         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14495         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
14496         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
14497         (gst_base_transform_buffer_alloc),
14498         (gst_base_transform_handle_buffer):
14499           use gboolean return values and pointers to size so we can use the
14500           full GST_BUFFER_SIZE range (guint) for buffer sizes
14501           use GstPadDirection for transform_caps
14502         * gst/base/gstbasetransform.h:
14503           rename get_size to get_unit_size since that's what it is
14504         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
14505           use GstPadDirection for transform_caps
14506         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14507         * gst/gstutils.h:
14508           cleanup and debugging
14509
14510 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
14511
14512         * gst/gstelement.c: (gst_element_class_init),
14513         (gst_element_set_state), (activate_pads),
14514         (gst_element_save_thyself):
14515         * tools/gst-compprep.c: (main):
14516         * tools/gst-inspect.c: (print_element_properties_info):
14517         * tools/gst-xmlinspect.c: (print_element_properties):
14518           Fixed long standing mem-leak
14519
14520 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
14521
14522         * check/gst/gstbin.c: (GST_START_TEST):
14523         * gst/gstbin.c: (bin_bus_handler):
14524         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
14525         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
14526         (gst_message_new_warning), (gst_message_new_tag),
14527         (gst_message_new_state_changed), (gst_message_new_segment_start),
14528         (gst_message_new_segment_done), (gst_message_new_custom):
14529         * gst/gstmessage.h:
14530         * tools/gst-launch.c: (event_loop):
14531         * tools/gst-md5sum.c: (event_loop):
14532           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
14533           that applications can sensibly post custom messages with references
14534           to their own objects.
14535
14536 2005-08-24  Andy Wingo  <wingo@pobox.com>
14537
14538         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
14539         already.
14540
14541 2005-08-24  Wim Taymans  <wim@fluendo.com>
14542
14543         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14544         (gst_base_transform_transform_caps),
14545         (gst_base_transform_transform_size),
14546         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14547         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14548         (gst_base_transform_handle_buffer):
14549         * gst/base/gstbasetransform.h:
14550         Many fixes and new features added by Thomas. Can now also do
14551         transforms with variable sizes and a custom fixate_caps function.
14552
14553 2005-08-24  Wim Taymans  <wim@fluendo.com>
14554
14555         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14556         Some debugging.
14557
14558         * gst/gstclock.h:
14559         Cast to ClockTime before formatting to time.
14560
14561         * gst/gstutils.h:
14562         Cleanups.
14563
14564 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
14565
14566         * check/gst-libs/controller.c: (GST_START_TEST),
14567         (gst_controller_suite):
14568         * docs/gst/tmpl/gstcaps.sgml:
14569         * docs/gst/tmpl/gstghostpad.sgml:
14570         * docs/gst/tmpl/gstquery.sgml:
14571         * docs/gst/tmpl/gstutils.sgml:
14572         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
14573         (gst_object_sink_values), (gst_object_get_value_arrays),
14574         (gst_object_get_value_array):
14575           gracefully handle helper method calls to objects that are not beeing
14576           controlled, added test case for that          
14577
14578 2005-08-23  Wim Taymans  <wim@fluendo.com>
14579
14580         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
14581         (gst_event_new_newsegment), (gst_event_parse_newsegment),
14582         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
14583         (gst_event_parse_qos), (gst_event_new_seek),
14584         (gst_event_parse_seek):
14585         * gst/gstevent.h:
14586         Some more debugging output and doc cleanups.
14587
14588         * gst/gstqueue.c: (gst_queue_handle_sink_event):
14589         Fix possible deadlock.
14590
14591 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
14592
14593         * docs/gst/gstreamer-docs.sgml:
14594         * docs/gst/gstreamer-sections.txt:
14595         * docs/gst/gstreamer.types:
14596         * docs/gst/tmpl/.cvsignore:
14597         * gst/gstbin.h:
14598         * gst/gstbus.c:
14599         * gst/gstelement.c:
14600         * gst/gstevent.h:
14601           added 100 symbols from gstreamer-unused.txt to the right sections
14602           fixed more broken comments
14603           added GstBus to docs
14604
14605 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
14606
14607         * docs/gst/gstreamer-sections.txt:
14608         * docs/gst/tmpl/.cvsignore:
14609         * docs/gst/tmpl/gstbin.sgml:
14610         * docs/gst/tmpl/gstbuffer.sgml:
14611         * gst/base/gstbasesrc.c:
14612         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
14613         * gst/gstbuffer.c:
14614         * gst/gstbuffer.h:
14615         * tools/gst-launch.1.in:
14616           inlined more doc comments, added missing comments and fixed comments
14617           fixed typos
14618
14619 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14620
14621         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14622           some debugging
14623         * gst/gstcaps.h:
14624           whitespace fixes
14625         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
14626           more debugging
14627         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
14628         * gst/gststructure.h:
14629           add a fixate function for booleans; add a FIXME that these func
14630           names should probably be gst_structure_fixate_*
14631
14632 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
14633
14634         * docs/gst/gstreamer-docs.sgml:
14635         * docs/gst/gstreamer-sections.txt:
14636         * gst/Makefile.am:
14637         * gst/gstbin.c: (gst_bin_get_type),
14638         (gst_bin_child_proxy_get_child_by_index),
14639         (gst_bin_child_proxy_get_children_count),
14640         (gst_bin_child_proxy_init):
14641         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
14642         (gst_child_proxy_get_child_by_index),
14643         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
14644         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
14645         (gst_child_proxy_get), (gst_child_proxy_set_property),
14646         (gst_child_proxy_set_valist), (gst_child_proxy_set),
14647         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
14648         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
14649         * gst/gstchildproxy.h:
14650         * gst/parse/grammar.y:
14651         * tools/gst-inspect.c: (print_interfaces),
14652         (print_element_properties_info), (print_element_info):
14653           ported gstchildproxy over from 0.8
14654           ported gst-inspect fixes and enhancements over from 0.8
14655
14656 2005-08-22  Wim Taymans  <wim@fluendo.com>
14657
14658         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14659         (gst_base_transform_handle_buffer):
14660         Also call the transform function if we have ANY caps.
14661
14662         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
14663         Fix debug info.
14664
14665 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
14666
14667         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
14668           Don't pretend to handle seek events if the source is not seekable
14669
14670 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
14671
14672         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14673           Remove extra parameter to debug output
14674
14675         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14676         (gst_base_src_do_seek), (gst_base_src_activate_push):
14677           Fix seek event handling.
14678
14679         * gst/gstpipeline.c: (gst_pipeline_change_state):
14680         * gst/gstqueue.c: (gst_queue_handle_sink_event),
14681         (gst_queue_src_activate_push):
14682           Don't start the src pad task on FLUSH_STOP if the pad
14683           isn't linked.
14684           Debug changes.
14685
14686 2005-08-22  Wim Taymans  <wim@fluendo.com>
14687
14688         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
14689         Added check for gst_static_caps_get() refcounting.
14690
14691 2005-08-22  Wim Taymans  <wim@fluendo.com>
14692
14693         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
14694         Make _static_caps_get() refcounting sane.
14695         
14696         * gst/gstelement.c: (gst_element_set_state):
14697         Add g_return_val_if_fail() to protect against segfaults.
14698
14699 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
14700
14701         * docs/gst/tmpl/gstevent.sgml:
14702         * gst/gstevent.c:
14703         * gst/gstevent.h:
14704           inlined remaining docs, added missing doc comments
14705
14706 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14707
14708         * check/gst/gstbin.c: (GST_START_TEST):
14709           since we don't know when preroll is done, use refcount range
14710           check for the sink
14711         * gst/check/gstcheck.h:
14712           add macro for checking refcount range
14713
14714 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14715
14716         * check/Makefile.am:
14717           clean up environment for when registry gets built versus
14718           when actual tests are run; valgrind seems to not report
14719           leaks if GST_PLUGIN_PATH is set to some specific values
14720         * check/gst/gstbin.c: (GST_START_TEST):
14721           add more refcounting checks; maybe this exposes a
14722           preroll lock bug ?
14723         * common/check.mak:
14724         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14725         * gst/check/gstcheck.h:
14726         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
14727         (gst_bin_change_state):
14728         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
14729           add/fix debugging/whitespace
14730
14731 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
14732
14733         * check/gst/gstevent.c: (event_probe), (test_event),
14734         (GST_START_TEST):
14735          Er, don't call gst_bin_watch_for_state_change you idiot.
14736
14737 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
14738
14739         * check/Makefile.am:
14740           Use CHECK_CFLAGS and CHECK_LIBS
14741         * check/gst/gstevent.c: (event_probe), (test_event),
14742         (GST_START_TEST):
14743           Don't leak events.
14744         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14745         (gst_base_src_start), (gst_base_src_stop),
14746         (gst_base_src_activate_push), (gst_base_src_activate_pull),
14747         (gst_base_src_change_state):
14748           Sprinkle gst_base_src_stop liberally around error paths to fix
14749           problems reusing a source after failed state changes.
14750         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14751         (helper_find_suggest), (gst_type_find_helper):
14752           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
14753         * gst/gstevent.h:
14754         * docs/gst/tmpl/gstevent.sgml:
14755           Migrate part of the docs from the SGML file. Wait for ensonic to
14756           tell me how I did it wrong ;)
14757         * tools/gst-typefind.c: (main):
14758           Extra robustness to state changes between files.
14759
14760 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14761
14762         * check/Makefile.am:
14763           don't valgrind the controller test - it's leaking - Stefan, HELP
14764         * gst/check/gstcheck.c: (gst_check_message_error),
14765         (gst_check_chain_func), (gst_check_setup_element),
14766         (gst_check_teardown_element), (gst_check_setup_src_pad),
14767         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
14768         (gst_check_teardown_sink_pad):
14769         * gst/check/gstcheck.h:
14770           add a bunch of methods to set up elements, and src and sink pads
14771         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
14772         * check/elements/identity.c: (setup_identity), (cleanup_identity),
14773         (GST_START_TEST):
14774           use them
14775         * gst/gstmessage.c:
14776         * gst/gsttag.h:
14777           whitespace/doc fixes
14778
14779 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14780
14781         * gst/gstelement.h:
14782           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
14783           be handled by the application and not always printed as well
14784
14785 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14786
14787         * check/Makefile.am:
14788           set GST_TOOLS_DIR
14789         * gst/check/gstcheck.c: (gst_check_message_error):
14790         * gst/check/gstcheck.h:
14791           add a fail_unless_equals_int
14792           add fail_unless for error messages
14793
14794 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14795
14796         * check/Makefile.am:
14797         * check/gst.supp:
14798         * common/Makefile.am:
14799         * common/check.mak:
14800         * common/gst.supp:
14801           factor out some of the common stuff so we can use it
14802
14803 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14804
14805         * check/Makefile.am:
14806         * check/gst/gstiterator.c: (GST_START_TEST):
14807         * check/gst/gstsystemclock.c: (GST_START_TEST),
14808         (gst_systemclock_suite):
14809         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14810         * gst/gstclock.c:
14811           valgrind more tests
14812
14813 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14814
14815         * check/elements/.cvsignore:
14816         * check/elements/gstfakesrc.c:
14817           rename to name of element
14818         * check/elements/identity.c: (chain_func), (event_func),
14819         (setup_identity), (cleanup_identity), (GST_START_TEST),
14820         (identity_suite), (main):
14821           add a test for identity
14822         * check/Makefile.am:
14823         * pkgconfig/Makefile.am:
14824         * pkgconfig/gstreamer-check.pc.in:
14825         * pkgconfig/gstreamer-check-uninstalled.pc.in:
14826         * gst/check:
14827         * gst/Makefile.am:
14828         * configure.ac:
14829           move the check stuff to a library that gets installed
14830         * check/gst-libs/controller.c: (GST_START_TEST):
14831         * check/gst-libs/gdp.c:
14832         * check/gst/gst.c: (GST_START_TEST):
14833         * check/gst/gstbin.c:
14834         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14835         * check/gst/gstbus.c:
14836         * check/gst/gstcaps.c: (GST_START_TEST):
14837         * check/gst/gstelement.c:
14838         * check/gst/gstghostpad.c:
14839         * check/gst/gstiterator.c:
14840         * check/gst/gstmessage.c:
14841         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
14842         * check/gst/gstobject.c:
14843         * check/gst/gstpad.c: (GST_START_TEST):
14844         * check/gst/gststructure.c: (GST_START_TEST):
14845         * check/gst/gstsystemclock.c: (GST_START_TEST),
14846         (gst_systemclock_suite):
14847         * check/gst/gsttag.c: (gst_tag_suite):
14848         * check/gst/gstvalue.c:
14849         * check/pipelines/cleanup.c:
14850         * check/pipelines/simple_launch_lines.c:
14851         * check/states/sinks.c:
14852           change include statement
14853
14854         * docs/gst/gstreamer-sections.txt:
14855         * docs/gst/tmpl/gstpad.sgml:
14856           document more pad stuff
14857         * gst/gstminiobject.c: (gst_mini_object_ref),
14858         (gst_mini_object_unref):
14859           debug refcounting
14860
14861 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
14862
14863         * docs/gst/tmpl/gst.sgml:
14864         * gst/gst.c:
14865           eliminate another tmpl file, fix spelling in the long-description
14866
14867 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14868
14869         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14870         (test_event), (timediff), (gstevents_suite):
14871           Should fix build on 64-bit arch's
14872
14873 2005-08-18  Andy Wingo  <wingo@pobox.com>
14874
14875         Make sure that when a pipeline goes to PLAYING, that data has
14876         actually hit the sink.
14877
14878         * check/states/sinks.c (test_sink): A sink that doesn't get any
14879         data shouldn't return SUCCESS for going to either PLAYING or
14880         PAUSED. Test also the return values on the way back down.
14881
14882         * gst/gstelement.c (gst_element_set_state): When changing the
14883         state of an element currently changing state asynchronously, go to
14884         lost-state after commiting the pending state. Makes future calls
14885         to get_state continue to return ASYNC.
14886
14887         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
14888         ASYNC when going to PLAYING if we still don't have preroll, as can
14889         happen with live sources.
14890
14891 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14892
14893         * docs/pwg/advanced-types.xml:
14894           Hack long paragraph into 2 chunks as a workaround for buggy
14895           jadetex version in sid and breezy that loops infinitely and
14896           eats all RAM.
14897
14898 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14899
14900         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14901         (test_event), (timediff), (gstevents_suite):
14902           Provide more error margin in clock measurements to allow for 
14903           g_get_current_time inaccuracies.
14904
14905 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14906
14907         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14908         (test_event), (timediff), (gstevents_suite):
14909            Fix error message output so I might be able to tell why the
14910            test works here but fails on the build farm.
14911
14912 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14913
14914         * check/Makefile.am:
14915         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14916         (test_event), (timediff), (gstevents_suite), (main):
14917           I wrote a test!
14918
14919         * docs/design/part-seeking.txt:
14920           Spelling correction
14921
14922         * docs/gst/tmpl/gstevent.sgml:
14923         * docs/gst/tmpl/gstfakesrc.sgml:
14924           Docs updates.
14925
14926         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14927           Treat a buffer-without-newsegment the same as a receiving 
14928           a newsegment not in time format, and disable syncing to the clock
14929           with a warning.
14930
14931         * gst/gstbus.c: (gst_bus_set_sync_handler):
14932           Assert if anyone tries to replace the existing sync_handler for bus, 
14933           as only the owner should be setting it.
14934
14935         * gst/gstevent.h:
14936           Have a fixed set of custom event enums with events identified by
14937           their structure name (as in 0.8), rather than a free-for-all
14938           allowing collisions between enum values from different plugins.
14939
14940         * gst/gstpad.c: (gst_pad_class_init):
14941           Docs change.
14942           
14943         * gst/gstqueue.c: (gst_queue_handle_sink_event):
14944           Handle out-of-band downstream events from the sending thread.
14945
14946 2005-08-17  Andy Wingo  <wingo@pobox.com>
14947
14948         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
14949         play-timeout==0 to mean no timeout at all. In that case, don't
14950         bother with a get_state or a warning, just return directly, even
14951         if it's ASYNC.
14952
14953         * gst/base/gstbasetransform.c: Debug changes.
14954
14955         * gst/gstutils.h:
14956         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
14957         ensure bins post state change messages. A bit of a hack but I can't
14958         think of a way to avoid it.
14959
14960         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
14961
14962 2005-08-16  Andy Wingo  <wingo@pobox.com>
14963
14964         * gst/base/gstadapter.h:
14965         * gst/base/gstadapter.c (gst_adapter_take): New function, like
14966         peek() but you own the data. Not terribly efficient atm.
14967
14968 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14969
14970         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
14971         (gst_element_found_tags):
14972         * gst/gstutils.h:
14973           Add two utility functions for tag handling.
14974
14975 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14976
14977         * docs/manual/advanced-dataaccess.xml:
14978         * docs/manual/basics-helloworld.xml:
14979           Fix docs to use _bin_add() before _link(), which fixes the examples
14980           with recent core versions (reported by Madhan Raj M
14981           <raj_madan@rediffmail.com>, #313199).
14982
14983 2005-08-16  Wim Taymans  <wim@fluendo.com>
14984
14985         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14986         Added subtract checks.
14987
14988         * docs/design/part-events.txt:
14989         Some more docs about newsegment
14990
14991         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
14992         Fix FIXME
14993
14994         * gst/gstcaps.c: (gst_caps_to_string):
14995         Add comments, cleanups.
14996         
14997         * gst/gstelement.c: (gst_element_save_thyself):
14998         cleanups
14999         
15000         * gst/gstvalue.c: (gst_value_collect_int_range),
15001         (gst_string_unwrap), (gst_value_union_int_int_range),
15002         (gst_value_union_int_range_int_range),
15003         (gst_value_intersect_int_int_range),
15004         (gst_value_intersect_int_range_int_range),
15005         (gst_value_intersect_double_double_range),
15006         (gst_value_intersect_double_range_double_range),
15007         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
15008         (gst_value_subtract_int_range_int),
15009         (gst_value_subtract_double_range_double),
15010         (gst_value_subtract_double_range_double_range),
15011         (gst_value_subtract_from_list), (gst_value_subtract_list),
15012         (gst_value_can_compare), (gst_value_compare_fraction):
15013         Cleanups, add comments, remove unneeded asserts.
15014
15015 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15016
15017         * tools/gst-launch.c: (event_loop):
15018           don't convert NULL structures to strings
15019
15020 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
15021
15022         * docs/gst/gstreamer-sections.txt:
15023           made some defines private
15024         * docs/gst/tmpl/gstconfig.sgml:
15025         * docs/gst/tmpl/gstqueue.sgml:
15026         * docs/gst/tmpl/gsttaglist.sgml:
15027         * docs/gst/tmpl/gsttypes.sgml:
15028         * docs/gst/tmpl/gstutils.sgml:
15029         * docs/pwg/appendix-porting.xml:
15030         * gst/base/gstbasesink.h:
15031         * gst/base/gstbasesrc.c:
15032         * gst/base/gstbasesrc.h:
15033         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
15034         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
15035         * gst/gstelement.c: (gst_element_class_init):
15036         * gst/gstpad.c: (gst_pad_class_init):
15037         * gst/gstqueue.c: (gst_queue_class_init):
15038         * gst/gstxml.c: (gst_xml_class_init):
15039           documented all undocumented signal inline
15040         * libs/gst/controller/gst-controller.h:
15041           added padding
15042
15043 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15044
15045         * docs/pwg/appendix-porting.xml:
15046           Document _set_link_function -> _set_setcaps_function.
15047
15048 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15049
15050         * check/Makefile.am:
15051           add a .check target for running the check
15052         * check/gst-libs/controller.c: (GST_START_TEST):
15053           cosmetic fixups
15054         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15055           complete checks for gstbuffer; would be nice if I could get the
15056           gcov stuff to work so I can see if I actually completed gstbuffer.c
15057         * check/gstcheck.h:
15058           add ASSERT_BUFFER_REFCOUNT
15059
15060 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
15061
15062         * docs/gst/gstreamer-sections.txt:
15063         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
15064         * gst/gsttag.h:
15065           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
15066           spew out a warning if a tag that is already registered
15067           is re-registered, unless it is re-registered with a 
15068           different type (#308438).
15069
15070 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
15071
15072         * docs/pwg/appendix-porting.xml:
15073         * docs/pwg/building-state.xml:
15074           Add some paragraphs about state changes in 0.9 to the PWG
15075           and the porting guide, in particular about the new meaning
15076           of GST_STATE_PAUSED and how to write state change functions
15077           with concurrent access by multiple threads in mind.
15078
15079 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
15080
15081         * docs/gst/gstreamer-docs.sgml:
15082         * docs/libs/gstreamer-libs-docs.sgml:
15083           added deprecation and since indexes
15084         * libs/gst/controller/gst-controller.c:
15085         * libs/gst/controller/gst-helper.c:
15086           added since tags
15087
15088
15089 2005-08-11  Wim Taymans  <wim@fluendo.com>
15090
15091         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
15092         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
15093         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
15094         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
15095         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
15096         (gst_ghost_pad_set_target):
15097         Actually implement (re)setting the target on a ghostpad
15098         as described in the docs.
15099
15100 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
15101
15102         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
15103           Check whether GST_DEBUG_NO_COLOR environment variable is
15104           set and disable coloured debug output if that is the case.
15105
15106 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
15107
15108         * gst/base/gsttypefindhelper.c: (helper_find_peek),
15109         (gst_type_find_helper):
15110           The memory returned by gst_type_find_peek() needs to
15111           stay valid until the end of a typefind function, and
15112           typefind functions may keep results from different 
15113           offsets around, so we can't just unref the buffer from
15114           the previous _peek(), but have to save all buffers 
15115           returned by _peek() until typefinding is done and only
15116           free them then.
15117
15118 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
15119
15120         * docs/gst/gstreamer-sections.txt:
15121         * gst/gstutils.h:
15122           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
15123
15124 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15125
15126         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
15127           Fix a pretty good memleak.
15128
15129 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
15130
15131         * gst/gstiterator.h:
15132           Fix wrong include and 'make distcheck'.
15133
15134 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15135
15136         * gst/gstbin.c: (bin_bus_handler):
15137           Use gst_element_post_message() instead.
15138
15139 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
15140
15141         * gst/base/gstadapter.h:
15142         * gst/base/gstbasesink.h:
15143         * gst/base/gstbasesrc.h:
15144         * gst/base/gstbasetransform.h:
15145         * gst/base/gstcollectpads.h:
15146         * gst/base/gstpushsrc.h:
15147         * gst/gstiterator.h:
15148           Add padding to our base elements' class and instance structs and
15149           to GstIterator (you will need to rebuild all plugins and apps!)
15150
15151 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15152
15153         * gst/gstbin.c: (bin_bus_handler):
15154           Make default message forwarding from child->bus to bin->bus
15155           threadsafe and make it not emit warnings if the parent has no bus.
15156
15157 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15158
15159         * gst/gstelement.c: (activate_pads):
15160           On paused->ready, set pad->caps to NULL, as is the documented
15161           behaviour in this state change. Fixes playback of series of
15162           media files when visualization is enabled in Totem.
15163
15164 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15165
15166         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15167           Allow NULL as filter-caps (which means "any").
15168
15169 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
15170
15171         * docs/libs/gstreamer-libs-sections.txt:
15172         * libs/gst/controller/gst-controller.c:
15173         * libs/gst/controller/gst-controller.h:
15174         * libs/gst/controller/gst-helper.c:
15175           adding more entries to the docs and fix small doc-bugs
15176
15177 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
15178
15179         * docs/gst/gstreamer-docs.sgml:
15180         * docs/gst/gstreamer-sections.txt:
15181         * docs/gst/gstreamer.types:
15182         * docs/gst/tmpl/gstbasesink.sgml:
15183         * docs/gst/tmpl/gstbasesrc.sgml:
15184         * docs/gst/tmpl/gstbasetransform.sgml:
15185         * docs/gst/tmpl/gstfakesrc.sgml:
15186         * gst/base/gstcollectpads.c:
15187         * gst/base/gstcollectpads.h:
15188         * libs/gst/controller/gst-controller.c:
15189         * libs/gst/controller/gst-controller.h:
15190         * libs/gst/controller/gst-helper.c:
15191         * libs/gst/controller/gst-interpolation.c:
15192         * libs/gst/controller/lib.c:
15193           added long/short desc for controller docs
15194           added collectpads base class docs
15195           added correct includes to base-class docs
15196
15197 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
15198
15199         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
15200         (gst_test_mono_source_set_property),
15201         (gst_test_mono_source_class_init), (GST_START_TEST),
15202         (gst_controller_suite):
15203         * docs/gst/gstreamer-docs.sgml:
15204         * docs/gst/gstreamer-sections.txt:
15205         * docs/gst/gstreamer.types:
15206         * docs/libs/gstreamer-libs-docs.sgml:
15207         * docs/libs/gstreamer-libs-sections.txt:
15208         * gst/base/gstadapter.c:
15209         * libs/gst/controller/gst-controller.c:
15210         (gst_controlled_property_new), (gst_controlled_property_free),
15211         (gst_controller_new_valist),
15212         (gst_controller_remove_properties_valist),
15213         (gst_controller_sink_values), (_gst_controller_finalize):
15214         * libs/gst/controller/gst-controller.h:
15215         * libs/gst/controller/gst-helper.c:
15216         (gst_object_control_properties), (gst_object_uncontrol_properties),
15217         (gst_object_get_controller), (gst_object_set_controller),
15218         (gst_object_sink_values), (gst_object_get_value_arrays),
15219         (gst_object_get_value_array):
15220           more tests (and fixes) for the controller
15221           more docs for the controller
15222           integrated companies docs for the adapter 
15223
15224 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15225
15226         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
15227         (GST_START_TEST), (fakesrc_suite):
15228           add tests for sizetype
15229
15230 2005-08-04  Andy Wingo  <wingo@pobox.com>
15231
15232         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
15233         fixes buffer_alloc proxying among other things.
15234
15235         * gst/base/gstbasetransform.c:
15236         * gst/base/gstbasetransform.h:
15237         Revert patch to gstbasetransform from 7-28 removing
15238         delay_configure.
15239
15240         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
15241         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
15242         Semantics changed, should return not the size of the output buffer
15243         but the byte size of a buffer with a given caps.
15244
15245         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
15246         debug object.
15247         (gst_base_transform_configure_caps): Don't set out_size here: (in,
15248         out) are not the pad caps until setcaps finishes.
15249         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
15250         not-in-place case as well. Deal with changing from in-place to
15251         not-in-place within calling pad_alloc_buffer. Still a bit
15252         concerned about the overhead here...
15253
15254 2005-08-03  Andy Wingo  <wingo@pobox.com>
15255
15256         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
15257         fixating is an error.
15258
15259 2005-08-04  Edward Hervey  <edward@fluendo.com>
15260
15261         * gst/base/gstadapter.h: 
15262         Added gst_adapter_get_type() to the header
15263
15264 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
15265
15266         * check/Makefile.am:
15267         * check/gst-libs/controller.c:
15268         * libs/gst/controller/gst-controller.c:
15269         (gst_controller_new_valist):
15270           added check test suite for the controller
15271         * gst/base/gstpushsrc.c:
15272           fixed a doc typo
15273
15274 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
15275
15276         * docs/gst/Makefile.am:
15277         * docs/gst/gstreamer-docs.sgml:
15278         * docs/gst/gstreamer-sections.txt:
15279         * docs/gst/gstreamer.types:
15280         * docs/gst/tmpl/gstfakesrc.sgml:
15281         * gst/base/README:
15282         * gst/base/gstbasesink.c:
15283         * gst/base/gstbasesink.h:
15284         * gst/base/gstbasesrc.c:
15285         * gst/base/gstbasesrc.h:
15286         * gst/base/gstbasetransform.c:
15287         * gst/base/gstpushsrc.c:
15288         * gst/base/gstpushsrc.h:
15289           add short/long description docs to base classes
15290           add pushsrc to the docs
15291           remove consolidated doc fragments
15292
15293 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
15294
15295         * configure.ac:
15296         * docs/libs/Makefile.am:
15297         * docs/libs/gstreamer-libs-docs.sgml:
15298         * docs/libs/gstreamer-libs-sections.txt:
15299         * docs/libs/gstreamer-libs.types:
15300         * examples/Makefile.am:
15301         * examples/controller/.cvsignore:
15302         * examples/controller/Makefile.am:
15303         * examples/controller/audio-example.c: (main):
15304         * libs/gst/Makefile.am:
15305         * libs/gst/controller/.cvsignore:
15306         * libs/gst/controller/Makefile.am:
15307         * libs/gst/controller/gst-controller.c:
15308         (on_object_controlled_property_changed), (gst_timed_value_compare),
15309         (gst_timed_value_find),
15310         (gst_controlled_property_set_interpolation_mode),
15311         (gst_controlled_property_new), (gst_controlled_property_free),
15312         (gst_controller_find_controlled_property),
15313         (gst_controller_new_valist), (gst_controller_new),
15314         (gst_controller_remove_properties_valist),
15315         (gst_controller_remove_properties), (gst_controller_set),
15316         (gst_controller_set_from_list), (gst_controller_unset),
15317         (gst_controller_get), (gst_controller_get_all),
15318         (gst_controller_sink_values), (gst_controller_get_value_arrays),
15319         (gst_controller_get_value_array),
15320         (gst_controller_set_interpolation_mode),
15321         (_gst_controller_finalize), (_gst_controller_init),
15322         (_gst_controller_class_init), (gst_controller_get_type):
15323         * libs/gst/controller/gst-controller.h:
15324         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
15325         (g_object_uncontrol_properties), (g_object_get_controller),
15326         (g_object_set_controller), (g_object_sink_values),
15327         (g_object_get_value_arrays), (g_object_get_value_array):
15328         * libs/gst/controller/gst-interpolation.c:
15329         (gst_controlled_property_find_timed_value_node),
15330         (interpolate_none_get), (interpolate_trigger_get),
15331         (interpolate_trigger_get_value_array):
15332         * libs/gst/controller/lib.c: (gst_controller_init):
15333         * pkgconfig/Makefile.am:
15334         * pkgconfig/gstreamer-control-uninstalled.pc.in:
15335         * pkgconfig/gstreamer-control.pc.in:
15336         * testsuite/Makefile.am:
15337         * testsuite/controller/.cvsignore:
15338         * testsuite/controller/Makefile.am:
15339         * testsuite/controller/interpolator.c: (main):
15340           added controller code
15341           removed dparam pc files
15342
15343 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
15344         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
15345         (gst_collectpads_stop):
15346           Broadcast the condition when shutting down, to make sure we wake all
15347           threads up. Shut down pads on finalize, for safety.
15348
15349 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
15350         * gst/base/gstbasetransform.c: (gst_base_transform_init),
15351         (gst_base_transform_handle_buffer),
15352         (gst_base_transform_change_state):
15353           Handle PAUSED->READY->PAUSED transition after negotiation
15354           occurred already.
15355         * gst/gstmessage.c: (gst_message_init):
15356           Extra piece of debug for new messages.
15357
15358 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
15359
15360         * configure.ac:
15361         * docs/gst/tmpl/gstbasesrc.sgml:
15362         * docs/gst/tmpl/gstelement.sgml:
15363         * docs/gst/tmpl/gstevent.sgml:
15364         * docs/gst/tmpl/gstfakesrc.sgml:
15365         * docs/gst/tmpl/gstformat.sgml:
15366         * docs/gst/tmpl/gstghostpad.sgml:
15367         * docs/gst/tmpl/gstpad.sgml:
15368         * docs/gst/tmpl/gstquery.sgml:
15369         * docs/gst/tmpl/gststructure.sgml:
15370         * docs/gst/tmpl/gsttaglist.sgml:
15371         * docs/gst/tmpl/gstvalue.sgml:
15372         * docs/libs/gstreamer-libs-docs.sgml:
15373         * docs/libs/gstreamer-libs-sections.txt:
15374         * docs/libs/gstreamer-libs.types:
15375         * libs/gst/Makefile.am:
15376         * libs/gst/control/.cvsignore:
15377         * libs/gst/control/Makefile.am:
15378         * libs/gst/control/control.c:
15379         * libs/gst/control/control.h:
15380         * libs/gst/control/dparam.c:
15381         * libs/gst/control/dparam.h:
15382         * libs/gst/control/dparam_smooth.c:
15383         * libs/gst/control/dparam_smooth.h:
15384         * libs/gst/control/dparamcommon.h:
15385         * libs/gst/control/dparammanager.c:
15386         * libs/gst/control/dparammanager.h:
15387         * libs/gst/control/dplinearinterp.c:
15388         * libs/gst/control/dplinearinterp.h:
15389         * libs/gst/control/unitconvert.c:
15390         * libs/gst/control/unitconvert.h:
15391         * testsuite/Makefile.am:
15392         * testsuite/dynparams/.cvsignore:
15393         * testsuite/dynparams/Makefile.am:
15394         * testsuite/dynparams/dparamstest.c:
15395         * tools/Makefile.am:
15396         * tools/gst-inspect.c: (print_element_info), (main):
15397         * tools/gst-xmlinspect.c: (print_element_info), (main):
15398           deactivate and remove dparams (libgstcontrol)
15399
15400 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
15401
15402         * gst/elements/gsttypefindelement.c:
15403         (gst_type_find_element_have_type), (gst_type_find_element_init),
15404         (stop_typefinding), (gst_type_find_element_handle_event),
15405         (gst_type_find_element_chain), (gst_type_find_element_getrange):
15406         * gst/elements/gsttypefindelement.h:
15407           Set caps on all outgoing buffers, not just the first one.
15408
15409 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
15410
15411         * gst/elements/gsttypefindelement.c:
15412         (gst_type_find_element_have_type),
15413         (gst_type_find_element_check_set_buffer_caps),
15414         (gst_type_find_element_init), (stop_typefinding),
15415         (gst_type_find_element_handle_event),
15416         (gst_type_find_element_chain), (gst_type_find_element_getrange):
15417         * gst/elements/gsttypefindelement.h:
15418           Set caps on first outgoing buffer when we've found the type.
15419
15420 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
15421
15422         * docs/gst/gstreamer-docs.sgml:
15423         * docs/gst/gstreamer-sections.txt:
15424         * docs/gst/tmpl/gstscheduler.sgml:
15425         * docs/gst/tmpl/gstschedulerfactory.sgml:
15426           Remove some old cruft from docs.
15427
15428 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
15429
15430         * gst/gstpad.h:
15431           Fix inline docs for GstPadLinkReturn.
15432           
15433         * gst/gststructure.c: (gst_structure_has_name):
15434         * gst/gststructure.h:
15435         * docs/gst/gstreamer-sections.txt:
15436           New API: gst_structure_has_name().
15437
15438 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
15439
15440         * configure.ac:
15441           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
15442           and _LARGEFILE_SOURCE in config.h as required. Do not 
15443           export those flags in our .pc files any longer (#142209).
15444
15445           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
15446
15447         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
15448         (gst_file_sink_do_seek), (gst_file_sink_event),
15449         (gst_file_sink_get_current_offset), (gst_file_sink_render):
15450           Redo seek/tell calls with large file support in mind; add some
15451           debugging messages; add log message that tells us when large
15452           file support is unavailable or not enabled for some reason.
15453
15454         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
15455           Add log message that tells us when large file support 
15456           is unavailable or not enabled for some reason.
15457
15458 2005-07-29  Wim Taymans  <wim@fluendo.com>
15459
15460         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
15461         Added test for removing an element with ghostpad from a bin.
15462         Fixed test as current implementation does the right thing.
15463
15464         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
15465         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
15466         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
15467         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
15468         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
15469         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
15470         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
15471         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
15472         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
15473         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
15474         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
15475         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
15476         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
15477         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
15478         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
15479         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
15480         * gst/gstghostpad.h:
15481         Clean up ghostpads, remove properties for internal stuff.
15482         Make threadsafe.
15483         Fix refcounting.
15484         Prepare for switching targets, not all use cases work yet.
15485
15486 2005-07-29  Wim Taymans  <wim@fluendo.com>
15487
15488         * docs/design/part-gstghostpad.txt:
15489         Small update.
15490
15491         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
15492         (gst_bin_remove_func):
15493         Unlinking pads while holding the bin LOCK is not a good
15494         idea.
15495
15496         * gst/gstpad.c: (gst_pad_class_init),
15497         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
15498         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
15499         No prob setting template after creating the pad.
15500
15501 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
15502
15503         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
15504         (gst_bus_peek), (gst_bus_source_dispatch),
15505         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
15506         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
15507           gst_bus_poll may be called from other threads. Handle
15508           this nicely by not making poll_data disappear off the
15509           stack once gst_bus_poll returns.
15510           gst_bus_peek now increments the refcount on the returned
15511           message.
15512
15513 2005-07-29  Wim Taymans  <wim@fluendo.com>
15514
15515         * docs/design/part-gstghostpad.txt:
15516         Overview of current GhostPad datastructures and use
15517         cases for changing the target.
15518
15519 2005-07-28  Wim Taymans  <wim@fluendo.com>
15520
15521         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15522         Added checks for hierarchy consistency whan adding linked
15523         elements to bins.
15524
15525         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
15526         Added check to test element scheduling without bin/pipeline.
15527
15528         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
15529         First add elements to bin, then link.
15530         
15531         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
15532         (gst_bin_remove_func):
15533         Unlink pads from elements added/removed from bin to maintain
15534         hierarchy consistency.
15535
15536 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15537
15538         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
15539         (gst_base_transform_handle_buffer):
15540         * gst/base/gstbasetransform.h:
15541           Remove broken delay_configure (fixes renegotiation of software
15542           scaling pipelines); remove some leftover printf()s.
15543
15544 2005-07-28  Wim Taymans  <wim@fluendo.com>
15545
15546         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
15547         Added some more tests for wrong hierarchy
15548
15549         * docs/design/part-overview.txt:
15550         Some updates.
15551
15552         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
15553         Cleanups.
15554
15555         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
15556         (gst_element_dispose):
15557         Some more cleanups.
15558
15559         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15560         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
15561         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15562         (gst_pad_set_caps), (gst_pad_send_event):
15563         Check for correct hierarchy when linking pads. Moving to
15564         strict requirement for ghostpads when linking elements in
15565         different bins.
15566
15567         * gst/gstpad.h:
15568         Clean ups. Added WRONG_HIERARCHY return value.
15569
15570 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15571
15572         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
15573           Better debug if no transform is possible.
15574
15575 2005-07-27  Wim Taymans  <wim@fluendo.com>
15576
15577         * docs/random/wtay/network-transp:
15578         Some old doc I had.
15579
15580 2005-07-27  Wim Taymans  <wim@fluendo.com>
15581
15582         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15583         (gst_dp_event_from_packet):
15584         Fix serialization of seek events.
15585
15586 2005-07-27  Wim Taymans  <wim@fluendo.com>
15587
15588         * check/gst-libs/gdp.c: (GST_START_TEST):
15589         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
15590         Fix compilation and fix event serialization.
15591
15592 2005-07-27  Wim Taymans  <wim@fluendo.com>
15593
15594         * CHANGES-0.9:
15595         * docs/design/part-TODO.txt:
15596         * docs/design/part-events.txt:
15597         Some docs updates
15598
15599         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15600         (gst_base_sink_event), (gst_base_sink_do_sync),
15601         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
15602         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
15603         (gst_base_src_do_seek), (gst_base_src_event_handler),
15604         (gst_base_src_loop):
15605         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
15606         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15607         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
15608         (gst_base_transform_event), (gst_base_transform_handle_buffer),
15609         (gst_base_transform_set_passthrough),
15610         (gst_base_transform_is_passthrough):
15611         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
15612         * gst/elements/gstfilesink.c: (gst_file_sink_event):
15613         Event updates.
15614
15615         * gst/gstbuffer.h:
15616         Use faster casts.
15617
15618         * gst/gstelement.c: (gst_element_seek):
15619         * gst/gstelement.h:
15620         Update gst_element_seek.
15621
15622         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
15623         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
15624         (gst_event_new_flush_start), (gst_event_new_flush_stop),
15625         (gst_event_new_eos), (gst_event_new_newsegment),
15626         (gst_event_parse_newsegment), (gst_event_new_tag),
15627         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
15628         (gst_event_parse_qos), (gst_event_new_seek),
15629         (gst_event_parse_seek), (gst_event_new_navigation):
15630         * gst/gstevent.h:
15631         Make GstEvent use GstStructure. Add parsing code, make sure the
15632         API is sufficiently generic.
15633         Mark possible directions of events and serialization.
15634
15635         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
15636         (_gst_message_copy), (gst_message_new_segment_start),
15637         (gst_message_new_segment_done), (gst_message_new_custom),
15638         (gst_message_parse_segment_start),
15639         (gst_message_parse_segment_done):
15640         Small cleanups.
15641
15642         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15643         (gst_pad_set_caps), (gst_pad_send_event):
15644         Update for new events. 
15645         Catch events sent in wrong directions.
15646
15647         * gst/gstqueue.c: (gst_queue_link_src),
15648         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15649         (gst_queue_handle_src_query):
15650         Event updates.
15651
15652         * gst/gsttag.c:
15653         * gst/gsttag.h:
15654         Remove event code from this file.
15655
15656         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15657         (gst_dp_event_from_packet):
15658         Event updates.
15659
15660 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15661
15662         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
15663         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15664         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
15665           Make debugging actually useful.
15666
15667 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15668
15669         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
15670         (gst_pad_fixate_caps):
15671           Implement default fixation once again, so that gst_pad_fixate()
15672           actually does anything at all. This probably needs to be some
15673           sort of a last resort, and use profile-based fixation first, but
15674           since that doesn't exist yet, this is the best we have. Fixes
15675           visualization in Totem.
15676
15677 2005-07-22  Wim Taymans  <wim@fluendo.com>
15678
15679         * docs/design/part-events.txt:
15680         Small update.
15681
15682         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15683         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
15684         (gst_base_sink_activate_pull):
15685         Some more comments.
15686
15687         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
15688         (gst_fake_src_create):
15689         Fix handoff marshall.
15690
15691         * gst/elements/gstidentity.c: (gst_identity_class_init),
15692         (gst_identity_transform_ip):
15693         We're a real inplace element.
15694
15695         * gst/gstbus.c: (gst_bus_post):
15696         Added some comments.
15697
15698         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
15699         * tests/muxing/case1.c: (main):
15700         * tests/sched/dynamic-pipeline.c: (main):
15701         * tests/sched/interrupt1.c: (main):
15702         * tests/sched/interrupt2.c: (main):
15703         * tests/sched/interrupt3.c: (main):
15704         * tests/sched/runxml.c: (main):
15705         * tests/sched/sched-stress.c: (main):
15706         * tests/seeking/seeking1.c: (event_received), (main):
15707         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15708         (main):
15709         * tests/threadstate/threadstate3.c: (main):
15710         * tests/threadstate/threadstate4.c: (main):
15711         * tests/threadstate/threadstate5.c: (main):
15712         Fix the tests.
15713
15714 2005-07-21  Wim Taymans  <wim@fluendo.com>
15715
15716         * docs/design/part-seeking.txt:
15717         Some small additions.
15718
15719         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15720         (gst_base_sink_get_times), (gst_base_sink_do_sync),
15721         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
15722         * gst/base/gstbasesink.h:
15723         discont values are gint64, handle the math correctly.
15724
15725         * gst/base/gstbasesrc.c: (gst_base_src_loop):
15726         Make the basesrc report error if the source pad is not linked.
15727
15728         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
15729         (gst_queue_loop), (gst_queue_handle_src_query),
15730         (gst_queue_src_activate_push):
15731         Make queue collect data even if the srcpad is not linked.
15732         Start pushing out data as soon as it is linked.
15733
15734         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
15735         * gst/gstutils.h:
15736         Added gst_flow_get_name() to ease error reporting.
15737
15738 2005-07-20  Wim Taymans  <wim@fluendo.com>
15739
15740         * gst/gstmessage.c: (gst_message_new_segment_start),
15741         (gst_message_new_segment_done), (gst_message_parse_segment_start),
15742         (gst_message_parse_segment_done):
15743         * gst/gstmessage.h:
15744         Added a bunch of messages for advanced seeking.
15745
15746         * gst/parse/grammar.y:
15747         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
15748         (gst_dpman_state_changed):
15749         Fix some new-pad -> pad-added signals
15750
15751 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15752
15753         * docs/manual/appendix-porting.xml:
15754         * docs/pwg/appendix-porting.xml:
15755           Document new-pad/state-change signal renames and the FixedList
15756           type rename.
15757
15758 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15759
15760         * docs/manual/advanced-autoplugging.xml:
15761         * docs/manual/basics-helloworld.xml:
15762         * docs/manual/basics-pads.xml:
15763         * docs/random/ds/0.9-suggested-changes:
15764         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
15765         * gst/gstelement.h:
15766         * gst/gstevent.h:
15767         * gst/gstformat.h:
15768         * gst/gstquery.h:
15769         * gst/gststructure.c: (gst_structure_value_get_generic_type),
15770         (gst_structure_parse_array), (gst_structure_parse_value):
15771         * gst/gstvalue.c: (gst_type_is_fixed),
15772         (gst_value_list_prepend_value), (gst_value_list_append_value),
15773         (gst_value_list_get_size), (gst_value_list_get_value),
15774         (gst_value_transform_array_string), (gst_value_serialize_array),
15775         (gst_value_deserialize_array), (gst_value_intersect_array),
15776         (gst_value_is_fixed), (_gst_value_initialize):
15777         * gst/gstvalue.h:
15778           GstElement::new-pad -> pad-added, GstElement::state-change ->
15779           state-changed, GstValueFixedList -> GstValueArray, add format and
15780           flags as their own arguments in gst_element_seek() (should improve
15781           "bindeability"), remove function generators since they don't work
15782           under a whole bunch of compilers (they were deprecated already
15783           anyway).
15784
15785 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15786
15787         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
15788         (_gst_debug_register_funcptr):
15789         * gst/gstinfo.h:
15790           Fix illegal cast on some platforms (#309253).
15791
15792 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15793
15794         * gst/gstmessage.c: (gst_message_new_custom):
15795         * gst/gstmessage.h:
15796           Add _new_custom, make _new_application a macro to _new_custom.
15797
15798 2005-07-20  Wim Taymans  <wim@fluendo.com>
15799
15800         * gst/base/gstbasesrc.c: (gst_base_src_init),
15801         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
15802         * gst/base/gstbasesrc.h:
15803         Add a gboolean to decide when to push out a discont.
15804
15805         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15806         (gst_queue_loop), (gst_queue_handle_src_query),
15807         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
15808         (gst_queue_set_property), (gst_queue_get_property):
15809         Some cleanups.
15810
15811         * tests/threadstate/threadstate1.c: (main):
15812         Make a thread test compile and run... very silly..
15813
15814
15815 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15816
15817         * docs/manual/appendix-porting.xml:
15818           Mention removal of libgstgconf-0.9.la and existence of gconf
15819           elements.
15820
15821 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15822
15823         * docs/pwg/advanced-clock.xml:
15824         * docs/pwg/appendix-porting.xml:
15825         * docs/pwg/intro-preface.xml:
15826         * docs/pwg/other-base.xml:
15827         * docs/pwg/other-manager.xml:
15828         * docs/pwg/other-nton.xml:
15829         * docs/pwg/other-ntoone.xml:
15830         * docs/pwg/other-oneton.xml:
15831         * docs/pwg/pwg.xml:
15832           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
15833           demuxer), remove n-to-n (was never written), fix some code examples
15834           and links and update the porting section to include all this.
15835
15836 2005-07-19  Wim Taymans  <wim@fluendo.com>
15837
15838         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
15839         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
15840         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
15841         (gst_queue_src_activate_push), (gst_queue_change_state),
15842         (gst_queue_get_property):
15843         * gst/gstqueue.h:
15844         Propagate GstFlowReturn more intelligently upstream and output
15845         an ERROR/EOS when streaming stopped due to fatal error.
15846
15847 2005-07-19  Wim Taymans  <wim@fluendo.com>
15848
15849         * tools/gst-launch.c: (check_intr), (event_loop), (main):
15850         Don't block forever for the state change to complete, the
15851         pipeline already did with a sensible timeout.
15852
15853 2005-07-19  Wim Taymans  <wim@fluendo.com>
15854
15855         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
15856         Make sure we never call the create function is we
15857         got deactivated.
15858
15859 2005-07-19  Andy Wingo  <wingo@pobox.com>
15860
15861         * gst/parse/parse.l: Attempt to solve bug #172815.
15862
15863 2005-07-19  Wim Taymans  <wim@fluendo.com>
15864
15865         * docs/design/part-clocks.txt:
15866         * docs/design/part-events.txt:
15867         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
15868         Small docs updates.
15869         Only update the seeking values when we are not
15870         busy streaming.
15871
15872 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
15873
15874         * gst/base/gstbasesrc.c: (gst_base_src_loop):
15875           Oops, ignore the result of gst_pad_push_event here.
15876
15877 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
15878
15879         * gst/base/gstbasesrc.c: (gst_base_src_loop),
15880         (gst_base_src_activate_push):
15881           Send discont event from the loop function, as pads
15882           aren't activated yet in the activate_push handler.
15883
15884         * gst/gstbin.c: (bin_bus_handler):
15885           Don't leak element name.
15886
15887 2005-07-18  Andy Wingo  <wingo@pobox.com>
15888
15889         * configure.ac: Use AS_LIBTOOL_TAGS.
15890
15891 2005-07-18  Wim Taymans  <wim@fluendo.com>
15892
15893         * docs/gst/gstreamer.types:
15894         Remove deleted types.
15895
15896 2005-07-18  Wim Taymans  <wim@fluendo.com>
15897
15898         * check/elements/gstfakesrc.c: (GST_START_TEST):
15899         * configure.ac:
15900         * gst/Makefile.am:
15901         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
15902         (init_popt_callback):
15903         * gst/gst.h:
15904         * gst/gst_private.h:
15905         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
15906         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
15907         * gst/gstbin.h:
15908         * gst/gstbus.h:
15909         * gst/gstconfig.h.in:
15910         * gst/gstelement.c: (gst_element_class_init),
15911         (gst_element_set_base_time), (gst_element_get_base_time),
15912         (iterator_fold_with_resync), (gst_element_change_state),
15913         (gst_element_dispose), (gst_element_get_bus):
15914         * gst/gstelement.h:
15915         * gst/gstelementfactory.h:
15916         * gst/gsterror.c: (_gst_core_errors_init):
15917         * gst/gsterror.h:
15918         * gst/gstevent.h:
15919         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
15920         * gst/gstindex.c:
15921         * gst/gstinfo.c: (_gst_debug_init):
15922         * gst/gstmessage.c: (_gst_message_copy):
15923         * gst/gstmessage.h:
15924         * gst/gstminiobject.h:
15925         * gst/gstobject.c:
15926         * gst/gstobject.h:
15927         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15928         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
15929         * gst/gstpad.h:
15930         * gst/gstparse.h:
15931         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
15932         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
15933         (gst_pipeline_get_last_stream_time):
15934         * gst/gstpipeline.h:
15935         * gst/gstpluginfeature.h:
15936         * gst/gstquery.h:
15937         * gst/gstscheduler.c:
15938         * gst/gstscheduler.h:
15939         * gst/gststructure.h:
15940         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
15941         (gst_task_finalize), (gst_task_func), (gst_task_create),
15942         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
15943         (gst_task_stop), (gst_task_pause):
15944         * gst/gsttask.h:
15945         * gst/gsttypefind.h:
15946         * gst/gsttypes.h:
15947         * gst/registries/gstlibxmlregistry.c: (load_feature),
15948         (gst_xml_registry_load), (gst_xml_registry_save_feature):
15949         * gst/registries/gstxmlregistry.c:
15950         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
15951         * gst/schedulers/threadscheduler.c:
15952         * libs/gst/control/dparammanager.h:
15953         * tools/gst-inspect.c: (print_element_list),
15954         (print_plugin_features), (print_element_features):
15955         * tools/gst-xmlinspect.c: (print_element_list),
15956         (print_plugin_info), (main):
15957         Removed plugable schedulers.
15958         Removed Scheduler/Manager from elements.
15959         Removed gsttypes.h, rearranged includes.
15960         Removed dependency pad<->element, element<>pipeline, and
15961         various others,  fix includes.
15962         implement gst_pad_get_parent() with gst_object_get_parent()
15963         Make GstTask sefcontained.
15964         Fix _get_state() on GstBin, it did not return ASYNC with a 0
15965         timeout.
15966         Fix endless loop in iterator_fold_with_resync.
15967
15968
15969 2005-07-18  Wim Taymans  <wim@fluendo.com>
15970
15971         * gst/Makefile.am:
15972         * gst/gstarch.h:
15973         Remove old file.
15974
15975 2005-07-18  Wim Taymans  <wim@fluendo.com>
15976
15977         * gst/Makefile.am:
15978         No more cothreads.h
15979
15980 2005-07-18  Wim Taymans  <wim@fluendo.com>
15981
15982         * gst/cothreads.c:
15983         * gst/cothreads.h:
15984         Let's remove these.
15985
15986 2005-07-18  Wim Taymans  <wim@fluendo.com>
15987
15988         * docs/design/part-dynamic.txt:
15989         * docs/design/part-events.txt:
15990         * docs/design/part-seeking.txt:
15991         Some more docs in the works.
15992
15993         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
15994         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
15995         (gst_base_transform_setcaps), (gst_base_transform_get_size),
15996         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
15997         (gst_base_transform_handle_buffer),
15998         (gst_base_transform_sink_activate_push),
15999         (gst_base_transform_src_activate_pull),
16000         (gst_base_transform_set_passthrough),
16001         (gst_base_transform_is_passthrough):
16002         Refcounting fixes.
16003
16004         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
16005         Cleanups.
16006
16007         * gst/gstevent.c: (gst_event_finalize):
16008         Set SRC to NULL.
16009
16010         * gst/gstutils.c: (gst_element_unlink),
16011         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
16012         (gst_pad_proxy_setcaps):
16013         * gst/gstutils.h:
16014         Add _get_parent_element() to get a pads parent as an element.
16015
16016 2005-07-18  Wim Taymans  <wim@fluendo.com>
16017
16018         * check/gst/gstbin.c: (GST_START_TEST):
16019         Remove bogus test.
16020
16021 2005-07-18  Wim Taymans  <wim@fluendo.com>
16022
16023         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
16024         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
16025         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
16026         (gst_base_sink_event), (gst_base_sink_do_sync),
16027         (gst_base_sink_chain), (gst_base_sink_loop),
16028         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
16029         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
16030         Refcounting fixes.
16031         Fix logic for returning ASYNC when not prerolled.
16032
16033 2005-07-18  Wim Taymans  <wim@fluendo.com>
16034
16035         * gst/gstqueue.c: (gst_queue_handle_sink_event):
16036         Fix nasty refcount bug.
16037
16038 2005-07-16 Philippe Khalaf <burger@speedy.org>
16039
16040         * gst/elements/gstfdsrc.c:
16041         * gst/elements/gstfdsrc.h:
16042         * gst/elements/gstelements.c:
16043         * gst/elements/Makefile.am:
16044         Ported fdsrc to 0.9.
16045
16046 2005-07-16  Wim Taymans  <wim@fluendo.com>
16047
16048         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16049         (gst_base_sink_do_sync):
16050         Fix compile error.
16051
16052 2005-07-16  Wim Taymans  <wim@fluendo.com>
16053
16054         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16055         (gst_base_sink_event), (gst_base_sink_get_times),
16056         (gst_base_sink_do_sync), (gst_base_sink_change_state):
16057         * gst/base/gstbasesink.h:
16058         Store and use discont values when syncing buffers as described
16059         in design docs.
16060         
16061         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
16062         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
16063         (gst_base_src_activate_push):
16064         Push discont event when starting.
16065
16066         * gst/elements/gstidentity.c: (gst_identity_transform):
16067         Small cleanups.
16068
16069         * gst/gstbin.c: (gst_bin_change_state):
16070         Small cleanups in base_time  distribution.
16071
16072         * gst/gstelement.c: (gst_element_set_base_time),
16073         (gst_element_get_base_time), (gst_element_change_state):
16074         * gst/gstelement.h:
16075         Added methods for the base_time of the element.
16076         Some MT fixes.
16077
16078         * gst/gstpipeline.c: (gst_pipeline_send_event),
16079         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
16080         (gst_pipeline_get_last_stream_time):
16081         * gst/gstpipeline.h:
16082         MT fixes.
16083         Handle seeking as described in design doc, remove stream_time
16084         hack.
16085         Cleanups clock and stream_time selection code. Added accessors
16086         for the stream_time.
16087         
16088
16089 2005-07-16  Andy Wingo  <wingo@pobox.com>
16090
16091         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
16092         (#305291).
16093
16094 2005-07-16  Wim Taymans  <wim@fluendo.com>
16095
16096         * check/gst/gstbin.c: (GST_START_TEST):
16097         Make elements silent as the deep_notify refs the
16098         parent, which might make the test fail.
16099
16100         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
16101         Don't hold the lock for too long.
16102
16103 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
16104
16105         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
16106           Don't unref the caps we passed to gst_caps_make_writable() after
16107           passing them. gst_caps_make_writable() will do that for us.
16108
16109 2005-07-15  Andy Wingo  <wingo@pobox.com>
16110
16111         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
16112         (#157311).
16113
16114         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
16115         own marshalling function for the handoff signal. Properly type the
16116         buffer as a buffer. Fixes some warnings. Should do a more general
16117         solution.
16118         (gst_identity_class_init): Plug into the right marshaller.
16119
16120 2005-07-15  Wim Taymans  <wim@fluendo.com>
16121
16122         * docs/design/part-TODO.txt:
16123         * docs/design/part-clocks.txt:
16124         * docs/design/part-element-sink.txt:
16125         * docs/design/part-events.txt:
16126         * docs/design/part-gstpipeline.txt:
16127         Updated docs, mostly DISCONT related.
16128
16129 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
16130
16131         * docs/pwg/building-pads.xml:
16132           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
16133
16134 2005-07-15  Andy Wingo  <wingo@pobox.com>
16135
16136         * tools/gst-typefind.c: Update, add copyright block.
16137
16138         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
16139         Normalize and truncate caps before fixation.
16140
16141         * gst/gstcaps.h:
16142         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
16143         discards all but the first structure from its argument.
16144
16145 2005-07-15  Wim Taymans  <wim@fluendo.com>
16146
16147         * gst/base/gstbasetransform.c: (gst_base_transform_init),
16148         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
16149         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
16150         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
16151         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
16152         (gst_base_transform_chain), (gst_base_transform_change_state),
16153         (gst_base_transform_set_passthrough),
16154         (gst_base_transform_is_passthrough):
16155         * gst/base/gstbasetransform.h:
16156         Make passthrough work using the bufferpools.
16157         Changed API a bit, subclasses have to write into a buffer
16158         provided by the base class.
16159         More debug info in nego functions.
16160         
16161         * gst/elements/gstidentity.c: (gst_identity_init),
16162         (gst_identity_transform):
16163         Port to new base class.
16164
16165 2005-07-15  Wim Taymans  <wim@fluendo.com>
16166
16167         * gst/gstmessage.c: (gst_message_new_state_changed):
16168         * tools/gst-launch.c: (event_loop), (main):
16169         Totally dump messages in -launch with the -m option.
16170         Fix message name for State messages,
16171
16172 2005-07-14  Wim Taymans  <wim@fluendo.com>
16173
16174         * gst/base/gstbasesrc.c: (gst_base_src_loop):
16175         Post error messages on errors.
16176
16177 2005-07-14  Wim Taymans  <wim@fluendo.com>
16178
16179         * gst/gstcaps.c: (gst_caps_do_simplify):
16180         Remove debug info.
16181
16182         * gst/gsterror.h:
16183         Define error for stream stopped.
16184
16185         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
16186         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
16187         Do proper return values.
16188
16189         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
16190         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
16191         (gst_pad_get_range):
16192         Better return values.
16193
16194         * gst/gstpad.h:
16195         Reorganise return values, add macro to check for fatal errors.
16196
16197         * gst/gstqueue.c: (gst_queue_chain):
16198         Return proper GstFlowReturn values,
16199
16200 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
16201
16202         * docs/gst/gstreamer-sections.txt:
16203         * docs/gst/gstreamer.types:
16204         * docs/gst/tmpl/gst.sgml:
16205         * docs/gst/tmpl/gstbasesink.sgml:
16206         * docs/gst/tmpl/gstbasesrc.sgml:
16207         * docs/gst/tmpl/gstbasetransform.sgml:
16208         * docs/gst/tmpl/gstbin.sgml:
16209         * docs/gst/tmpl/gstbuffer.sgml:
16210         * docs/gst/tmpl/gstcaps.sgml:
16211         * docs/gst/tmpl/gstclock.sgml:
16212         * docs/gst/tmpl/gstcompat.sgml:
16213         * docs/gst/tmpl/gstconfig.sgml:
16214         * docs/gst/tmpl/gstelement.sgml:
16215         * docs/gst/tmpl/gstelementdetails.sgml:
16216         * docs/gst/tmpl/gstelementfactory.sgml:
16217         * docs/gst/tmpl/gstenumtypes.sgml:
16218         * docs/gst/tmpl/gsterror.sgml:
16219         * docs/gst/tmpl/gstevent.sgml:
16220         * docs/gst/tmpl/gstfakesink.sgml:
16221         * docs/gst/tmpl/gstfakesrc.sgml:
16222         * docs/gst/tmpl/gstfilesink.sgml:
16223         * docs/gst/tmpl/gstfilesrc.sgml:
16224         * docs/gst/tmpl/gstfilter.sgml:
16225         * docs/gst/tmpl/gstformat.sgml:
16226         * docs/gst/tmpl/gstghostpad.sgml:
16227         * docs/gst/tmpl/gstimplementsinterface.sgml:
16228         * docs/gst/tmpl/gstindex.sgml:
16229         * docs/gst/tmpl/gstindexfactory.sgml:
16230         * docs/gst/tmpl/gstinfo.sgml:
16231         * docs/gst/tmpl/gstiterator.sgml:
16232         * docs/gst/tmpl/gstmacros.sgml:
16233         * docs/gst/tmpl/gstmemchunk.sgml:
16234         * docs/gst/tmpl/gstminiobject.sgml:
16235         * docs/gst/tmpl/gstobject.sgml:
16236         * docs/gst/tmpl/gstpad.sgml:
16237         * docs/gst/tmpl/gstpadtemplate.sgml:
16238         * docs/gst/tmpl/gstparse.sgml:
16239         * docs/gst/tmpl/gstpipeline.sgml:
16240         * docs/gst/tmpl/gstplugin.sgml:
16241         * docs/gst/tmpl/gstpluginfeature.sgml:
16242         * docs/gst/tmpl/gstquery.sgml:
16243         * docs/gst/tmpl/gstqueue.sgml:
16244         * docs/gst/tmpl/gstregistry.sgml:
16245         * docs/gst/tmpl/gstregistrypool.sgml:
16246         * docs/gst/tmpl/gstscheduler.sgml:
16247         * docs/gst/tmpl/gstschedulerfactory.sgml:
16248         * docs/gst/tmpl/gststructure.sgml:
16249         * docs/gst/tmpl/gstsystemclock.sgml:
16250         * docs/gst/tmpl/gsttaglist.sgml:
16251         * docs/gst/tmpl/gsttagsetter.sgml:
16252         * docs/gst/tmpl/gsttrace.sgml:
16253         * docs/gst/tmpl/gsttrashstack.sgml:
16254         * docs/gst/tmpl/gsttypefind.sgml:
16255         * docs/gst/tmpl/gsttypefindfactory.sgml:
16256         * docs/gst/tmpl/gsttypes.sgml:
16257         * docs/gst/tmpl/gsturihandler.sgml:
16258         * docs/gst/tmpl/gsturitype.sgml:
16259         * docs/gst/tmpl/gstutils.sgml:
16260         * docs/gst/tmpl/gstvalue.sgml:
16261         * docs/gst/tmpl/gstversion.sgml:
16262         * docs/gst/tmpl/gstxml.sgml:
16263         * docs/libs/tmpl/gstcontrol.sgml:
16264         * docs/libs/tmpl/gstdataprotocol.sgml:
16265         * docs/libs/tmpl/gstdparam.sgml:
16266         * docs/libs/tmpl/gstdplinint.sgml:
16267         * docs/libs/tmpl/gstdpman.sgml:
16268         * docs/libs/tmpl/gstdpsmooth.sgml:
16269         * docs/libs/tmpl/gstgetbits.sgml:
16270         * docs/libs/tmpl/gstunitconvert.sgml:
16271         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
16272         (gst_push_src_base_init), (gst_push_src_class_init),
16273         (gst_push_src_init), (gst_push_src_create):
16274         * gst/base/gstpushsrc.h:
16275         * gst/elements/gstelements.c:
16276         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
16277         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
16278         (gst_fake_sink_init), (gst_fake_sink_set_property),
16279         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
16280         (gst_fake_sink_event), (gst_fake_sink_preroll),
16281         (gst_fake_sink_render), (gst_fake_sink_change_state):
16282         * gst/elements/gstfakesink.h:
16283         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
16284         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
16285         (gst_fake_src_base_init), (gst_fake_src_class_init),
16286         (gst_fake_src_init), (gst_fake_src_event_handler),
16287         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
16288         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
16289         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
16290         (gst_fake_src_create_buffer), (gst_fake_src_create),
16291         (gst_fake_src_start), (gst_fake_src_stop):
16292         * gst/elements/gstfakesrc.h:
16293         * gst/elements/gstfilesink.c: (_do_init),
16294         (gst_file_sink_base_init), (gst_file_sink_class_init),
16295         (gst_file_sink_init), (gst_file_sink_dispose),
16296         (gst_file_sink_set_location), (gst_file_sink_set_property),
16297         (gst_file_sink_get_property), (gst_file_sink_open_file),
16298         (gst_file_sink_close_file), (gst_file_sink_query),
16299         (gst_file_sink_event), (gst_file_sink_render),
16300         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
16301         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
16302         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
16303         * gst/elements/gstfilesink.h:
16304         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
16305         (gst_file_src_class_init), (gst_file_src_init),
16306         (gst_file_src_finalize), (gst_file_src_set_location),
16307         (gst_file_src_set_property), (gst_file_src_get_property),
16308         (gst_file_src_map_region), (gst_file_src_map_small_region),
16309         (gst_file_src_create_mmap), (gst_file_src_create_read),
16310         (gst_file_src_create), (gst_file_src_is_seekable),
16311         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
16312         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
16313         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
16314         (gst_file_src_uri_handler_init):
16315         * gst/elements/gstfilesrc.h:
16316           more autistic cleanliness in functions/names/defines
16317
16318 2005-07-13  Andy Wingo  <wingo@pobox.com>
16319
16320         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
16321         source couldn't negotiate.
16322
16323         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
16324         connections again.
16325
16326         * gst/gstutils.h:
16327         * gst/gstutils.c (gst_element_link_pads_filtered): New old
16328         function. I am channeling Hades. Put your boots on suckers!!!
16329
16330 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16331
16332         * testsuite/caps/Makefile.am:
16333         * testsuite/caps/value_compare.c:
16334         * testsuite/caps/value_intersect.c:
16335         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
16336           move two testsuite apps over to the check dir
16337
16338 2005-07-12  Wim Taymans  <wim@fluendo.com>
16339
16340         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
16341         Added more debug info in the negotiate process.
16342
16343         * gst/gstmessage.h:
16344         Prepare for segment playback.
16345
16346         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
16347         Better debugging.
16348
16349         * gst/gstutils.c:
16350         Some more docs.
16351
16352         * tools/gst-launch.c: (main):
16353         NULL pipeline on errors.
16354
16355 2005-07-12  Andy Wingo  <wingo@pobox.com>
16356
16357         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
16358         not it comes from a malloc region. Make sure our copy gets freed.
16359
16360 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16361
16362         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
16363         * check/gst/gstmessage.c: (GST_START_TEST):
16364         * check/gst/gststructure.c: (GST_START_TEST),
16365         (gst_structure_suite), (main):
16366           more testing
16367         * gst/gstelement.c: (gst_element_message_full):
16368           clean up GError and debug string now that they get copied
16369         * gst/gstmessage.c: (gst_message_new_error),
16370         (gst_message_new_warning), (gst_message_parse_error),
16371         (gst_message_parse_warning):
16372           use GST_TYPE_G_ERROR for structure_new, and take copies of
16373           arguments, so that we don't mess up refcounting
16374
16375 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16376
16377         * check/Makefile.am:
16378           add per-test valgrind targets
16379         * check/gst-libs/gdp.c: (GST_START_TEST),
16380         (gst_data_protocol_suite), (main):
16381           clean up
16382
16383 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16384
16385         * check/Makefile.am:
16386           instate more valgrindable tests
16387         * check/elements/gstfakesrc.c: (chain_func), (event_func),
16388         (GST_START_TEST), (fakesrc_suite):
16389         * check/gst/gstpad.c: (GST_START_TEST):
16390         * check/gst/gststructure.c: (GST_START_TEST):
16391           fix test leaks
16392         * docs/gst/tmpl/gstminiobject.sgml:
16393         * gst/gstpad.c: (gst_pad_finalize):
16394           fix the static mutex leak
16395
16396 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16397
16398         * check/Makefile.am:
16399           add two more tests for valgrinding
16400         * check/gst/gstvalue.c: (GST_START_TEST):
16401           test refcount of deserialized buffer, found a leak
16402         * docs/gst/gstreamer-docs.sgml:
16403         * docs/gst/gstreamer-sections.txt:
16404         * docs/gst/gstreamer.types:
16405         * docs/gst/tmpl/gstminiobject.sgml:
16406           add miniobject to docs
16407         * gst/gstminiobject.c:
16408           add some docs
16409         * gst/gstvalue.c: (gst_value_deserialize_buffer),
16410         (gst_string_unwrap):
16411           fix a hard-to-find invalid write for one of the tests
16412           fix a leak for deserialized buffers
16413
16414 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16415
16416         * docs/pwg/advanced-events.xml:
16417         * docs/pwg/advanced-request.xml:
16418         * docs/pwg/advanced-scheduling.xml:
16419         * docs/pwg/appendix-porting.xml:
16420         * docs/pwg/building-boiler.xml:
16421         * docs/pwg/intro-preface.xml:
16422         * docs/pwg/other-ntoone.xml:
16423           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
16424           of example code and explanation for pad activation, loop() and
16425           getrange() functions and a bit more. Remove old comments pointing
16426           to loop-functions.
16427         * examples/pwg/Makefile.am:
16428           Add loop/getrange examples.
16429
16430 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16431
16432         * configure.ac:
16433           check for valgrind binary + some fixes
16434         * check/gst.supp:
16435           valgrind suppressions for the tests
16436         * check/Makefile.am:
16437           add a valgrind: target that valgrinds the unit tests
16438         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
16439         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
16440         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16441         * check/gst/gstghostpad.c:
16442           added some cleanup
16443         * check/gst/gstdata.c:
16444           removed
16445         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
16446         (thread_unref), (gst_mini_object_suite), (main):
16447           added
16448         * gst/gst.c: (gst_deinit):
16449         * gst/gst.h:
16450           add a method to clean up.
16451         * gst/gstsystemclock.c: (gst_system_clock_dispose),
16452         (gst_system_clock_obtain):
16453           allow for disposing the system clock.
16454         * tools/gst-launch.c: (main):
16455           deinit
16456
16457 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16458
16459         * docs/gst/tmpl/gstbasesrc.sgml:
16460         * docs/gst/tmpl/gstfakesrc.sgml:
16461         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16462         (gst_base_src_init), (gst_base_src_set_property),
16463         (gst_base_src_get_property), (gst_base_src_get_range),
16464         (gst_base_src_start):
16465         * gst/base/gstbasesrc.h:
16466           add num-buffers property
16467         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16468         (gst_fakesrc_init), (gst_fakesrc_set_property),
16469         (gst_fakesrc_get_property), (gst_fakesrc_create),
16470         (gst_fakesrc_start):
16471           remove num-buffers property
16472
16473 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16474
16475         * docs/gst/gstreamer-sections.txt:
16476         * docs/gst/tmpl/gstbasesink.sgml:
16477         * docs/gst/tmpl/gstbasesrc.sgml:
16478         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
16479         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
16480         (gst_base_sink_finalize), (gst_base_sink_set_clock),
16481         (gst_base_sink_set_property), (gst_base_sink_get_property),
16482         (gst_base_sink_handle_object), (gst_base_sink_event),
16483         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
16484         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
16485         (gst_base_sink_loop), (gst_base_sink_deactivate),
16486         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
16487         (gst_base_sink_change_state):
16488         * gst/base/gstbasesink.h:
16489         * gst/base/gstbasesrc.h:
16490         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
16491         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16492         (gst_filesink_init):
16493           more macro splitting
16494
16495 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16496
16497         * gst/gstelement.c: (gst_element_get_bus):
16498           add debug
16499         * tools/gst-launch.c: (check_intr), (event_loop):
16500           fix bus leaks
16501
16502 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16503
16504         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
16505           fix a caps leak
16506
16507 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16508
16509         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16510         (gst_base_src_finalize):
16511           add finalize method and clean up properly
16512         * gst/gstpipeline.c: (gst_pipeline_dispose):
16513           add debug
16514
16515 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16516
16517         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
16518         (gst_bin_suite):
16519           add more things to check
16520         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
16521         * gst/gstelement.c:
16522           more debug
16523
16524 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16525
16526         * check/elements/gstfakesrc.c: (chain_func), (event_func),
16527         (GST_START_TEST), (fakesrc_suite):
16528         * check/gst-libs/gdp.c: (GST_START_TEST):
16529         * check/gst/gst.c: (GST_START_TEST):
16530         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
16531         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16532         * check/gst/gstbus.c: (GST_START_TEST):
16533         * check/gst/gstcaps.c: (GST_START_TEST):
16534         * check/gst/gstdata.c: (GST_START_TEST):
16535         * check/gst/gstelement.c: (GST_START_TEST):
16536         * check/gst/gstghostpad.c: (GST_START_TEST):
16537         * check/gst/gstiterator.c: (GST_START_TEST):
16538         * check/gst/gstmessage.c: (GST_START_TEST):
16539         * check/gst/gstobject.c: (GST_START_TEST):
16540         * check/gst/gstpad.c: (GST_START_TEST):
16541         * check/gst/gststructure.c: (GST_START_TEST):
16542         * check/gst/gstsystemclock.c: (GST_START_TEST),
16543         (gst_systemclock_suite):
16544         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
16545         * check/gst/gstvalue.c: (GST_START_TEST):
16546         * check/pipelines/cleanup.c: (GST_START_TEST):
16547         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
16548         * check/states/sinks.c: (GST_START_TEST):
16549         * check/gstcheck.c: (gst_check_init):
16550         * check/gstcheck.h:
16551           add debugging category
16552           use GST_START_TEST now, so we add a debug line
16553
16554 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16555
16556         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
16557           add test for state change message on a bin
16558         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
16559           add another test
16560         * gst/gstbin.c: (gst_bin_init):
16561         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
16562         * gst/gstelement.c: (gst_element_post_message),
16563         (gst_element_set_state):
16564         * gst/gstelementfactory.c: (gst_element_factory_create):
16565         * gst/gstmessage.c: (gst_message_new):
16566         * gst/gstscheduler.c:
16567           various debugging additions and cleanups
16568
16569 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16570
16571         * check/Makefile.am:
16572         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
16573         (main):
16574           adding tests for elements
16575         * gst/gstelement.c: (gst_element_dispose):
16576
16577 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16578
16579         * gst/registries/gstlibxmlregistry.c: (load_feature):
16580           plug more leaks.  A simple gst_init() now is leakfree, yay.
16581
16582 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16583
16584         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
16585         (gst_xml_registry_load):
16586           plug another memleak
16587
16588 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16589
16590         * configure.ac:
16591           use GST_SET_ERROR_CFLAGS
16592         * docs/faq/cvs.xml:
16593           change to ERROR_CFLAGS
16594
16595 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16596
16597         * configure.ac:
16598           make GST_ERROR_CFLAGS overridable and re-enable Werror
16599         * docs/faq/cvs.xml:
16600           add a note about error CFLAGS
16601         * docs/gst/tmpl/gstfakesrc.sgml:
16602         * gst/elements/gstfakesrc.c:
16603           comment out some unused code
16604         * gst/gst.c: (split_and_iterate):
16605         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
16606         (load_feature):
16607           plug some memleaks
16608
16609 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16610
16611         * common/Makefile.am:
16612         * common/gtk-doc.mak:
16613         * docs/gst/Makefile.am:
16614           factor out gtk-doc.mak
16615
16616 2005-07-07  Wim Taymans  <wim@fluendo.com>
16617
16618         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
16619         (gst_thread_scheduler_dispose):
16620         Unlock the STREAM_LOCK completely.
16621
16622 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16623
16624         * check/Makefile.am:
16625         * check/elements/.cvsignore:
16626         * check/elements/gstfakesrc.c: (chain_func), (event_func),
16627         (START_TEST), (fakesrc_suite), (main):
16628         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16629         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
16630         (gst_fakesrc_create), (gst_fakesrc_start):
16631         * gst/elements/gstfakesrc.h:
16632           adding a first element test
16633
16634 2005-07-07  Andy Wingo  <wingo@pobox.com>
16635
16636         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
16637         debug message.
16638
16639 2005-07-07  Wim Taymans  <wim@fluendo.com>
16640
16641         * gst/gstquery.c:
16642         * gst/gstquery.h:
16643         Remove old types
16644
16645 2005-07-07  Wim Taymans  <wim@fluendo.com>
16646
16647         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
16648         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
16649         Allow subclasses to implement their own negotiation.
16650
16651 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
16652
16653         * docs/design/part-gstbin.txt:
16654         * docs/design/part-gstpipeline.txt:
16655           Update design notes to reflect the movement of
16656           responsibility for bus handling from GstPipeline to
16657           GstBin
16658
16659 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
16660
16661         * configure.ac:
16662           Remove unnecessary queue2/3/4 examples.
16663
16664 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
16665
16666         * examples/Makefile.am:
16667         * examples/helloworld/helloworld.c: (event_loop), (main):
16668         * examples/queue/queue.c: (event_loop), (main):
16669         * examples/queue2/queue2.c: (main):
16670           Update a couple of the examples to work again.
16671
16672         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16673         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
16674          Spelling corrections and extra debug.
16675         
16676         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
16677         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
16678         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
16679         * gst/gstbin.h:
16680         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
16681         (gst_pipeline_change_state):
16682         * gst/gstpipeline.h:
16683           Move the bus handler for children to the GstBin, and create a
16684           separate bus for receiving messages from children to the one the
16685           bus sends 'upwards' on.
16686
16687 2005-07-06  Wim Taymans  <wim@fluendo.com>
16688
16689         * gst/base/README:
16690         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16691         (gst_base_sink_handle_object), (gst_base_sink_loop),
16692         (gst_base_sink_change_state):
16693         * gst/base/gstbasesink.h:
16694         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16695         (gst_base_src_init), (gst_base_src_setcaps),
16696         (gst_base_src_getcaps), (gst_base_src_loop),
16697         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
16698         (gst_base_src_start), (gst_base_src_change_state):
16699         * gst/base/gstbasesrc.h:
16700         Make basesrc negotiate.
16701         Handle the case where preroll fails in basesink.
16702         Update README.
16703
16704 2005-07-06  Wim Taymans  <wim@fluendo.com>
16705
16706         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
16707         Implement the fixate function.
16708         Clean up acceptcaps.
16709
16710 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16711
16712         * docs/pwg/building-filterfactory.xml:
16713         * docs/pwg/pwg.xml:
16714           Remove never-written filter-factory chapter; I'll add the various
16715           base classes to part 4 ("other element types") later on.
16716
16717 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16718
16719         * docs/pwg/advanced-negotiation.xml:
16720         * docs/pwg/building-boiler.xml:
16721         * docs/pwg/building-pads.xml:
16722         * docs/pwg/pwg.xml:
16723         * examples/pwg/Makefile.am:
16724           Add a chapter on caps negotiation, simplify the original code
16725           samples a bit w.r.t. caps negotiation, add link to the advanced
16726           section. Add a bunch of examples showing different use cases of
16727           different types of caps negotiation. Upstream renegotiation isn't
16728           fully documented yet since nobody knows how that works.
16729
16730 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16731
16732         * check/gst/gstpad.c:
16733         * check/gstcheck.c:
16734         * gst/gstpad.c: (gst_pad_get_internal_links_default):
16735           if pad has no parent, return NULL as list of internal links
16736
16737 2005-07-05  Andy Wingo  <wingo@pobox.com>
16738
16739         * gst/elements/gstfilesrc.c:
16740         * gst/elements/gstfakesrc.c: 
16741         * gst/base/gstpushsrc.c:
16742         * gst/base/gstbasesrc.h: 
16743         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
16744         
16745 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
16746
16747         * Makefile.am:
16748           better report generation target (lcov needs a patch)
16749
16750 2005-07-05  Andy Wingo  <wingo@pobox.com>
16751
16752         * gst/elements, testsuite: Null if we got it...
16753
16754 2005-07-05  Wim Taymans  <wim@fluendo.com>
16755
16756         * configure.ac:
16757         * libs/gst/dataprotocol/Makefile.am:
16758         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
16759         * libs/gst/dataprotocol/dataprotocol.h:
16760         * pkgconfig/Makefile.am:
16761         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
16762         * pkgconfig/gstreamer-dataprotocol.pc.in:
16763         Ported dataprotol to 0.9. 
16764         Added pkgconfig files.
16765
16766 2005-07-05  Andy Wingo  <wingo@pobox.com>
16767
16768         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
16769         Default to returning TRUE for the case when tranform_caps returns
16770         a fixed caps, like for identity or volume.
16771
16772         * check/gst/gstbus.c (pound_bus_with_messages): 
16773         * check/gst/gstmessage.c (START_TEST): 
16774         * check/pipelines/simple_launch_lines.c (got_handoff): Application
16775         message API change.
16776
16777         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
16778         logic weaks here: always run transform_caps, trying passthrough
16779         operation only if the original caps intersects with the transform.
16780
16781         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
16782         source and sink caps.
16783
16784         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
16785         Intersect the peer caps with the pad template before going into
16786         transform_caps.
16787         (gst_base_transform_transform_caps): More debugging.
16788
16789         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
16790         src argument.
16791
16792 2005-07-04  Edward Hervey  <edward@fluendo.com>
16793
16794         * gst/gstutils.c:
16795         * gst/gstutils.h:
16796         (gst_pad_add_*_probe): now returns the signal id for better wrapping
16797         in bindings.
16798
16799 2005-07-04  Andy Wingo  <wingo@pobox.com>
16800
16801         * check/gst/gstpad.c: Only set explicit caps on pads.
16802
16803 2005-07-01  Andy Wingo  <wingo@pobox.com>
16804
16805         * tests/network-clock.scm: Commentary update.
16806
16807         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
16808         Didn't really make sense, not implementable with basetransform,
16809         etc.
16810         (gst_identity_transform): Unref inbuf via make_writable. Feeble
16811         attempt at implementing the sync property, needs an unlock method.
16812
16813         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
16814         New func, by default returns the same caps (the identity
16815         transformation).
16816         (gst_base_transform_getcaps): Uses transform_caps to return
16817         something sensible.
16818         (gst_base_transform_setcaps): Complicated logic to get caps on
16819         both pads, even if they are different, and to call set_caps once
16820         for every time both pads get their caps set.
16821         (gst_base_transform_handle_buffer): Give the ref to the transform
16822         function. Allows in-place modification of the buffer.
16823
16824         * gst/base/gstbasetransform.h (transform_caps): New class method.
16825         Given caps on one side, what can I do on the other.
16826         (set_caps): Take two caps, one for each side of the element.
16827
16828         * gst/gstpad.h:
16829         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
16830         caps in place. This is safe because we can check the mutability of
16831         the caps, and a good idea because fixate functions are just called
16832         as a matter of last resort. (Not actually implemented.)
16833         (gst_pad_set_caps): If the caps we're setting is actually the same
16834         as the existing pad caps, just update the pointer without calling
16835         setcaps. Assert that caps is either NULL or fixed, as per the
16836         docs.
16837
16838         * gst/gstghostpad.c: Update for fixate changes.
16839
16840 2005-07-02  Andy Wingo  <wingo@pobox.com>
16841
16842         * gst/gstcaps.c:
16843         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
16844         two refcounts makes it immutable, which is enough. Doc more.
16845
16846 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
16847
16848         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
16849           Put the mini_object into GValue as a mini_object,
16850           not a gpointer, since that's how we declared
16851           the signal.
16852
16853 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16854
16855         * examples/pwg/Makefile.am:
16856           Fix buildbot again.
16857
16858 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16859
16860         * docs/pwg/building-testapp.xml:
16861           Add extra check.
16862         * examples/pwg/Makefile.am:
16863           Fix buildbot.
16864
16865 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16866
16867         * configure.ac:
16868         * examples/Makefile.am:
16869         * examples/pwg/Makefile.am:
16870         * examples/pwg/extract.pl:
16871           Enable building the PWG examples.
16872         * docs/pwg/advanced-interfaces.xml:
16873           Add URI interface stub.
16874         * docs/pwg/advanced-types.xml:
16875         * docs/pwg/other-autoplugger.xml:
16876         * docs/pwg/appendix-porting.xml:
16877         * docs/pwg/pwg.xml:
16878           Add porting guide (mostly stubs), remove autoplugging (see ADM).
16879         * docs/pwg/building-boiler.xml:
16880         * docs/pwg/building-chainfn.xml:
16881         * docs/pwg/building-pads.xml:
16882         * docs/pwg/building-props.xml:
16883         * docs/pwg/building-state.xml:
16884         * docs/pwg/building-testapp.xml:
16885           Update the building-*.xml parts for 0.9 changes. All examples
16886           code blocks compile in examples/pwg/*.
16887
16888 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16889
16890         * docs/manual/advanced-autoplugging.xml:
16891         * docs/manual/appendix-checklist.xml:
16892         * docs/manual/appendix-integration.xml:
16893         * docs/manual/highlevel-components.xml:
16894           Fix playbin/decodebin examples, update docs a bit, mention bus
16895           instead of signals in various places, mention kmplayer and
16896           kaffeine since they have a working GStreamer backend in the KDE
16897           section.
16898
16899 2005-06-30  Wim Taymans  <wim@fluendo.com>
16900
16901         * CHANGES-0.9:
16902         * docs/design/draft-ghostpads.txt:
16903         * docs/design/draft-push-pull.txt:
16904         * docs/design/draft-query.txt:
16905         * docs/design/part-TODO.txt:
16906         * docs/design/part-query.txt:
16907         Added CHANGES-0.9 doc, updated status of other docs.
16908         
16909         * gst/gstquery.h:
16910         Remove "hmm" macro
16911
16912 2005-06-30  Wim Taymans  <wim@fluendo.com>
16913
16914         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16915         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
16916         (gst_base_sink_change_state):
16917         * gst/base/gstbasesink.h:
16918         Some tweaks, only EOS and a buffer complete a preroll.
16919
16920 2005-06-30  Andy Wingo  <wingo@pobox.com>
16921
16922         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
16923         activate_push down to the internal pad as well.
16924
16925 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
16926
16927         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16928
16929         * gst/gsttaginterface.c:
16930           Some documentation fixes (#307394 and #307397).
16931
16932 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
16933
16934         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16935
16936         * gst/gstvalue.c: (gst_value_intersect_list):
16937           Fix memleak (#309125).
16938
16939 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16940
16941         * docs/manual/advanced-dataaccess.xml:
16942           Fix fakesrc example to compile; doesn't work, bug somewhere...?
16943         * docs/manual/basics-pads.xml:
16944           Add reference for filtered caps to above chapter.
16945
16946 2005-06-30  Wim Taymans  <wim@fluendo.com>
16947
16948         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
16949         (gst_bin_change_state):
16950         Probes are gone.
16951         Lame attempt at making the state change function a bit
16952         more readable.
16953
16954 2005-06-30  Wim Taymans  <wim@fluendo.com>
16955
16956         * docs/design/part-clocks.txt:
16957         * docs/design/part-element-sink.txt:
16958         * docs/design/part-events.txt:
16959         * docs/design/part-preroll.txt:
16960         * docs/design/part-states.txt:
16961         Some more tweeks and additions to the docs.
16962
16963 2005-06-30  Wim Taymans  <wim@fluendo.com>
16964
16965         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
16966         (default_have_data), (gst_pad_class_init), (gst_pad_init),
16967         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
16968         (gst_pad_check_pull_range), (gst_pad_get_range),
16969         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
16970         * gst/gstpad.h:
16971         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
16972         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
16973         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
16974         (gst_pad_remove_buffer_probe):
16975         Removed atomic operations, use existing LOCK.
16976         Move exception handling out of main code path.
16977
16978 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16979
16980         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
16981         (silly_return_true_function), (gst_pad_class_init),
16982         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
16983         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
16984         (gst_pad_send_event):
16985           Fix accumulator, add default value by using _emitv() instead
16986           of _emit() for signal emission.
16987
16988 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16989
16990         * docs/manual/advanced-dataaccess.xml:
16991         * examples/manual/Makefile.am:
16992           Add probe example.
16993         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
16994           Make work (??).
16995
16996 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
16997
16998         * gst/elements/gstfilesink.c: (gst_filesink_render):
16999           Simplify code so that we don't have to handle short
17000           writes and return GST_FLOW_ERROR if an error occured.
17001
17002 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17003
17004         * docs/gst/gstreamer-docs.sgml:
17005           Remove probes more.
17006
17007 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17008
17009         * docs/gst/gstreamer-sections.txt:
17010         * docs/gst/tmpl/gstpad.sgml:
17011         * docs/gst/tmpl/gstprobe.sgml:
17012         * gst/Makefile.am:
17013         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
17014         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
17015         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
17016         (gst_pad_push_event), (gst_pad_send_event):
17017         * gst/gstpad.h:
17018         * gst/gstutils.c: (gst_pad_add_data_probe),
17019         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17020         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17021         (gst_pad_remove_buffer_probe):
17022         * gst/gstutils.h:
17023           Remove old probes, add new g-signal-based probes and some utility
17024           functions.
17025
17026 2005-06-29  Edward Hervey  <edward@fluendo.com>
17027
17028         * gst/gstelementfactory.c:
17029         * gst/gstutils.h:
17030         * gst/gstutils.c:
17031         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
17032         the definition to the header file.
17033
17034 2005-06-29  Andy Wingo  <wingo@pobox.com>
17035
17036         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
17037         plugins from the source directory.
17038
17039 2005-06-29  Wim Taymans  <wim@fluendo.com>
17040
17041         * docs/gst/tmpl/gstbuffer.sgml:
17042         * docs/gst/tmpl/gstclock.sgml:
17043         Some fixings for blantently wrong text.
17044
17045 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17046
17047         * check/Makefile.am:
17048         * gst/gst.c: (add_path_func), (init_pre):
17049         * gst/gstregistry.c: (gst_registry_add_path):
17050           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
17051           only scan the GST_PLUGIN_PATH locations, and not add
17052           system locations
17053
17054 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17055
17056         * docs/gst/gstreamer-sections.txt:
17057         * docs/gst/tmpl/gstbasesrc.sgml:
17058         * gst/gstelement.c:
17059         * gst/gstelement.h:
17060         * gst/gstevent.c:
17061         * gst/gstutils.c:
17062           doc fixes
17063
17064 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17065
17066         * docs/manual/advanced-autoplugging.xml:
17067           Fix autoplugging example.
17068
17069 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17070
17071         * docs/manual/advanced-autoplugging.xml:
17072         * docs/manual/mime-world.fig:
17073           Try to get autoplugging working, fix type detection. Fix text
17074           in hello-world image.
17075
17076 2005-06-29  Wim Taymans  <wim@fluendo.com>
17077
17078         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17079         (gst_base_sink_change_state):
17080         Small debug line.
17081
17082         * gst/gstclock.h:
17083         map SIGNAL and BROADCAST to the right function.
17084
17085         * gst/gstobject.h:
17086         Remove redundant braces.
17087
17088         * gst/gstpad.c: (gst_pad_set_caps):
17089         Don't call setcaps function when reseting caps to NULL.
17090
17091         * gst/gstsystemclock.c: (gst_system_clock_dispose),
17092         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
17093         (gst_system_clock_id_unschedule):
17094         Use BROADCAST as this is what we do.
17095
17096 2005-06-29  Wim Taymans  <wim@fluendo.com>
17097
17098         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17099         We are actually prerolling before commiting the state
17100         change. 
17101
17102 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17103
17104         * docs/manual/advanced-clocks.xml:
17105         * docs/manual/advanced-interfaces.xml:
17106         * docs/manual/advanced-metadata.xml:
17107         * docs/manual/advanced-position.xml:
17108         * docs/manual/advanced-schedulers.xml:
17109         * docs/manual/advanced-threads.xml:
17110         * docs/manual/appendix-porting.xml:
17111         * docs/manual/basics-bins.xml:
17112         * docs/manual/basics-bus.xml:
17113         * docs/manual/basics-elements.xml:
17114         * docs/manual/basics-helloworld.xml:
17115         * docs/manual/basics-pads.xml:
17116         * docs/manual/highlevel-components.xml:
17117         * docs/manual/manual.xml:
17118         * docs/manual/thread.fig:
17119           Update (until threads/scheduling) Application Development Manual;
17120           remove GstThread, add GstBus, add simple porting checklist, add
17121           documentation for tag writing, clocks, make all examples until this
17122           part compile and run.
17123         * examples/manual/Makefile.am:
17124           Update from changes to Application Development Manual; add bus
17125           example, remove thread example.
17126
17127 2005-06-28  Wim Taymans  <wim@fluendo.com>
17128
17129         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
17130         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
17131         (gst_bus_source_dispatch):
17132         Add debugging messages.
17133         Make internal methods static.
17134         Handle the case where the bus is flushed in the handler.
17135         
17136         * gst/gstelement.c: (gst_element_get_bus):
17137         Fix refcount in _get_bus();
17138
17139         * gst/gstpipeline.c: (gst_pipeline_change_state),
17140         (gst_pipeline_get_clock_func):
17141         Clock refcounting fixes.
17142         Handle the case where preroll timed out more gracefully.
17143         
17144         * gst/gstsystemclock.c: (gst_system_clock_dispose):
17145         Clean up the internal thread in dispose. This is needed
17146         for subclasses that actually get disposed.
17147         
17148         * gst/schedulers/threadscheduler.c:
17149         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
17150         (gst_thread_scheduler_dispose):
17151         Free thread pool in dispose.
17152
17153 2005-06-28  Andy Wingo  <wingo@pobox.com>
17154
17155         * tests/network-clock-utils.scm (debug, print-event): New utils.
17156
17157         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
17158         (*packet-loss*): Unified loss probability.
17159         (network-time): Report out-of-band events.
17160
17161         * tests/plot-data: Add support for out-of-band events. Hack it
17162         into this script instead of passing it down the pipe; should fix
17163         this later.
17164
17165 2005-06-28  Wim Taymans  <wim@fluendo.com>
17166
17167         * docs/gst/gstreamer.types:
17168         * docs/gst/tmpl/gstbasesrc.sgml:
17169         * docs/gst/tmpl/gstpad.sgml:
17170         Docs fixes.
17171
17172 2005-06-28  Wim Taymans  <wim@fluendo.com>
17173
17174         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
17175         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
17176         (gst_proxy_pad_do_fixatecaps):
17177         Correctly proxy the check_pull_range function.
17178
17179 2005-06-28  Andy Wingo  <wingo@pobox.com>
17180
17181         * tests/network-clock.scm: Removed need for slib.
17182         
17183 2005-06-28  Wim Taymans  <wim@fluendo.com>
17184
17185         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
17186         (gst_basesink_preroll_queue_flush):
17187         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
17188         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
17189         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
17190         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
17191         (gst_proxy_pad_set_property):
17192         * gst/gstpad.c:
17193         * gst/gstpad.h:
17194         * gst/gstqueue.c: (gst_queue_init):
17195         The deprecated pad loop function is removed now.
17196
17197 2005-06-28  Andy Wingo  <wingo@pobox.com>
17198
17199         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
17200         New parameters, simulate network packet loss.
17201
17202         * tests/network-clock-utils.scm: Initialize the RNG.
17203
17204 2005-06-28  Wim Taymans  <wim@fluendo.com>
17205
17206         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
17207         (gst_basesink_event), (gst_basesink_deactivate):
17208         Flushing the preroll queue always needs to unlock the waiters.
17209
17210 2005-06-28  Edward Hervey  <edward@fluendo.com>
17211
17212         * gst/gstpipeline.c: (gst_pipeline_send_event): 
17213         Wheen a seek was successful on a pipeline, set the stream_time to the
17214         seek offset in order to have a synchronized stream_time.
17215
17216 2005-06-28  Wim Taymans  <wim@fluendo.com>
17217
17218         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
17219         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
17220         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
17221         (gst_proxy_pad_do_fixatecaps):
17222         Call wrapper function instead of just calling the function
17223         pointers. This takes care of any locking and whatmore.
17224
17225 2005-06-28  Wim Taymans  <wim@fluendo.com>
17226
17227         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
17228         (gst_pad_pull_range):
17229         * gst/gstpad.h:
17230         CONNECTED -> LINKED.
17231
17232 2005-06-28  Andy Wingo  <wingo@pobox.com>
17233
17234         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
17235         source-munging commit!!!
17236
17237         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
17238         (gst_object_sink): Take gpointer arguments, not GstObject --
17239         avoids casts. Like GLib.
17240
17241         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
17242         activate.
17243
17244 2005-06-27  Andy Wingo  <wingo@pobox.com>
17245
17246         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
17247         remaining buffer.
17248
17249         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
17250         returns a sorted copy of the trace list.
17251         (gst_alloc_trace_print_live): New API, only prints traces with
17252         live objects. Sort the list.
17253         (gst_alloc_trace_print_all): Sort the list.
17254         (gst_alloc_trace_print): Align columns.
17255
17256         * gst/elements/gstttypefindelement.c:
17257         * gst/elements/gsttee.c:
17258         * gst/base/gstbasesrc.c:
17259         * gst/base/gstbasesink.c:
17260         * gst/base/gstbasetransform.c:
17261         * gst/gstqueue.c: Adapt for pad activation changes.
17262
17263         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
17264         sched.
17265         (gst_pipeline_dispose): Drop ref on sched.
17266
17267         * gst/gstpad.c (gst_pad_init): Set the default activate func.
17268         (gst_pad_activate_default): Push mode by default.
17269         (pre_activate_switch, post_activate_switch): New stubs, things to
17270         do before and after switching activation modes on pads.
17271         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
17272         the pad's activate function to choose which mode to activate.
17273         Shortcut on deactivation and call the right function directly.
17274         (gst_pad_activate_pull): New API, (de)activates a pad in pull
17275         mode.
17276         (gst_pad_activate_push): New API, same for push mode.
17277         (gst_pad_set_activate_function) 
17278         (gst_pad_set_activatepull_function) 
17279         (gst_pad_set_activatepush_function): Setters for new API.
17280
17281         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
17282         Trace all miniobjects.
17283         (gst_mini_object_make_writable): Unref the arg if we copy, like
17284         gst_caps_make_writable.
17285
17286         * gst/gstmessage.c (_gst_message_initialize): No trace init.
17287
17288         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
17289         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
17290         Adapt for new pad API.
17291
17292         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
17293
17294         * gst/gstelement.h:
17295         * gst/gstelement.c (gst_element_iterate_src_pads) 
17296         (gst_element_iterate_sink_pads): New API functions.
17297         
17298         * gst/gstelement.c (iterator_fold_with_resync): New utility,
17299         should fold into gstiterator.c in some form.
17300         (gst_element_pads_activate): Simplified via use of fold and
17301         delegation of decisions to gstpad->activate.
17302
17303         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
17304         help in debugging.
17305
17306         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
17307         class once in init, like gstmessage. Didn't run into this issue
17308         but it seems correct. Don't initialize a trace, gstminiobject does
17309         that.
17310
17311         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
17312         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
17313         to the bus.
17314         (assert_live_count): New util function, uses alloc traces to check
17315         cleanup.
17316
17317         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
17318         To be modified when unlink drops the internal pad.
17319
17320 2005-06-27  Wim Taymans  <wim@fluendo.com>
17321
17322         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
17323         (gst_bin_change_state):
17324         Cleanup the get_state() function a little, make sure it
17325         iterates the same set of elements.
17326         Added stub iterate_state_order().
17327
17328 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
17329
17330         * docs/gst/gstreamer-docs.sgml:
17331         * docs/gst/gstreamer-sections.txt:
17332         * docs/gst/gstreamer.types:
17333         * docs/gst/tmpl/gstbasesink.sgml:
17334         * docs/gst/tmpl/gstbasesrc.sgml:
17335         * docs/gst/tmpl/gstbasetransform.sgml:
17336         * docs/gst/tmpl/gstelement.sgml:
17337         * docs/gst/tmpl/gstiterator.sgml:
17338         * gst/base/gstbasesrc.c:
17339         * gst/base/gstbasesrc.h:
17340         * gst/base/gstbasetransform.h:
17341         * gst/gstelement.c:
17342         * gst/gstiterator.h:
17343           adding basetransform and iterator docs
17344
17345 2005-06-27  Andy Wingo  <wingo@pobox.com>
17346
17347         * docs/design/part-activation.txt: Notes on how activation should
17348         work -- not quite implemented yet.
17349
17350 2005-06-25  Wim Taymans  <wim@fluendo.com>
17351
17352         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
17353         At least get the chain function correct, needs more
17354         fixing.
17355
17356 2005-06-25  Wim Taymans  <wim@fluendo.com>
17357
17358         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
17359         (gst_basesink_handle_object), (gst_basesink_event),
17360         (gst_basesink_do_sync), (gst_basesink_handle_event),
17361         (gst_basesink_change_state):
17362         * gst/gsttask.h:
17363         Right, two problems here: ghostpads don't take locks and
17364         glib _rec_mutex_lock_full() with depth==0 still locks.
17365         Catch illegal locking and g_warn them.
17366
17367 2005-06-25  Wim Taymans  <wim@fluendo.com>
17368
17369         * check/states/sinks.c: (START_TEST), (gst_object_suite):
17370         Have to check for completion now...
17371
17372 2005-06-25  Wim Taymans  <wim@fluendo.com>
17373
17374         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
17375         (gst_basesink_handle_object), (gst_basesink_event),
17376         (gst_basesink_do_sync), (gst_basesink_handle_event),
17377         (gst_basesink_change_state):
17378         * gst/gstpad.h:
17379         Unlock STREAM_LOCK whatever the recursion was.
17380
17381 2005-06-25  Wim Taymans  <wim@fluendo.com>
17382
17383         * gst/base/gstbasesink.c: (gst_basesink_set_property),
17384         (gst_basesink_preroll_queue_empty),
17385         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
17386         (gst_basesink_event), (gst_basesink_do_sync),
17387         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
17388         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
17389         (gst_basesink_change_state):
17390         Reworked the base sink, handle event and buffer serialisation
17391         correctly and removed possible deadlock.
17392         Handle EOS correctly.
17393
17394 2005-06-25  Wim Taymans  <wim@fluendo.com>
17395
17396         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
17397         (gst_pipeline_change_state):
17398         * tools/gst-launch.c: (check_intr), (event_loop), (main):
17399         Allow elements to post EOS in the state change function.
17400         Fix up -launch, make it exit the poll loop when the
17401         pipeline actually changed state.
17402         Fix up warning parsing in -launch.
17403
17404 2005-06-25  Wim Taymans  <wim@fluendo.com>
17405
17406         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
17407         (gst_tee_sink_activate):
17408         Core takes STREAM_LOCK for us now.
17409
17410 2005-06-25  Wim Taymans  <wim@fluendo.com>
17411
17412         * gst/gstelement.c: (gst_element_get_state_func),
17413         (gst_element_set_state):
17414         * gst/gstelement.h:
17415         * gst/gstmessage.c: (gst_message_parse_error),
17416         (gst_message_parse_warning):
17417         Keep track of current target state while performing a state
17418         change so that subclasses can do something interesting.
17419         Fix parsing of warning/error messages when GError is NULL.
17420
17421 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17422
17423         * docs/gst/Makefile.am:
17424         * docs/gst/gstreamer-docs.sgml:
17425         * docs/gst/gstreamer-sections.txt:
17426         * docs/gst/gstreamer.types:
17427         * docs/gst/tmpl/gstbasesink.sgml:
17428         * docs/gst/tmpl/gstbasesrc.sgml:
17429         * docs/gst/tmpl/gstbin.sgml:
17430         * docs/gst/tmpl/gstcompat.sgml:
17431         * docs/gst/tmpl/gstfakesink.sgml:
17432         * docs/gst/tmpl/gstfakesrc.sgml:
17433         * docs/gst/tmpl/gstfilesink.sgml:
17434         * docs/gst/tmpl/gstfilesrc.sgml:
17435         * docs/gst/tmpl/gstindex.sgml:
17436         * docs/manual/appendix-quotes.xml:
17437         * gst/base/gstbasesrc.h:
17438         * gst/elements/gstfakesrc.h:
17439         * gst/gstmessage.h:
17440           start pulling in base classes and elements in our docs
17441
17442 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
17443
17444         * docs/gst/Makefile.am:
17445         * docs/libs/Makefile.am:
17446           fixed make distcheck with gtk-doc 1.3
17447
17448 2005-06-23  Wim Taymans  <wim@fluendo.com>
17449
17450         * gst/gstelement.c: (gst_element_get_state_func),
17451         (gst_element_set_state), (gst_element_change_state):
17452         When the state did not change, also report NO_PREROLL
17453         when it matters.
17454
17455 2005-06-23  Wim Taymans  <wim@fluendo.com>
17456
17457         * gst/gstpad.c: (gst_pad_event_default):
17458         * gst/gstqueue.c: (gst_queue_loop):
17459         No unsafe task pausing please.
17460
17461 2005-06-23  Wim Taymans  <wim@fluendo.com>
17462
17463         * gst/schedulers/threadscheduler.c:
17464         (gst_thread_scheduler_task_start),
17465         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
17466         Ref the task before pushing it on the threadpool. This
17467         makes sure that we have a ref when the threadfunction is
17468         actually called.
17469
17470 2005-06-23  Andy Wingo  <wingo@pobox.com>
17471
17472         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
17473         offset is greater than the file's size.
17474
17475         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
17476         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
17477         * gst/gstobject.c (gst_object_class_init): Make the class lock
17478         recursive. Wim won't let me drop deep_notify. Decodebin works
17479         again, whoopdy doo.
17480
17481         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
17482         internal pad, and hacks accordingly. Doesn't do it on the target
17483         pad because we change its caps. Probably catches all cases of
17484         interest tho.
17485         (gst_ghost_pad_set_property): Connect to notify::caps as
17486         appropritate.
17487
17488         * tests/network-clock.scm (plot-simulation): Pipe data to the
17489         elite python skript.
17490
17491         * tests/network-clock-utils.scm (define-parameter): New macro,
17492         defines a parameter that can be set via the command line.
17493         (set-parameter!, parse-parameter-arguments): Command line args
17494         parser.
17495
17496         * tests/plot-data: Simple matplotlib-based plotter, takes input on
17497         stdin.
17498
17499 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
17500
17501         * gst/elements/gsttypefindelement.c:
17502         (gst_type_find_element_handle_event):
17503           Don't restart typefinding on a discont.
17504         * gst/gstelement.c: (gst_element_set_state):
17505           Debug spelling fix.
17506         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
17507           Allow changing mode of an active pad.
17508           Debug output fixes.
17509         * gst/registries/gstlibxmlregistry.c: (load_feature):
17510           Don't cast a static pad template to a normal pad template.
17511
17512 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17513
17514         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17515         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
17516           remove gst_strtoll completely, since it didn't actually do
17517           anything more than what g_ascii_strtoull already does.
17518           check for range errors when deserializing
17519           do a cast for the unsigned cases; but further fixing needs
17520           a decision on what the interpretation of "(int)" and
17521           deserialization should be for values that fall outside the
17522           type's boundaries (ie, refuse, or interpret as casting)
17523
17524 2005-06-23  Wim Taymans  <wim@fluendo.com>
17525
17526         * check/Makefile.am:
17527         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
17528         * docs/design/part-live-source.txt:
17529         * docs/design/part-states.txt:
17530         * gst/base/gstbasesrc.c: (gst_basesrc_init),
17531         (gst_basesrc_set_live), (gst_basesrc_is_live),
17532         (gst_basesrc_get_range), (gst_basesrc_activate),
17533         (gst_basesrc_change_state):
17534         * gst/base/gstbasesrc.h:
17535         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17536         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
17537         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
17538         * gst/gstelement.c: (gst_element_get_state_func),
17539         (gst_element_set_state):
17540         * gst/gstelement.h:
17541         * gst/gsttypes.h:
17542         * tools/gst-launch.c: (event_loop), (main):
17543         Added support for live sources and other elements that
17544         cannot do preroll.
17545         Updated design docs, added live-source design doc.
17546         Implemented live source functionality in basesrc
17547         Fix error condition in _bin_get_state()
17548         Implement live source handling in -launch.
17549         Added check for live sources.
17550         Fixed case in GstBin where elements were changed state
17551         multiple times.
17552
17553
17554 2005-06-23  Andy Wingo  <wingo@pobox.com>
17555
17556         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
17557         borken refcounting.
17558
17559         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
17560         gst_caps_replace takes care of this for us.
17561
17562         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
17563         gst_pad_set_caps on the target, not just its setcaps() function.
17564
17565         * tests/network-clock.scm: 
17566         * tests/network-clock-utils.scm: A network clock simulator.
17567         Something of an algorithmic testbed before doing something in C.
17568
17569 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17570
17571         * check/Makefile.am:
17572         * check/gst/capslist.h:
17573           copy over from 0.8, and add two with bitmasks specified with
17574           (int) 0xFF...
17575         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
17576           add test to parse everything from capslist.h
17577         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
17578         (main):
17579           add test for structure deserialization
17580         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17581           add tests for deserialization of strings to int types
17582         * gst/gststructure.c: (gst_structure_nth_field_name):
17583         * gst/gststructure.h:
17584           add a way to get the name of a field referenced by index
17585         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
17586           instead of checking if the resulting long long lies between
17587           min and max, we check if the long long would fit into
17588           a number of bytes for the final type.
17589           This fixes cases where a string represents 2^32 - 1, which
17590           when cast to int would be the (valid) -1, but is bigger than
17591           G_MAXINT
17592
17593 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17594
17595         * gst/parse/grammar.y:
17596           add a log line for type deserialization
17597
17598 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17599
17600         * check/gst/gstvalue.c: (START_TEST):
17601         * gst/gstvalue.c: (gst_value_deserialize):
17602           return long long, not int, so gint64 deserialization actually
17603           works.  Is there any flag that makes the compiler check this ?
17604           Fixes #308559
17605
17606 2005-06-22  Wim Taymans  <wim@fluendo.com>
17607
17608         * gst/gstbuffer.h:
17609         Added convenience macros for setting buffers in GValue.
17610
17611 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17612
17613         * check/gst/.cvsignore:
17614         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17615           add a test deserializing int64, and comment part out because
17616           it fails, yay !
17617
17618 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17619
17620         * check/Makefile.am:
17621         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
17622         * testsuite/Makefile.am:
17623         * testsuite/caps/Makefile.am:
17624         * testsuite/caps/value_serialize.c:
17625         * testsuite/test_gst_init.c:
17626           move a value_serialize test over
17627
17628 2005-06-20  Wim Taymans  <wim@fluendo.com>
17629
17630         * gst/gstpad.c:
17631         Small doc updates.
17632         
17633         * gst/gstvalue.c: (gst_value_compare_buffer),
17634         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
17635         (gst_value_compare_flags), (gst_value_serialize_flags),
17636         (gst_value_deserialize_flags), (_gst_value_initialize):
17637         Fix serialisation of buffers, they are not boxed types anymore
17638
17639 2005-06-20  Wim Taymans  <wim@fluendo.com>
17640
17641         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
17642         Testcase to show error in buffer-on-caps serialisation.
17643
17644 2005-06-20  Andy Wingo  <wingo@pobox.com>
17645
17646         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
17647         will be adding to later.
17648
17649         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
17650         if its socks fill with rocks.
17651         (gst_system_clock_obtain): Set the name on object construction.
17652         Avoid double-checked locking.
17653
17654 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
17655
17656         * gst/gsturi.c: (gst_element_make_from_uri):
17657           Fix potential endless loop.
17658
17659 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17660
17661         * check/Makefile.am:
17662           add gsttag
17663         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
17664         (main):
17665           move over from testsuite dir and clean up
17666         * configure.ac:
17667         * gst/gsttag.c:
17668         * testsuite/Makefile.am:
17669         * testsuite/tags/.cvsignore:
17670         * testsuite/tags/Makefile.am:
17671         * testsuite/tags/merge.c:
17672           remove testsuite/tags
17673
17674 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17675
17676         * docs/gst/gstreamer-sections.txt:
17677         * docs/gst/tmpl/gstenumtypes.sgml:
17678         * win32/gstenumtypes.c:
17679           clean up documentation build a little
17680
17681 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17682
17683         * check/gstcheck.h:
17684           add macros for checking refcounts on objects and caps
17685         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
17686           add some more unit tests
17687         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17688         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
17689           fix leaked refcounts (I hope :)) so unittest works
17690         * gst/gstpad.h:
17691           whitespace removal
17692
17693 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17694
17695         * configure.ac: back to HEAD
17696
17697 === release 0.9.1 ===
17698
17699 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
17700
17701         * NEWS:
17702         * RELEASE:
17703           updated
17704
17705 2005-06-17  Andy Wingo  <wingo@pobox.com>
17706
17707         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
17708         assert; it's always possible that the pad gets deactivated in
17709         between the checks in gstpad.c and the implementation. Rely on
17710         finish_preroll() to return a FLUSHING or similar instead of on the
17711         assert.
17712         
17713         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
17714         clock and post an EOS message if we come out of finish_preroll in
17715         the playing state.
17716
17717 2005-06-16  David Schleef  <ds@schleef.org>
17718
17719         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
17720         (gst_capsfilter_set_property): Allow NULL as possible value
17721         for filter_caps property, indicating GST_CAPS_ANY.
17722
17723 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17724
17725         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
17726           fix debug output
17727         * gst/schedulers/Makefile.am:
17728           use libgst prefix
17729         * gstreamer.spec.in:
17730           fix spec for it
17731
17732 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17733
17734         * gstreamer.spec.in:
17735           clean up
17736
17737 2005-06-08  Andy Wingo  <wingo@pobox.com>
17738
17739         * gst/gstutils.c: RPAD fixes all around.
17740         (gst_element_link_pads): Refcounting fixes.
17741
17742         * tools/gst-inspect.c:
17743         * tools/gst-xmlinspect.c:
17744         * parse/grammar.y:
17745         * gst/base/gsttypefindhelper.c:
17746         * gst/base/gstbasesink.c:
17747         * gst/gstqueue.c: RPAD fixes.
17748
17749         * gst/gstghostpad.h:
17750         * gst/gstghostpad.c: New ghost pad implementation as full proxy
17751         pads. The tricky thing is they provide both source and sink
17752         interfaces, since they proxy the internal pad for the external
17753         pad, and vice versa. Implement with lower-level ProxyPad objects,
17754         with the interior proxy pad as a child of the exterior ghost pad.
17755         Should write a doc on this.
17756         
17757         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
17758         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
17759         gst_object API.
17760         
17761         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
17762         pads are real pads. No ghost pads in this file. Not documenting
17763         the myriad s/RPAD/PAD/ and REALIZE fixes.
17764         (gst_pad_class_init): Add properties for "direction" and
17765         "template". Both are construct-only, so they can't change during
17766         the life of the pad. Fixes properly deriving from GstPad.
17767         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
17768         derived objects, just set properties when creating the objects via
17769         g_object_new.
17770         (gst_pad_get_parent): Implement as a function, return NULL if the
17771         parent is not an element.
17772         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
17773         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
17774         
17775         * gst/gstobject.c (gst_object_class_init): Make name a construct
17776         property. Don't set it in the object init.
17777
17778         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
17779         with UNKNOWN direction.
17780         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
17781         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
17782         (gst_element_remove_pad): Remove ghost-pad special cases.
17783         (gst_element_pads_activate): Remove rpad cruft.
17784
17785         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
17786         catch the pad's-parent-not-an-element case.
17787
17788         * gst/gst.h: Include gstghostpad.h.
17789
17790         * gst/gst.c (init_post): No more real, ghost pads.
17791
17792         * gst/Makefile.am: Add gstghostpad.[ch].
17793
17794         * check/Makefile.am:
17795         * check/gst/gstbin.c:
17796         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
17797         into a bin creates ghost pads, and that the refcounts are right.
17798         Partly moved from gstbin.c.
17799
17800 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17801
17802         * check/gst-libs/.cvsignore:
17803         * check/gst/.cvsignore:
17804         * check/pipelines/.cvsignore:
17805           ignore more
17806         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
17807         (START_TEST), (cleanup_suite), (main):
17808           add some tests related to cleanup after running pipelines
17809
17810 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17811
17812         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
17813           add a testsuite for GstBuffer
17814
17815 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17816
17817         * gst/gstminiobject.h:
17818           add defines for accessing the refcount
17819
17820 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
17821
17822         * Makefile.am: added support for html unit test coverage reports
17823
17824 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
17825
17826         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
17827           Free existing caps if the capsfilter changes. Add a FIXME about
17828           setting those caps on the pads.
17829
17830         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
17831           Before adding a ghost pad to a parent bin, check that there isn't
17832           already one for the element on the bin. Prevents infinite recursion
17833           when using decodebin in parse pipelines. Andy says he'll rewrite the
17834           way this works anyway, so ignore the hack.
17835
17836 2005-06-02  Andy Wingo  <wingo@pobox.com>
17837
17838         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
17839         file size, pass it on to the type find helper.
17840
17841         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
17842         segment_start and segment_end properly according to the seek
17843         method. Segment_end is still a bit flaky because offset can be
17844         negative for CUR and END cases, but it takes -1 as an "unset"
17845         value.
17846
17847 2005-06-02  Wim Taymans  <wim@fluendo.com>
17848
17849         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
17850         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
17851         (gst_basesink_activate):
17852         * gst/base/gstbasesink.h:
17853         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17854         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
17855         (gst_pad_query), (gst_pad_start_task):
17856         * gst/gstpad.h:
17857         * gst/gstqueue.c: (gst_queue_bufferalloc),
17858         (gst_queue_handle_sink_event), (gst_queue_chain):
17859         Bufferalloc: return GstFlowReturn to more accuratly report
17860         why allocation failed.
17861
17862 2005-06-02  Wim Taymans  <wim@fluendo.com>
17863
17864         * gst/gstpipeline.c: (gst_pipeline_send_event):
17865         Take snapshot of state without blocking.
17866
17867 2005-06-02  Wim Taymans  <wim@fluendo.com>
17868
17869         * docs/design/part-TODO.txt:
17870         * docs/design/part-caps.txt:
17871         * docs/design/part-clocks.txt:
17872         * docs/design/part-negotiation.txt:
17873         * docs/design/part-preroll.txt:
17874         Small doc updates 
17875
17876 2005-05-30  Wim Taymans  <wim@fluendo.com>
17877
17878         * gst/elements/gstidentity.c: (gst_identity_event),
17879         (gst_identity_transform), (gst_identity_get_property):
17880         Protect last_message property as it is accessed from
17881         multiple threads.
17882
17883 2005-05-30  Wim Taymans  <wim@fluendo.com>
17884
17885         * gst/gstelement.c: (gst_element_init),
17886         (gst_element_pads_activate), (gst_element_change_state):
17887         Slicker pad activation code.
17888
17889 2005-05-30  Wim Taymans  <wim@fluendo.com>
17890
17891         * gst/Makefile.am:
17892         * gst/gstelement.h:
17893         * gst/gstelementfactory.h:
17894         * gst/gsttypes.h:
17895         Move elementfactory methods to separate .h file.
17896
17897 2005-05-30  Wim Taymans  <wim@fluendo.com>
17898
17899         * docs/design/part-overview.txt:
17900         * gst/gstsystemclock.h:
17901         Small typo fixes, doc updates.
17902
17903 2005-05-30  Wim Taymans  <wim@fluendo.com>
17904
17905         * gst/gst.c: (gst_init_get_popt_table), (init_post),
17906         (init_popt_callback):
17907         Remove cpu-opt flag.
17908
17909 2005-05-30  Wim Taymans  <wim@fluendo.com>
17910
17911         * gst/gstbuffer.c: (gst_subbuffer_finalize),
17912         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
17913         * gst/gstbuffer.h:
17914         Avoid typechecking in places where not needed.
17915         Added accessor for malloc_data.
17916
17917 2005-05-30  Wim Taymans  <wim@fluendo.com>
17918
17919         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
17920         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
17921         (gst_pad_configure_sink), (gst_pad_configure_src),
17922         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
17923         (gst_pad_start_task):
17924         Propagate errors from _set_caps() in configure_src/sink
17925         functions instead of returning TRUE.
17926         FLUSH events can travel up and downstream
17927
17928
17929 2005-05-30  Wim Taymans  <wim@fluendo.com>
17930
17931         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
17932         (gst_basesink_activate):
17933         Handle EOS in preroll.
17934
17935 2005-05-30  Wim Taymans  <wim@fluendo.com>
17936
17937         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
17938         (gst_queue_loop), (gst_queue_handle_src_event):
17939         Remove old pieces of code
17940         Flushing the queue in an upstream event is a very bad idea.
17941
17942 2005-05-26  Andy Wingo  <wingo@pobox.com>
17943
17944         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
17945         gst_value_set_mini_object so as to add a ref on the object (which
17946         will be removed when the value is unset).
17947
17948         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
17949         arg type in ::handoff.
17950
17951         * gst/gstelement.c (gst_element_change_state): Also deactivate
17952         pads in READY->NULL, just in case the element didn't make it to
17953         PAUSED. Wingo tested, Wim approved.
17954
17955 2005-05-26  Wim Taymans  <wim@fluendo.com>
17956
17957         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17958         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
17959         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
17960         A flushing pad cannot be used to alloc_buffer from.
17961
17962 2005-05-26  Wim Taymans  <wim@fluendo.com>
17963
17964         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
17965         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
17966         (gst_bus_source_dispatch), (gst_bus_source_finalize),
17967         (gst_bus_create_watch), (gst_bus_add_watch_full):
17968         * gst/gstbus.h:
17969         Implement a real GSource and use g_main_context_wakeup() to
17970         signal new messages instead of the socketpair.
17971
17972 2005-05-25  Wim Taymans  <wim@fluendo.com>
17973
17974         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
17975         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
17976         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17977         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
17978         (gst_pad_send_event), (gst_pad_start_task):
17979         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
17980         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
17981         (gst_queue_sink_activate), (gst_queue_src_activate),
17982         (gst_queue_change_state):
17983         * gst/gstqueue.h:
17984         Fix state changes for non sinks. We now change sinks, then elements
17985         with unconnected srcpads, then the rest.
17986         More efficient queue unlocking in flush and state changes.
17987         Set the pad activate mode even if it does not have an activate
17988         function.
17989
17990 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17991
17992         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
17993           Don't go in pull mode for non-seekable sources.
17994         * gst/elements/gsttypefindelement.h:
17995         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
17996         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
17997         (free_entry), (stop_typefinding),
17998         (gst_type_find_element_handle_event), (find_peek),
17999         (gst_type_find_element_chain), (do_pull_typefind),
18000         (gst_type_find_element_change_state):
18001           Allow typefinding (w/o seeking) in push-mode, simplified version
18002           of what was in 0.8.
18003         * gst/gstutils.c: (gst_buffer_join):
18004         * gst/gstutils.h:
18005           gst_buffer_join() from 0.8.
18006
18007 2005-05-25  Wim Taymans  <wim@fluendo.com>
18008
18009         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
18010         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
18011         (gst_pad_send_event), (gst_pad_start_task):
18012         Disable attempt at mode switching until it is figured out.
18013
18014 2005-05-25  Wim Taymans  <wim@fluendo.com>
18015
18016         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
18017         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
18018         (gst_basesink_finish_preroll), (gst_basesink_chain),
18019         (gst_basesink_loop), (gst_basesink_activate),
18020         (gst_basesink_change_state):
18021         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
18022         (gst_basesrc_get_range), (gst_basesrc_loop),
18023         (gst_basesrc_activate):
18024         * gst/elements/gsttee.c: (gst_tee_sink_activate):
18025         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
18026         (gst_real_pad_init), (gst_real_pad_set_property),
18027         (gst_real_pad_get_property), (gst_pad_set_active),
18028         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
18029         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
18030         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
18031         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
18032         (gst_pad_event_default_dispatch), (gst_pad_event_default),
18033         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
18034         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
18035         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
18036         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
18037         (gst_pad_stop_task):
18038         * gst/gstpad.h:
18039         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18040         (gst_queue_loop), (gst_queue_src_activate):
18041         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
18042         (gst_task_get_state):
18043         * gst/gsttask.h:
18044         * gst/schedulers/threadscheduler.c:
18045         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
18046         Implement gst_pad_pause/start/stop_task(), take STREAM lock
18047         in task function.
18048         Remove ACTIVE pad flag, use FLUSHING everywhere
18049         Added _pad_chain(), _pad_get_range() to call chain/getrange 
18050         functions.
18051         Add locks around IS_FLUSHING when reading.
18052         Take STREAM lock in chain(), get_range() functions so plugins
18053         don't need to take it anymore.
18054         
18055
18056
18057 2005-05-25  Wim Taymans  <wim@fluendo.com>
18058
18059         * tools/gst-launch.c: (event_loop):
18060         Unref message after using its contents instead of
18061         before.
18062
18063 2005-05-24  Wim Taymans  <wim@fluendo.com>
18064
18065         * docs/design/draft-ghostpads.txt:
18066         * docs/design/draft-push-pull.txt:
18067         * docs/design/draft-query.txt:
18068         * docs/design/part-overview.txt:
18069         Docs updates, added general overview doc.
18070
18071 2005-05-21  David Schleef  <ds@schleef.org>
18072
18073         * docs/gst/tmpl/old/GstBin.sgml:
18074         * docs/gst/tmpl/old/GstBuffer.sgml:
18075         * docs/gst/tmpl/old/GstCaps.sgml:
18076         * docs/gst/tmpl/old/GstClock.sgml:
18077         * docs/gst/tmpl/old/GstCompat.sgml:
18078         * docs/gst/tmpl/old/GstData.sgml:
18079         * docs/gst/tmpl/old/GstElement.sgml:
18080         * docs/gst/tmpl/old/GstEvent.sgml:
18081         * docs/gst/tmpl/old/GstIndex.sgml:
18082         * docs/gst/tmpl/old/GstStructure.sgml:
18083         * docs/gst/tmpl/old/GstTag.sgml:
18084         * docs/gst/tmpl/old/cothreads.sgml:
18085         * docs/gst/tmpl/old/cothreads_compat.sgml:
18086         * docs/gst/tmpl/old/gettext.sgml:
18087         * docs/gst/tmpl/old/gobject2gtk.sgml:
18088         * docs/gst/tmpl/old/grammar.tab.sgml:
18089         * docs/gst/tmpl/old/gst-i18n-app.sgml:
18090         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
18091         * docs/gst/tmpl/old/gst_private.sgml:
18092         * docs/gst/tmpl/old/gstaggregator.sgml:
18093         * docs/gst/tmpl/old/gstarch.sgml:
18094         * docs/gst/tmpl/old/gstatomic_impl.sgml:
18095         * docs/gst/tmpl/old/gstbufferstore.sgml:
18096         * docs/gst/tmpl/old/gstdata_private.sgml:
18097         * docs/gst/tmpl/old/gstdisksink.sgml:
18098         * docs/gst/tmpl/old/gstdisksrc.sgml:
18099         * docs/gst/tmpl/old/gstelementfactory.sgml:
18100         * docs/gst/tmpl/old/gstextratypes.sgml:
18101         * docs/gst/tmpl/old/gstfakesink.sgml:
18102         * docs/gst/tmpl/old/gstfakesrc.sgml:
18103         * docs/gst/tmpl/old/gstfdsink.sgml:
18104         * docs/gst/tmpl/old/gstfdsrc.sgml:
18105         * docs/gst/tmpl/old/gstfilesink.sgml:
18106         * docs/gst/tmpl/old/gstfilesrc.sgml:
18107         * docs/gst/tmpl/old/gsthttpsrc.sgml:
18108         * docs/gst/tmpl/old/gstidentity.sgml:
18109         * docs/gst/tmpl/old/gstindexfactory.sgml:
18110         * docs/gst/tmpl/old/gstmarshal.sgml:
18111         * docs/gst/tmpl/old/gstmd5sink.sgml:
18112         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
18113         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
18114         * docs/gst/tmpl/old/gstpadtemplate.sgml:
18115         * docs/gst/tmpl/old/gstpipefilter.sgml:
18116         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
18117         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
18118         * docs/gst/tmpl/old/gstshaper.sgml:
18119         * docs/gst/tmpl/old/gstspider.sgml:
18120         * docs/gst/tmpl/old/gstspideridentity.sgml:
18121         * docs/gst/tmpl/old/gststatistics.sgml:
18122         * docs/gst/tmpl/old/gsttee.sgml:
18123         * docs/gst/tmpl/old/gsttimecache.sgml:
18124         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
18125         * docs/gst/tmpl/old/gstxmlregistry.sgml:
18126         * docs/gst/tmpl/old/gthread-cothreads.sgml:
18127         * docs/gst/tmpl/old/types.sgml:
18128           I didn't intend to add these or check them in.
18129
18130 2005-05-19  David Schleef  <ds@schleef.org>
18131
18132         * configure.ac: Use -no-common everywhere.  In a sane world, it
18133           would be the default in libtool, because without it, you can't
18134           build DLLs on Windows.
18135         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
18136         * docs/gst/gstreamer-sections.txt:
18137         * docs/gst/tmpl/gstcpu.sgml:
18138         * docs/gst/tmpl/gstdata.sgml:
18139         * docs/gst/tmpl/gstthread.sgml:
18140
18141 2005-05-19  David Schleef  <ds@schleef.org>
18142
18143         * gst/gstminiobject.c: (gst_value_set_mini_object),
18144         (gst_value_take_mini_object), (gst_value_get_mini_object):
18145         * gst/gstminiobject.h: Add GValue set/get functions.
18146
18147 2005-05-19  Wim Taymans  <wim@fluendo.com>
18148
18149         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
18150         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
18151         (gst_subbuffer_init), (gst_buffer_is_span_fast):
18152         * gst/gstbuffer.h:
18153         * gst/gstbus.c: (gst_bus_post):
18154         * gst/gstelement.c: (gst_element_get_random_pad):
18155         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
18156         Make subbufer unref the parent in finalize.
18157         some more debugging info.
18158
18159
18160 2005-05-19  Wim Taymans  <wim@fluendo.com>
18161
18162         * gst/base/gstbasesink.c: (gst_basesink_class_init),
18163         (gst_basesink_init), (gst_basesink_finalize),
18164         (gst_basesink_activate), (gst_basesink_change_state):
18165         Don't free preroll queue too early.
18166
18167 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18168
18169         * gst/Makefile.am:
18170         * gst/ROADMAP:
18171           Hi, I'm outdated. Please shoot me.
18172
18173 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18174
18175         * gst/gstpipeline.c: (gst_pipeline_send_event):
18176           Do not access variables after they have been deleted.
18177
18178 2005-05-19  Wim Taymans  <wim@fluendo.com>
18179
18180         * tools/gst-inspect.c: (print_plugin_features):
18181         A plugin feature does unfortunatly not use the
18182         object name yet...
18183
18184 2005-05-18  Wim Taymans  <wim@fluendo.com>
18185
18186         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
18187         Port _span() functions to new subbuffers.
18188
18189 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18190
18191         * gst/gstbin.c: (gst_bin_add_func):
18192           Fix clock settery in bins when adding kids after the clock has
18193           been selected.
18194
18195 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18196
18197         * gst/elements/gstidentity.c: (gst_identity_class_init):
18198           Workaround until signals support GstMiniObject.
18199
18200 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
18201
18202         * gst/gstbuffer.c:
18203         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
18204
18205 2005-05-18  Wim Taymans  <wim@fluendo.com>
18206
18207         * gst/base/Makefile.am:
18208         * gst/base/gstadapter.c: (gst_adapter_base_init),
18209         (gst_adapter_class_init), (gst_adapter_init),
18210         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
18211         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
18212         (gst_adapter_flush), (gst_adapter_available),
18213         (gst_adapter_available_fast):
18214         * gst/base/gstadapter.h:
18215         Ported and added adapter to the base classes.
18216
18217 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18218
18219         * gst/gst.c:
18220         * gst/gstmessage.c:
18221           Make sure the class is reffed/unreffed once before threads can be
18222           used.  Fixes #304551.
18223
18224 2005-05-17  Wim Taymans  <wim@fluendo.com>
18225
18226         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
18227         (gst_basesink_chain_unlocked), (gst_basesink_activate):
18228         * gst/gstminiobject.c: (gst_mini_object_get_type),
18229         (gst_mini_object_free):
18230         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
18231         (gst_pad_push), (gst_pad_push_event):
18232         * gst/gstqueue.c: (gst_queue_change_state):
18233         Don't queue buffers in basesink when we are flushing.
18234         Unref buffer when flushing in basesink.
18235         Flush queue when going to READY
18236         Unref buffer when _push() returns an error.
18237         Don't free MiniObject instance when refcount is incremented
18238         in _finalize() so that we can recover objects.
18239
18240 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
18241
18242         * docs/manual/advanced-schedulers.xml:
18243         * docs/manual/appendix-checklist.xml:
18244         * docs/pwg/advanced-clock.xml:
18245         * docs/pwg/advanced-interfaces.xml:
18246         * docs/pwg/advanced-request.xml:
18247         * docs/pwg/advanced-types.xml:
18248         * docs/pwg/intro-preface.xml:
18249         * examples/plugins/example.c: (gst_example_get_type),
18250         (gst_example_class_init), (gst_example_chain),
18251         (gst_example_set_property), (gst_example_get_property),
18252         (gst_example_change_state), (plugin_init):
18253         * examples/plugins/example.h:
18254           small doc fixes
18255
18256 2005-05-17  Wim Taymans  <wim@fluendo.com>
18257
18258         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
18259         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
18260         * gst/gstqueue.c: (gst_queue_change_state):
18261         Clear queue when going to READY.
18262         Remove IN_SETCAPS flag too.
18263
18264 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
18265
18266         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
18267           Remove implicit cast from gboolean to GstElementStateReturn;
18268           make sure we still return failure in paused => ready case if
18269           the parent class fails to change state and our own stop 
18270           vfunc succeeds.
18271
18272 2005-05-17  Wim Taymans  <wim@fluendo.com>
18273
18274         * tools/gst-launch.c: (event_loop):
18275         Message was unreffed too soon.
18276
18277 2005-05-16  Andy Wingo  <wingo@pobox.com>
18278
18279         * gst/gstbin.c (sink_iterator_filter): Err... um...
18280
18281         * check/gst/gstbin.c (test_ghost_pads): New test for the
18282         ghosting-if-elements-not-in-same-bin behavior.
18283
18284 2005-05-16  David Schleef  <ds@schleef.org>
18285
18286         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
18287         accessing refcount directly.
18288
18289 2005-05-15  David Schleef  <ds@schleef.org>
18290
18291         * check/Makefile.am: remove GstData checks
18292         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
18293         * gst/Makefile.am: add miniobject, remove data
18294         * gst/gst.h: add miniobject, remove data
18295         * gst/gstdata.c: remove
18296         * gst/gstdata.h: remove
18297         * gst/gstdata_private.h: remove
18298         * gst/gsttypes.h: remove GstEvent and GstMessage
18299         * gst/gstelement.c: (gst_element_post_message): fix for API changes
18300         * gst/gstmarshal.list: change BOXED -> OBJECT
18301
18302         Implement GstMiniObject.
18303         * gst/gstminiobject.c:
18304         * gst/gstminiobject.h:
18305
18306         Modify to be subclasses of GstMiniObject.
18307         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
18308         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
18309         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
18310         (gst_subbuffer_get_type), (gst_subbuffer_init),
18311         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
18312         (gst_buffer_span):
18313         * gst/gstbuffer.h:
18314         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
18315         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
18316         (_gst_event_copy), (gst_event_new):
18317         * gst/gstevent.h:
18318         * gst/gstmessage.c: (_gst_message_initialize),
18319         (gst_message_get_type), (gst_message_class_init),
18320         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
18321         (gst_message_new), (gst_message_new_error),
18322         (gst_message_new_warning), (gst_message_new_tag),
18323         (gst_message_new_state_changed), (gst_message_new_application):
18324         * gst/gstmessage.h:
18325         * gst/gstprobe.c: (gst_probe_perform),
18326         (gst_probe_dispatcher_dispatch):
18327         * gst/gstprobe.h:
18328         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
18329         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
18330         (_gst_query_copy), (gst_query_new):
18331
18332         Update elements for GstData -> GstMiniObject changes
18333         * gst/gstquery.h:
18334         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
18335         (gst_queue_chain), (gst_queue_loop):
18336         * gst/elements/gstbufferstore.c:
18337         (gst_buffer_store_add_buffer_func),
18338         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
18339         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
18340         (gst_fakesink_render):
18341         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
18342         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
18343         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
18344         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
18345         (gst_filesrc_create_read):
18346         * gst/elements/gstidentity.c: (gst_identity_class_init):
18347         * gst/elements/gsttypefindelement.c:
18348         (gst_type_find_element_src_event), (free_entry_buffers),
18349         (gst_type_find_element_handle_event):
18350         * libs/gst/dataprotocol/dataprotocol.c:
18351         (gst_dp_header_from_buffer):
18352         * libs/gst/dataprotocol/dataprotocol.h:
18353         * libs/gst/dataprotocol/dp-private.h:
18354
18355 2005-05-15  David Schleef  <ds@schleef.org>
18356
18357         * gst/elements/gstelements.c: Don't include headers that were
18358         just removed.
18359
18360 2005-05-15  David Schleef  <ds@schleef.org>
18361
18362         * gst/elements/Makefile.am: Remove some elements that don't
18363         need to be in the core (or even exist at all).
18364         * gst/elements/gstaggregator.c:
18365         * gst/elements/gstaggregator.h:
18366         * gst/elements/gstmd5sink.c:
18367         * gst/elements/gstmd5sink.h:
18368         * gst/elements/gstmultifilesrc.c:
18369         * gst/elements/gstmultifilesrc.h:
18370         * gst/elements/gstpipefilter.c:
18371         * gst/elements/gstpipefilter.h:
18372         * gst/elements/gstshaper.c:
18373         * gst/elements/gstshaper.h:
18374         * gst/elements/gststatistics.c:
18375         * gst/elements/gststatistics.h:
18376         * po/POTFILES.in: Remove above files.
18377
18378 2005-05-14  Andy Wingo  <wingo@pobox.com>
18379
18380         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
18381         so as to get the refs right.
18382         (sink_iterator_filter): New function, wraps bin_element_is_sink,
18383         unreffing objects that don't pass the filter.
18384
18385         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
18386         gst_element_set_bus.
18387         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
18388         normal cases, this will destroy the bus.
18389
18390         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
18391         object.
18392
18393         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
18394         has no sinks.
18395
18396 2005-05-13  Andy Wingo  <wingo@pobox.com>
18397
18398         * gst/gstutils.c (gst_element_link_pads): Instead of calling
18399         gst_pad_link, call pad_link_maybe_ghosting,
18400         (pad_link_maybe_ghosting): Links pads, making sure that the
18401         elements being linked are in the same bin.
18402         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
18403         Helpers for pad_link_maybe_ghosting.
18404
18405 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
18406
18407         * configure.ac:
18408           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
18409
18410 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
18411
18412         * docs/design/part-element-source.txt:
18413           Mention GstPushSrc
18414
18415 2005-05-12  Wim Taymans  <wim@fluendo.com>
18416
18417         * gst/base/gstbasesink.c: (gst_basesink_init),
18418         (gst_basesink_activate):
18419         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
18420         (gst_basesrc_is_seekable):
18421         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
18422         (bin_element_is_sink), (gst_bin_change_state):
18423         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
18424         * gst/gstelement.h:
18425         Identify sinks by their flag to avoid overly complicated
18426         checks (fow now).
18427         Do state changes even for elements not reachable from the
18428         sinks.
18429         BaseSink is a sink now :)
18430         Some more debugging info in the basesrc.
18431
18432
18433 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18434
18435         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
18436           Implement _query on a bin, similar to _send_event.
18437
18438 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
18439
18440         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
18441           Discont event offset format should be GST_FORMAT_BYTES,
18442           not GST_FORMAT_TIME.
18443
18444 2005-05-12  Wim Taymans  <wim@fluendo.com>
18445
18446         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
18447         Same fix as Ronald's but without the signal. 
18448
18449 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18450
18451         * gst/gstutils.c: (gst_element_query_position):
18452           No, an element is not a pad.
18453
18454 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18455
18456         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
18457         (gst_bin_get_state):
18458           If a child is removed from a bin while we remove the child from
18459           the bin and while we're retrieving its state, signal this to the
18460           get_state function so we abort the wait (instead of waiting for
18461           a timeout) and can immediately re-iterate over all other elements.
18462
18463 2005-05-12  Wim Taymans  <wim@fluendo.com>
18464
18465         * gst/base/Makefile.am:
18466         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
18467         (gst_basesrc_start):
18468         * gst/base/gstbasesrc.h:
18469         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
18470         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
18471         (gst_pushsrc_init), (gst_pushsrc_create):
18472         * gst/base/gstpushsrc.h:
18473         Added is_seekable to BaseSrc
18474         Added simple PushSrc.
18475
18476 2005-05-11  Wim Taymans  <wim@fluendo.com>
18477
18478         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
18479         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18480         (gst_element_link_pads), (gst_element_query_position),
18481         (gst_element_query_convert), (intersect_caps_func),
18482         (gst_pad_query_position), (gst_pad_query_convert):
18483         Fix refcounting in utils function.
18484         No point in trying to activate a pad when it's added, it could
18485         be added from the state change function and then we deadlock, the
18486         element has to decide what to do.
18487
18488 2005-05-10  Andy Wingo  <wingo@pobox.com>
18489
18490         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
18491         *all* the arguments.
18492
18493         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
18494         stream lock if it's a FLUSH_DONE; normal flushes don't get the
18495         lock (according to the docs -- if this is wrong change the docs).
18496
18497         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
18498         flush messages in the NULL state.
18499
18500         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
18501         message immediately and return.
18502         (gst_bus_set_flushing): New function. If a bus is flushing, it
18503         flushes out any queued messages and immediately unrefs new
18504         messages. This is so when an element goes to NULL, all of the
18505         unhandled messages coming from it can be freed, and their
18506         references to the element dropped. In other words: message source
18507         ref considered harmful :P
18508
18509         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
18510         we're finished with it.
18511
18512         * gst/gstmessage.c (gst_message_new_state_changed): 
18513
18514 2005-05-10  Wim Taymans  <wim@fluendo.com>
18515
18516         * gst/gstvalue.c: (gst_value_compare_flags),
18517         (gst_value_serialize_flags), (gst_value_deserialize_flags),
18518         (_gst_value_initialize):
18519         Added flags serialize/deserialize/compare code.
18520
18521 2005-05-09  Andy Wingo  <wingo@pobox.com>
18522
18523         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
18524         Intersect the peer's caps with our caps.
18525
18526 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18527
18528         * gst/base/gsttypefindhelper.c: (helper_find_peek):
18529         * gst/elements/gsttypefindelement.c: (find_peek):
18530           Handle negative offsets better. Fixes decodebin.
18531
18532 2005-05-09  Wim Taymans  <wim@fluendo.com>
18533
18534         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
18535         (gst_base_transform_event):
18536         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
18537         Implement accept_caps.
18538         Fix silly lock/unlock mismatch in base class.
18539
18540 2005-05-09  Wim Taymans  <wim@fluendo.com>
18541
18542         * docs/design/draft-push-pull.txt:
18543         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
18544         * gst/elements/gstfilesink.c: (gst_filesink_init),
18545         (gst_filesink_query):
18546         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
18547         (gst_type_find_handle_src_query), (find_element_get_length):
18548         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
18549         * gst/gstelement.h:
18550         * gst/gstmessage.c:
18551         * gst/gstmessage.h:
18552         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
18553         (gst_real_pad_get_caps_unlocked),
18554         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
18555         (gst_pad_event_default_dispatch), (gst_pad_event_default),
18556         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
18557         (gst_real_pad_dispose), (gst_real_pad_finalize),
18558         (gst_pad_load_and_link), (gst_pad_save_thyself),
18559         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
18560         (gst_pad_check_pull_range), (gst_pad_pull_range),
18561         (gst_pad_template_get_type), (gst_pad_template_class_init),
18562         (gst_pad_template_init), (gst_pad_template_dispose),
18563         (name_is_valid), (gst_static_pad_template_get),
18564         (gst_pad_template_new), (gst_static_pad_template_get_caps),
18565         (gst_pad_template_get_caps), (gst_pad_set_element_private),
18566         (gst_pad_get_element_private), (gst_pad_start_task),
18567         (gst_pad_pause_task), (gst_pad_stop_task),
18568         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
18569         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
18570         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
18571         (gst_ghost_pad_new):
18572         * gst/gstpad.h:
18573         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
18574         (gst_query_new_position), (gst_query_set_position),
18575         (gst_query_parse_position), (gst_query_new_convert),
18576         (gst_query_set_convert), (gst_query_parse_convert):
18577         * gst/gstquery.h:
18578         * gst/gstqueryutils.c:
18579         * gst/gstqueryutils.h:
18580         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
18581         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
18582         (gst_queue_handle_src_query):
18583         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18584         (gst_element_query_position), (gst_element_query_convert),
18585         (intersect_caps_func), (gst_pad_query_position),
18586         (gst_pad_query_convert):
18587         * gst/gstutils.h:
18588         * tools/gst-inspect.c: (print_pad_info):
18589         * tools/gst-xmlinspect.c: (print_element_info):
18590         Remove old query functions. Ported old code.
18591         Added position/convert helper functions to gstutils.
18592         Reordered gstpad.c code, grouping relevant things.
18593         Remove gst_message_new(), always need to speficy a specific
18594         message.
18595
18596
18597 2005-05-09  Andy Wingo  <wingo@pobox.com>
18598
18599         * gst/gstiterator.h: Add some includes.
18600
18601         * gst/gstqueryutils.h: Include more headers.
18602
18603         * gst/gstpad.h:
18604         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
18605         some uses of gst_pad_query.
18606
18607         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
18608         NULL out parameters.
18609         (gst_query_new_position): New proc, allocates a new position
18610         query.
18611
18612         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
18613         gstqueryutils.c to the build.
18614
18615         * gst/gststructure.c (gst_structure_set_valist): Implement with
18616         the generic G_VALUE_COLLECT.
18617         
18618 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
18619
18620         * gst/Makefile.am: (gst_headers):
18621         Added gstqueryutils.h to the list of headers to install, that was
18622         a 'nachty' move wingo :)
18623
18624 2005-05-06  Andy Wingo  <wingo@pobox.com>
18625
18626         * gst/gstquery.h
18627         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
18628         GstData, init a memchunk.
18629         (standard_definitions): Add a few query types, deprecate a few.
18630         (gst_query_get_type): New proc.
18631         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
18632         implementation.
18633         (gst_query_new_application, gst_query_get_structure): New public
18634         procs.
18635
18636         * docs/design/draft-query.txt: Removed LINKS from the query types,
18637         because all the rest can be dispatched to other pads -- seemed
18638         ugly to have a query that couldn't be dispatched. internal_links
18639         is fine as a pad method.
18640
18641         * gst/gstpad.h: Add query2 as a pad method, add the new functions
18642         in gstpad.c, but maintain binary compatibility for the moment.
18643         Will fix before 0.9 is out.
18644
18645         * gst/gstqueryutils.c: 
18646         * gst/gstqueryutils.h: New files, implement 3 methods for each
18647         query type: parse_query, parse_response, and set. Probably need an
18648         allocator as well.
18649
18650         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
18651
18652         * gst/elements/gstfilesink.c (gst_filesink_query2):
18653         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
18654         query_types, and formats methods.
18655
18656         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
18657         (gst_pad_set_query2_function): New functions.
18658         (gst_real_pad_init): Set query2_default as the default query2
18659         function. Basically just dispatches to internally linked pads.
18660
18661         Needs review!
18662         
18663         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
18664         without using the atomic operations. Only one thread can possibly
18665         be accessing the data at this point. Changed so as to avoid
18666         gst_atomic operations.
18667
18668 2005-05-06  Wim Taymans  <wim@fluendo.com>
18669
18670         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
18671         Also set caps if we use the fallback buffer alloc.
18672
18673 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
18674
18675         * docs/gst/Makefile.am:
18676         * docs/gst/gstreamer-docs.sgml:
18677         * docs/gst/gstreamer-sections.txt:
18678         * docs/gst/tmpl/gstatomic.sgml:
18679         * docs/gst/tmpl/gstmemchunk.sgml:
18680         * testsuite/elements/struct_i386.h:
18681         * win32/GStreamer.vcproj:
18682         * win32/Makefile:
18683           Purge GstAtomic stuff from docs and win32 makefiles as well
18684
18685 2005-05-06  Wim Taymans  <wim@fluendo.com>
18686
18687         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
18688         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
18689         * gst/gstpad.c: (gst_pad_peer_get_caps):
18690         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
18691         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
18692         (gst_queue_src_activate), (gst_queue_change_state):
18693         * gst/gstqueue.h:
18694         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18695         (intersect_caps_func):
18696         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
18697         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
18698         Some fixes for the peer_get_caps() change.
18699
18700 2005-05-06  Wim Taymans  <wim@fluendo.com>
18701
18702         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
18703         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
18704         (gst_basesink_activate):
18705         Actually do something with error codes returned from the push
18706         functions.
18707
18708 2005-05-06  Wim Taymans  <wim@fluendo.com>
18709
18710         * docs/design/part-element-sink.txt:
18711         * docs/design/part-element-source.txt:
18712         * gst/base/gstbasesink.c: (gst_basesink_class_init),
18713         (gst_basesink_event), (gst_basesink_activate):
18714         * gst/base/gstbasesink.h:
18715         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
18716         (gst_basesrc_activate):
18717         * gst/base/gstbasesrc.h:
18718         * gst/gstelement.c: (gst_element_pads_activate):
18719         Some more documentation.
18720         Fixed scheduling decision in _pads_activate().
18721
18722 2005-05-05  Andy Wingo  <wingo@pobox.com>
18723
18724         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
18725         the test suite.
18726
18727 2005-05-05  Wim Taymans  <wim@fluendo.com>
18728
18729         * gst/base/Makefile.am:
18730         * gst/base/gstbasesink.h:
18731         * gst/base/gstbasesrc.c: (gst_basesrc_init),
18732         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
18733         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
18734         (gst_collectpads_class_init), (gst_collectpads_init),
18735         (gst_collectpads_finalize), (gst_collectpads_new),
18736         (gst_collectpads_set_function), (gst_collectpads_add_pad),
18737         (find_pad), (gst_collectpads_remove_pad),
18738         (gst_collectpads_is_active), (gst_collectpads_collect),
18739         (gst_collectpads_collect_range), (gst_collectpads_start),
18740         (gst_collectpads_stop), (gst_collectpads_peek),
18741         (gst_collectpads_pop), (gst_collectpads_available),
18742         (gst_collectpads_read), (gst_collectpads_flush),
18743         (gst_collectpads_chain):
18744         * gst/base/gstcollectpads.h:
18745         * gst/elements/Makefile.am:
18746         * gst/elements/gstelements.c:
18747         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
18748         (gst_fakesink_get_times), (gst_fakesink_event),
18749         (gst_fakesink_preroll), (gst_fakesink_render):
18750         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
18751         (gst_filesink_init), (gst_filesink_set_location),
18752         (gst_filesink_open_file), (gst_filesink_close_file),
18753         (gst_filesink_pad_query), (gst_filesink_event),
18754         (gst_filesink_render), (gst_filesink_change_state):
18755         * gst/elements/gstfilesink.h:
18756         Added object to help in making collect pad based elements.
18757         Ported filesink.
18758         Make event function in sink baseclass return gboolean.
18759
18760 2005-05-05  Wim Taymans  <wim@fluendo.com>
18761
18762         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
18763         (gst_bin_get_by_name):
18764         * gst/gstbuffer.h:
18765         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
18766         (gst_clock_finalize):
18767         * gst/gstdata.c: (gst_data_replace):
18768         * gst/gstdata.h:
18769         * gst/gstelement.c: (gst_element_request_pad),
18770         (gst_element_pads_activate):
18771         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
18772         (gst_object_unref):
18773         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18774         (gst_pad_set_checkgetrange_function),
18775         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
18776         (gst_pad_check_pull_range), (gst_pad_pull_range),
18777         (gst_static_pad_template_get_caps), (gst_pad_start_task),
18778         (gst_pad_pause_task), (gst_pad_stop_task):
18779         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18780         (gst_element_request_pad), (gst_pad_proxy_getcaps):
18781         Fix name lookup in GstBin.
18782         Added _data_replace() function and _buffer_replace()
18783         Use finalize method to clean up clock.
18784         Fix refcounting on request pads.
18785         Fix pad schedule mode error.
18786         Some more object refcounting debug info,
18787
18788
18789 2005-05-04  Andy Wingo <wingo@pobox.com>
18790
18791         * check/Makefile.am:
18792         * docs/gst/tmpl/gstatomic.sgml:
18793         * docs/gst/tmpl/gstplugin.sgml:
18794         * gst/base/gstbasesink.c: (gst_basesink_activate):
18795         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
18796         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
18797         (gst_basesrc_query), (gst_basesrc_set_property),
18798         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
18799         (gst_basesrc_activate):
18800         * gst/base/gstbasesrc.h:
18801         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
18802         (gst_base_transform_src_activate):
18803         * gst/elements/gstelements.c:
18804         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18805         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
18806         * gst/elements/gsttee.c: (gst_tee_sink_activate):
18807         * gst/elements/gsttypefindelement.c: (find_element_get_length),
18808         (gst_type_find_element_checkgetrange),
18809         (gst_type_find_element_activate):
18810         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
18811         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
18812         (gst_caps_load_thyself):
18813         * gst/gstelement.c: (gst_element_pads_activate),
18814         (gst_element_save_thyself), (gst_element_restore_thyself):
18815         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
18816         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
18817         * gst/gstpad.h:
18818         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
18819         (gst_xml_parse_file), (gst_xml_parse_memory),
18820         (gst_xml_get_element), (gst_xml_make_element):
18821         * gst/indexers/gstfileindex.c: (gst_file_index_load),
18822         (_file_index_id_save_xml), (gst_file_index_commit):
18823         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
18824         (read_enum), (load_pad_template), (load_feature), (load_plugin),
18825         (load_paths):
18826         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
18827         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
18828         * tools/gst-complete.c: (main):
18829         * tools/gst-compprep.c: (main):
18830         * tools/gst-inspect.c: (print_element_properties_info):
18831         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
18832         * tools/gst-xmlinspect.c: (print_element_properties):
18833         GCC 4 fixen.
18834         
18835 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
18836
18837         * gst/gstplugin.c: (gst_plugin_check_module),
18838         (gst_plugin_check_file), (gst_plugin_load_file):
18839             apply patch from #172526 to make register work on MacOSX
18840
18841 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18842
18843         * docs/gst/tmpl/gstconfig.sgml:
18844         * gst/gstconfig.h.in:
18845           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
18846         * testsuite/debug/printf_extension.c: (main):
18847           Do not use GST_PTR_FORMAT on pointers to types with
18848           sizeof < sizeof(gpointer).  Fixes test on 64-bit
18849         * testsuite/elements/property.h:
18850           use correct printf format
18851
18852 2005-05-02  Wim Taymans  <wim@fluendo.com>
18853
18854         * docs/design/draft-push-pull.txt:
18855         * docs/design/draft-query.txt:
18856         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
18857         (gst_basesrc_start):
18858         Added draft for new query API.
18859         Added draft for better selecting scheduling methods.
18860         Make basesrc ignore length if the subclass does not support
18861         it.
18862
18863 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18864
18865         * gst/Makefile.am:
18866           possible fixes for automake-1.5 - _LIBADD is reserved
18867
18868 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18869
18870         * docs/faq/Makefile.am:
18871         * docs/manual/Makefile.am:
18872         * docs/manuals.mak:
18873         * docs/pwg/Makefile.am:
18874         * gst/Makefile.am:
18875           possible fixes for automake-1.5
18876
18877 2005-04-28  Wim Taymans  <wim@fluendo.com>
18878
18879         * gst/base/gstbasesink.c: (gst_basesink_base_init),
18880         (gst_basesink_pad_getcaps), (gst_basesink_init),
18881         (gst_basesink_do_sync):
18882         * gst/gstclock.c: (gst_clock_entry_new):
18883         * gst/gstevent.c: (gst_event_discont_get_value):
18884         * gst/gstpipeline.c: (pipeline_bus_handler),
18885         (gst_pipeline_change_state):
18886         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
18887         Better debugging of clocking info.
18888         Allow NULL values when getting discont values.
18889
18890 2005-04-27  Wim Taymans  <wim@fluendo.com>
18891
18892         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
18893         * check/gst/gstpad.c: (gst_pad_suite):
18894         Increase timeout for checks.
18895
18896 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18897
18898         * check/Makefile.am:
18899           fix the broken rule for cleanup.  Apparently this rule is
18900           only needed on FC2, so maybe this warrants further autotool
18901           inspection.
18902
18903 2005-04-26  Wim Taymans  <wim@fluendo.com>
18904
18905         * gst/gsttrashstack.h:
18906         Ooohh. a nasty one! After having a failed pop() from the stack,
18907         it's possible that the stack is empty. In that case, don't
18908         follow the NULL pointer.
18909
18910 2005-04-25  Wim Taymans  <wim@fluendo.com>
18911
18912         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18913         (gst_pad_set_checkgetrange_function),
18914         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
18915         (gst_pad_check_pull_range), (gst_pad_pull_range),
18916         (gst_static_pad_template_get_caps), (gst_pad_start_task),
18917         (gst_pad_pause_task), (gst_pad_stop_task):
18918         * gst/gstplugin.c: (gst_plugin_load):
18919         * gst/gstplugin.h:
18920         Remove gst_library_load as it does more harm than good with
18921         the new g_module flags.
18922         Revert bogus caps template check in pad linking, pad caps
18923         are important when linking not the template, which is more
18924         general than the current caps.
18925
18926 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18927
18928         * gst/autoplug/.cvsignore:
18929         * gst/autoplug/Makefile.am:
18930         * gst/autoplug/gstsearchfuncs.c:
18931         * gst/autoplug/gstsearchfuncs.h:
18932         * gst/autoplug/gstspider.c:
18933         * gst/autoplug/gstspider.h:
18934         * gst/autoplug/gstspideridentity.c:
18935         * gst/autoplug/gstspideridentity.h:
18936         * gst/autoplug/spidertest.c:
18937           Die, spider, die.
18938
18939 2005-04-25  Wim Taymans  <wim@fluendo.com>
18940
18941         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18942         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
18943         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
18944         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
18945         * gst/gstpad.h:
18946         Added stubs for unimplemented functions. 
18947
18948 2005-04-24  David Schleef  <ds@schleef.org>
18949
18950         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
18951         please fix.
18952
18953 2005-04-24  David Schleef  <ds@schleef.org>
18954
18955         Convert everything from GstAtomicInt to g_atomic_int_*, and
18956         remove gstatomic.
18957         * gst/Makefile.am:
18958         * gst/gstatomic.c:
18959         * gst/gstatomic.h:
18960         * gst/gstatomic_impl.h:
18961         * gst/gstbuffer.c:
18962         * gst/gstcaps.c:
18963         * gst/gstcaps.h:
18964         * gst/gstclock.c:
18965         * gst/gstclock.h:
18966         * gst/gstdata.c:
18967         * gst/gstdata.h:
18968         * gst/gstdata_private.h:
18969         * gst/gstevent.c:
18970         * gst/gstinfo.c:
18971         * gst/gstinfo.h:
18972         * gst/gstmessage.c:
18973         * gst/gstobject.c:
18974         * gst/gstobject.h:
18975         * gst/gststructure.c:
18976         * gst/gststructure.h:
18977         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
18978         * gst/gstutils.h:
18979
18980 2005-04-24  David Schleef  <ds@schleef.org>
18981
18982         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
18983         make the regressions tests work.  Remove some code that is no
18984         longer true.
18985         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
18986         Disable warning for pads without templates.
18987
18988 2005-04-24  David Schleef  <ds@schleef.org>
18989
18990         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
18991         functions that handle filtered links.
18992         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
18993         removed functions.
18994         * gst/gstutils.c: Fix/remove utility functions that handle
18995         filtered caps.
18996         * gst/gstutils.h:
18997         * gst/gstvalue.c: Add serialization/deserialization of caps
18998         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
18999         requires fixing so that the filter caps notation creates
19000         a capsfilter element and sets the filter_caps property.  I
19001         think everyone probably wants to keep the shorthand notation.
19002         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
19003         * docs/gst/tmpl/gstpad.sgml:
19004
19005         * gst/elements/gstelements.c: Register capsfilter element.
19006         * gst/Makefile.am: fix spacing
19007         * docs/random/ds/0.9-suggested-changes: random
19008
19009 2005-04-23  David Schleef  <ds@schleef.org>
19010
19011         * gst/elements/Makefile.am:
19012         * gst/elements/gstcapsfilter.c: New element that acts like an
19013         identity, but filters caps.  Will eventually replace filtered
19014         caps in pad linking.
19015         * gst/gstutils.c: (gst_element_create_all_pads): New function
19016         to create all the ALWAYS pads that are registered with an
19017         element class.  This functionality should eventually be
19018         merged in with GstElement initialization.
19019         * gst/gstutils.h:
19020         * testsuite/trigger/README: part of trigger test code that should
19021         have been checked in a long time ago.
19022
19023 2005-04-23  David Schleef  <ds@schleef.org>
19024
19025         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
19026         needed with new versions of libtool (nobody will confirm this),
19027         and hard to carry around.
19028         * gst/autoplug/Makefile.am:
19029         * gst/base/Makefile.am:
19030         * gst/elements/Makefile.am:
19031         * gst/indexers/Makefile.am:
19032         * gst/schedulers/Makefile.am:
19033         * libs/gst/bytestream/Makefile.am:
19034         * libs/gst/control/Makefile.am:
19035         * libs/gst/dataprotocol/Makefile.am:
19036         * libs/gst/getbits/Makefile.am:
19037
19038 2005-04-21  Wim Taymans  <wim@fluendo.com>
19039
19040         * docs/design/draft-push-pull.txt:
19041         * docs/design/part-MT-refcounting.txt:
19042         * docs/design/part-TODO.txt:
19043         * docs/design/part-caps.txt:
19044         * docs/design/part-events.txt:
19045         * docs/design/part-gstbus.txt:
19046         * docs/design/part-gstpipeline.txt:
19047         * docs/design/part-messages.txt:
19048         * docs/design/part-push-pull.txt:
19049         * docs/design/part-query.txt:
19050         Some more docs.
19051
19052 2005-04-21  Wim Taymans  <wim@fluendo.com>
19053
19054         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
19055         (gst_message_new), (gst_message_new_error),
19056         (gst_message_new_warning), (gst_message_new_tag),
19057         (gst_message_new_state_changed), (gst_message_new_application),
19058         (gst_message_get_structure):
19059         * gst/gstmessage.h:
19060         * gst/gststructure.c: (gst_structure_set_parent_refcount),
19061         (gst_structure_copy_conditional):
19062         Use parent refcount in GstMessage to ensure GstStructure
19063         consistency.
19064         Cleaned up headers a bit.
19065         
19066
19067 2005-04-20  Wim Taymans  <wim@fluendo.com>
19068
19069         * gst/base/gstbasesink.c: (gst_basesink_base_init),
19070         (gst_basesink_pad_getcaps), (gst_basesink_init),
19071         (gst_basesink_chain_unlocked):
19072         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
19073         (gst_type_find_helper):
19074         * gst/elements/gsttypefindelement.c:
19075         (gst_type_find_element_have_type), (gst_type_find_element_init),
19076         (stop_typefinding), (gst_type_find_element_handle_event),
19077         (find_suggest), (gst_type_find_element_chain),
19078         (gst_type_find_element_checkgetrange),
19079         (gst_type_find_element_getrange), (do_typefind),
19080         (gst_type_find_element_activate):
19081         * gst/gstbuffer.c: (_gst_buffer_sub_free),
19082         (gst_buffer_default_free), (gst_buffer_default_copy),
19083         (gst_buffer_set_caps):
19084         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
19085         (gst_caps_replace):
19086         * gst/gstmessage.c: (gst_message_new),
19087         (gst_message_new_state_changed):
19088         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19089         (gst_pad_set_checkgetrange_function),
19090         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
19091         (gst_pad_set_caps), (gst_pad_check_pull_range),
19092         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
19093         * gst/gstpad.h:
19094         * gst/gsttypefind.c: (gst_type_find_register):
19095         Make gst_caps_replace() work like other _replace() functions.
19096         Use _caps_replace() where possible.
19097         Make sure _message_new() initialises its field.
19098         Add gst_static_pad_template_get_caps()
19099
19100
19101 2005-04-18  Andy Wingo  <wingo@pobox.com>
19102
19103         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
19104         on the peer, not the pad. I think that was a typo. Pass an extra
19105         arg to see if random access is possible. Activate the pads as
19106         PULL_RANGE if possible.
19107
19108         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
19109
19110         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
19111         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
19112         to PROP_....
19113
19114 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19115
19116         * docs/faq/using.xml:
19117           Add note on gstreamer-properties (#154996).
19118
19119 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19120
19121         * docs/random/bbb/optional-properties:
19122           Some analysis on optional properties.
19123
19124 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19125
19126         * docs/gst/tmpl/gstelementfactory.sgml:
19127         * gst/gstelement.h:
19128         * gst/gstelementfactory.c: (gst_element_factory_init),
19129         (gst_element_factory_cleanup), (gst_element_register),
19130         (__gst_element_factory_add_static_pad_template),
19131         (gst_element_factory_get_static_pad_templates),
19132         (gst_element_factory_can_src_caps),
19133         (gst_element_factory_can_sink_caps):
19134         * gst/registries/Makefile.am:
19135         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
19136         (gst_xml_registry_class_init), (gst_xml_registry_init),
19137         (gst_xml_registry_new), (gst_xml_registry_set_property),
19138         (gst_xml_registry_get_property), (get_time), (make_dir),
19139         (gst_xml_registry_get_perms_func),
19140         (plugin_times_older_than_recurse), (plugin_times_older_than),
19141         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
19142         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
19143         (add_to_char_array), (read_string), (read_uint), (read_enum),
19144         (load_pad_template), (load_feature), (load_plugin), (load_paths),
19145         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
19146         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
19147         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
19148         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
19149         (gst_xml_registry_rebuild):
19150         * gst/registries/gstlibxmlregistry.h:
19151         * tools/gst-compprep.c: (main):
19152         * tools/gst-inspect.c: (print_pad_templates_info):
19153         * tools/gst-xmlinspect.c: (print_element_info):
19154           Use libxml2 for registry parsing, use staticpadtemplates in
19155           elementfactories. Makes gst_init() +/- 10x faster.
19156
19157 2005-04-12  Wim Taymans  <wim@fluendo.com>
19158
19159         * gst/base/Makefile.am:
19160         * gst/base/gstbasesink.c: (gst_basesink_base_init),
19161         (gst_basesink_pad_getcaps), (gst_basesink_init),
19162         (gst_basesink_event), (gst_basesink_change_state):
19163         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
19164         (gst_basesrc_init), (gst_basesrc_query),
19165         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
19166         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
19167         (gst_basesrc_check_get_range), (gst_basesrc_loop),
19168         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
19169         (gst_basesrc_stop), (gst_basesrc_activate),
19170         (gst_basesrc_change_state):
19171         * gst/base/gsttypefindhelper.c: (helper_find_peek),
19172         (helper_find_suggest), (gst_type_find_helper):
19173         * gst/base/gsttypefindhelper.h:
19174         * gst/elements/Makefile.am:
19175         * gst/elements/gstelements.c:
19176         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
19177         (gst_fakesink_get_times), (gst_fakesink_event),
19178         (gst_fakesink_preroll), (gst_fakesink_render):
19179         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19180         (gst_fakesrc_init), (gst_fakesrc_event_handler),
19181         (gst_fakesrc_get_property), (gst_fakesrc_create),
19182         (gst_fakesrc_start), (gst_fakesrc_stop):
19183         * gst/elements/gstfakesrc.h:
19184         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
19185         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
19186         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
19187         (gst_filesrc_create_read), (gst_filesrc_create),
19188         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
19189         (gst_filesrc_start):
19190         * gst/elements/gsttypefindelement.c:
19191         (gst_type_find_element_have_type), (gst_type_find_element_init),
19192         (start_typefinding), (stop_typefinding), (push_buffer_store),
19193         (gst_type_find_element_handle_event),
19194         (gst_type_find_element_chain),
19195         (gst_type_find_element_checkgetrange),
19196         (gst_type_find_element_getrange), (do_typefind),
19197         (gst_type_find_element_activate),
19198         (gst_type_find_element_change_state):
19199         * gst/elements/gsttypefindelement.h:
19200         * gst/gstpipeline.c: (pipeline_bus_handler):
19201         Added typefind helper.
19202         Small preroll fix in the base sink.
19203         Disable typefind code in basesrc.
19204         Crude port of typefindelement.
19205         Fakesrc cleanups.
19206
19207
19208 2005-04-11  Wim Taymans  <wim@fluendo.com>
19209
19210         * check/gst/gstbus.c: (gstbus_suite):
19211         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
19212         * check/gstcheck.h:
19213           Fix up the timeout so that the test does not fail.
19214
19215 2005-04-06  Wim Taymans  <wim@fluendo.com>
19216
19217         * gst/base/README:
19218         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
19219         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
19220         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
19221         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
19222         (gst_basesrc_check_get_range), (gst_basesrc_loop),
19223         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
19224         (gst_basesrc_stop), (gst_basesrc_activate),
19225         (gst_basesrc_change_state), (basesrc_find_peek),
19226         (basesrc_find_suggest), (gst_basesrc_type_find):
19227         * gst/base/gstbasesrc.h:
19228         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
19229         (gst_filesrc_class_init), (gst_filesrc_init),
19230         (gst_filesrc_finalize), (gst_filesrc_set_location),
19231         (gst_filesrc_set_property), (gst_filesrc_get_property),
19232         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
19233         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
19234         (gst_filesrc_create_read), (gst_filesrc_create),
19235         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
19236         * gst/elements/gstfilesrc.h:
19237         * gst/gstelement.c: (gst_element_get_state_func),
19238         (gst_element_lost_state), (gst_element_pads_activate):
19239         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19240         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
19241         (gst_pad_pull_range):
19242         * gst/gstpad.h:
19243         More work on the generic source base class, implement seeking,
19244         query.
19245         Make filesrc extend the base source class.
19246         Added gst_pad_set_checkgetrange_function to GstPad.
19247
19248 2005-04-06  Andy Wingo  <wingo@pobox.com>
19249
19250         * pkgconfig/gstreamer-base.pc.in:
19251         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
19252
19253         * pkgconfig/Makefile.am:
19254         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
19255
19256 2005-04-04  Wim Taymans  <wim@fluendo.com>
19257
19258         * gst/base/Makefile.am:
19259         * gst/base/README:
19260         * gst/base/gstbasesink.c: (gst_basesink_base_init),
19261         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
19262         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
19263         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
19264         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
19265         (gst_basesrc_base_init), (gst_basesrc_class_init),
19266         (gst_basesrc_init), (gst_basesrc_get_formats),
19267         (gst_basesrc_get_query_types), (gst_basesrc_query),
19268         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
19269         (gst_basesrc_set_property), (gst_basesrc_get_property),
19270         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
19271         (gst_basesrc_loop), (gst_basesrc_activate),
19272         (gst_basesrc_change_state):
19273         * gst/base/gstbasesrc.h:
19274         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
19275         (gst_fakesrc_class_init), (gst_fakesrc_init),
19276         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
19277         (gst_fakesrc_get_property), (gst_fakesrc_create):
19278         * gst/elements/gstfakesrc.h:
19279         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
19280         (gst_filesrc_open_file), (gst_filesrc_loop),
19281         (gst_filesrc_activate), (filesrc_find_peek),
19282         (gst_filesrc_type_find):
19283         Made base source class, make fakesrc extend it.
19284         Add comments to basesink class.
19285         Some filesrc cleanup.
19286
19287 2005-03-31  David Schleef  <ds@schleef.org>
19288
19289         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
19290         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
19291         expected to link against libgstreamer.
19292         * gst/base/Makefile.am: link against libgstreamer
19293         * gst/elements/Makefile.am: same
19294
19295 2005-03-31  Andy Wingo  <wingo@pobox.com>
19296
19297         * tests/instantiate/Makefile.am:
19298         * tests/instantiate/caps.c: Add test to test speed of caps copy
19299         and free.
19300
19301         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
19302         GMemChunk to be fair.
19303
19304         * gst/gsttrashstack.h: Remove warning about using the fallback
19305         trash stack implementation, it's still faster than malloc.
19306
19307 2005-03-30  Andy Wingo  <wingo@pobox.com>
19308
19309         * tests/complexity.c: Add a copyright.
19310
19311 2005-03-31  Wim Taymans  <wim@fluendo.com>
19312
19313         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
19314         (gst_base_transform_class_init), (gst_base_transform_init),
19315         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
19316         (gst_base_transform_get_property),
19317         (gst_base_transform_sink_activate),
19318         (gst_base_transform_src_activate),
19319         (gst_base_transform_change_state):
19320         * gst/base/gstbasetransform.h:
19321         * gst/elements/gstidentity.c: (gst_identity_class_init),
19322         (gst_identity_event), (gst_identity_check_perfect),
19323         (gst_identity_transform), (gst_identity_start),
19324         (gst_identity_stop):
19325         Added start/stop methods to transform base class so subclasses 
19326         don't need to deal with state changes even.
19327
19328 2005-03-31  Wim Taymans  <wim@fluendo.com>
19329
19330         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
19331         (gst_event_new_discontinuous), (gst_event_discont_get_value):
19332         * gst/gstevent.h:
19333         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19334         (gst_pad_pull_range):
19335         Added rate to the discont event to prepare for variable speed
19336         and reverse playback.
19337
19338 2005-03-29  David Schleef  <ds@schleef.org>
19339
19340         * configure.ac:
19341         * testsuite/trigger/Makefile.am:
19342         * testsuite/trigger/trigger.c: A little example program to show
19343         how trigger-based elements can work.
19344
19345 2005-03-29  Wim Taymans  <wim@fluendo.com>
19346
19347         * gst/base/Makefile.am:
19348         * gst/base/README:
19349         * gst/base/gstbasesink.c: (gst_basesink_get_type),
19350         (gst_basesink_base_init), (gst_basesink_class_init),
19351         (gst_basesink_pad_getcaps), (gst_basesink_init),
19352         (gst_basesink_activate), (gst_basesink_change_state):
19353         * gst/base/gstbasesink.h:
19354         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
19355         (gst_base_transform_base_init), (gst_base_transform_finalize),
19356         (gst_base_transform_class_init), (gst_base_transform_init),
19357         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
19358         (gst_base_transform_event), (gst_base_transform_getrange),
19359         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
19360         (gst_base_transform_set_property),
19361         (gst_base_transform_get_property),
19362         (gst_base_transform_sink_activate),
19363         (gst_base_transform_src_activate),
19364         (gst_base_transform_change_state):
19365         * gst/base/gstbasetransform.h:
19366         * gst/elements/gstidentity.c: (gst_identity_finalize),
19367         (gst_identity_class_init), (gst_identity_init),
19368         (gst_identity_event), (gst_identity_check_perfect),
19369         (gst_identity_transform), (gst_identity_set_property),
19370         (gst_identity_get_property), (gst_identity_change_state):
19371         * gst/elements/gstidentity.h:
19372         * gst/gstelement.c: (gst_element_get_state_func),
19373         (gst_element_lost_state), (gst_element_pads_activate):
19374         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19375         (gst_pad_check_pull_range), (gst_pad_pull_range):
19376         * gst/gstpad.h:
19377         Simplify pad activation.
19378         Added function to check if pull_range can be performed.
19379         Error out when pulling inactive or flushing pads.
19380         Removed const from refcounted types as it does not make sense.
19381         Simplify pad templates in basesink
19382         Added base class for simple 1-to-1 transforms.
19383         Make identity subclass the base transform.
19384
19385 2005-03-29  Andy Wingo  <wingo@pobox.com>
19386
19387         * docs/libs/gstreamer-libs-overrides.txt: 
19388         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
19389         really don't understand what's going on, but like whatever. I want
19390         green buildbot!
19391
19392         * docs/gst/Makefile.am:
19393         * docs/libs/Makefile.am: Dist the overrides files.
19394
19395         * check/Makefile.am (clean-local): Remove .libs directories.
19396
19397         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
19398         elements to EXTRA_DIST, so po/ files are happy.
19399
19400         * po/POTFILES.in: Er, remove it here.
19401
19402         * po/POTFILES: Remove gstspider.c.
19403
19404         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
19405
19406         * docs/libs/gstreamer-libs-docs.sgml: 
19407         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
19408         bytestream.
19409
19410         * tests/complexity.c (main): Set the length of the preroll queue
19411         on the sinks to prevent a lockup.
19412
19413         * libs/gst/dataprotocol/Makefile.am: 
19414         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
19415         the same as the one in check/gst-libs/gdp.c.
19416
19417         * po/, docs/gst/: Commit automatic changes to docs and po files.
19418
19419         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
19420         the versioned libgstbase.
19421
19422         * check/Makefile.am: Depend on an unversioned gst-register, seems
19423         to make autoconf happier.
19424
19425         * gst/base/Makefile.am: Make libgstbase a versioned lib.
19426
19427 2005-03-28  Wim Taymans  <wim@fluendo.com>
19428
19429         * configure.ac:
19430         * docs/design/part-gstelement.txt:
19431         * docs/design/part-negotiation.txt:
19432         * docs/design/part-preroll.txt:
19433         * docs/design/part-scheduling.txt:
19434         * docs/design/part-states.txt:
19435         * gst/Makefile.am:
19436         * gst/base/Makefile.am:
19437         * gst/base/README:
19438         * gst/base/gstbasesink.c: (gst_basesink_get_template),
19439         (gst_basesink_base_init), (gst_basesink_class_init),
19440         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
19441         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
19442         (gst_basesink_set_pad_functions),
19443         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
19444         (gst_basesink_set_property), (gst_basesink_get_property),
19445         (gst_base_sink_get_template), (gst_base_sink_get_caps),
19446         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
19447         (gst_basesink_preroll_queue_push),
19448         (gst_basesink_preroll_queue_empty),
19449         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
19450         (gst_basesink_event), (gst_basesink_get_times),
19451         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
19452         (gst_basesink_chain_unlocked), (gst_basesink_chain),
19453         (gst_basesink_loop), (gst_basesink_activate),
19454         (gst_basesink_change_state):
19455         * gst/base/gstbasesink.h:
19456         * gst/elements/Makefile.am:
19457         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
19458         (gst_fakesink_class_init), (gst_fakesink_init),
19459         (gst_fakesink_set_property), (gst_fakesink_get_property),
19460         (gst_fakesink_get_times), (gst_fakesink_event),
19461         (gst_fakesink_preroll), (gst_fakesink_render),
19462         (gst_fakesink_change_state):
19463         * gst/elements/gstfakesink.h:
19464         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
19465         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
19466         * gst/gstelement.c: (gst_element_add_pad),
19467         (gst_element_get_state_func), (gst_element_abort_state),
19468         (gst_element_commit_state), (gst_element_lost_state),
19469         (gst_element_set_state), (gst_element_pads_activate):
19470         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
19471         * gst/gstpipeline.c: (gst_pipeline_send_event),
19472         (gst_pipeline_change_state):
19473         Added state change code.
19474         Added/updated docs.
19475         Added sink base class, make fakesink extend the base class.
19476         Small cleanups in GstPipeline.
19477
19478 2005-03-26  David Schleef  <ds@schleef.org>
19479
19480         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
19481         is broken and should be implemented in a different library.
19482         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
19483         * gst/gst.h: remove gstcpu.h
19484         * gst/gstcpu.c: remove
19485         * gst/gstcpu.h: remove
19486         * gst/Makefile.am.future: Remove this file.  It's ancient.
19487
19488 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19489
19490         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
19491         (gst_bin_send_event):
19492           Add default event/set_manager handlers. The set_manager handler
19493           takes care that the manager is distributed over kids that were
19494           already in the bin before the manager was set. The event handler
19495           is a utility virtual function that sends the event over all sinks,
19496           so that gst_element_send_event (bin, event); has the expected
19497           behaviour.
19498         * gst/gstpad.c: (gst_pad_event_default):
19499           Re-install default event handling for discontinuities, so that
19500           seeking works without requiring hacks in applications or extra
19501           code in sinks.
19502         * gst/gstpipeline.c: (gst_pipeline_class_init),
19503         (gst_pipeline_send_event):
19504           Half hack, half utility: set a pipeline to PAUSED for seek events,
19505           since that is the only way we can guarantee a/v sync. Means that
19506           you can do gst_element_seek (pipeline, method, pos); on a pipeline
19507           and it "just works".
19508
19509 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19510
19511         * gst/gstpipeline.c: (gst_pipeline_use_clock):
19512           Lock/unlock mismatch.
19513
19514 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
19515
19516         * docs/faq/gst-uninstalled:
19517           add gst-plugins-base
19518         * docs/gst/Makefile.am:
19519           don't error out until docs are fixed
19520         * docs/gst/gstreamer.types:
19521           remove thread
19522
19523 2005-03-22  Wim Taymans  <wim@fluendo.com>
19524
19525         * check/Makefile.am:
19526         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
19527         * gst/gststructure.c: (gst_structure_set_valist),
19528         (gst_structure_copy_conditional):
19529         Activated more tests.
19530         Added message test.
19531         Added G_TYPE_POINTER to GstStructure.
19532         
19533
19534 2005-03-22  Wim Taymans  <wim@fluendo.com>
19535
19536         * docs/design/part-TODO.txt:
19537         * docs/design/part-events.txt:
19538         * docs/design/part-gstbin.txt:
19539         * docs/design/part-gstbus.txt:
19540         * docs/design/part-gstpipeline.txt:
19541         * docs/design/part-messages.txt:
19542         * gst/gstbus.c:
19543         * gst/gstmessage.c:
19544         Docs updates
19545
19546 2005-03-21  Wim Taymans  <wim@fluendo.com>
19547
19548         * gst/gstbus.c: (gst_bus_post):
19549         Fix copy-and-paste error.
19550
19551 2005-03-21  Wim Taymans  <wim@fluendo.com>
19552
19553         * check/Makefile.am:
19554         * gst/Makefile.am:
19555         * gst/elements/Makefile.am:
19556         * gst/elements/gstelements.c:
19557         * gst/elements/gstfakesink.c: (gst_fakesink_init),
19558         (gst_fakesink_event), (gst_fakesink_chain):
19559         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19560         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
19561         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
19562         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
19563         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
19564         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
19565         (gst_fakesrc_loop), (gst_fakesrc_activate),
19566         (gst_fakesrc_change_state):
19567         * gst/elements/gstfakesrc.h:
19568         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
19569         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
19570         (gst_filesrc_open_file), (gst_filesrc_loop),
19571         (gst_filesrc_activate), (gst_filesrc_change_state),
19572         (filesrc_find_peek), (filesrc_find_suggest),
19573         (gst_filesrc_type_find):
19574         * gst/elements/gstidentity.c: (gst_identity_finalize),
19575         (gst_identity_class_init), (gst_identity_init),
19576         (gst_identity_proxy_getcaps), (identity_queue_push),
19577         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
19578         (gst_identity_getrange), (gst_identity_chain),
19579         (gst_identity_sink_loop), (gst_identity_src_loop),
19580         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
19581         (gst_identity_set_property), (gst_identity_get_property),
19582         (gst_identity_change_state):
19583         * gst/elements/gstidentity.h:
19584         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
19585         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
19586         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
19587         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
19588         (gst_tee_sink_activate):
19589         * gst/elements/gsttee.h:
19590         * gst/gst.c: (gst_register_core_elements), (init_post):
19591         * gst/gst.h:
19592         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
19593         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
19594         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
19595         (gst_bin_change_state):
19596         * gst/gstbin.h:
19597         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
19598         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
19599         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
19600         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
19601         (gst_bus_set_sync_handler), (gst_bus_create_watch),
19602         (bus_watch_callback), (bus_watch_destroy),
19603         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
19604         (poll_timeout), (gst_bus_poll):
19605         * gst/gstbus.h:
19606         * gst/gstcaps.h:
19607         * gst/gstdata.h:
19608         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
19609         (gst_element_post_message), (gst_element_message_full),
19610         (gst_element_get_state_func), (gst_element_get_state),
19611         (gst_element_abort_state), (gst_element_commit_state),
19612         (gst_element_lost_state), (gst_element_set_state),
19613         (gst_element_pads_activate), (gst_element_change_state),
19614         (gst_element_dispose), (gst_element_set_manager_func),
19615         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
19616         (gst_element_set_manager), (gst_element_get_manager),
19617         (gst_element_set_bus), (gst_element_get_bus),
19618         (gst_element_set_scheduler), (gst_element_get_scheduler):
19619         * gst/gstelement.h:
19620         * gst/gstevent.c: (gst_event_new_segment_seek),
19621         (gst_event_new_flush):
19622         * gst/gstevent.h:
19623         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
19624         (_gst_message_free), (gst_message_get_type), (gst_message_new),
19625         (gst_message_new_eos), (gst_message_new_error),
19626         (gst_message_new_warning), (gst_message_new_tag),
19627         (gst_message_new_state_changed), (gst_message_new_application),
19628         (gst_message_get_structure), (gst_message_parse_tag),
19629         (gst_message_parse_state_changed), (gst_message_parse_error),
19630         (gst_message_parse_warning):
19631         * gst/gstmessage.h:
19632         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
19633         (gst_real_pad_set_property), (gst_pad_set_active),
19634         (gst_pad_is_active), (gst_pad_set_blocked_async),
19635         (gst_pad_set_blocked), (gst_pad_is_blocked),
19636         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
19637         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
19638         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
19639         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
19640         (gst_pad_link_filtered), (gst_pad_relink_filtered),
19641         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
19642         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
19643         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
19644         (gst_pad_set_caps), (gst_pad_configure_sink),
19645         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
19646         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
19647         (gst_real_pad_dispose), (gst_real_pad_finalize),
19648         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
19649         (gst_pad_event_default_dispatch), (gst_pad_event_default),
19650         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
19651         * gst/gstpad.h:
19652         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
19653         (pipeline_bus_handler), (gst_pipeline_change_state),
19654         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
19655         * gst/gstpipeline.h:
19656         * gst/gstprobe.h:
19657         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
19658         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
19659         (gst_queue_link_src), (gst_queue_bufferalloc),
19660         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
19661         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
19662         (gst_queue_loop), (gst_queue_handle_src_event),
19663         (gst_queue_handle_src_query), (gst_queue_src_activate),
19664         (gst_queue_change_state):
19665         * gst/gstqueue.h:
19666         * gst/gstscheduler.c: (gst_scheduler_init),
19667         (gst_scheduler_dispose), (gst_scheduler_create_task),
19668         (gst_scheduler_factory_create):
19669         * gst/gstscheduler.h:
19670         * gst/gststructure.c: (gst_structure_get_type),
19671         (gst_structure_copy_conditional):
19672         * gst/gststructure.h:
19673         * gst/gsttaginterface.h:
19674         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
19675         (gst_task_init), (gst_task_dispose), (gst_task_create),
19676         (gst_task_get_state), (gst_task_start), (gst_task_stop),
19677         (gst_task_pause):
19678         * gst/gsttask.h:
19679         * gst/gstthread.c:
19680         * gst/gstthread.h:
19681         * gst/gsttypes.h:
19682         * gst/schedulers/Makefile.am:
19683         * gst/schedulers/cothreads_compat.h:
19684         * gst/schedulers/entryscheduler.c:
19685         * gst/schedulers/faircothreads.c:
19686         * gst/schedulers/faircothreads.h:
19687         * gst/schedulers/fairscheduler.c:
19688         * gst/schedulers/gstbasicscheduler.c:
19689         * gst/schedulers/gstoptimalscheduler.c:
19690         * gst/schedulers/gthread-cothreads.h:
19691         * gst/schedulers/threadscheduler.c:
19692         (gst_thread_scheduler_task_get_type),
19693         (gst_thread_scheduler_task_class_init),
19694         (gst_thread_scheduler_task_init),
19695         (gst_thread_scheduler_task_start),
19696         (gst_thread_scheduler_task_stop),
19697         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
19698         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
19699         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
19700         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
19701         (plugin_init):
19702         * libs/gst/Makefile.am:
19703         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
19704         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
19705         (gst_file_pad_parent_set):
19706         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
19707         (gst_dp_event_from_packet):
19708         * tests/complexity.c: (main):
19709         * tests/mass_elements.c: (main):
19710         * testsuite/states/locked.c: (message_received), (main):
19711         * testsuite/states/parent.c: (main):
19712         * tools/gst-inspect.c: (print_element_flag_info),
19713         (print_implementation_info), (print_pad_info):
19714         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
19715         (main):
19716         * tools/gst-md5sum.c: (event_loop), (main):
19717         * tools/gst-typefind.c: (main):
19718         * tools/gst-xmlinspect.c: (print_element_info):
19719         Next big merge.
19720         Added GstBus for mainloop integration.
19721         Added GstMessage for sending notifications on the bus.
19722         Added GstTask as an abstraction for pipeline entry points.
19723         Removed GstThread.
19724         Removed Schedulers.
19725         Simplified GstQueue for multithreaded core.
19726         Made _link threadsafe, removed old capsnego.
19727         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
19728         Added pad blocking functions.
19729         Reworked scheduling functions in GstPad to prepare for
19730         scheduling updates soon.
19731         Moved events out of data stream.
19732         Simplified GstEvent types.
19733         Added return values to push/pull.
19734         Removed clocking from GstElement.
19735         Added prototypes for state change function for next merge.
19736         Removed iterate from bins and state change management.
19737         Fixed some elements, disabled others for now.
19738         Fixed -inspect and -launch.
19739         Added check for GstBus.
19740
19741 2005-03-10  Wim Taymans  <wim@fluendo.com>
19742
19743         * docs/design/part-MT-refcounting.txt:
19744         * docs/design/part-clocks.txt:
19745         * docs/design/part-gstelement.txt:
19746         * docs/design/part-gstobject.txt:
19747         * docs/design/part-standards.txt:
19748         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19749         (gst_bin_remove_func), (gst_bin_remove):
19750         * gst/gstbin.h:
19751         * gst/gstbuffer.c:
19752         * gst/gstcaps.h:
19753         * testsuite/clock/clock1.c: (main):
19754         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
19755         (main):
19756         * testsuite/dlopen/loadgst.c: (do_test):
19757         * testsuite/refcounting/bin.c: (add_remove_test1),
19758         (add_remove_test2), (main):
19759         * testsuite/refcounting/element.c: (main):
19760         * testsuite/refcounting/element_pad.c: (main):
19761         * testsuite/refcounting/pad.c: (main):
19762         * tools/gst-launch.c: (sigint_handler_sighandler):
19763         * tools/gst-typefind.c: (main):
19764         Doc updates.
19765         Added doc about clock.
19766         removed gst_bin_iterate_recurse_up(), marked methods
19767         for removal.
19768         Fix more testsuites.
19769
19770 2005-03-09  Wim Taymans  <wim@fluendo.com>
19771
19772         * gst/gstpad.c: (gst_pad_get_direction),
19773         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
19774         (gst_pad_collect_valist):
19775         * testsuite/bins/interface.c: (main):
19776         * testsuite/caps/audioscale.c: (test_caps):
19777         * testsuite/caps/caps.c: (test1), (test2), (test3):
19778         * testsuite/caps/deserialize.c: (main):
19779         * testsuite/caps/enumcaps.c: (main):
19780         * testsuite/caps/filtercaps.c: (main):
19781         * testsuite/caps/intersect2.c: (main):
19782         * testsuite/caps/random.c: (main):
19783         * testsuite/caps/renegotiate.c: (my_fixate), (main):
19784         * testsuite/caps/sets.c: (check_caps):
19785         * testsuite/caps/simplify.c: (check_caps), (main):
19786         * testsuite/caps/subtract.c: (check_caps):
19787         Fix _pad_get_direction wrt ghostpads.
19788         Fix caps testsuite.
19789
19790 2005-03-09  Wim Taymans  <wim@fluendo.com>
19791
19792         * check/Makefile.am:
19793         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
19794         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
19795         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
19796         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
19797         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
19798         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
19799         (gst_bin_remove), (gst_bin_iterate_recurse_up),
19800         (bin_element_is_sink), (gst_bin_iterate_sinks),
19801         (gst_bin_iterate_all_by_interface):
19802         * gst/gstbin.h:
19803         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
19804         (gst_element_change_state), (gst_element_dispose),
19805         (gst_element_finalize), (gst_element_set_loop_function):
19806         * gst/gstelement.h:
19807         * gst/gstiterator.c: (find_custom_fold_func):
19808         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
19809         (gst_pad_collectv), (gst_pad_collect_valist),
19810         (gst_pad_template_new):
19811         * gst/gstpipeline.c: (gst_pipeline_class_init),
19812         (gst_pipeline_dispose), (gst_pipeline_set_property),
19813         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
19814         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
19815         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
19816         * gst/gstutils.h:
19817         * gst/schedulers/entryscheduler.c:
19818         * gst/schedulers/gstbasicscheduler.c:
19819         (gst_basic_scheduler_cothreaded_chain),
19820         (gst_basic_scheduler_chain_add_element):
19821         * testsuite/bins/interface.c: (main):
19822         Added GstBin test.
19823         Added GstSystemClock test.
19824         Implemented clock distribution code in GstBin.
19825         Implemented iterate sinks method for future use.
19826         Rearranged gstelement.h
19827         Fix GstIterator comparison bug.
19828         Moved some code to GstPipeline, mostly clocking related.
19829
19830 2005-03-09  Wim Taymans  <wim@fluendo.com>
19831
19832         * configure.ac:
19833         * gst/gst_private.h:
19834         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19835         (gst_bin_remove_func), (gst_bin_remove),
19836         (gst_bin_get_by_name_recurse_up):
19837         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
19838         (gst_clock_id_compare_func), (gst_clock_id_wait),
19839         (gst_clock_id_wait_async), (gst_clock_init),
19840         (gst_clock_adjust_unlocked), (gst_clock_get_time):
19841         * gst/gstelement.h:
19842         * gst/gstinfo.c: (_gst_debug_init):
19843         * gst/gstobject.h:
19844         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
19845         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
19846         * gst/gstpad.h:
19847         Bump version number, we're now 0.9.0
19848         Add future debugging category.
19849         Fix NULL _unref() in _get_by_name_recurse_up
19850         Rearrange gstpad.h.
19851         Update some docs.
19852
19853 2005-03-08  Wim Taymans  <wim@fluendo.com>
19854
19855         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
19856         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
19857         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
19858         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
19859         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
19860         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
19861         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
19862         * gst/elements/gstidentity.c: (gst_identity_class_init):
19863         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
19864         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
19865         * gst/elements/gstshaper.c: (gst_shaper_class_init):
19866         * gst/elements/gststatistics.c: (gst_statistics_class_init):
19867         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
19868         (gst_tee_link):
19869         * gst/gstelement.c: (gst_element_class_init),
19870         (gst_element_base_class_init), (gst_element_init),
19871         (gst_element_get_random_pad), (gst_element_wait_state_change),
19872         (gst_element_change_state), (gst_element_dispose),
19873         (gst_element_finalize), (gst_element_set_loop_function):
19874         * gst/gstelement.h:
19875         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
19876         * gst/gstthread.c: (gst_thread_class_init),
19877         (gst_thread_release_children_locks), (gst_thread_change_state):
19878         * gst/schedulers/gstbasicscheduler.c:
19879         (gst_basic_scheduler_loopfunc_wrapper),
19880         (gst_basic_scheduler_chain_wrapper),
19881         (gst_basic_scheduler_src_wrapper),
19882         (gst_basic_scheduler_remove_element):
19883         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
19884         Remove threadsafe properties. Fix elements because GObject
19885         complains when installing a property before declaring a
19886         set/get_property handler.
19887         Rearrange gstelement.h file, use STATE macros for state locks.
19888         Free mutexes in the finalize method instead of dispose.
19889
19890 2005-03-08  Wim Taymans  <wim@fluendo.com>
19891
19892         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
19893         * gst/gstthread.c: (gst_thread_release_children_locks):
19894         Added parentage check.
19895         Fix build og GstThread again.
19896
19897 2005-03-08  Wim Taymans  <wim@fluendo.com>
19898
19899         * docs/design/part-MT-refcounting.txt:
19900         * docs/design/part-conventions.txt:
19901         * docs/design/part-gstobject.txt:
19902         * docs/design/part-relations.txt:
19903         * docs/design/part-standards.txt:
19904         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19905         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
19906         (gst_bin_get_by_name), (gst_bin_get_by_interface),
19907         (gst_bin_iterate_all_by_interface):
19908         * gst/gstbuffer.h:
19909         * gst/gstclock.h:
19910         * gst/gstelement.c: (gst_element_class_init),
19911         (gst_element_change_state), (gst_element_set_loop_function):
19912         * gst/gstelement.h:
19913         * gst/gstiterator.c:
19914         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
19915         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
19916         (gst_object_dispatch_properties_changed), (gst_object_set_name),
19917         (gst_object_set_parent), (gst_object_unparent),
19918         (gst_object_check_uniqueness):
19919         * gst/gstobject.h:
19920         Docs updates, clean up some headers.
19921
19922 2005-03-07  Wim Taymans  <wim@fluendo.com>
19923
19924         * check/.cvsignore:
19925         * check/Makefile.am:
19926         * check/gst-libs/.cvsignore:
19927         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
19928         * check/gst/.cvsignore:
19929         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
19930         (START_TEST), (gstbus_suite), (main):
19931         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
19932         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
19933         (gst_data_suite), (main):
19934         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
19935         (add_fold_func), (gstiterator_suite), (main):
19936         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
19937         (thread_name_object), (thread_name_object_default),
19938         (gst_object_name_compare), (gst_object_suite), (main):
19939         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
19940         (gst_pad_suite), (main):
19941         * check/gstcheck.c: (gst_check_log_message_func),
19942         (gst_check_log_critical_func), (gst_check_init):
19943         * check/gstcheck.h:
19944         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19945         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
19946         Added checks.
19947
19948 2005-03-07  Wim Taymans  <wim@fluendo.com>
19949
19950         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
19951         (gst_list_iterator_next), (gst_list_iterator_resync),
19952         (gst_list_iterator_free), (gst_iterator_new_list),
19953         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
19954         (gst_iterator_free), (gst_iterator_push), (filter_next),
19955         (filter_resync), (filter_uninit), (filter_free),
19956         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
19957         (gst_iterator_foreach), (find_custom_fold_func),
19958         (gst_iterator_find_custom):
19959         * gst/gstiterator.h:
19960         Added missing files.
19961
19962 2005-03-07  Wim Taymans  <wim@fluendo.com>
19963
19964         * Makefile.am:
19965         * configure.ac:
19966         * docs/design/part-MT-refcounting.txt:
19967         * docs/design/part-conventions.txt:
19968         * docs/design/part-gstobject.txt:
19969         * docs/design/part-relations.txt:
19970         * examples/mixer/mixer.c: (main):
19971         * examples/thread/thread.c: (eos), (main):
19972         * gst/Makefile.am:
19973         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
19974         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
19975         (gst_spider_plug_from_srcpad):
19976         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
19977         (gst_spider_identity_change_state),
19978         (gst_spider_identity_sink_loop_type_finding):
19979         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
19980         * gst/elements/gstidentity.c: (gst_identity_init):
19981         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
19982         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
19983         * gst/elements/gsttypefindelement.c: (free_entry):
19984         * gst/gst.c:
19985         * gst/gst.h:
19986         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
19987         (gst_bin_set_clock_func), (gst_bin_auto_clock),
19988         (gst_bin_set_index), (gst_bin_set_element_sched),
19989         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
19990         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
19991         (gst_bin_iterate_elements), (iterate_child_recurse),
19992         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
19993         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
19994         (compare_interface), (gst_bin_get_by_interface),
19995         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
19996         * gst/gstbin.h:
19997         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
19998         (gst_buffer_default_free), (gst_buffer_default_copy),
19999         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
20000         (gst_buffer_create_sub):
20001         * gst/gstbuffer.h:
20002         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
20003         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
20004         (gst_caps_unref), (gst_static_caps_get),
20005         (gst_caps_remove_and_get_structure), (gst_caps_append),
20006         (gst_caps_append_structure), (gst_caps_remove_structure),
20007         (gst_caps_copy_nth), (gst_caps_set_simple),
20008         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
20009         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
20010         (gst_caps_structure_intersect_field), (gst_caps_intersect),
20011         (gst_caps_structure_subtract_field), (gst_caps_subtract),
20012         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
20013         (gst_caps_structure_figure_out_union),
20014         (gst_caps_switch_structures), (gst_caps_do_simplify),
20015         (gst_caps_replace), (gst_caps_from_string),
20016         (gst_caps_copy_conditional):
20017         * gst/gstcaps.h:
20018         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
20019         (_gst_clock_id_free), (gst_clock_id_unref),
20020         (gst_clock_id_compare_func), (gst_clock_id_wait),
20021         (gst_clock_id_wait_async), (gst_clock_class_init),
20022         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
20023         (gst_clock_get_time), (gst_clock_set_time_adjust),
20024         (gst_clock_set_property), (gst_clock_get_property):
20025         * gst/gstclock.h:
20026         * gst/gstcompat.h:
20027         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
20028         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
20029         * gst/gstdata.h:
20030         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
20031         (gst_element_requires_clock), (gst_element_provides_clock),
20032         (gst_element_set_clock), (gst_element_clock_wait),
20033         (gst_element_wait), (gst_element_set_time_delay),
20034         (gst_element_is_indexable), (gst_element_add_pad),
20035         (gst_element_add_ghost_pad), (gst_element_remove_pad),
20036         (pad_compare_name), (gst_element_get_static_pad),
20037         (gst_element_request_pad), (gst_element_get_request_pad),
20038         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
20039         (gst_element_class_get_pad_template_list),
20040         (gst_element_class_get_pad_template), (gst_element_error_func),
20041         (gst_element_get_random_pad), (gst_element_get_event_masks),
20042         (gst_element_send_event), (gst_element_seek),
20043         (gst_element_get_query_types), (gst_element_query),
20044         (gst_element_get_formats), (gst_element_convert),
20045         (gst_element_is_locked_state), (gst_element_set_locked_state),
20046         (gst_element_sync_state_with_parent), (gst_element_change_state),
20047         (gst_element_finalize), (gst_element_yield),
20048         (gst_element_interrupt), (gst_element_set_scheduler),
20049         (gst_element_get_scheduler), (gst_element_set_loop_function):
20050         * gst/gstelement.h:
20051         * gst/gstevent.h:
20052         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
20053         (gst_format_get_by_nick), (gst_format_get_details),
20054         (gst_format_iterate_definitions):
20055         * gst/gstformat.h:
20056         * gst/gstindex.c: (gst_index_gtype_resolver):
20057         * gst/gstinfo.c:
20058         * gst/gstinfo.h:
20059         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
20060         (gst_mem_chunk_free):
20061         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
20062         (gst_object_ref), (gst_object_unref), (gst_object_sink),
20063         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
20064         (gst_object_dispatch_properties_changed),
20065         (gst_object_set_name_default), (gst_object_set_name),
20066         (gst_object_get_name), (gst_object_set_name_prefix),
20067         (gst_object_get_name_prefix), (gst_object_set_parent),
20068         (gst_object_get_parent), (gst_object_unparent),
20069         (gst_object_check_uniqueness), (gst_object_save_thyself),
20070         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
20071         (gst_object_set_property), (gst_object_get_property),
20072         (gst_object_get_path_string):
20073         * gst/gstobject.h:
20074         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
20075         (gst_real_pad_init), (gst_real_pad_get_property),
20076         (gst_pad_custom_new), (gst_pad_get_direction),
20077         (gst_pad_set_active), (gst_pad_is_active),
20078         (gst_pad_set_event_function), (gst_pad_is_linked),
20079         (gst_pad_link_free), (gst_pad_link_intersect),
20080         (gst_pad_link_fixate), (gst_pad_set_caps),
20081         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
20082         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
20083         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
20084         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
20085         (gst_pad_get_caps), (gst_pad_peer_get_caps),
20086         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
20087         (gst_pad_realize), (gst_pad_get_allowed_caps),
20088         (gst_real_pad_dispose), (gst_real_pad_finalize),
20089         (gst_pad_collectv), (gst_pad_collect_valist),
20090         (gst_pad_template_dispose), (gst_pad_template_new),
20091         (gst_pad_get_internal_links):
20092         * gst/gstpad.h:
20093         * gst/gstpipeline.c: (gst_pipeline_dispose),
20094         (gst_pipeline_change_state):
20095         * gst/gstpipeline.h:
20096         * gst/gstplugin.c:
20097         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
20098         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
20099         * gst/gstpluginfeature.h:
20100         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
20101         * gst/gstquery.c: (_gst_query_type_initialize),
20102         (gst_query_type_register), (gst_query_type_get_by_nick),
20103         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
20104         * gst/gstquery.h:
20105         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
20106         * gst/gstscheduler.c: (gst_scheduler_add_element),
20107         (gst_scheduler_factory_create):
20108         * gst/gststructure.c: (gst_structure_set_parent_refcount),
20109         (gst_structure_free), (gst_structure_set_name),
20110         (gst_structure_id_set_value), (gst_structure_set_value),
20111         (gst_structure_set_valist), (gst_structure_remove_field),
20112         (gst_structure_remove_fields),
20113         (gst_structure_remove_fields_valist),
20114         (gst_structure_remove_all_fields), (gst_structure_foreach),
20115         (gst_structure_map_in_place),
20116         (gst_caps_structure_fixate_field_nearest_int),
20117         (gst_caps_structure_fixate_field_nearest_double):
20118         * gst/gststructure.h:
20119         * gst/gstsystemclock.c: (gst_system_clock_class_init),
20120         (gst_system_clock_init), (gst_system_clock_dispose),
20121         (gst_system_clock_async_thread),
20122         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
20123         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
20124         * gst/gstsystemclock.h:
20125         * gst/gsttag.c: (gst_tag_list_add_value_internal),
20126         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
20127         * gst/gsttaginterface.c:
20128         * gst/gstthread.c: (gst_thread_dispose),
20129         (gst_thread_release_children_locks), (gst_thread_change_state),
20130         (gst_thread_main_loop):
20131         * gst/gsttrashstack.h:
20132         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
20133         * gst/gsttypes.h:
20134         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
20135         (gst_element_request_pad), (gst_element_get_pad_from_template),
20136         (gst_element_request_compatible_pad),
20137         (gst_element_get_compatible_pad_filtered),
20138         (gst_element_get_compatible_pad), (gst_element_state_get_name),
20139         (gst_element_link_pads_filtered), (gst_element_link_filtered),
20140         (gst_element_link_many), (gst_element_link),
20141         (gst_element_link_pads), (gst_element_unlink_pads),
20142         (gst_element_unlink_many), (gst_element_unlink),
20143         (gst_pad_can_link_filtered), (gst_pad_can_link),
20144         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
20145         (gst_object_default_error), (gst_bin_add_many),
20146         (gst_bin_remove_many), (gst_element_populate_std_props),
20147         (gst_element_class_install_std_props), (gst_buffer_merge),
20148         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
20149         (link_fold_func), (gst_pad_proxy_setcaps):
20150         * gst/gstutils.h:
20151         * gst/gstvalue.c: (gst_value_deserialize_string):
20152         * gst/parse/grammar.y:
20153         * gst/schedulers/gstbasicscheduler.c:
20154         (gst_basic_scheduler_cothreaded_chain),
20155         (gst_basic_scheduler_chain_recursive_add),
20156         (gst_basic_scheduler_pad_link):
20157         * gst/schedulers/gstoptimalscheduler.c:
20158         (get_group_schedule_function),
20159         (gst_opt_scheduler_state_transition),
20160         (gst_opt_scheduler_add_element), (element_get_reachables_func):
20161         * libs/gst/bytestream/bytestream.c:
20162         * libs/gst/dataprotocol/dataprotocol.c:
20163         (gst_dp_header_from_buffer):
20164         * po/nb.po:
20165         * po/ru.po:
20166         * tests/threadstate/threadstate2.c: (eos):
20167         * tools/gst-compprep.c: (main):
20168         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
20169         (print_pad_info), (print_children_info):
20170         * tools/gst-launch.c: (idle_func), (main):
20171         * tools/gst-md5sum.c: (idle_func), (main):
20172         * tools/gst-xmlinspect.c: (print_element_info):
20173         First THREADED backport attempt, focusing on adding locks and
20174         making sure the API is threadsafe. Needs more work. More docs
20175         follow this week.
20176
20177 2005-02-24  Andy Wingo  <wingo@pobox.com>
20178
20179         * tests/bench-complexity.scm:
20180         * tests/complexity.gnuplot: New files, good for running complexity
20181         benchmarks.
20182
20183         * tests/Makefile.am:
20184         * tests/complexity.c: New test, sets up N elements, at each level
20185         teeing into M streams per element. Eeeenteresting.
20186
20187         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
20188         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
20189         running bench-mass_elements.scm.
20190
20191         * tests/bench-mass_elements.scm: New script, runs mass_elements
20192         for various numbers of identities, outputting the results to a
20193         file. Requires guile 1.6. Just for testing.
20194
20195 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20196
20197         * gst/schedulers/fairscheduler.c:
20198           compile with debug disabled
20199
20200 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20201
20202         * configure.ac:
20203           hunting season on 0.9 is now OPEN