gst/gstobject.h: Don't define xmlNodePtr to gpointer if the core was built with
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2
3         Patch by: Peter Kjellerstedt <pkj at axis com>
4
5         * gst/gstobject.h:
6           Don't define xmlNodePtr to gpointer if the core was built with
7           --disable-loadsave and --disable-registry, this will break
8           applications that want to use libxml2 but are buildling against a
9           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
10           instead so we don't have to mess with the libxml2 namespace
11           (#361675).
12
13 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
14
15         * gst/gstbuffer.h:
16           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
17           type-punned pointer warnings.
18
19 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
20
21         * gst/gstelement.h:
22           Add casts to the correct return type to state <=> state transition
23           macros.
24
25 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
26
27         * docs/design/part-live-source.txt:
28           describe howto handle latency
29         
30         * docs/random/ensonic/profiling.txt:
31           more ideas
32
33         * tools/gst-plot-timeline.py:
34           fix log parsing for solaris, remove unused function
35
36 2006-10-16  Wim Taymans  <wim@fluendo.com>
37
38         * docs/design/part-trickmodes.txt:
39         * gst/gstevent.c:
40         Update some docs regarding reverse playback.
41
42 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
43
44         Patch by: Marcus Granado  <mrc dot gran at gmail com>
45
46         * win32/vs8/grammar.vcproj:
47           Error out with a warning if glib-genmarshal.exe is not in path,
48           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
49
50 2006-10-13  Wim Taymans  <wim@fluendo.com>
51
52         * gst/gstsegment.c: (gst_segment_set_seek):
53         When seeking to stop -1, set last_stop (current position) to the
54         duration of the segment.
55
56 2006-10-13  Wim Taymans  <wim@fluendo.com>
57
58         * gst/gstelement.h:
59         Clarify _NO_PREROLL a bit more.
60
61         * gst/gstevent.c:
62         Fix docs.
63
64         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
65         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
66         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
67         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
68         due to wrong locking order. Fixes #361769.
69         Remove some redundant/misplaced checks in pad_block.
70
71         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
72         For negative rates, count backwards from the duration.
73
74 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
75
76         * gst/gsterror.c: (_gst_library_errors_init):
77           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
78           up with something better).
79
80 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
81
82         * win32/vs6/libgstreamer.dsp:
83         * win32/vs7/libgstreamer.vcproj:
84         * win32/vs8/libgstreamer.vcproj:
85           Don't reference glib-compat.c which is currently not used and not
86           disted; add gstquark.c which was recently added. Fixes #361730.
87
88 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
89
90         * win32/common/libgstbase.def:
91         * win32/common/libgstcontroller.def:
92         * win32/common/libgstreamer.def:
93           Add gst_caps_merge() and a bunch of other recently-added functions.
94           Fixes #361732.
95
96 2006-10-11  Wim Taymans  <wim@fluendo.com>
97
98         * docs/plugins/gstreamer-plugins.args:
99         * docs/plugins/inspect/plugin-coreelements.xml:
100         * docs/plugins/inspect/plugin-coreindexers.xml:
101         Update element args.
102
103         * gst/gstsystemclock.c:
104         Small comment update.
105
106         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
107         (gst_tee_request_new_pad), (gst_tee_release_pad),
108         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
109         (gst_tee_sink_activate_pull):
110         * plugins/elements/gsttee.h:
111         Some tee loving:
112         Add default property defines.
113         Implement release pad function.
114         Give properties better blubs etc.
115         Activate pads before adding them to a running tee.
116         Do simple buffer_alloc on the first requested pad.
117         Post error when activation fails.
118
119 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
120
121         * gst/gst.c: (ensure_current_registry_forking):
122           Check return value of write() to make compiler happy.
123
124 2006-10-11  Wim Taymans  <wim@fluendo.com>
125
126         Patch by: Sjoerd Simons <sjoerd at luon dot net>
127
128         * plugins/elements/gstqueue.c: (gst_queue_chain):
129         Recheck queue filledness after signalling the overrun when we're about
130         to leak downstream because we released the lock when emitting the signal
131         and the queue could be empty again. Fixes #352345.
132
133 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
134
135         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
136           Fix refcounting here too, just like we did for _new_valist() a few
137           days ago (#357180) (thanks to René Stadler). Also remove all those
138           'Since: 0.9' from the gtk-doc blobs.
139
140         * tests/check/libs/controller.c: (controller_refcount_new_list),
141         (gst_controller_suite):
142           Unit test for the above.
143
144 2006-10-10  Wim Taymans  <wim@fluendo.com>
145
146         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
147
148         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
149         (gst_pad_save_thyself):
150         Update some docs.
151         Write pad direction in XML output. Fixes #345496.
152
153 2006-10-10  Wim Taymans  <wim@fluendo.com>
154
155         Patch by: René Stadler <mail at renestadler dot de>
156
157         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
158         (gst_controller_new_list), (_gst_controller_dispose),
159         (_gst_controller_finalize), (_gst_controller_class_init):
160         Take ref to controlled object so that it cannot disappear. 
161         Fixes #357432.
162
163 2006-10-10  Wim Taymans  <wim@fluendo.com>
164
165         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
166         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
167         (gst_check_teardown_sink_pad):
168         Activate/deactivate pads in setup/teardown respectively.
169
170 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
171
172         Patch by: Josep Torre Valles <josep@fluendo.com>
173
174         * gst/Makefile.am:
175         Cast values when making gstenumtypes.h.  This pacifies Forte
176         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
177         in the enumeration.
178
179 2006-10-09  Wim Taymans  <wim@fluendo.com>
180
181         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
182         Rename some more @cur to @start to fix docs. 
183
184         * gst/gstsegment.c: (gst_segment_set_seek):
185         Fix typo.
186         time and start must always stay in sync as defined in design doc.
187
188         * gst/gsttaglist.c: (gst_tag_list_is_empty):
189         Rename param to fix docs.
190
191         * tests/check/gst/gstsegment.c: (GST_START_TEST):
192         Check that start and time are in sync.
193
194         * tests/check/pipelines/parse-launch.c:
195         (gst_parse_test_element_change_state):
196         Activate pad before adding to the element.
197
198 2006-10-09  Wim Taymans  <wim@fluendo.com>
199
200         * docs/design/part-qos.txt:
201         Fix typo.
202
203         * gst/gstevent.c:
204         * gst/gstevent.h:
205         Update seek event docs regarding negative rates.
206         Rename @cur to @start. 
207
208         * gst/gstsegment.c: (gst_segment_set_seek):
209         * gst/gstsegment.h:
210         Update set_seek docs regarding negative rates.
211         Correctly update last_stop to @stop when dealing with negative
212         rates.
213         Rename @cur to @start. 
214
215         * tests/check/gst/gstpad.c: (GST_START_TEST):
216         Activate pads before trying to use them.
217
218         * tests/check/gst/gstsegment.c: (GST_START_TEST),
219         (gst_segment_suite):
220         Add simple check for segments and negative rates.
221
222 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
223
224         * gst/gsttaglist.c: (gst_tag_list_is_empty):
225         * gst/gsttaglist.h:
226         * docs/gst/gstreamer-sections.txt:
227           API: add gst_tag_list_is_empty() (#360467).
228
229         * tests/check/gst/gsttag.c: (GST_START_TEST):
230           And a test case.
231
232 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
233
234         * gst/gstmessage.h:
235         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
236         a value that doesn't fit on enumeration.
237
238 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
239
240         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
241         Remove local debugging system and use Gstreamer's instead.
242
243 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
244
245         Patch by: Josep Torre Valles <josep@fluendo.com>
246
247         * common/m4/gst-error.m4:
248         Disable warning of statement not reached on Forte.
249         * gst/gstmessage.h:
250         Fix warning on Forte (value doesn't fit on enumeration).
251         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
252         Fix warning on Forte (value doesn't fit on enumeration).
253         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
254         DEBUG macro says it takes minimum of 2 args and so Forte
255         complains about the use with just 1 arg.
256         * plugins/elements/gstfdsink.c:
257         * plugins/elements/gstfdsrc.c:
258         * plugins/elements/gstfilesink.c:
259         * plugins/elements/gstfilesrc.c:
260         Use correct return type for the uri handler implementations.
261
262         All these fix warnings in Forte.  Fixes bug #360860.
263
264 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
265
266         * gst/gstelement.h:
267           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
268           format string, so don't use G_GNUC_PRINTF for those versions.
269
270 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
271
272         * gst/gsttaglist.c: (gst_is_tag_list):
273         * gst/gsttaglist.h:
274           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
275
276         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
277           Small test for the above.
278
279 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
280
281         * gst/gsttaglist.h:
282           Less tabs, more spaces.
283
284 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
285
286         * gst/gstinfo.h:
287           Those two function declarations do actually belong there, revert
288           commit from yesterday that turned them intro macros.
289
290 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
291
292         Patch by: Josep Torre Valles <josep@fluendo.com>
293
294         * gst/gst.c: (gst_init_get_option_group):
295         Fix empty declaration and type mismatch.
296         * gst/gstbin.c: (gst_bin_change_state_func):
297         Fix type mismatch.
298         * gst/gstelement.c: (gst_element_continue_state),
299         (gst_element_set_state_func), (gst_element_change_state),
300         (gst_element_change_state_func):
301         Fix type mismatches.
302         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
303         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
304         Cast as appropriate.
305         * gst/gstobject.c: (gst_class_signal_connect):
306         Cast as appropriate.  The function pointer parameter really
307         has the wrong type but would break API if we change it.
308         * gst/gstquery.c:
309         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
310         order of including string.h.
311         * gst/gstutils.c: (gst_element_state_get_name):
312         Remove unreachable line.
313         * gst/gstxml.c: (gst_xml_parse_doc):
314         Fix type mismatch.
315         All these caught by Forte.
316
317 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
318
319         Patch by: Josep Torre Valles <josep@fluendo.com>
320
321         * common/m4/gst-error.m4:
322         Fixed bug #360151.
323         We need to disable warnings on Forte for empty declarations
324         due to gst-indent adding ;s to lines that just use macros
325         where the macro actually doesn't need a ; at end to end
326         statement.
327
328 2006-10-06  Wim Taymans  <wim@fluendo.com>
329
330         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
331         (gst_file_sink_close_file), (gst_file_sink_event),
332         (gst_file_sink_render):
333         Add some FIXME for the NEWSEGMENT handling.
334
335 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
336
337         * gst/parse/grammar.y:
338         Remove static function gst_parse_element_lock as all it does
339         is return.  Looks like cruft from 0.8.
340
341 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
342
343         Patch by: Josep Torre Valles <josep@fluendo.com>
344
345         * common/m4/gst-error.m4:
346         * configure.ac:
347         * libs/gst/net/Makefile.am:
348         Fix a compilation issue with Forte on Solaris.  inet_aton is in
349         libresolv.
350
351 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
352
353         * gst/gstpad.c: (pre_activate):
354         * gst/gstregistry.c: (gst_registry_scan_path_level):
355         * gst/gstregistryxml.c: (load_plugin):
356         * libs/gst/controller/gstcontroller.c:
357         (gst_controlled_property_set_interpolation_mode):
358         * libs/gst/dataprotocol/dataprotocol.c:
359         (gst_dp_packet_from_event_1_0):
360         * libs/gst/net/gstnetclientclock.c:
361         (gst_net_client_clock_observe_times):
362         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
363           Printf fixes.
364
365 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
366
367         * configure.ac:
368         * docs/gst/gstreamer-sections.txt:
369         * gst/gstconfig.h.in:
370         * gst/gstelement.h:
371         * gst/gstinfo.h:
372           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
373           whether we can use G_GNUC_PRINTF in other header files and at
374           least check the printf format/arguments of debug messages and
375           GST_ELEMENT_ERROR messages when the printf extension is not
376           being used.
377           Replace more tabs with spaces in gstinfo.h and remove two spurious
378           function declarations in GST_DISABLE_DEBUG part with macros.
379
380 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
381
382         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
383           More docs for the sync-message signal (mention that it is not
384           emitted by default); log message structures of messages posted on
385           the bus as well.
386
387 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
388
389         * gst/gst.c: (ensure_current_registry_forking):
390         Use a pipe pair to receive status results from the forked child, and
391         ignore the result from waitpid. Fixes #355499
392
393 2006-10-02  Wim Taymans  <wim@fluendo.com>
394
395         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
396         (gst_ghost_pad_suite):
397         Fix leak in check.
398
399 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
400
401         * gst/gstpad.c:
402           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
403
404 2006-10-02  Edward Hervey  <edward@fluendo.com>
405
406         * docs/design/part-block.txt:
407         Further explain the use of flushing on blocked pads.
408         * docs/gst/gstreamer-sections.txt:
409         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
410         (gst_pad_push_event):
411         * gst/gstpad.h:
412         Added new GstPadFlag : GST_PAD_BLOCKING.
413         Adds the notion of pads really blocking, which enables to properly
414         handle FLUSH_START/FLUSH_STOP events on blocked pads.
415         Fixes #358999
416         API: gst_pad_is_blocking()
417         API: GST_PAD_IS_BLOCKING() macro
418         API: GST_PAD_BLOCKING GstPadFlag
419         
420 2006-10-02  Wim Taymans  <wim@fluendo.com>
421
422         Patch by: mrcgran <mrc.gran at gmail dot com>
423
424         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
425         Filter the proxied caps against the padtemplate if we have one.
426
427         * gst/gstquery.c: (gst_query_new_segment):
428         Add include for gstinfo.h so that compilation with
429         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
430
431 2006-10-02  Wim Taymans  <wim@fluendo.com>
432
433         Patch by: Alessandro Decina  <alessandro at nnva org>
434
435         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
436         (gst_file_sink_set_location), (gst_file_sink_open_file),
437         (gst_file_sink_close_file), (gst_file_sink_event),
438         (gst_file_sink_render):
439         Set file to NULL when closing filesink so that we can set a new filename
440         in READY. Fixes #358613.
441
442 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
443
444         Patch by: Alessandro Decina  <alessandro at nnva org>
445
446         * gst/gstevent.c: (_gst_event_copy):
447           Fix gst_mini_object_make_writable() and gst_event_copy() for events
448           with event structures by setting the parent refcount address of the
449           copied structure to the address of the refcount member of the newly
450           copied event rather than the address of the refcount member of the
451           original event. Fixes #358737.
452
453         * tests/check/gst/gstevent.c: (GST_START_TEST):
454           Unit test for the above.
455
456 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
457
458         * docs/design/Makefile.am:
459           Dist some more files.
460
461 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
462
463         * tests/check/libs/controller.c: (GST_START_TEST),
464         (gst_controller_suite):
465           Add test for the previous fix; add some more tests
466           for correct refcounting behaviour; fix a few leaks
467           in test cases; call gst_controller_init() at start
468           of all tests.
469
470 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
471
472         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
473         (gst_controller_set_from_list):
474           Don't g_return_val_if_fail() on timed values with invalid timestamps
475           inside a critical section without unlocking the mutex. Spotted by
476           René Stadler. (#357617)
477           Also, fix up refcounting properly: when returning an existing
478           controller, we should increase the reference only once and not
479           once per property and when trying to control a property again
480           we should also increase the refcount.
481
482 2006-09-29  Wim Taymans  <wim@fluendo.com>
483
484         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
485         * libs/gst/net/gstnettimeprovider.c:
486         (gst_net_time_provider_thread):
487         Stop reading commands when EOF as well.
488
489         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
490         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
491         * plugins/elements/gstidentity.c: (gst_identity_class_init):
492         Unify description of the dump property.
493
494 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
495
496         * tests/examples/manual/.cvsignore:
497         OK, so it's actually cvsignore that needs changing. Stop laughing.
498
499 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
500
501         * tests/examples/manual/Makefile.am:
502         Gah, declare vars *before* using them
503
504 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
505
506         * gst/gst.c: (init_pre), (scan_and_update_registry),
507         (ensure_current_registry_nonforking),
508         (ensure_current_registry_forking), (ensure_current_registry),
509         (init_post), (gst_debug_help), (gst_deinit):
510         * gst/gst_private.h:
511         * gst/gstregistry.c: (gst_registry_finalize),
512         (gst_registry_remove_features_for_plugin_unlocked),
513         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
514         (gst_registry_scan_path),
515         (_priv_gst_registry_remove_cache_plugins),
516         (_priv_gst_registry_cleanup):
517         * gst/gstregistry.h:
518         Re-commit the registry changes, along with an extra fix:
519           When a cached plugin is encountered at a different file path,
520           update the stored path in the registry cache so that the parent
521           process knows where it actually is now when it re-reads the registry
522           cache. Fixes the thing that broke distcheck with the previous commit.
523
524         * tests/check/Makefile.am:
525         Clean up files named 'core' too when running make clean.
526
527         * tests/examples/manual/Makefile.am:
528         Set up a registry path for running these tests, and clean it properly
529         for distcheck.
530
531 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
532
533         * configure.ac:
534         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
535         want gmodule-no-export-2.0.pc instead so that we don't drag in
536         --export-dynamic on every project that links to GStreamer.
537
538         Also, make our export regex only match the start of symbols, rather 
539         than any symbol that contains '_gst' somewhere.
540
541         * libs/gst/check/Makefile.am:
542         The libgstcheck we build does however need export-dynamic, as it
543         produces some symbols that don't match our _gst... style regex.
544         Fixes: #318031
545
546 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
547
548         * gst/gst.c: (init_pre), (scan_and_update_registry),
549         (ensure_current_registry_nonforking),
550         (ensure_current_registry_forking), (ensure_current_registry),
551         (init_post), (gst_debug_help), (gst_deinit):
552         * gst/gst_private.h:
553         * gst/gstregistry.c: (gst_registry_finalize),
554         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
555         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
556         (_gst_registry_cleanup):
557         * gst/gstregistry.h:
558           Revert previous change until I figure out why it breaks distcheck.
559
560 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
561
562         * gst/gst.c: (init_pre), (scan_and_update_registry),
563         (ensure_current_registry_nonforking),
564         (ensure_current_registry_forking), (ensure_current_registry),
565         (init_post), (gst_debug_help), (gst_deinit):
566
567           Make init_pre and init_post take the full complement of GOptionFunc
568           args so they can return useful GErrors. Make the registry updating
569           functions do so.
570
571           Call _priv_gst_registry_remove_cache_plugins after scanning files to
572           ensure that the registry we're about to write out doesn't contain
573           stale information about old-deleted plugin files.
574
575           Make _priv_gst_registry_remove_cache_plugins return a boolean so
576           that deletion of plugin files is considered a registry change.
577
578         * gst/gst_private.h:
579         * gst/gstregistry.c: (gst_registry_finalize),
580         (gst_registry_remove_features_for_plugin_unlocked),
581         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
582         (gst_registry_scan_path),
583         (_priv_gst_registry_remove_cache_plugins),
584         (_priv_gst_registry_cleanup):
585         * gst/gstregistry.h:
586         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
587         by adding _priv prefix, so that they won't appear in the global
588         symbol table. They still do atm though because of #318031. Move the
589         prototypes to gst_private.h
590
591         When removing a plugin, remove all features for that plugin too. 
592         Fixes #340878.
593
594 2006-09-27  Wim Taymans  <wim@fluendo.com>
595
596         * docs/random/moving-plugins:
597         Make it clear that the "compiled-in descriptions" really mean
598         the element details.
599
600         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
601         (gst_base_sink_wait_preroll):
602         Update docs.
603
604         * docs/libs/gstreamer-libs-sections.txt:
605         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
606         (gst_base_src_get_range), (gst_base_src_activate_push):
607         * libs/gst/base/gstbasesrc.h:
608         Added function to block while waiting for PLAYING, this function
609         is used by live sources that block on the clock.
610         API: gst_base_src_wait_playing()
611
612 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
613
614         Patch by: Peter Kjellerstedt <pkj at axis com>
615
616         * Makefile.am:
617           gst-element-check.m4 is generated and should therefore be
618           copied from the build dir rather than the source dir (#357593).
619           'make distcheck' hasn't noticed this because we were disting
620           the file as well, so stop doing that.
621
622 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
623
624         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
625           Add some tests for gst_caps_intersect().
626
627         * tools/gst-launch.c: (event_loop):
628           Print all buffering percentages we get, even the 100% one.
629
630 2006-09-26  Wim Taymans  <wim@fluendo.com>
631
632         * tools/gst-inspect.c: (print_element_properties_info),
633         (print_signal_info):
634         Fix printing of flags to match the look of enums.
635
636 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
637
638         * gst/gstelementfactory.c:
639           Fix typo in docs blurb.
640
641 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
642
643         * gst/gsturi.c: (search_by_entry):
644           Don't assert/crash here if a uri handler doesn't return any
645           supported protocols. The list of protocols could be generated
646           dynamically at runtime or at plugin registration, and an error
647           in the underlying library shouldn't be fatal (#353301).
648
649 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
650
651         * gst/gstinfo.c:
652           Fix warning if HAVE_PRINTF_EXTENSION is undefined
653           (spotted by Peter Kjellerstedt).
654
655 2006-09-23  Wim Taymans  <wim@fluendo.com>
656
657         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
658
659         * libs/gst/base/gstbasesrc.c:
660         (gst_base_src_default_check_get_range), (gst_base_src_start),
661         (gst_base_src_activate_push), (gst_base_src_activate_pull),
662         (gst_base_src_change_state):
663         Match _start/_stop calls in the activate functions. Remove redundant
664         _stop call from the state change function. Fixes #356910.
665         Turn failure DEBUG into ERROR. 
666
667 2006-09-22  Wim Taymans  <wim@fluendo.com>
668
669         * docs/design/part-buffering.txt:
670         * gst/gstmessage.c: (gst_message_new_buffering),
671         (gst_message_parse_buffering):
672         Update docs about buffering.
673
674         * docs/design/part-trickmodes.txt:
675         Fix typo.
676
677 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
678
679         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
680         (gst_controller_new_list):
681           Ref instances when returning them again (fixes #357180)
682
683 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
684
685         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
686           Don't forget to release proxy lock when there's an error.
687
688 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
689
690         * gst/gstcaps.h:
691           Add extra initialisers for Caps things, to fix some plugin warnings
692           when using -Wextra
693
694 2006-09-18  Wim Taymans  <wim@fluendo.com>
695
696         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
697           Also set template on the internal pad so that a getcaps from the 
698           target pad returns the template caps.
699
700 2006-09-18  Wim Taymans  <wim@fluendo.com>
701
702         * gst/gstelement.c: (gst_element_post_message),
703         (gst_element_dispose):
704         Use _DEBUG_OBJECT some more.
705
706         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
707         Avoid typechecks.
708
709         * tools/gst-launch.c: (main):
710         If the toplevel element is not a GstPipeline, it must be put in a
711         pipeline so that a bus and clock is selected.
712
713 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
714
715         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
716           JITTER, RATE, and LATENCY query should be handled by the
717           default case and not by the CONVERT query code.
718
719 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
720
721         * gst/gstformat.c: (gst_format_register):
722           Fix locking order (must take lock before using n_values).
723
724         * gst/gstvalue.c: (gst_value_serialize_enum),
725         (gst_value_deserialize_enum_iter_cmp),
726         (gst_value_deserialize_enum):
727           Fix serialisation/deserialisation of custom registered GstFormats.
728
729         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
730           Unit test for custom format serialisation/deserialisation.
731
732 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
733
734         * docs/pwg/building-boiler.xml:
735         * plugins/elements/gstcapsfilter.c:
736         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
737         section.
738
739 2006-09-16  Edward Hervey  <edward@fluendo.com>
740
741         * libs/gst/base/gstbasetransform.c:
742         (gst_base_transform_buffer_alloc):
743         Check if requested caps are the same as the sinks caps IF
744         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
745         is FALSE.
746         This fixes the renegotiation issues stated in #352827.
747
748 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
749
750         * configure.ac:
751         * docs/manual/advanced-autoplugging.xml:
752         * tests/examples/Makefile.am:
753         * tests/examples/manual/.cvsignore:
754         * tests/examples/manual/Makefile.am:
755         * tests/examples/manual/extract.pl:
756           Extract the manual examples again like we used to do.
757           Fix one of them.
758
759 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
760
761         * win32/common/config.h:
762           update for version
763
764 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
765
766         * gst/gsterror.c:
767           Documents how to receive errors.
768
769 2006-09-15  Wim Taymans  <wim@fluendo.com>
770
771         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
772         (event_loop), (main):
773         Added some comments here and there.
774         Post an application message when an interrupt is caught instead of doing
775         an uncontrolled state change.
776         Clean up the event loop.
777         Handle buffering messages, pause/resume the pipeline.
778         Make shutdown because of an interrupt more reliable.
779
780 2006-09-15  Wim Taymans  <wim@fluendo.com>
781
782         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
783         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
784         (gst_base_sink_preroll_object):
785         Make sure that our internal state is correct when we commit our state
786         asynchronously. This solves a race where a state change to PLAYING
787         could cause the sink to remain blocked in preroll in some situations.
788
789 2006-09-15  Wim Taymans  <wim@fluendo.com>
790
791         * tools/gst-inspect.c: (print_element_properties_info),
792         (print_signal_info):
793         List flags as hex so it's easier to deal with.
794
795 2006-09-15  Wim Taymans  <wim@fluendo.com>
796
797         * docs/libs/gstreamer-libs-sections.txt:
798         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
799         (gst_base_sink_do_sync):
800         * libs/gst/base/gstbasesink.h:
801         Expose logic to wait for preroll so that subclasses such as audiosink
802         can also use this method.
803         API: gst_base_sink_wait_preroll()
804
805 2006-09-15  Wim Taymans  <wim@fluendo.com>
806
807         * gst/gstobject.c: (gst_object_set_parent):
808         * gst/gstpipeline.c: (do_pipeline_seek):
809         Small cleanups in docs and code.
810
811         * gst/gstsegment.c: (gst_segment_clip):
812         * tests/check/gst/gstsegment.c: (GST_START_TEST):
813         if stop == start and start is in the segment, no clipping should be
814         done. Also add a test for this.
815
816 2006-09-15  Wim Taymans  <wim@fluendo.com>
817
818         * docs/design/part-buffering.txt:
819         * docs/gst/gstreamer-sections.txt:
820         * gst/gstmessage.c: (gst_message_new_buffering),
821         (gst_message_parse_buffering):
822         * gst/gstmessage.h:
823         Added methods to create and parse BUFFERING messages.
824         Added preliminary docs about buffering.
825         API: gst_message_new_buffering
826         API: gst_message_parse_buffering
827
828 2006-09-06  Wim Taymans  <wim@fluendo.com>
829
830         * gst/gstbin.c:
831         Update documentation.
832
833         * gst/gstelement.c: (gst_element_class_init),
834         (gst_element_release_request_pad), (gst_element_set_clock),
835         (gst_element_get_index), (gst_element_add_pad),
836         (gst_element_remove_pad), (gst_element_get_random_pad),
837         (gst_element_send_event), (gst_element_get_query_types),
838         (gst_element_query), (gst_element_post_message),
839         (gst_element_message_full), (gst_element_continue_state),
840         (gst_element_lost_state), (gst_element_save_thyself),
841         (gst_element_restore_thyself):
842         Documentation updates.
843         Rename last bit of the new-pad -> pad-added signal rename.
844         Fix the case where an element query would only work if the source
845         pad was linked.
846         Avoid some useless type checking in message handling.
847
848         * gst/gstevent.c:
849         * gst/gstevent.h:
850         * gst/gstutils.c:
851         Documentation updates.
852
853 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
854
855         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
856           add an INFO line for when we actually update the fd
857
858 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
859
860         * configure.ac:
861           back to TRUNK
862
863 === release 0.10.10 ===
864
865 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
866
867         * configure.ac:
868           releasing 0.10.10, "Pais"
869
870 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
871
872         * docs/manual/advanced-position.xml:
873           Fix typo in sample code.
874
875 2006-09-05  Wim Taymans  <wim@fluendo.com>
876
877         * libs/gst/net/gstnetclientclock.c: (inet_aton),
878         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
879         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
880         * libs/gst/net/gstnetclientclock.h:
881         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
882         * libs/gst/net/gstnettimepacket.h:
883         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
884         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
885         (gst_net_time_provider_thread), (gst_net_time_provider_new):
886         * libs/gst/net/gstnettimeprovider.h:
887         Make stuff compile on windows. Fixes #345295.
888
889 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
890
891         * gst/gst.c: (ensure_current_registry_forking):
892           Print better details when child was terminated by signal.
893
894 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
895
896         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
897           Print a warning rather than g_assert() if a plugin feature
898           is a URI handler but returns no protocols (#353976).
899
900 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
901
902         * docs/random/moving-plugins:
903         Fix two typos.         
904
905 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
906
907         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
908           Fix locking order, handle NULL function values properly.
909
910         * gst/gstinfo.h:
911           Fix docs.
912
913         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
914           Initialise variable before using it and fix debug statement to
915           print the address of the function rather than the address of the
916           variable on the stack holding the address of the function.
917
918 2006-09-01  Wim Taymans  <wim@fluendo.com>
919
920         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
921         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
922         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
923         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
924         (gst_ghost_pad_parent_unset),
925         (gst_ghost_pad_internal_do_activate_push),
926         (gst_ghost_pad_internal_do_activate_pull),
927         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
928         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
929         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
930         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
931         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
932         (gst_ghost_pad_new_no_target_from_template),
933         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
934         More cleanups.
935         Avoid needless typechecking in macros.
936         Since the internal pad is always present and never changes, there is
937         no need to locking or ref when retrieving it.
938         Improve debugging a bit.
939         Handle link errors when setting the target. Fixes #341029.
940
941 2006-09-01  Wim Taymans  <wim@fluendo.com>
942
943         * docs/libs/gstreamer-libs-sections.txt:
944         * docs/plugins/gstreamer-plugins-sections.txt:
945         Fix docs some more.
946
947         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
948         (gst_collect_pads_event):
949         * libs/gst/base/gstcollectpads.h:
950         Documentation updates.
951         Free queued buffer when removing a pad.
952
953 2006-08-31  Michael Smith  <msmith@fluendo.com>
954
955         * gst/gstutils.c: (gst_element_link_pads),
956         (gst_element_link_pads_filtered):
957           Ensure that we set a capsfilter to NULL if we failed to link it
958           when doing filtered linking, to avoid criticals.
959
960           No need to check for unreffing srcpad, which is explicly NULLed
961           above (a trivial code cleanup).
962
963 2006-08-31  Wim Taymans  <wim@fluendo.com>
964
965         * docs/design/part-gstghostpad.txt:
966         Update ascii art in documentation.
967
968         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
969         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
970         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
971         (gst_ghost_pad_internal_do_activate_push),
972         (gst_ghost_pad_internal_do_activate_pull),
973         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
974         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
975         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
976         (gst_ghost_pad_set_target):
977         Small cleanups and leak fixes.
978         Remove some checks now that the internal pad is never NULL.
979         Fix the case where linking pads without a target would create nasty
980         criticals. Fixes #341029.
981         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
982         value of _set_target().
983
984         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
985         (gst_ghost_pad_suite):
986         Some more tests for creating and linking untargeted ghostpads.
987
988 2006-08-31  Edward Hervey  <edward@fluendo.com>
989
990         * docs/gst/gstreamer-sections.txt:
991         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
992         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
993         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
994         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
995         (gst_ghost_pad_new_from_template),
996         (gst_ghost_pad_new_no_target_from_template):
997         * gst/gstghostpad.h:
998         Refactored *_new() functions.
999         Templates are now used as a g_object_new() parameter.
1000         Use template in _do_getcaps() if we don't have a target.
1001         Small documentation cleanups.
1002         Added two new constructors:
1003         gst_ghost_pad_new_from_template()
1004         gst_ghost_pad_new_no_target_from_template()
1005         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
1006         (gst_ghost_pad_suite):
1007         Added tests for new ghostpad instanciation functions.
1008
1009         API additions: gst_ghost_pad_new_from_template,
1010         gst_ghost_pad_new_no_target_from_template
1011
1012 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
1013
1014         * docs/random/ensonic/profiling.txt:
1015           Ideas about qos profiling.
1016
1017 2006-08-29  Wim Taymans  <wim@fluendo.com>
1018
1019         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1020         Code cleanups.
1021         Fix memleak.
1022
1023 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
1024
1025         * gst/gstxml.c:
1026           Improve and detypofy docs.
1027
1028         * tests/check/Makefile.am:
1029         * tests/check/gst/.cvsignore:
1030         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
1031           Add a basic test suite for GstXML.
1032
1033 2006-08-29  Wim Taymans  <wim@fluendo.com>
1034
1035         * gst/gstelement.c: (activate_pads), (clear_caps),
1036         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
1037         Clear the pad caps when the element shut down all of the pads and
1038         is not streaming data that could modify the caps. 
1039         Fixes #352958.
1040
1041 2006-08-28  Michael Smith  <msmith@fluendo.com>
1042
1043         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1044           Revert previous change; I misunderstood single-segment mode.
1045
1046 2006-08-28  Michael Smith  <msmith@fluendo.com>
1047
1048         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1049           Unset DISCONT on buffers when using single-segment mode.
1050
1051 2006-08-28  Wim Taymans  <wim@fluendo.com>
1052
1053         * gst/gstcaps.c: (gst_caps_merge_structure):
1054         * gst/gstcaps.h:
1055         Fix docs and indentation again.
1056
1057         * tests/check/gst/gstquery.c: (GST_START_TEST):
1058         Fix leak in tests and add some more tests.
1059
1060 2006-08-28  Edward Hervey  <edward@fluendo.com>
1061
1062         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1063         Inform GstSegment of the last stop position in order for the current
1064         segment to have a proper duration if it doesn't have a specific stop
1065         position from which a duration could be calculated.
1066         This bug was noticeable when a non-flushing, non-update new segment was
1067         followed by another segment (all buffers from the new segment were being
1068         dropped).
1069
1070 2006-08-28  Wim Taymans  <wim@fluendo.com>
1071
1072         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1073         Small comment update.
1074
1075         * plugins/elements/gstidentity.c: (gst_identity_class_init),
1076         (gst_identity_transform_ip):
1077         Drop-probability is broken, mention this in the code with a 
1078         FIXME and also in the property description.
1079         Make silent also be silent about the drop messages.
1080
1081 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
1082
1083         * docs/manual/appendix-win32.xml:
1084           Remove mention of popt, we don't depend on that any
1085           longer (#353136). Add some comments pointing out that
1086           this section is slightly outdated.
1087
1088 2006-08-28  Wim Taymans  <wim@fluendo.com>
1089
1090         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
1091
1092         * gst/gstquery.c: (gst_query_new_segment):
1093         * tests/check/gst/gstquery.c: (GST_START_TEST):
1094         Initialize variables when creating a new segment query.
1095         Fixes #353121.
1096
1097 2006-08-28  Wim Taymans  <wim@fluendo.com>
1098
1099         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
1100
1101         * gst/gstelement.c: (gst_element_get_bus):
1102         * tests/check/gst/gstelement.c: (GST_START_TEST):
1103         Check for NULL before _reffing the bus. Fixes #353122.
1104
1105 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
1106
1107         * docs/manual/basics-bus.xml:
1108           Docs update: fix wrong callback return value explanation; add
1109           some lines about the implicit relationship between main loop
1110           and main context; remove duplicate main loop variable declaration.
1111
1112 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
1113
1114         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1115           Don't leak caps in unit test; add a few more simple
1116           checks. 
1117
1118 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
1119
1120         * docs/gst/gstreamer-sections.txt:
1121         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
1122         (gst_caps_structure_is_subset), (gst_caps_merge),
1123         (gst_caps_merge_structure):
1124         * gst/gstcaps.h:
1125         * libs/gst/base/gstbasetransform.c:
1126         (gst_base_transform_transform_caps):
1127         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
1128           implement caps merging (fixes #352580)
1129
1130 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
1131
1132         * tools/Makefile.am:
1133         * tools/gst-plot-timeline.py:
1134           add debug-log plotting developer tool (#340674)
1135
1136 2006-08-23  Wim Taymans  <wim@fluendo.com>
1137
1138         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
1139         (gst_pad_stop_task):
1140         Improve debugging for task functions.
1141
1142         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
1143         (gst_task_start), (gst_task_pause), (gst_task_join):
1144         Make sure that the task function started and finished after a 
1145         join(). 
1146         Don't try to push the task function on the threadpool multiple
1147         times.
1148         Improve the g_warning message with some useful suggestions
1149         about how to fix the problem. 
1150
1151 2006-08-23  Wim Taymans  <wim@fluendo.com>
1152
1153         * gst/gstutils.c: (gst_pad_proxy_getcaps):
1154         Handle RESYNC correctly in _proxy_getcaps.
1155
1156 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
1157
1158         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
1159         (gst_xml_parse_memory), (gst_xml_get_element):
1160           Chain up to parent class in dispose function and also
1161           unref the elements in the toplevel_elements GList.
1162           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
1163           Always return a reference in gst_xml_get_element() rather
1164           than only sometimes.
1165
1166         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
1167           Don't leak GstXml object.
1168
1169 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
1170
1171         * docs/gst/gstreamer-sections.txt:
1172         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
1173         (gst_caps_merge):
1174         * gst/gstcaps.h:
1175         * libs/gst/base/gstbasetransform.c:
1176         (gst_base_transform_transform_caps):
1177           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
1178           in a better way
1179
1180 2006-08-21  Edward Hervey  <edward@fluendo.com>
1181
1182         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
1183         Implement GObject::dispose virtual method in GstXML so we can free the
1184         top_elements GList.
1185
1186 2006-08-21  Wim Taymans  <wim@fluendo.com>
1187
1188         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
1189         (gst_buffer_create_sub):
1190         Copy duration/offset_end/caps when creating a subbuffer of the
1191         complete parent.
1192         Make the subbuffer read-only when we make the metadata writable for
1193         now. Fixes #351768.
1194
1195         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1196         Added check for metadata copy when creating subbuffers.
1197
1198 2006-08-21  Edward Hervey  <edward@fluendo.com>
1199
1200         * libs/gst/base/gstbasetransform.c:
1201         (gst_base_transform_buffer_alloc):
1202         Only call downstream buffer_alloc if transform element is passthrough
1203         or always_in_place. Closes #350449.
1204
1205 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
1206
1207         * ChangeLog:
1208           ChangeLog surgery to add comments to previous changes
1209
1210 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
1211
1212         * gst/gst.c:
1213           Add comments
1214
1215         * gst/gstpad.c: (gst_pad_set_active):
1216           Be more verbose in the log
1217
1218         * libs/gst/base/gstbasetransform.c:
1219         (gst_base_transform_transform_caps):
1220           Simplify caps to get rid of duplicates, fixes #345444
1221
1222 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
1223
1224         * gst/gstvalue.c:
1225         * gst/gstvalue.h:
1226           Use these optimizations only internally.
1227
1228 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
1229
1230         * gst/gstvalue.c: (gst_value_compare_list),
1231         (gst_value_compare_fraction_range),
1232         (gst_value_intersect_fraction_fraction_range),
1233         (gst_value_intersect_fraction_range_fraction_range),
1234         (gst_value_subtract_fraction_fraction_range),
1235         (gst_value_subtract_fraction_range_fraction_range),
1236         (gst_value_get_compare_func), (gst_value_compare),
1237         (gst_value_compare_with_func):
1238         * gst/gstvalue.h:
1239           Saves the expensive lookup of the compare function in many cases
1240          (#345444)
1241
1242 2006-08-18  Edward Hervey  <edward@fluendo.com>
1243
1244         * tests/check/gst/gstinfo.c: (gst_info_suite):
1245         Disable test that require gstdebug if it wasn't built in core.
1246
1247 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
1248
1249         * docs/random/ensonic/logging.txt:
1250           update ideas
1251           
1252         * gst/gstinfo.c: (gst_debug_log_default):
1253           reorder fields, save some columns, add optional color codes for log
1254           levels
1255
1256 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
1257
1258         * docs/random/ensonic/logging.txt:
1259           add ideas about making the logs a bit more useful
1260
1261 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
1262
1263         * docs/pwg/advanced-events.xml:
1264         * docs/pwg/titlepage.xml:
1265           Update for 0.10 API (#340627). Add myself
1266           to authors list.
1267
1268 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
1269
1270         * docs/libs/gstreamer-libs-docs.sgml:
1271         * docs/libs/gstreamer-libs-sections.txt:
1272         * libs/gst/check/gstbufferstraw.c:
1273           Make gstcheck stuff show up in docs (still needs to
1274           be documented properly though).
1275
1276 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
1277
1278         * docs/gst/gstreamer-sections.txt:
1279         * gst/Makefile.am:
1280         * gst/gst.c: (init_post):
1281         * gst/gst_private.h:
1282         * gst/gstquark.c: (_priv_gst_quarks_initialize):
1283         * gst/gstquark.h:
1284         * gst/gstquery.c: (gst_query_new_position),
1285         (gst_query_set_position), (gst_query_parse_position),
1286         (gst_query_new_duration), (gst_query_set_duration),
1287         (gst_query_parse_duration), (gst_query_new_convert),
1288         (gst_query_set_convert), (gst_query_parse_convert),
1289         (gst_query_new_segment), (gst_query_set_segment),
1290         (gst_query_parse_segment), (gst_query_new_seeking),
1291         (gst_query_set_seeking), (gst_query_parse_seeking):
1292         Add internal helpers for pre-registering quarks from static strings
1293         and using the quark values directly instead of looking them up when
1294         creating and parsing queries. Can be used for event construction too.
1295         Closes #350432.
1296
1297 2006-08-16  Wim Taymans  <wim@fluendo.com>
1298
1299         * gst/gstbin.c:
1300         Fix bogus docs.
1301
1302 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
1303
1304         * gst/gstutils.c: (gst_util_set_value_from_string):
1305           Fix memleak (#351502).
1306
1307         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1308           Add unit test for most of gst_util_set_value_from_string()
1309           (not that one would want to encourage use of this function).
1310
1311 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
1312
1313         * libs/gst/check/gstcheck.h:
1314           Use const gchar * variables in fail_unless_equals_string
1315           macro to avoid compiler warnings (and don't use tabs for
1316           indenting).
1317
1318 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
1319
1320         * tools/gst-launch.c: (print_tag):
1321           More space on the left for the tag names, to cater
1322           for the 'extended comment' tag (not touching the
1323           string for the first line since it's translated).
1324
1325 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
1326
1327         * libs/gst/check/gstcheck.h:
1328           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
1329           print something when they fail.
1330
1331 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
1332
1333         * docs/gst/gstreamer-sections.txt:
1334         * gst/gsttaglist.c: (_gst_tag_initialize):
1335         * gst/gsttaglist.h:
1336           API: add GST_TAG_EXTENDED_COMMENT (#350935).
1337           Also change merge function for GST_TAG_COMMENT to
1338           use_first.
1339
1340 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
1341
1342         * gst/gstinfo.c: (gst_debug_print_object):
1343           Make GST_PTR_FORMAT print messages as well.
1344
1345         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
1346         (GST_START_TEST), (gst_info_suite):
1347           More tests.
1348
1349 2006-08-14  Edward Hervey  <edward@fluendo.com>
1350
1351         * gst/gstelementfactory.c: (gst_element_register):
1352         If the GstElementClass doesn't have a GstElementDetails with all fields
1353         filled up correctly (longname, description AND author), then error out
1354         nicely instead of crashing.
1355
1356 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
1357
1358         * gst/gststructure.c:
1359           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
1360
1361         * gst/gstvalue.h:
1362           Expand on the difference between arrays and lists as we use them.
1363           
1364 2006-08-14  Wim Taymans  <wim@fluendo.com>
1365
1366         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
1367         If the parent state change function failed, don't assume we can safely
1368         stop the source, this will be done when the pads are deactivated.
1369
1370 2006-08-14  Wim Taymans  <wim@fluendo.com>
1371
1372         * gst/gstbuffer.c:
1373         * gst/gsttask.c: (gst_task_join):
1374         Small doc updates.
1375
1376         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
1377         (gst_pad_stop_task):
1378         When pad (de)activation failed for some reason, restore the old
1379         activation mode and set the pad to flushing instead of assuming the
1380         pad is deactivated.
1381         If the _task_join() failed, reinstall the task on the pad so that it can
1382         be stopped later and return an error.
1383
1384 2006-08-11  Andy Wingo  <wingo@pobox.com>
1385
1386         * configure.ac:
1387         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
1388         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
1389         is only for users of API that don't want to see deprecated
1390         functions in the headers; people that want to compile out
1391         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
1392         CFLAGS. Fixes the build of multifdsink, or will soon..
1393
1394 2006-08-11  Wim Taymans  <wim@fluendo.com>
1395
1396         * docs/gst/gstreamer-sections.txt:
1397         Add GstClockClass vmethod docs.
1398
1399         * gst/gstcaps.h:
1400         Mark #endif with comment for associated #if
1401
1402         * gst/gstclock.c: (gst_clock_id_wait):
1403         * gst/gstclock.h:
1404         Add vmethod wait_jitter to avoid an unneeded _get_time() for
1405         most clock implementations.
1406         Document vmethods.
1407         Flesh out docs about resolution methods.
1408         API: GstClockClass::wait_jitter
1409
1410         * gst/gstsystemclock.c: (gst_system_clock_class_init),
1411         (gst_system_clock_async_thread),
1412         (gst_system_clock_id_wait_jitter_unlocked),
1413         (gst_system_clock_id_wait_jitter):
1414         Use base class wait_jitter variant for improved performance
1415         due to less clock polling.
1416
1417 2006-08-11  Edward Hervey  <edward@fluendo.com>
1418
1419         * gst/gst.c: (gst_init_check), (init_post):
1420         Set gst as being initialized before scanning/updating the registry,
1421         since there might be my python plugin loader that calls gst_init() and
1422         we don't want to loop back in.
1423         Closes #350879
1424
1425 2006-08-11  Wim Taymans  <wim@fluendo.com>
1426
1427         * docs/design/part-qos.txt:
1428         Bring docs in line with the code. Mostly the sign of the jitter was
1429         wrong in the docs. Fixes #349943.
1430
1431         * gst/gstclock.c:
1432         Fix the docs for the jitter.
1433
1434         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
1435         (gst_event_parse_tag), (gst_event_new_buffer_size),
1436         (gst_event_parse_buffer_size), (gst_event_parse_qos),
1437         (gst_event_new_seek), (gst_event_parse_seek),
1438         (gst_event_new_navigation):
1439         Make sure the GstStructure has no parent when creating custom
1440         events.
1441         Add some more argument checking so that we avoid 0.0 rates.
1442         Flesh out the docs for the QoS event some more.
1443
1444 2006-08-11  Wim Taymans  <wim@fluendo.com>
1445
1446         * docs/gst/gstreamer-sections.txt:
1447         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
1448         (ensure_current_registry_forking), (ensure_current_registry),
1449         (parse_one_option), (parse_goption_arg), (gst_deinit),
1450         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
1451         * gst/gst.h:
1452         Doc updates.
1453         Added API and command line option to disable registry forking in
1454         addition to the environment variable.
1455         Constify some static arrays.
1456         Added some more debug.
1457         Don't deinit twice.
1458         API: gst_registry_fork_is_enabled()
1459         API: gst_registry_fork_set_enabled()
1460         API: --gst-disable-registry-fork command line option
1461         Fixes #348918.
1462
1463 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
1464
1465         * gst/gst.c: (gst_init):
1466           Fix typo in error message.
1467
1468 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
1469
1470         * libs/gst/controller/gstcontroller.h:
1471           fix ABI size-correction
1472
1473         * tests/check/libs/gdp.c: (gst_dp_suite):
1474           make tests that use deprecated API conditional
1475
1476 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
1477
1478         * docs/libs/gstreamer-libs-sections.txt:
1479         * libs/gst/controller/gstcontroller.c:
1480         (_gst_controller_get_property), (_gst_controller_set_property),
1481         (_gst_controller_init), (_gst_controller_class_init):
1482         * libs/gst/controller/gstcontroller.h:
1483         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
1484         (gst_object_set_control_rate):
1485           API: add gst_object_{s,g}et_control_rate(), add private data section,
1486           fix docs
1487
1488         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
1489         * libs/gst/dataprotocol/dataprotocol.h:
1490           add deprecation guards to make gtk-doc happy and allow disabling cruft
1491
1492 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
1493
1494         * tests/check/Makefile.am:
1495         * tests/check/gst/.cvsignore:
1496           Let's enable the new unit test as well.
1497
1498 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
1499
1500         * configure.ac:
1501         * docs/gst/gstreamer-sections.txt:
1502         * gst/gstconfig.h.in:
1503         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
1504         (_gst_info_printf_extension_ptr),
1505         (_gst_info_printf_extension_segment):
1506           API: add GST_SEGMENT_FORMAT, which is a printf extension we
1507           register that lets us easily dump GstSegments into debug
1508           logs (#350419).
1509
1510         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
1511         (info_segment_format_printf_extension), (gst_info_suite):
1512           Add simple unit test that logs a bunch of different segments (not
1513           valgrinded at the moment because of leaks in
1514           gst_debug_add_log_function).
1515
1516 2006-08-09  Edward Hervey  <edward@fluendo.com>
1517
1518         * libs/gst/base/gstbasetransform.c:
1519         (gst_base_transform_buffer_alloc):
1520         Even if we can't figure out the proper format to request downstream,
1521         call buffer_alloc() downstream with the input parameters without setting
1522         the caps on the srcpad. This will force negotiation in the chain
1523         function.
1524         Closes #350449
1525
1526 2006-08-08  Edward Hervey  <edward@fluendo.com>
1527
1528         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
1529         Unlinking from a pad without a target is now a perfectly valid case
1530         which should NOT raise an assertion.
1531         This case would happen if a linked ghostpad its target set to NULL after
1532         it was previously linked.
1533
1534 2006-08-08  Edward Hervey  <edward@fluendo.com>
1535
1536         * tests/check/libs/gdp.c:
1537         Also comment out the test (see below).
1538
1539 2006-08-08  Edward Hervey  <edward@fluendo.com>
1540
1541         * tests/check/libs/gdp.c: (gst_dp_suite):
1542         Use the architecture information from config.h and not gcc macros
1543         in order to properly disable a test that fails on PPC64.
1544
1545 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
1546
1547         * gst/gstelement.c: (gst_element_remove_pad):
1548           Don't crash printing the warning if the pad has no parent.
1549
1550 2006-08-02  Wim Taymans  <wim@fluendo.com>
1551
1552         * libs/gst/dataprotocol/dataprotocol.c:
1553         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
1554         (gst_dp_crc), (gst_dp_header_payload_length),
1555         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
1556         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
1557         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
1558         (gst_dp_event_from_packet), (gst_dp_validate_header),
1559         (gst_dp_validate_payload):
1560         Make debug category static
1561         Constify the crc table.
1562         Do some more arg checking in public functions.
1563         Fix some docs and do some small cleanups.
1564
1565         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
1566         Add some more checks to see if GDP deals with bogus input.
1567
1568 2006-07-31  Wim Taymans  <wim@fluendo.com>
1569
1570         * gst/gstvalue.c: (gst_value_compare_list):
1571         Fix GstValueList comparison code. Fixes #347293.
1572
1573         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1574         Check to test GstValueList comparison.
1575
1576 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
1577
1578         * gst/gstelementfactory.c: (gst_element_factory_create):
1579         Remove unnecessary ref/unref pair
1580
1581         * gst/parse/grammar.y:
1582         Make sure to free the parse buffer on all code paths.
1583         Move a g_free up to the error handler where it's easier to see.
1584
1585         * tests/check/gst/gstevent.c: (test_event):
1586         Extending timeout for downstream travelling events to 10 seconds to
1587         hopefully avoid intermittent failure on the buildbots.
1588
1589         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
1590         Don't manually set the state of the src element - it will happen as a
1591         natural consequence of the pipeline changing state, and that way it
1592         will do it in the right order too.
1593
1594 2006-07-31  Wim Taymans  <wim@fluendo.com>
1595
1596         * libs/gst/base/gstbasetransform.c:
1597         (gst_base_transform_buffer_alloc):
1598         Use OBJECT_LOCK and refcounting to get the pad caps in the
1599         buffer_alloc function because the caps could change while we are
1600         busy with them. Fixes #349105
1601
1602 2006-07-31  Wim Taymans  <wim@fluendo.com>
1603
1604         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
1605         Protect _PAD_CAPS with OBJECT_LOCK.
1606
1607 2006-07-31  Wim Taymans  <wim@fluendo.com>
1608
1609         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
1610         (gst_pad_get_property), (gst_pad_activate_pull),
1611         (gst_pad_activate_push), (gst_pad_set_blocked_async),
1612         (gst_pad_set_activate_function),
1613         (gst_pad_set_activatepull_function),
1614         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
1615         (gst_pad_set_getrange_function),
1616         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
1617         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
1618         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
1619         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
1620         (gst_pad_set_acceptcaps_function),
1621         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
1622         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
1623         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
1624         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
1625         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
1626         (gst_pad_configure_sink), (gst_pad_configure_src),
1627         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
1628         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
1629         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
1630         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
1631         (gst_pad_send_event):
1632         Use _DEBUG_OBJECT when it makes sense.
1633         Protect GST_PAD_CAPS with the OBJECT_LOCK.
1634         Small cleanups and code reflows.
1635         Avoid caps refcounting in _accept_caps.
1636         Refactor alloc_buffer so that the code performed on the peer is in a
1637         separate function. Also if the pad does not implement a buffer alloc
1638         function, we should still check if the pad is flushing before falling
1639         back to the default allocator.
1640
1641 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
1642
1643         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1644         Make all uses of identity and fakesink have silent=true to avoid
1645         serialising every passing data structure, which is breaking tests
1646         on FC4 for some unknown reason.
1647
1648 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
1649
1650         * gst/parse/Makefile.am:
1651         * gst/parse/grammar.y:
1652         * gst/parse/parse.l:
1653           Reverted previous patch as it required to bump the flex dependency to
1654           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
1655
1656 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
1657
1658         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
1659
1660         * gst/parse/Makefile.am:
1661         * gst/parse/grammar.y:
1662         * gst/parse/parse.l:
1663           push & pop the state of the lexer for reentrant use case
1664           Fixes #349180
1665
1666 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
1667
1668         * libs/gst/base/gstbasesrc.h:
1669           Note in the docs that the ::newsegment vfunc is not actually used by
1670           GstBaseSrc.
1671
1672 2006-07-28  Wim Taymans  <wim@fluendo.com>
1673
1674         * libs/gst/base/gstcollectpads.c:
1675         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
1676         (gst_collect_pads_clear), (gst_collect_pads_flush),
1677         (gst_collect_pads_event), (gst_collect_pads_chain):
1678         When flushing a pad, also clear the queued buffer so that we don't
1679         accidentally use it when we shouldn't.
1680         Fix leaks by inreffing incomming buffer.
1681         Flush out queued buffers in case of errors.
1682         Fixes #347452.
1683
1684 2006-07-28  Wim Taymans  <wim@fluendo.com>
1685
1686         * docs/random/phonon-gst:
1687         Random notes about a Phonon backend.
1688
1689 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
1690
1691         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1692         Extra debug output
1693         * tests/check/libs/gdp.c: (gst_dp_suite):
1694         Take a whack at fixing the ppc compile using a different define to
1695         disable the broken test.
1696
1697         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1698         Remove excess g_print()
1699
1700 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
1701
1702         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
1703         Oops, meant to uncomment this line too to dampen the noise a bit.
1704
1705 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
1706
1707         * gst/parse/grammar.y:
1708         * gst/parse/parse.l:
1709         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
1710         (GST_START_TEST), (parse_suite):
1711         Fix some of the leaks exposed by extending the parse-launch testsuite,
1712         and move the 3 I can't figure out into a separate test that won't run
1713         the pipelines unless the appropriate line is uncommented.
1714
1715 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
1716
1717         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1718           Requesting 0 bytes before the end of the file should result in
1719           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
1720           unit test.
1721
1722 2006-07-27  Wim Taymans  <wim@fluendo.com>
1723
1724         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
1725         Fix useless assert, a uint is always positive.
1726
1727         * gst/gststructure.c: (gst_structure_nth_field_name),
1728         (gst_structure_foreach), (gst_structure_map_in_place):
1729         Check input arguments for public functions to avoid obvious crashes.
1730
1731         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
1732         * plugins/elements/gstfakesink.h:
1733         Do less useless typechecking.
1734
1735 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
1736
1737         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1738           Do not use mmap() by default since there are a number of error
1739           conditions that we would like to handle in a non-fatal way that
1740           will result in a SIGBUS if we use mmap(). Examples: external
1741           devices (USB harddrive, portable music player) being unplugged
1742           while in use; file on mounted CD/DVD that can't be read because
1743           the medium is partly damaged. Fixes #348455 and #348475.
1744
1745 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
1746
1747         * gst/gstquery.h:
1748         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
1749         rates are a gdouble
1750
1751 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
1752
1753         * gst/gstregistry.c:
1754           Move big documentation comment into class section header, so that it
1755           appears in the API docs.
1756
1757 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1758
1759         * docs/gst/gstreamer-sections.txt:
1760         Oops. Commit the docs additions too for new API.
1761         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
1762
1763 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1764
1765         * gst/gststructure.c: (gst_structure_id_set),
1766         (gst_structure_id_set_valist):
1767         * gst/gststructure.h:
1768         Add API for setting values into structures without performing
1769         a quark lookup, if the appropriate quark is already known.
1770
1771         API: gst_structure_id_set
1772         API: gst_structure_id_set_valist
1773
1774         * gst/parse/grammar.y:
1775         * gst/parse/parse.l:
1776         Remove some dead code shown by the coverage information.
1777         Don't throw a critical g_warning when encountering a syntax error,
1778         just warn and let the normal error path handle it.
1779
1780         * plugins/elements/gstelements.c:
1781         Bump the rank of filesink up to PRIMARY so that it is preferred over
1782         gnomevfssink for file:// sink uri's
1783
1784         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
1785         (GST_START_TEST), (run_delayed_test),
1786         (gst_parse_test_element_base_init),
1787         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
1788         (gst_parse_test_element_change_state),
1789         (gst_register_parse_element), (parse_suite):
1790         Beef up the tests for parse syntax to check that more error cases
1791         fail as they are supposed to. Increases the test coverage a bit.
1792
1793 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
1794
1795         * docs/manual/basics-elements.xml:
1796           Fix gst_element_link() example.
1797
1798         * gst/gstutils.c:
1799           Mention in API docs that one should usually gst_bin_add()
1800           elements to a bin or pipeline before doing the linking.
1801           
1802 2006-07-26  Wim Taymans  <wim@fluendo.com>
1803
1804         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
1805         (gst_subbuffer_get_type), (gst_buffer_create_sub):
1806         Avoid function call for known types by keeping the buffer and
1807         subbuffer GType global.
1808
1809         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1810         Random silly optimisations in read() path.
1811
1812 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1813
1814         * tools/gst-launch.c: (main):
1815           If the top-level of the parse is a normal bin, it doesn't do the
1816           right logic to run as a top-level element, so place it inside a
1817           pipeline.
1818
1819 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
1820
1821         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
1822           Remove superfluous g_object_notify() calls, GObject does
1823           that for us automatically.
1824
1825 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
1826
1827         * gst/gstinfo.h:
1828           on Win32, use dllspec to export the debug category symbols
1829
1830 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
1831
1832         * gst/gsttaglist.c: (_gst_tag_initialize):
1833           Allow more than one GST_TAG_IMAGE per taglist.
1834
1835 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1836
1837         * gst/gstminiobject.c:
1838           update docs
1839         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
1840         (gst_fd_src_create):
1841           log recurring events at LOG level
1842           add more debug for when the fd gets set
1843
1844 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
1845
1846         * gst/gstparse.c: (gst_parse_launch):
1847           Also remove reentrance checks if flex is MT safe (#348179)
1848          Fix my empty ChangeLog entry below
1849
1850 2006-07-21  Andy Wingo  <wingo@pobox.com>
1851
1852         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
1853
1854         * libs/gst/check/Makefile.am
1855         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
1856         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
1857         * libs/gst/check/gstbufferstraw.h:
1858         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
1859         functions, thus proving I am still a GStreamer haxor. OK I wrote
1860         them a long time ago, but anyways.
1861
1862 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
1863
1864         * configure.ac:
1865         * gst/gstparse.c: (gst_parse_launch):
1866           Check for flex version and omit mutex if we have a MT save flex
1867           (fixes #348179)
1868
1869 2006-07-21  Wim Taymans  <wim@fluendo.com>
1870
1871         * gst/gstparse.c: (gst_parse_launch):
1872         Protect recursive calls to _parse with a recursive mutex
1873         and busy flag.
1874
1875 2006-07-21  Wim Taymans  <wim@fluendo.com>
1876
1877         * tests/check/gst/gstpad.c: (GST_START_TEST):
1878         Fix leak in test.
1879
1880 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
1881
1882         * gst/gstparse.c: (gst_parse_launch):
1883           Do not hang on recursive usage of gst_parse_launch()
1884
1885 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
1886
1887         * gst/gsttaglist.c:
1888           Add some more docs, comments and FIXME 0.11s here and there
1889           and also fix some typos.
1890
1891 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
1892
1893         * gst/gstsegment.h:
1894           Convert tabs to spaces for better readability. 
1895
1896 2006-07-20  Edward Hervey  <edward@fluendo.com>
1897
1898         * tests/check/libs/gdp.c: (gst_dp_suite):
1899         the test_buffer test fails at line 140 on ppc64 at the following
1900         check:
1901         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
1902                 GST_BUFFER_FLAG_IN_CAPS),
1903                 "GST_BUFFER_IN_CAPS flag should have been copied !");
1904         See bug #348114 for more details.
1905
1906 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
1907
1908         * docs/pwg/advanced-scheduling.xml:
1909         * gst/gstpad.c:
1910           Fix typos (#348000).
1911
1912 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
1913
1914         * docs/pwg/intro-basics.xml:
1915           Fix wrong links (#347927).
1916
1917 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
1918
1919         * gst/gstregistry.h:
1920         * gst/gstregistryxml.c: (load_feature),
1921         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1922         * win32/common/config.h:
1923           make --disable-index work (#342564)
1924
1925 2006-07-18  Wim Taymans  <wim@fluendo.com>
1926
1927         Patch by: Peter Kjellerstedt <pkj at axis dot com>
1928
1929         * gst/Makefile.am:
1930         * gst/gsttrace.h:
1931         The attached patch adds two missing defines to gsttrace.h when tracing
1932         is disabled.  It also corrects one existing define.
1933         Fixes #347756.
1934
1935 2006-07-17  Wim Taymans  <wim@fluendo.com>
1936
1937         * docs/gst/gstreamer-sections.txt:
1938         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
1939         * gst/gst.h:
1940         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
1941         Add two functions to check and change the SIGSEGV behaviour
1942         when loading plugins.
1943         Don't mess with the SIGSEGV handler when we were told not to.
1944         Fixes #347794.
1945         API: gst_segtrap_is_enabled
1946         API: gst_segtrap_set_enabled
1947
1948 2006-07-14  Wim Taymans  <wim@fluendo.com>
1949
1950         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
1951         * tests/check/elements/filesrc.c: (GST_START_TEST):
1952         Revert fix for regression in #347408 after release.
1953
1954 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
1955
1956         Patch by: Antoine Tremblay <hexa00 at gmail com>
1957
1958         * gst/gstutils.c: (gst_element_unlink):
1959           Free iterator when done (#347311).
1960
1961         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1962           And add a test case for this.
1963
1964 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
1965
1966         * configure.ac:
1967         Bump nano back to CVS
1968
1969 === release 0.10.9 ===
1970
1971 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
1972
1973         * configure.ac:
1974           releasing 0.10.9, "On the road again"
1975
1976 2006-07-13  Wim Taymans  <wim@fluendo.com>
1977
1978         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
1979         * tests/check/elements/filesrc.c: (GST_START_TEST):
1980         Revert pull-0 fix for release. Disable check. Fixes #347408.
1981
1982 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1983
1984         * libs/gst/dataprotocol/dataprotocol.c:
1985         (gst_dp_event_from_packet_1_0):
1986           Fixes #347337: failure to deserialize event packets with
1987           empty payload (only event type)
1988
1989 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1990
1991         * gst/Makefile.am:
1992           do not install a .c file in the header directory
1993
1994 2006-07-13  Edward Hervey  <edward@fluendo.com>
1995
1996         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
1997         GhostPad no longer implicitely use the padtemplates of the targets.
1998         Fixes #347384
1999
2000 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
2001
2002         * gst/gstvalue.c: (gst_value_compare_list),
2003         (gst_value_compare_array), (_gst_value_initialize):
2004         * tests/check/gst/gstvalue.c: (GST_START_TEST):
2005         Make GstValueArray comparison be order dependent as designed.
2006         Add checks for value lists and value array comparisons.
2007         Fixes #347221
2008
2009 2006-07-11  Edward Hervey  <edward@fluendo.com>
2010
2011         * gst/gstbin.c: (activate_pads),
2012         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
2013         (gst_bin_change_state_func):
2014         (de)activate src pads before calling state_change on the childs.
2015         This is to avoid the case where a src ghostpad is blocked (holding the
2016         stream lock), which would block the deactivation of the ghostpad's
2017         target pad.
2018         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
2019         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
2020         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
2021         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
2022         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
2023         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
2024         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
2025         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
2026         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
2027         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
2028         (gst_ghost_pad_class_init),
2029         (gst_ghost_pad_internal_do_activate_push),
2030         (gst_ghost_pad_internal_do_activate_pull),
2031         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
2032         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
2033         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
2034         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
2035         GhostPads now create their internal GstProxyPad at creation (and not
2036         when they're linked, as it was being done previously).
2037         The internal and target pads are linked straight away.
2038         The data will also travel through the other pad in order to make
2039         pad blocking and probes non-hackish (the probe/block now really happens
2040         on the GhostPad and not on the target).
2041         * gst/gstpad.c: (gst_pad_set_blocked_async),
2042         (gst_pad_link_prepare), (gst_pad_push_event):
2043         Remove previous ghostpad cruft.
2044         * gst/gstutils.c: (gst_pad_add_data_probe),
2045         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2046         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2047         (gst_pad_remove_buffer_probe):
2048         Remove previous ghost pad cruft.
2049         Added more detailed debug statements.
2050         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2051         Fix the testsuite for refcounting changes.
2052         The comments about who has references were correct, but the refcount
2053         being checked wasn't the same (!?!).
2054
2055         Fixes #341029
2056
2057 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
2058
2059         * docs/gst/gstreamer-sections.txt:
2060         * gst/gstconfig.h.in:
2061         More docs for configuration options, add docs to gtk-doc.
2062
2063 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
2064
2065         * gst/Makefile.am:
2066         * gst/gstconfig.h.in:
2067         * win32/common/config.h:
2068         Fix build when disabling tracing (fixes #344016). Also start to document
2069         the defines that disable the sub-systems.
2070
2071 2006-07-10  Edward Hervey  <edward@fluendo.com>
2072
2073         * gst/gst.c: (ensure_current_registry_forking):
2074         let's make valgrind happy...
2075
2076 2006-07-09  Wim Taymans  <wim@fluendo.com>
2077
2078         * gst/gstelement.c: (activate_pads),
2079         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
2080         Better pad activation code: Reset the collect value too on resync.
2081         Add some comments.
2082
2083 2006-07-09  Wim Taymans  <wim@fluendo.com>
2084
2085         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
2086         (gst_pad_activate_push):
2087         Use some more macros where it makes sense.
2088         Allow pad mode switching instead of asserting. When a pad
2089         is activated in one mode and we activate it in another, 
2090         deactivate it first before activating it in a different mode.
2091         Fixes #329198.
2092
2093 2006-07-08  Andy Wingo  <wingo@pobox.com>
2094
2095         * tools/gst-launch.c (main): Handle err == NULL.
2096
2097         * gst/gst.c (init_post, ensure_current_registry)
2098         (ensure_current_registry_forking)
2099         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
2100         factoring out the registry scanning into separate functions. Don't
2101         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
2102         Better environment var name/interface suggestions accepted.
2103
2104 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
2105
2106         * gst/gstobject.c: (gst_object_set_name_default),
2107         (gst_object_set_name):
2108           Random micro-optimisation: don't use a hash table
2109           with strings as keys and the usual strdup/strcmp
2110           involved, but rather just use the GQuark of the
2111           type name as key, since it needs to be looked up
2112           anyway to get the type name string.
2113
2114         * tests/check/gst/gstobject.c: (GST_START_TEST):
2115           Fix various leaks.
2116
2117 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
2118
2119         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
2120         (gst_bin_iterate_all_by_interface):
2121           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
2122           GTypes are gulongs and thus the top 4 bytes might be cut
2123           off on some platforms when doing GPOINTER_TO_INT, leading
2124           to invalid GTypes and bad things happening (see RH bug #179654).
2125           Also add a check to make sure the type passed in is really
2126           an interface type.
2127
2128 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
2129
2130         * .cvsignore:
2131           Ignore more.
2132
2133 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
2134
2135         * Makefile.am:
2136         * configure.ac:
2137         * gst-element-check.m4:
2138         * gst-element-check.m4.in:
2139           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
2140           instead of the unversioned gst-inspect (#324176, #168659).
2141
2142 2006-07-06  Wim Taymans  <wim@fluendo.com>
2143
2144         * gst/gstmessage.h:
2145         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
2146         warnings.
2147
2148 2006-07-06  Wim Taymans  <wim@fluendo.com>
2149
2150         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2151         (gst_base_src_wait), (gst_base_src_update_length),
2152         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
2153         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
2154         (gst_base_src_loop), (gst_base_src_start),
2155         (gst_base_src_activate_pull):
2156         Update docs.
2157         blocksize == 0 now means the default blocksize when working in push
2158         based mode.
2159         Remove some pointless asserts in _wait function.
2160         Fix offset/length calculations and EOS handling. We can now pull 0
2161         bytes as well, which is allowed.
2162         use _check_get_range() to decide if we can operate in _pull based
2163         mode.
2164         Fix refcounting leak when check_get_range function was not 
2165         implemented.
2166         API GstBaseSrc::blocksize range can be 0 too now (default)
2167
2168         * tests/check/elements/filesrc.c: (GST_START_TEST),
2169         (filesrc_suite):
2170         Added check to test _get_range() behaviour.
2171
2172 2006-07-06  Wim Taymans  <wim@fluendo.com>
2173
2174         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
2175         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
2176         (gst_pad_pull_range):
2177         * gst/gstpad.h:
2178         Lots of comments and docs added to the pad functions.
2179         Flesh out the expected behaviour of the get_range() functions.
2180
2181 2006-07-06  Wim Taymans  <wim@fluendo.com>
2182
2183         * gst/gstbus.h:
2184         * gst/gstclock.h:
2185         * gst/gstevent.h:
2186         * gst/gstiterator.h:
2187         * gst/gstpad.h:
2188         * gst/gstplugin.h:
2189         * gst/gsttask.h:
2190         Remove comma at end of enumerator list. 
2191
2192 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
2193
2194         * win32/common/libgstbase.def:
2195         * win32/common/libgstdataprotocol.def:
2196         * win32/common/libsgtreamer.def:
2197         Add new exported functions.
2198
2199 2006-07-05  Wim Taymans  <wim@fluendo.com>
2200
2201         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
2202         Add some more docs here and there.
2203
2204 2006-07-05  Wim Taymans  <wim@fluendo.com>
2205
2206         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
2207         (gst_base_sink_loop), (gst_base_sink_get_position):
2208         When operating in pull mode update the offset so that we
2209         read sequentially.
2210
2211 2006-07-05  Wim Taymans  <wim@fluendo.com>
2212
2213         * gst/gstregistryxml.c: (read_string):
2214         Avoid strdup. (will happen in libxml, but hey!)
2215
2216         * gst/gsturi.c:
2217         Add some more docs.
2218
2219 2006-07-05  Wim Taymans  <wim@fluendo.com>
2220
2221         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
2222         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
2223         (gst_buffer_suite):
2224         No point in checking if the size of the subbuffer > 0, the
2225         code handles it correclty as demonstrated by unit test.
2226         Also add a unit test for the zero sized _new_and_alloc and
2227         _copy. Fixes #346663.
2228
2229 2006-07-05  Wim Taymans  <wim@fluendo.com>
2230
2231         * libs/gst/base/gstbasetransform.c:
2232         (gst_base_transform_prepare_output_buffer),
2233         (gst_base_transform_buffer_alloc),
2234         (gst_base_transform_handle_buffer):
2235         Make sure the buffer we pass to transform_ip has a refcount of
2236         1 and thus is writable. Fixes #343196
2237
2238 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
2239
2240         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2241         (gst_file_src_init), (gst_file_src_set_property),
2242         (gst_file_src_get_property), (gst_file_src_map_region):
2243         * plugins/elements/gstfilesrc.h:
2244         Add "sequential" property, off by default, to use madvise and hint
2245         to the kernel that sequential access is desired.
2246         Touch all retrieved pages by default to ensure they are pulled
2247         into memory. (Closes #345720)
2248
2249 2006-07-03  Wim Taymans  <wim@fluendo.com>
2250
2251         * docs/design/part-block.txt:
2252         * docs/design/part-dynamic.txt:
2253         Small docs updates.
2254
2255 2006-07-03  Wim Taymans  <wim@fluendo.com>
2256
2257         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
2258         (gst_caps_unref), (gst_static_caps_get),
2259         (gst_caps_append_structure):
2260         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
2261         Use GSlice when the glib we build against is >= 2.10
2262
2263 2006-07-03  Wim Taymans  <wim@fluendo.com>
2264
2265         * gst/gstelement.c: (gst_element_pads_activate):
2266         Small cleanup in pad activation code.
2267
2268 2006-07-03  Wim Taymans  <wim@fluendo.com>
2269
2270         Patch by: Peter Kjellerstedt <pkj at axis dot com>
2271
2272         * gst/gst-i18n-app.h:
2273         * gst/gst-i18n-lib.h:
2274         * tools/gst-inspect.c: (print_signal_info):
2275         The attached patch will make the inclusion of gettext.h unconditional in
2276         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
2277         libintl.h in tools/gst-inspect.c.
2278         This allows use of --disable-nls again and fixes #344642.
2279
2280 2006-07-03  Edward Hervey  <edward@fluendo.com>
2281
2282         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
2283         Implement pad blocking on events according to part-block.txt.
2284         More comments on behaviour.
2285         * tests/check/gst/gstevent.c: (test_event):
2286         Send event to peer pad of blocked pad (else it will block).
2287
2288 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2289
2290         * libs/gst/check/gstcheck.c: (gst_check_message_error),
2291         (gst_check_run_suite):
2292           if we get the wrong message, give us the types as string
2293         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2294           Fix a translatable
2295         * tests/check/elements/filesrc.c: (GST_START_TEST):
2296           add a test for trying to open a non-existing file
2297
2298 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2299
2300         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
2301           add a test for adding self
2302
2303 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2304
2305         * libs/gst/check/gstcheck.h:
2306           add some assert_ as alias for fail_unless_*
2307         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
2308           increase test coverage
2309
2310 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2311
2312         * Makefile.am:
2313           include lcov.mak for lcov coverage generation
2314         * tools/Makefile.am:
2315           add to CLEANFILES
2316
2317 2006-07-02  Edward Hervey  <edward@fluendo.com>
2318
2319         * tests/check/elements/.cvsignore:
2320         moaping
2321
2322 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2323
2324         * configure.ac:
2325           don't set CFLAGS and friends for gcov, done from GST_GCOV now
2326         * tests/check/Makefile.am:
2327           clean up gcov files
2328
2329 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2330
2331         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
2332           remove gst_caps_simplify; it was not declared and not used
2333           and deprecated in 0.8
2334
2335 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2336
2337         * docs/faq/gst-uninstalled:
2338           don't put empty paths on PYTHONPATH
2339         * docs/gst/gstreamer-sections.txt:
2340           remove some symbols that are not there
2341
2342 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2343
2344         * gst/gstcaps.c: (gst_caps_compare_structures):
2345           whitespace fixes
2346         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
2347         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
2348           add more tests
2349
2350 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2351
2352         * libs/gst/dataprotocol/Makefile.am:
2353           build dataprotocol test by linking to the lib, instead of
2354           compiling the source, so we get coverage
2355         * tests/check/Makefile.am:
2356         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
2357         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
2358           add a test for filesrc
2359
2360 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2361
2362         * tests/check/gst/gststructure.c: (GST_START_TEST),
2363         (gst_structure_suite):
2364           Push coverage from 59.04% to 70.00%
2365
2366 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2367
2368         * tests/check/Makefile.am:
2369           gst-inspect every element; this makes sure that we also get
2370           coverage on element's get/set functions
2371
2372 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2373
2374         * configure.ac:
2375           set CFLAGS and friends to -O0 if gcov is being used
2376           add GCOV LIBS
2377         * gst/Makefile.am:
2378         * libs/gst/base/Makefile.am:
2379         * libs/gst/check/Makefile.am:
2380         * libs/gst/controller/Makefile.am:
2381         * libs/gst/dataprotocol/Makefile.am:
2382         * libs/gst/net/Makefile.am:
2383         * plugins/elements/Makefile.am:
2384         * plugins/indexers/Makefile.am:
2385           add makefile rules to generate gcov data and clean up
2386         * tests/check/Makefile.am:
2387           add a coverage target that generates an html overview
2388           of coverage data
2389
2390 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2391
2392         * tests/check/elements/fakesink.c:
2393         * tests/check/elements/fakesrc.c:
2394         * tests/check/elements/fdsrc.c:
2395         * tests/check/elements/identity.c:
2396         * tests/check/generic/sinks.c: (gst_sinks_suite):
2397         * tests/check/generic/states.c:
2398         * tests/check/gst/gst.c:
2399         * tests/check/gst/gstabi.c:
2400         * tests/check/gst/gstbin.c:
2401         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
2402         * tests/check/gst/gstbus.c: (gst_bus_suite):
2403         * tests/check/gst/gstcaps.c: (GST_START_TEST):
2404         * tests/check/gst/gstelement.c:
2405         * tests/check/gst/gstevent.c: (gst_event_suite):
2406         * tests/check/gst/gstghostpad.c:
2407         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
2408         * tests/check/gst/gstmessage.c: (gst_message_suite):
2409         * tests/check/gst/gstminiobject.c:
2410         * tests/check/gst/gstobject.c:
2411         * tests/check/gst/gstpad.c:
2412         * tests/check/gst/gstpipeline.c:
2413         * tests/check/gst/gstplugin.c:
2414         * tests/check/gst/gstquery.c: (gst_query_suite):
2415         * tests/check/gst/gstsegment.c: (gst_segment_suite):
2416         * tests/check/gst/gststructure.c:
2417         * tests/check/gst/gstsystemclock.c:
2418         * tests/check/gst/gsttag.c:
2419         * tests/check/gst/gsttask.c: (gst_task_suite):
2420         * tests/check/gst/gstutils.c:
2421         * tests/check/gst/gstvalue.c:
2422         * tests/check/libs/adapter.c:
2423         * tests/check/libs/basesrc.c:
2424         * tests/check/libs/collectpads.c:
2425         * tests/check/libs/controller.c:
2426         * tests/check/libs/gdp.c: (gst_dp_suite):
2427         * tests/check/libs/gstnetclientclock.c:
2428         * tests/check/libs/gstnettimeprovider.c:
2429         * tests/check/libs/libsabi.c: (libsabi_suite):
2430         * tests/check/libs/typefindhelper.c:
2431         * tests/check/pipelines/cleanup.c:
2432         * tests/check/pipelines/parse-launch.c:
2433         * tests/check/pipelines/simple-launch-lines.c:
2434         * tests/check/pipelines/stress.c: (stress_suite):
2435           use the new macro
2436
2437 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2438
2439         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
2440         * libs/gst/check/gstcheck.h:
2441           create a macro and function so that the simple unit test
2442           case can be just one macro to create main()
2443
2444 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
2445
2446         * gst/gstbin.c: (gst_bin_restore_thyself):
2447         * gst/gstxml.c: (gst_xml_make_element):
2448           Fix deserialisation from XML. Set parent manually
2449           instead of using gst_bin_add(), since gst_bin_add()
2450           will unlink all pads of the element being added.
2451           Fixes #341667.
2452
2453 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
2454
2455         Patch by: Peter Kjellerstedt <pkj at axis com>
2456
2457         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
2458           Fix missing g_strdup() and double free when using the
2459           --gst-plugin-load command line option (#346097).
2460
2461 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
2462
2463         * gst/gstinfo.c:
2464           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
2465
2466         * libs/gst/net/gstnetclientclock.c:
2467         * libs/gst/net/gstnettimeprovider.c:
2468           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
2469
2470 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
2471
2472         * docs/manual/advanced-dataaccess.xml:
2473           Fix buffer probe example compilation in
2474           ADM (#345708).
2475         
2476 2006-06-22  Edward Hervey  <edward@fluendo.com>
2477
2478         * gst/gstelement.c: (gst_element_pads_activate):
2479         We need to deactivate src pads first and then sink pads.
2480         The reason is the src pads might be blocking while holding the streaming
2481         lock, so we need to deactivate them first so that deactivating the sink
2482         pads doesn't block (since it will require the streaming lock).
2483
2484 2006-06-22  Wim Taymans  <wim@fluendo.com>
2485
2486         * libs/gst/base/gstbasetransform.c:
2487         (gst_base_transform_buffer_alloc):
2488         Forgot to remove two unneeded unrefs.
2489         Simplify a check _is_equal allready checks the obvious case.
2490
2491 2006-06-22  Wim Taymans  <wim@fluendo.com>
2492
2493         * docs/design/part-block.txt:
2494         Some docs about what pad_block should do.
2495
2496 2006-06-22  Wim Taymans  <wim@fluendo.com>
2497
2498         * gst/gstcaps.c: (gst_caps_replace):
2499         Fix crasher when passed NULL. Doc clarification.
2500         Optimize for the trivial case.
2501
2502         * gst/gstpipeline.c: (gst_pipeline_change_state):
2503         Small cleanups.
2504
2505         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
2506         Small documentation cleanup.
2507
2508         * libs/gst/base/gstbasetransform.c:
2509         (gst_base_transform_buffer_alloc):
2510         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
2511         is what we need and it avoids a whole lot of redundant 
2512         refcount operations.
2513
2514 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
2515
2516         Patch by: Philip Jägenstedt  <philip at lysator liu se>
2517
2518         * docs/manual/advanced-dataaccess.xml:
2519           Fix 'Embedding static elements' section to use
2520           GST_PLUGIN_DEFINE_STATIC (#345607).
2521
2522 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
2523
2524         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
2525           Attempt to 'fix' spuriously failing test case: it seems like the
2526           timeout of half a second is simply too small when the system is under
2527           load otherwise, and the timeout doesn't really seem to serve any
2528           particular purpose here. Give the pipeline a few seconds to preroll
2529           first, and then give it another half a second to go from PAUSED to
2530           PLAYING and marshal the message into the main thread.
2531
2532 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
2533
2534         * tools/gst-feedback-m.m:
2535           Don't only use unversioned tools, try versioned tools as well
2536           (#345086).
2537
2538 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
2539
2540         * gst/gstbus.c: (gst_bus_class_init):
2541           Fix some typos, make docs more explicit.
2542
2543 2006-06-20  Wim Taymans  <wim@fluendo.com>
2544
2545         * tests/check/gst/gstghostpad.c: (block_callback),
2546         (GST_START_TEST), (gst_ghost_pad_suite):
2547         Added some more ghostpad tests, mainly blocking
2548         and probes.
2549
2550 2006-06-16  Wim Taymans  <wim@fluendo.com>
2551
2552         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2553         (gst_file_sink_close_file), (gst_file_sink_do_seek),
2554         (gst_file_sink_event), (gst_file_sink_render):
2555         * plugins/elements/gstfilesink.h:
2556         Check if we can seek in the file instead of assuming
2557         we always can. Post an error when we are asked to seek in a
2558         non-seekable file (like a fifo). Fixes #343312.
2559         Some cleanups.
2560
2561 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
2562
2563         * tools/gst-launch.1.in:
2564           Un-garble (fourcc) bit in filtered caps section.
2565
2566 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
2567
2568         * docs/manual/advanced-autoplugging.xml:
2569         * docs/manual/basics-helloworld.xml:
2570         * docs/manual/highlevel-components.xml:
2571           Don't leak bus reference in sample code.
2572
2573 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
2574
2575         * autogen.sh:
2576           Add default for new --enable-plugin-docs switch.
2577
2578         * configure.ac:
2579           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
2580           Fixes #344039.
2581
2582         * docs/Makefile.am:
2583           Use new ENABLE_PLUGIN_DOCS conditional.
2584
2585 2006-06-14  Wim Taymans  <wim@fluendo.com>
2586
2587         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
2588         Make it clear with a FIXME and a real define what the #if 0
2589         previously disabled.
2590
2591 2006-06-14  Wim Taymans  <wim@fluendo.com>
2592
2593         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2594         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
2595         * libs/gst/base/gstbasetransform.c:
2596         (gst_base_transform_sink_eventfunc):
2597         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
2598         Don't randomly and silently reset a segment when the format 
2599         changes as this is a bug somewhere upstream. Fixes #330379.
2600
2601 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2602
2603         Patch by: Wouter Paesen  <wouter at kangaroot net>
2604
2605         * libs/gst/controller/gstcontroller.c:
2606         (gst_controlled_property_new):
2607           Fix controlling of float properties (#344849).
2608
2609         * tests/check/libs/controller.c:
2610         (gst_test_mono_source_get_property),
2611         (gst_test_mono_source_set_property),
2612         (gst_test_mono_source_class_init), (GST_START_TEST):
2613           While we're at it, add some float stuff to unit test.
2614
2615 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2616
2617         * docs/README:
2618         * docs/images/gdp-header.svg:
2619           add a gdp image
2620         * docs/libs/Makefile.am:
2621         * docs/libs/gdp-header.png:
2622         * libs/gst/dataprotocol/dataprotocol.c:
2623           add it to the API docs
2624         * docs/manual/intro-motivation.xml:
2625           fix typo
2626
2627 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
2628
2629         * gst/gst.c: (scan_and_update_registry), (init_post):
2630           If the fork()'ed child process can't write the updated registry cache
2631           file to disk for some reason, make it exit with a failure exit code,
2632           so that the parent can then re-scan the plugins itself and update the
2633           registry structures in memory and work with that (rather than failing
2634           when creating elements because seemingly no plugins are available).
2635           Refactor registry scanning code into separate function for this and
2636           also separate fork() and non-fork() code paths. Fixes #344748.
2637
2638 2006-06-13  Wim Taymans  <wim@fluendo.com>
2639
2640         * docs/manual/advanced-dataaccess.xml:
2641         Fix wrong PluginDesc. Fixes #344755.
2642
2643 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
2644
2645         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
2646           Fix silly bug that prevented us from creating
2647           ~/.gstreamer-0.10 and writing the registry in one
2648           go (the first call to g_mkstemp() would overwrite the
2649           placeholder in the template string, so the second call
2650           to g_mkstemp() after creating the missing directory
2651           would then error out with 'invalid argument').
2652
2653 2006-06-13  Edward Hervey  <edward@fluendo.com>
2654
2655         * gst/gst.c: (init_post):
2656         Free string.
2657
2658 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2659
2660         * gst/glib-compat-private.h:
2661         * gst/glib-compat.c:
2662         * gst/glib-compat.h:
2663         * gst/gstvalue.c: (gst_value_serialize_flags):
2664           remove GLib 2.6 compatibility code
2665
2666 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
2667
2668         * gst/parse/Makefile.am:
2669           Fix build with 'make -j N' even more (#340016).
2670
2671 2006-06-12  Wim Taymans  <wim@fluendo.com>
2672
2673         * docs/gst/gstreamer-sections.txt:
2674         Fix docs.
2675
2676 2006-06-12  Wim Taymans  <wim@fluendo.com>
2677
2678         * gst/gstsegment.c: (gst_segment_set_duration),
2679         (gst_segment_set_last_stop), (gst_segment_set_seek),
2680         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
2681         (gst_segment_to_running_time), (gst_segment_clip):
2682         Use G_UNLIKELY to help the compiler a bit.
2683
2684 2006-06-12  Wim Taymans  <wim@fluendo.com>
2685
2686         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
2687
2688         * gst/gstevent.c: (gst_event_get_type):
2689         * gst/gstmessage.c:
2690         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
2691         (gst_pad_push):
2692         constify quark registration strings. Fixes #344115
2693         Avoid unneeded type checking is _pad_push() by internally
2694         calling gst_pad_chain_unchecked().
2695
2696 2006-06-12  Wim Taymans  <wim@fluendo.com>
2697
2698         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
2699         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
2700         (gst_subbuffer_finalize), (gst_buffer_create_sub),
2701         (gst_buffer_is_span_fast), (gst_buffer_span):
2702         Init _type for consistency.
2703         Use _FLAGS macro to avoid type check.
2704         Avoid unneeded type checks in subbufer code.
2705
2706 2006-06-12  Wim Taymans  <wim@fluendo.com>
2707
2708         * gst/gst.c: (gst_debug_help):
2709         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
2710         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
2711         (gst_plugin_feature_list_free):
2712         * gst/gstregistry.c: (gst_registry_add_plugin),
2713         (gst_registry_add_feature), (gst_registry_plugin_filter),
2714         (gst_registry_feature_filter), (gst_registry_find_plugin),
2715         (gst_registry_find_feature), (gst_registry_get_plugin_list),
2716         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
2717         * gst/gstregistryxml.c: (load_feature),
2718         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
2719         * gst/gstminiobject.c: (gst_mini_object_unref),
2720         (gst_mini_object_replace), (gst_value_mini_object_free),
2721         (gst_value_mini_object_copy):
2722         Use _CAST macros to avoid unneeded type checking.
2723         Added some more G_UNLIKELY.
2724
2725 2006-06-12  Wim Taymans  <wim@fluendo.com>
2726
2727         * gst/gstbuffer.h:
2728         Avoid unneeded type checking.
2729         API: GST_BUFFER_IS_DISCONT
2730
2731         * gst/gstminiobject.h:
2732         Avoid type check in flag accessor.
2733
2734         * gst/gstelementfactory.h:
2735         * gst/gstplugin.h:
2736         * gst/gstpluginfeature.h:
2737         Add _CAST macros.
2738         API: GST_ELEMENT_FACTORY_CAST
2739         API: GST_PLUGIN_CAST
2740         API: GST_PLUGIN_FEATURE_CAST
2741
2742 2006-06-12  Wim Taymans  <wim@fluendo.com>
2743
2744         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
2745         (gst_object_unref):
2746         Add G_UNLIKELY in type registration.
2747         Avoid type check in _ref/_unref since that is also
2748         done in glib.
2749
2750 2006-06-12  Wim Taymans  <wim@fluendo.com>
2751
2752         * gst/gsterror.c: (gst_g_error_get_type):
2753         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
2754         (gst_static_pad_template_get_type):
2755         * gst/gsttaglist.c: (gst_tag_list_get_type):
2756         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
2757         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
2758         * gst/gsturi.c: (gst_uri_handler_get_type):
2759         * gst/gstvalue.c: (gst_date_get_type):
2760         * gst/gstxml.c: (gst_xml_get_type):
2761         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
2762         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
2763         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
2764         Add G_UNLIKELY in type registration.
2765
2766 2006-06-12  Wim Taymans  <wim@fluendo.com>
2767
2768         * tools/gst-inspect.c: (print_signal_info):
2769         Properly print enum values.
2770
2771 2006-06-12  Wim Taymans  <wim@fluendo.com>
2772
2773         * gst/gstinfo.c: (gst_debug_set_active),
2774         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
2775         * gst/gstinfo.h:
2776         Add some G_[UN]LIKELY.
2777         Maintain __gst_debug_min to avoid formatting the arguments of
2778         debug messages that will be dropped anyway to avoid a lot of 
2779         overhead from the debugging system.
2780
2781 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
2782
2783         * po/POTFILES.in:
2784         * po/POTFILES.skip:
2785           add missing files containing translatable strings, tell intltool about
2786           one exception
2787
2788 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
2789
2790         * tests/check/libs/.cvsignore:
2791         add test-binary to ignore list
2792
2793 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
2794
2795         * docs/libs/gstreamer-libs-docs.sgml:
2796         reorder (put dp into a chapter) and indent
2797
2798 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2799
2800         * configure.ac:
2801           back to HEAD
2802
2803 === release 0.10.8 ===
2804
2805 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
2806
2807         * configure.ac:
2808           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
2809
2810 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2811
2812         * gst/gst.c: (init_post):
2813           move pid declaration to declaration block
2814
2815 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2816
2817         * gst/gst.c: (init_post):
2818           use _exit() instead of exit() in our forked child; this ensures
2819           that none of the registered exit handlers from whatever is using
2820           GStreamer get executed.  This fixes gnome-mixer-applet failing
2821           to load, because ORBit would shut down.
2822           Spotted by: Edward Hervey  <edward@fluendo.com>
2823           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
2824           Fixes #344474
2825
2826 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2827
2828         * configure.ac:
2829           back to TRUNK
2830
2831 === release 0.10.7 ===
2832
2833 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
2834
2835         * configure.ac:
2836           releasing 0.10.7, "Soepeke, ik zie ou"
2837
2838 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2839
2840         * configure.ac:
2841         * po/af.po:
2842         * po/az.po:
2843         * po/bg.po:
2844         * po/ca.po:
2845         * po/cs.po:
2846         * po/de.po:
2847         * po/en_GB.po:
2848         * po/fr.po:
2849         * po/it.po:
2850         * po/nb.po:
2851         * po/nl.po:
2852         * po/ru.po:
2853         * po/sq.po:
2854         * po/sr.po:
2855         * po/sv.po:
2856         * po/tr.po:
2857         * po/uk.po:
2858         * po/vi.po:
2859         * po/zh_CN.po:
2860         * po/zh_TW.po:
2861         * win32/common/config.h:
2862           0.10.6.2 prerelease
2863
2864 2006-06-07  Wim Taymans  <wim@fluendo.com>
2865
2866         * gst/gstindex.c: (gst_index_gtype_resolver):
2867         * tools/gst-xmlinspect.c: (print_plugin_info):
2868         Fix leak spotted by coverity checker. Fixes #343827
2869         Fix another other leak found by paolo borelli.
2870
2871 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2872
2873         * libs/gst/dataprotocol/dataprotocol.c:
2874         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
2875         (gst_dp_version_get_type), (gst_dp_init),
2876         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
2877         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
2878         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
2879         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
2880         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
2881         (gst_dp_packetizer_free):
2882         * libs/gst/dataprotocol/dataprotocol.h:
2883           API: add a GstDPPacketizer object, and create/free functions
2884           API: add GstDPVersion enum
2885           Add 1.0 event function that uses the string serialization
2886           Serialize more useful buffer flags
2887           Fixes #343988
2888
2889 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2890
2891         * tests/check/Makefile.am:
2892         * tests/check/gst/gstabi.c:
2893         * tests/check/gst/struct_ppc64.h:
2894         * tests/check/libs/libsabi.c:
2895         * tests/check/libs/struct_ppc64.h:
2896           add ppc64 structure sizes
2897
2898 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2899
2900         * tests/check/Makefile.am:
2901         * tests/check/gst/gstabi.c:
2902         * tests/check/gst/struct_x86_64.h:
2903         * tests/check/libs/libsabi.c:
2904         * tests/check/libs/struct_x86_64.h:
2905           generate and add structure size lists for x86_64
2906
2907 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2908
2909         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
2910         * libs/gst/check/gstcheck.h:
2911           factor out the method from tests that checks size of structures,
2912           and add code to generate the header containing these sizes
2913         * tests/check/gst/gstabi.c: (GST_START_TEST):
2914         * tests/check/gst/struct_i386.h:
2915         * tests/check/libs/libsabi.c: (GST_START_TEST):
2916         * tests/check/libs/struct_i386.h:
2917           use it
2918
2919 2006-06-06  Michael Smith  <msmith@fluendo.com>
2920
2921         * gst/gstsegment.h:
2922           Don't use c++-style comments, fixes #343929
2923
2924 2006-06-05  Edward Hervey  <edward@fluendo.com>
2925
2926         * gst/gst.c:
2927         plugin_paths is not used if we build without registry support.
2928
2929         * gst/gstsegment.c: (gst_segment_copy): 
2930         _copy() was always returning NULL...
2931
2932 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2933
2934         * libs/gst/dataprotocol/dataprotocol.c:
2935         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2936         (gst_dp_packet_from_event):
2937           factor out CRC code
2938
2939 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2940
2941         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
2942           make sure we unset caps
2943
2944 2006-06-02  Michael Smith  <msmith@fluendo.com>
2945
2946         * libs/gst/check/gstcheck.c: (gst_check_init),
2947         (gst_check_chain_func):
2948         * libs/gst/check/gstcheck.h:
2949           Add a cond/mutex to the check support lib, signal this whenever we
2950           add to the buffers list. This will allow tests to not busy-wait on
2951           the buffer-list.
2952
2953 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2954
2955         * libs/gst/dataprotocol/dataprotocol.c:
2956         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2957         (gst_dp_packet_from_event):
2958           factor out some common header init code
2959
2960 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2961
2962         * docs/libs/gstreamer-libs-sections.txt:
2963         * docs/libs/tmpl/gstdataprotocol.sgml:
2964         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
2965         * libs/gst/dataprotocol/dataprotocol.h:
2966           API: make gst_dp_crc() public
2967
2968 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
2969
2970         * plugins/indexers/gstindexers.c: (plugin_init):
2971         conditionally register fileindexer (fixes #343598)
2972
2973 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
2974
2975         * gst/gsttagsetter.h:
2976         Can't cast ifaces to a class
2977
2978         * libs/gst/net/gstnetclientclock.h:
2979         * libs/gst/net/gstnettimeprovider.h:
2980         * plugins/elements/gstfakesink.h:
2981         * plugins/elements/gstfakesrc.h:
2982         * plugins/elements/gstfdsink.h:
2983         * plugins/elements/gstfdsrc.h:
2984         * plugins/elements/gstfilesink.h:
2985         * plugins/elements/gstfilesrc.h:
2986         * plugins/elements/gstidentity.h:
2987         * plugins/elements/gstqueue.h:
2988         * plugins/elements/gsttee.h:
2989         * plugins/indexers/gstfileindex.c:
2990         * plugins/indexers/gstmemindex.c:
2991         * tests/old/examples/plugins/example.h:
2992         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
2993
2994 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2995
2996         * libs/gst/dataprotocol/dataprotocol.c:
2997         (gst_dp_header_from_buffer):
2998           make sure we zero the whole ABI-compatible area
2999
3000 2006-06-01  Wim Taymans  <wim@fluendo.com>
3001
3002         Patch by: Alessandro Decina <alessandro at nnva dot org>
3003
3004         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
3005         Make sure the EOS flag is cleared from pads after a flush
3006         or stop. Fixes #343538.
3007
3008         * tests/check/libs/collectpads.c: (GST_START_TEST),
3009         (gst_collect_pads_suite):
3010         Added test for collectpads reusage after EOS.
3011
3012 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
3013
3014         * gst/gst.c:
3015          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
3016         * win32/common/libgstbase.def:
3017          export gst_collect_pads_set_flushing
3018         * win32/common/libgstreamer.def:
3019          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
3020          gst_value_fraction_multiply
3021         * win32/vs6/gst_inspect.dsp:
3022          add a link to intl.lib
3023
3024 2006-05-30  Wim Taymans  <wim@fluendo.com>
3025
3026         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
3027         (gst_collect_pads_chain):
3028         Handle the case where a pad is removed from the collection
3029         that could cause the other pads to become collectable.
3030
3031 2006-05-30  Wim Taymans  <wim@fluendo.com>
3032
3033         * gst/gstelement.c:
3034         Clarify the use of _release_request_pad() and
3035         _get_request_pad() a bit better.
3036
3037         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
3038         (gst_adapter_take_buffer):
3039         Fix some doc and comment typos.
3040
3041 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3042
3043         * docs/gst/gstreamer-sections.txt:
3044         * docs/libs/gstreamer-libs-sections.txt:
3045           add declared symbols
3046
3047 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
3048
3049         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3050         Add debug that can be enabled using a #define at the top of the file,
3051         for dumping stats about how late/early we were when waking up from
3052         waiting on the clock.
3053
3054 2006-05-30  Wim Taymans  <wim@fluendo.com>
3055
3056         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
3057         When rebuilding the pad list, don't leak the previous list.
3058
3059 2006-05-30  Wim Taymans  <wim@fluendo.com>
3060
3061         Patch by: Lutz Mueller <lutz at topfrose dot de>
3062
3063         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3064         (gst_base_src_get_query_types), (gst_base_src_update_length):
3065         Publish supported query types.
3066         Update last_stop field in get_range mode so the position
3067         query works. Fixes #342321.
3068
3069 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
3070
3071         * docs/gst/gstreamer-sections.txt:
3072         * gst/gsttaglist.c: (_gst_tag_initialize):
3073         * gst/gsttaglist.h:
3074           API: add GST_TAG_PREVIEW_IMAGE (#343341).
3075
3076 2006-05-30  Wim Taymans  <wim@fluendo.com>
3077
3078         Patch by: Alessandro Decina <alessandro at nnva dot org>
3079
3080         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
3081         Unlock mutex when removing an unknown pad.
3082         Fixes #343334.
3083
3084         * tests/check/Makefile.am:
3085         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
3086         (push_event), (setup), (teardown), (GST_START_TEST),
3087         (gst_collect_pads_suite), (main):
3088         Added collecpads check, disabled for now as check crashes for
3089         some reason.
3090
3091 2006-05-29  Wim Taymans  <wim@fluendo.com>
3092
3093         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
3094         Don't leak pads lists.
3095
3096 2006-05-29  Wim Taymans  <wim@fluendo.com>
3097
3098         * docs/libs/gstreamer-libs-sections.txt:
3099         * libs/gst/base/gstcollectpads.c:
3100         (gst_collect_pads_set_flushing_unlocked),
3101         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
3102         (gst_collect_pads_stop):
3103         * libs/gst/base/gstcollectpads.h:
3104         API: gst_collect_pads_set_flushing()
3105         Added api to set the pads to flushing, useful for seeking
3106         code in elements using collectpads.
3107         Clear segment when receiving a flush.
3108
3109 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
3110
3111         * gst/gst.c: (add_path_func), (init_post):
3112           Don't scan registry paths passed via --gst-plugin-path immediately
3113           (will crash, because absolutely nothing is set up and no types are
3114           registered etc.); do this later in init_post(). Fixes #343057.
3115
3116 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3117
3118         * gst/gst.c: (init_post):
3119           if we have fork, fork while reading/rebuilding the registry
3120           so the parent doesn't take the hit of having all plugins loaded
3121           in memory.  Fixes #342777.
3122         * configure.ac:
3123           Check if we have fork()
3124         * win32/common/config.h.in:
3125           no fork() on win32
3126
3127 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
3128
3129         * plugins/elements/gstelements.c:
3130         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
3131         (gst_file_src_init), (gst_file_src_set_property),
3132         (gst_file_src_get_property), (gst_file_src_start):
3133         * plugins/elements/gstfilesrc.h:
3134           API: GstFileSrc::use-mmap
3135
3136         Add a use-mmap property to enable easier testing of all code paths.
3137         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
3138         in the absence of gnomevfssrc. (Closes #340501)
3139
3140 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3141
3142         * tools/gst-inspect.c:
3143         Add missing include, removes warning of ngettext not being defined on
3144         some arches.
3145
3146 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
3147
3148         * gst/gstvalue.c: (gst_value_deserialize_fraction):
3149         Handle NULL input and output pointers silently as a failed conversion,
3150         rather than g_warnings.
3151
3152 2006-05-25  Wim Taymans  <wim@fluendo.com>
3153
3154         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
3155         Initialize variable before using. Fixes #342820.
3156
3157 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
3158
3159         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
3160           Fix off-by-one bug that would only allow peeks of N-1 bytes
3161           from the start even if the buffer to typefind on contains
3162           in fact N bytes of data (makes vorbis typefinding from a
3163           vorbis identification header buffer work).
3164
3165         * tests/check/Makefile.am:
3166         * tests/check/libs/.cvsignore:
3167         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
3168         (gst_typefindhelper_suite), (main), (foobar_typefind),
3169         (plugin_init):
3170           Add very basic unit test for gst_type_find_helper_for_buffer()
3171           that checks for the problem fixed above.
3172
3173 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3174
3175         * tools/gst-inspect.c: (print_interfaces),
3176         (print_element_properties_info), (print_element_list), (main):
3177           add more translatable strings
3178
3179 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
3180
3181         Patch by: Julien Moutte  <julien at moutte net>
3182
3183         * docs/gst/gstreamer-sections.txt:
3184           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
3185           
3186         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
3187         (gst_fake_sink_preroll):
3188         * plugins/elements/gstfakesink.h:
3189           API: Add new GstFakeSink::preroll-handoff signal (#337100).
3190
3191 2006-05-23  Wim Taymans  <wim@fluendo.com>
3192
3193         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
3194         * gst/gstpad.h:
3195         Added _CUSTOM error and success GstFlowReturn that can be
3196         used be elements internally. 
3197         Added macro to check for SUCCESS flowreturns.
3198         API: GST_FLOW_CUSTOM_SUCCESS
3199         API: GST_FLOW_CUSTOM_ERROR
3200         API: GST_FLOW_IS_SUCCESS
3201
3202         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
3203         Added check for GstFlowReturn sanity.
3204
3205 2006-05-23  Wim Taymans  <wim@fluendo.com>
3206
3207         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
3208
3209         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
3210         (gst_collect_pads_event):
3211         clear/reset segment info in FLUSH_STOP.
3212         Fixes #336929.
3213
3214 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
3215
3216         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
3217         (gst_collect_pads_check_collected):
3218         Flush queued buffer on _stop(), fixes playing again (#342454)
3219
3220 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3221
3222         * tests/check/gst/gststructure.c: (GST_START_TEST),
3223         (gst_structure_suite):
3224           add a test for a complete structure
3225
3226 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
3227
3228         * docs/faq/developing.xml:
3229         * docs/faq/faq.xml:
3230         * docs/faq/troubleshooting.xml:
3231         * docs/faq/using.xml:
3232           Some minor FAQ updates that won't change the fact that
3233           our FAQ is badly structured, full of information hardly
3234           anyone new to GStreamer needs to know and lacking lots
3235           of information people constantly ask for.
3236           
3237 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
3238
3239         * gst/gstpad.c: (gst_pad_set_caps):
3240           Short-circuit gst_pad_set_caps if setting the existing
3241           caps pointer again, and avoid printing debug and 
3242           reffing/unreffing the caps.
3243
3244         * plugins/elements/gstqueue.c: (gst_queue_push_one):
3245           There's actually no need to set the caps before pushing -
3246           the acceptcaps method will handle it anyway.
3247
3248 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
3249
3250         * docs/gst/gstreamer-sections.txt:
3251         * win32/common/libgstreamer.def:
3252         * gst/gstutils.c: (gst_element_seek_simple):
3253         * gst/gstutils.h:
3254           API: add gst_element_seek_simple() (#342238).
3255
3256 2006-05-18  Edward Hervey  <edward@fluendo.com>
3257
3258         * gst/gsttypefind.c: (gst_type_find_get_type):
3259         * gst/gsttypefind.h:
3260         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
3261         registered for GstTypeFind pointers. This allows wrapping the structure
3262         in bindings (i.e. gst-python).
3263
3264 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
3265
3266         * gst/gsttagsetter.c:
3267           Docs additions and fixes (see #339918).
3268
3269 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
3270
3271         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3272         The caps intersection algorithm can produce multiple copies of the
3273         caps. Until that is fixed, we need to simplify the result to be
3274         sure whether the allowed caps are fixed or not.
3275
3276         * plugins/elements/gstqueue.c: (gst_queue_init),
3277         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
3278         (gst_queue_push_one):
3279         Proxied buffer alloc should not set the caps on the source pad.
3280         When pushing buffers, we always accept the caps change that triggers.
3281         This prevents negotiation errors caused by caps changing mid-stream 
3282         and then being refused on our source pad (because upstream is now
3283         refusing those caps).
3284
3285 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
3286
3287         * tests/examples/helloworld/helloworld.c: (main):
3288           Must plug audioconvert and audioresample between decoder
3289           and audio sink.
3290
3291 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
3292
3293         * gst/gstregistryxml.c: (read_string), (load_pad_template),
3294         (load_feature), (load_plugin):
3295         Allow empty strings for some of the plugin fields so we don't 
3296         drop valid plugin entries that were written out correctly
3297         (Fixes #341479)
3298
3299 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
3300         
3301         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
3302           Use g_remove and g_rename instead of remove and rename that don't 
3303           handle utf8 characters. rename was failing for users who had specific
3304           characters in their name then the registry was built at each 
3305           gstreamer init.
3306         * win32/vs6/gst_inspect.dsp:
3307         * win32/vs6/gst_launch.dsp:
3308         * win32/vs6/libgstbase.dsp:
3309         * win32/vs6/libgstcoreelements.dsp:
3310         * win32/vs6/libgstreamer.dsp:
3311           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
3312           build of libgstreamer and clean unused libraries in projects link 
3313           settings.
3314
3315 2006-05-17  Edward Hervey  <edward@fluendo.com>
3316
3317         * plugins/elements/gstqueue.c: (gst_queue_push_one):
3318         The queue is not responsible for pushing an EOS when receiving a fatal
3319         flow error. It's up to the real element driving the pipeline to do that.
3320
3321 2006-05-16  Edward Hervey  <edward@fluendo.com>
3322
3323         * plugins/elements/gstqueue.c: (gst_queue_push_one):
3324         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
3325         buffer returned a fatal error. It should just send an EOS and stop
3326         its task.
3327         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
3328         when pushing buffers on the queue and will be able to handle the event.
3329
3330 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
3331
3332         * docs/manual/basics-bins.xml:
3333         * docs/manual/basics-init.xml:
3334           Fix typos and minor errors in sample code (#341856).
3335
3336 2006-05-16  Wim Taymans  <wim@fluendo.com>
3337
3338         * docs/design/part-qos.txt:
3339         Fix indexes in formulas to make more sense.
3340
3341 2006-05-15  Wim Taymans  <wim@fluendo.com>
3342
3343         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3344         Don't report POSITION based on clock time if sync is
3345         disabled in a sink.
3346
3347 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
3348
3349         * gst/gstobject.h:
3350           Add cast to make compiler happy - refcount variable was a gint
3351           in GstObject but is a guint in GObject and g_atomic_int_get()
3352           wants a gint *.
3353
3354 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3355
3356         * gst/parse/Makefile.am:
3357           chain commands using &&, which also makes parallel make work
3358
3359 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
3360
3361         * docs/gst/gstreamer-sections.txt:
3362         * gst/gstevent.c:
3363         * gst/gstevent.h:
3364         * gst/gstmessage.h:
3365           Minor docs fixes.
3366
3367 === release 0.10.6 ===
3368
3369 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
3370
3371         * configure.ac:
3372           releasing 0.10.6, "Take the cannoli"
3373
3374 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3375
3376         * tools/gst-launch.c: (print_tag):
3377           Fix use of uninitialized variable in the hypothetical
3378           case that some broken plugin creates a GST_TAG_IMAGE
3379           tag containing a NULL buffer (#341667).
3380
3381 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
3382
3383         * tools/gst-launch.c: (print_tag):
3384           Print something more intelligible for image tags when
3385           using the -t switch (#341556).
3386
3387 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3388
3389         * Makefile.am:
3390           updates for win32
3391         * configure.ac:
3392           define GST_MAJORMINOR so we have it available in win32/common/config.h
3393           Possibly remove it from our Makefile.am files later
3394         * win32/common/config.h:
3395         * win32/common/config.h.in:
3396           added GST_MAJORMINOR
3397         * win32/common/gstenumtypes.c: (register_gst_resource_error):
3398         * win32/common/gstversion.h:
3399           updated
3400
3401 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
3402
3403         * win32/MANIFEST:
3404           Update win32 files listing.
3405         * win32/common/gstversion.h:
3406           Add GST_MAJORMINOR definition.
3407         * win32/common/libgstreamer.def:
3408           Add new exported functions.
3409           
3410 2006-05-12  Michael Smith  <msmith@fluendo.com>
3411
3412         * gst/gstplugin.c: (gst_plugin_load_file):
3413           If an so file has no plugin entry point, unload the module.
3414
3415 2006-05-11  Wim Taymans  <wim@fluendo.com>
3416
3417         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
3418         (gst_queue_set_property):
3419         Don't forget to signal the _chain or _loop function 
3420         when the queue size or thresholds change since that might
3421         cause them to make progres again.
3422
3423 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
3424
3425         * gst/gstclock.c: (gst_clock_class_init):
3426         * gst/gstindex.c: (gst_index_class_init):
3427         * gst/gstobject.c: (gst_object_class_init):
3428         * gst/gstpad.c: (gst_pad_class_init):
3429         * gst/gstpipeline.c: (gst_pipeline_class_init):
3430         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3431         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
3432         * libs/gst/base/gstbasetransform.c:
3433         (gst_base_transform_class_init):
3434         * libs/gst/net/gstnetclientclock.c:
3435         (gst_net_client_clock_class_init):
3436         * libs/gst/net/gstnettimeprovider.c:
3437         (gst_net_time_provider_class_init):
3438         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
3439         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3440         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3441         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
3442         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3443         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3444         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
3445         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3446         * plugins/elements/gsttee.c: (gst_tee_class_init):
3447         * tests/old/examples/plugins/example.c: (gst_example_class_init):
3448         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
3449           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
3450
3451 2006-05-11  Wim Taymans  <wim@fluendo.com>
3452
3453         * gst/gstbuffer.c: (_gst_buffer_initialize):
3454         Register subbufer along with the buffer type so that
3455         it does not accidentally gets registered from N
3456         different streaming threads in a non threadsafe way.
3457
3458 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
3459
3460         * gst/gstbuffer.h:
3461         * gst/gstevent.h:
3462         * gst/gstmessage.h:
3463           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
3464           gst_event_ref() and gst_message_ref() functions again
3465           (ugly hack, please do fix if there's a better way besides
3466           overrides.txt, which doesn't seem to work).
3467
3468 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3469
3470         * libs/gst/check/gstcheck.h:
3471           add an assert for setting state to avoid lots of repetitive code
3472           in the future
3473
3474 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3475
3476         * gst/gstvalue.c: (gst_value_serialize_flags):
3477           fix a leak if no flags are set
3478         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3479           fix leak in tests
3480
3481 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
3482
3483         * docs/manual/basics-pads.xml:
3484           Expand a bit on caps and filtered links and update
3485           examples that were still using the no longer existing
3486           gst_pad_link_filtered() (#338206).
3487
3488 2006-05-10  Wim Taymans  <wim@fluendo.com>
3489
3490         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3491         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3492         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
3493         (gst_collect_pads_stop):
3494         * libs/gst/base/gstcollectpads.h:
3495         No need to call _stop in _finalize.
3496         Iterate the main pad list in _finalize.
3497         Added some more debug.
3498         Free lists and data in the right order.
3499         Also free data whem doing _remove_pad when stopped for
3500         backward compatibility protect ::started with PAD_LOCK as
3501         well.
3502
3503 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3504
3505         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
3506         (gst_structure_parse_value):
3507           add some comments
3508           rename a method so that it actually says what it does better
3509
3510 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3511
3512         * gst/gstevent.c: (_gst_event_initialize):
3513         * gst/gstformat.c: (_gst_format_initialize):
3514           make sure some essential types used by events are registered
3515           as part of gst_init()
3516         * gst/gstvalue.c: (gst_value_serialize_flags):
3517           if no flags are set, serialize them to a value that represents NONE
3518           so that deserializing them works
3519         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3520           add tests for serialization and deserialization of flags
3521
3522 2006-05-10  Wim Taymans  <wim@fluendo.com>
3523
3524         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
3525         (gst_collect_pads_collect_range), (gst_collect_pads_available),
3526         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
3527         (gst_collect_pads_event), (gst_collect_pads_chain):
3528         Update docs.
3529         Better debug info.
3530         Catch and return errors from the collect function
3531         Refuse data on eos pads.
3532
3533 2006-05-10  Edward Hervey  <edward@fluendo.com>
3534
3535         * gst/gstinterface.h:
3536         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
3537         GInterface type checking.
3538         They were previously using non-defined macros.
3539
3540 2006-05-09  Wim Taymans  <wim@fluendo.com>
3541
3542         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
3543         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
3544         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
3545         (gst_collect_pads_start), (gst_collect_pads_stop),
3546         (gst_collect_pads_peek), (gst_collect_pads_pop),
3547         (gst_collect_pads_available), (gst_collect_pads_read),
3548         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
3549         (gst_collect_pads_is_collected), (gst_collect_pads_event),
3550         (gst_collect_pads_chain):
3551         * libs/gst/base/gstcollectpads.h:
3552         Clean up the mess that is collectpads, add comments and
3553         FIXMEs where needed.
3554         Maintain a separate pad list so we can add pads while
3555         collecting the other ones. For this we need a new separate 
3556         lock (see comics).
3557         Fix memory leak in finalize.
3558         Refactor some weird code to set/unset pad flushing flags, mark
3559         with comments.
3560         Don't crash in _available, _read, _flush when we're EOS.
3561
3562         * tests/check/libs/.cvsignore:
3563         Ignore adapter check binary.
3564
3565 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3566
3567         * gst/gstindex.c: (gst_index_resolver_get_type):
3568         * plugins/elements/gstfakesink.c:
3569         (gst_fake_sink_state_error_get_type):
3570         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
3571         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
3572         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
3573           Const-ify GEnumValue arrays.
3574
3575 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3576
3577         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
3578           Add test case for flags + gst_buffer_make_metadata_writable().
3579
3580 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3581
3582         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
3583           gst_buffer_make_metadata_writable() should maintain the
3584           buffer flags (those that make sense at least) (see #340859).
3585
3586 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3587
3588         * tools/gst-inspect.c:
3589         * tools/gst-launch.c:
3590         * tools/gst-typefind.c:
3591         * tools/gst-xmlinspect.c:
3592         * tools/tools.h:
3593           Fix up includes: need to include stdlib.h in tools.h for exit().
3594
3595 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3596
3597         * gst/gsttaglist.c: (_gst_tag_initialize):
3598         * gst/gsttaglist.h:
3599           API: add GST_TAG_IMAGE tag (#340721).
3600
3601 2006-05-08  Wim Taymans  <wim@fluendo.com>
3602
3603         * gst/gstquery.c:
3604         Added some docs for the segment query.
3605
3606 2006-05-08  Wim Taymans  <wim@fluendo.com>
3607
3608         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3609         (gst_base_src_loop), (gst_base_src_change_state):
3610         Always push non-flushing serialized events in the streaming 
3611         thread.
3612
3613 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3614
3615         * gst/gsterror.c: (_gst_stream_errors_init):
3616           Add a missing error string.
3617
3618 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
3619
3620         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
3621         Add applied_rate to the debug
3622
3623         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3624         Copy applied_rate into the outgoing NEWSEGMENT event
3625
3626 2006-05-08  Wim Taymans  <wim@fluendo.com>
3627
3628         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
3629
3630         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
3631         (gst_base_sink_change_state):
3632         call ::unlock before taking the PREROLL_LOCK so we can safely
3633         handle elements that lock in ::render.
3634         Fixes #340174.
3635
3636 2006-05-08  Edward Hervey  <edward@fluendo.com>
3637
3638         * autogen.sh: (CONFIGURE_DEF_OPT): 
3639         Darwin's libtoolize is in fact called glibtoolize.
3640         Adding glibtoolize to the list of accepted names for libtoolize.
3641
3642 2006-05-08  Wim Taymans  <wim@fluendo.com>
3643
3644         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3645         Unify error handling, don't post an error message
3646         when a push() returns EOS but perform our normal EOS
3647         handling code. Fixes #340772.
3648
3649 2006-05-08  Wim Taymans  <wim@fluendo.com>
3650
3651         * docs/design/part-overview.txt:
3652         Make upsteam/downstream concepts more clear.
3653         Give an example of serialized/non-serialized events.
3654
3655         * docs/design/part-events.txt:
3656         * docs/design/part-streams.txt:
3657         Mention applied_rate.
3658
3659         * docs/design/part-trickmodes.txt:
3660         Mention applied rate, flesh out some more use cases.
3661
3662         * gst/gstevent.c: (gst_event_new_new_segment),
3663         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
3664         (gst_event_parse_new_segment_full), (gst_event_new_tag),
3665         (gst_event_parse_tag), (gst_event_new_buffer_size),
3666         (gst_event_parse_buffer_size), (gst_event_new_qos),
3667         (gst_event_parse_qos), (gst_event_parse_seek),
3668         (gst_event_new_navigation):
3669         * gst/gstevent.h:
3670         Add applied_rate field to NEWSEGMENT event.
3671         API: gst_event_new_new_segment_full()
3672         API: gst_event_parse_new_segment_full()
3673
3674         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
3675         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
3676         (gst_segment_to_stream_time), (gst_segment_to_running_time):
3677         * gst/gstsegment.h:
3678         Add applied_rate to GstSegment structure.
3679         Make calculation of stream_time and running_time more correct
3680         wrt rate/applied_rate.
3681         Add some more docs.
3682         API: GstSegment::applied_rate field
3683         API: gst_segment_set_newsegment_full();
3684
3685         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
3686         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
3687         * libs/gst/base/gstbasetransform.c:
3688         (gst_base_transform_sink_eventfunc),
3689         (gst_base_transform_handle_buffer):
3690         Parse and use applied_rate in the GstSegment field.
3691
3692         * tests/check/gst/gstevent.c: (GST_START_TEST):
3693         Add check for applied_rate field.
3694
3695         * tests/check/gst/gstsegment.c: (GST_START_TEST),
3696         (gstsegments_suite):
3697         Add more checks for various GstSegment operations.
3698
3699 2006-05-08  Wim Taymans  <wim@fluendo.com>
3700
3701         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
3702         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
3703         (gst_base_sink_get_position), (gst_base_sink_change_state):
3704         Store the sync time of the buffer end position separatly in a
3705         new variable eos_rtime so we can properly sync the EOS event.
3706         Fixes #340697.
3707         Fix the docs for gst_base_sink_set_qos_enabled().
3708         Don't set segment start to invalid value when we receive a 
3709         non TIME newsegment.
3710         get closer to handling position reporting for negative rates 
3711         correctly.
3712
3713 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
3714
3715         * gst/gstcaps.c:
3716         Docs about how to print caps for debug purposes.
3717
3718         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
3719         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
3720
3721 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
3722
3723         * gst/gstelement.c:
3724           use full enum names and preprend a '%' in docs strings to make recent 
3725           gtk-doc turn that into a link
3726
3727 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3728
3729         * docs/manual/basics-bins.xml:
3730         * docs/manual/basics-bus.xml:
3731         * docs/manual/basics-pads.xml:
3732           Some typo fixes, some additions, some clarifications. 
3733
3734 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3735
3736         * tools/gst-inspect.c: (main):
3737         * tools/gst-launch.c: (main):
3738         * tools/gst-run.c: (main):
3739         * tools/gst-typefind.c: (main):
3740         * tools/gst-xmlinspect.c: (main):
3741           Use the string passed to g_option_context_new() for
3742           what it's intended for - the program name is already
3743           printed elsewhere.
3744
3745 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3746
3747         * tools/Makefile.am:
3748         * tools/gst-inspect.c: (main):
3749         * tools/gst-launch.c: (main):
3750         * tools/gst-xmlinspect.c: (main):
3751         * tools/tools.h:
3752           Add back --version command line option (#340460).
3753
3754         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
3755           Add --version option and use GOption for argument parsing; refactor a
3756           bit; accept directories as arguments and recurse into them; lastly,
3757           print a decent error message when things go wrong.
3758
3759 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3760
3761         * docs/manual/basics-bins.xml:
3762         Don't mention GstThread (#340611)
3763         * docs/manual/basics-elements.xml:
3764         Update link to GObject tutorial (#340607)
3765         
3766 2006-05-05  Wim Taymans  <wim@fluendo.com>
3767
3768         * gst/gstbuffer.h:
3769         * gst/gstminiobject.c:
3770         Add note about refcounting and miniobject/buffer writeability
3771         to docs. Fixes #340604
3772
3773         * gst/gstelementfactory.h:
3774         Added some explanation about @klass.
3775
3776 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3777
3778         * docs/manual/intro-motivation.xml:
3779         * docs/manual/manual.xml:
3780         Avoid CORBA & Bonobo references (#340598)
3781
3782 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3783
3784         * docs/manual/basics-bus.xml:
3785         * docs/manual/basics-pads.xml:
3786         Fix up some inaccuracies and omissions (#340609)
3787         
3788 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3789
3790         * gst/gstghostpad.c:
3791           Small typo in docs (#340625)
3792
3793 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3794
3795         * gst/parse/Makefile.am:
3796           Make 'make -j' proof (see #340698).
3797
3798 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3799
3800         * configure.ac:
3801           Require GLib-2.8 here as well.
3802
3803 2006-05-05  Wim Taymans  <wim@fluendo.com>
3804
3805         * gst/glib-compat.c:
3806         * gst/gst.c: (init_pre):
3807         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
3808         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
3809         (gst_object_dispatch_properties_changed):
3810         * gst/gstobject.h:
3811         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
3812         * gst/gststructure.c: (gst_structure_set_valist):
3813         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3814         Remove pre glib2.8 compatibility, fixes #340508
3815
3816 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
3817
3818         * gst/gsttaglist.h:
3819           Mention type of tags in doc blurbs.
3820
3821 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
3822
3823         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
3824         (gst_pad_configure_src), (gst_pad_push):
3825         Restore acceptcaps checking behaviour now that good plugins have
3826         been released.
3827
3828 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
3829
3830         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
3831
3832         * gst/gst.c:
3833         * gst/gstbus.c:
3834         * gst/gstclock.c:
3835         * gst/gstevent.c:
3836         * gst/gstformat.c:
3837         * gst/gstmessage.c:
3838         * gst/gstparse.c:
3839         * gst/gstquery.c:
3840         * gst/gstutils.c:
3841         * gst/parse/Makefile.am:
3842         * libs/gst/base/gstadapter.c:
3843         * libs/gst/base/gstbasesrc.c:
3844         * libs/gst/base/gstpushsrc.c:
3845         * libs/gst/base/gsttypefindhelper.c:
3846         * plugins/elements/gstfakesrc.c:
3847         * plugins/elements/gstidentity.c:
3848           Make sure gstprivate.h and/or config.h are
3849           always included first, otherwise some of our
3850           defines (like _FILE_OFFSET_BITS) might be
3851           redefined in the system headers. Fixes build
3852           on opensolaris (#340016).
3853
3854 2006-05-04  Wim Taymans  <wim@fluendo.com>
3855
3856         * docs/libs/gstreamer-libs-sections.txt:
3857         API: addition: gst_adapter_take_buffer()
3858         
3859         * libs/gst/base/gstadapter.c: (gst_adapter_push),
3860         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
3861         (gst_adapter_available_fast):
3862         * libs/gst/base/gstadapter.h:
3863         Prepare for optimizing the hell out of this hugely inefficient
3864         piece of code. 
3865         Added gst_adapter_take_buffer() so we can at least start thinking
3866         about subbuffering and merging.
3867         Added some comments.
3868
3869         * tests/check/Makefile.am:
3870         * tests/check/libs/adapter.c: (GST_START_TEST),
3871         (gst_adapter_suite), (main):
3872         Added GstAdapter check.
3873
3874 2006-05-04  Wim Taymans  <wim@fluendo.com>
3875
3876         * docs/design/part-overview.txt:
3877         Fix some typos, add blurb about buffer flags.
3878
3879 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3880
3881         * docs/libs/gstreamer-libs-sections.txt:
3882           make sure GstBaseTransformClass shows up in the docs
3883         * libs/gst/base/gstbasetransform.c:
3884         * libs/gst/base/gstbasetransform.h:
3885           move docs so gtk-doc picks it up now
3886
3887 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
3888
3889         * docs/libs/gstreamer-libs-sections.txt:
3890           add missing symbols to docs
3891
3892 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
3893
3894         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
3895           back out the newsegment handling change, see #340060 for ongoing
3896           discussion
3897
3898 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
3899
3900         * tools/gst-run.c: (get_candidates), (main):
3901           Fix wrong g_file_test() usage (see glib docs for why it doesn't
3902           work); fix typo in error message. Fixes #340079.
3903
3904 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3905
3906         * common/Makefile.am:
3907         * docs/Makefile.am:
3908         * docs/faq/Makefile.am:
3909         * docs/gst/Makefile.am:
3910         * docs/libs/Makefile.am:
3911         * docs/manual/Makefile.am:
3912         * docs/plugins/Makefile.am:
3913         * docs/pwg/Makefile.am:
3914         * docs/slides/Makefile.am:
3915         * docs/upload.mak:
3916         * common/upload.mak:
3917           move upload.mak to common
3918
3919 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3920
3921         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3922           add more asserts on refcounts
3923           do more cleanup at end of tests
3924           fix test leaks showing in FC5
3925
3926 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
3927
3928         * plugins/elements/gsttypefindelement.c:
3929         (gst_type_find_element_handle_event):
3930         reverted wrong change and reflowed code to avoid others falling into
3931         this trap
3932
3933 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3934
3935         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
3936           fix changelog entry about last collectpads change,
3937           add notes about proper fix
3938
3939 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3940
3941         * gst/gst.c:
3942         * gst/gstregistry.c: (gst_registry_scan_path_level),
3943         (gst_registry_scan_path):
3944         * gst/gstregistry.h:
3945           only write out registry if it has changed, fixes #338339
3946
3947 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3948
3949         * gst/gstbin.c:
3950         * gst/gstpipeline.c:
3951         * plugins/elements/gstcapsfilter.c:
3952         * plugins/elements/gstfakesink.c:
3953         * plugins/elements/gstfakesrc.c:
3954         * plugins/elements/gstfdsink.c:
3955         * plugins/elements/gstfdsrc.c:
3956         * plugins/elements/gstfilesink.c:
3957         * plugins/elements/gstfilesrc.c:
3958         * plugins/elements/gstidentity.c:
3959         * plugins/elements/gstqueue.c:
3960         * plugins/elements/gsttee.c:
3961         * plugins/elements/gsttypefindelement.c:
3962         (gst_type_find_element_handle_event):
3963           make GstElementDetails const
3964
3965 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3966
3967         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
3968         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3969         (gst_collect_pads_is_collected), (gst_collect_pads_event):
3970           more detailed debug and formatting cleanup,
3971           forward newsegments to src-pad (so that e.g. adder not eats them)
3972
3973 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3974
3975         * gst/gstutils.c: (gst_element_link_pads):
3976           cleanup double code
3977
3978 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3979
3980         * libs/gst/controller/gstcontroller.c:
3981         (gst_controller_sync_values):
3982           some little tuning
3983         * tests/check/libs/controller.c: (GST_START_TEST),
3984         (gst_controller_suite):
3985           a new test for live value handling
3986
3987 2006-04-28  Wim Taymans  <wim@fluendo.com>
3988
3989         * gst/gstutils.c: (push_and_ref):
3990         Added some more docs.
3991         Fix refcount issue whith gst_element_found_tags() helper 
3992         function. Fixes #338335
3993
3994         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3995         Added testsuite for gst_element_found_tags().
3996
3997 2006-04-28  Michael Smith  <msmith@fluendo.com>
3998
3999         * gst/gstvalue.c: (gst_value_serialize_flags):
4000           Avoid NULL dereference when trying to serialize flags containing
4001           invalid values.
4002
4003 2006-04-28  Michael Smith  <msmith@fluendo.com>
4004
4005         * plugins/elements/gsttypefindelement.c:
4006         (gst_type_find_element_handle_event):
4007           If we get EOS before any data is accumulated, don't use
4008           uninitialised local variables.
4009
4010 2006-04-28  Michael Smith  <msmith@fluendo.com>
4011
4012         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
4013         (gst_dp_event_from_packet):
4014           Fixes in reading/writing events over GDP (not currently used?) - 
4015           dereferencing NULL events for unknown/invalid event types, memory
4016           leak, and change g_warning to GST_WARNING.
4017
4018 2006-04-28  Wim Taymans  <wim@fluendo.com>
4019
4020         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
4021         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
4022         (gst_base_sink_get_position), (gst_base_sink_change_state):
4023         When frame dropping is enabled, we should not ignore frames
4024         without a duration.
4025         Update some documentation.
4026
4027 2006-04-28  Wim Taymans  <wim@fluendo.com>
4028
4029         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
4030         (gst_base_src_send_event), (gst_base_src_change_state):
4031         Documentation updates.
4032
4033 2006-04-28  Wim Taymans  <wim@fluendo.com>
4034
4035         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4036         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
4037         handle EAGAIN, EINTR and short writes correctly. Also clean
4038         up some error cases, avoid a deadlock on bad file descriptors and
4039         use GST_DEBUG_OBJECT.
4040         Fixes #339843
4041
4042 2006-04-28  Wim Taymans  <wim@fluendo.com>
4043
4044         * gst/gstvalue.c: (gst_value_serialize_buffer),
4045         (gst_value_deserialize_buffer):
4046         Don't try to serialize a GValue with a NULL buffer. 
4047         Fixes #339821.
4048
4049         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4050         Added check for serialisation of NULL buffers.
4051
4052 2006-04-28  Wim Taymans  <wim@fluendo.com>
4053
4054         * gst/gstminiobject.c: (gst_value_take_mini_object):
4055         Taking a NULL miniobject is valid, fix the case where
4056         we try to unref the NULL miniobject.
4057
4058 2006-04-28  Wim Taymans  <wim@fluendo.com>
4059
4060         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
4061
4062         * gst/gstbin.c: (gst_bin_handle_message_func):
4063         Update docs.
4064         Don't leak bin refcount when a state recalc is
4065         in progress and we delay another one #339808.
4066
4067 2006-04-28  Wim Taymans  <wim@fluendo.com>
4068
4069         * docs/design/part-TODO.txt:
4070         Mention QoS as an ongoing work item.
4071
4072         * docs/design/part-buffering.txt:
4073         New doc about buffering that needs to be fleshed out
4074         at some point.
4075
4076         * docs/design/part-qos.txt:
4077         More QoS policy for decoders/demuxers/transforms
4078
4079         * docs/design/part-trickmodes.txt:
4080         Small update.
4081
4082 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4083
4084         * configure.ac:
4085           back to HEAD
4086
4087 === release 0.10.5 ===
4088
4089 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
4090
4091         * configure.ac:
4092           releasing 0.10.5, "Fogo"
4093
4094 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4095
4096         patch by: Wim Taymans
4097
4098         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
4099         (gst_pad_configure_src), (gst_pad_push):
4100         * gst/gstpipeline.c: (gst_pipeline_init):
4101           Fix internal data flow errors.  Fixes #338711.
4102
4103 2006-04-12  Wim Taymans  <wim@fluendo.com>
4104
4105         * tests/check/gst/gstelement.c: (GST_START_TEST):
4106         Don't leak the factory.
4107
4108 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4109
4110         * configure.ac:
4111         * win32/common/config.h:
4112           prerelease
4113
4114 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
4115
4116         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
4117         (gst_controller_unset_all):
4118           Free allocated GstTimedValues when freeing list nodes.
4119           Should fix leaks 'make check-valgrind' complains about.
4120
4121         * win32/common/libgstcontroller.def:
4122           Add gst_controller_unset_all.
4123
4124 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
4125
4126         * docs/libs/gstreamer-libs-sections.txt:
4127         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
4128         (gst_controller_unset_all):
4129         * libs/gst/controller/gstcontroller.h:
4130         API: Added new method gst_controller_unset_all()
4131         fixed gst_controller_unset()
4132         * tests/check/libs/controller.c: (GST_START_TEST),
4133         (gst_controller_suite):
4134         Added two testcases for new and fixed method
4135
4136 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
4137
4138         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
4139           MSG_DONTWAIT is not defined on Cygwin, so work
4140           around that (fixes #317048).
4141           
4142 2006-04-11  Wim Taymans  <wim@fluendo.com>
4143
4144         * gst/gstelementfactory.c: (gst_element_register),
4145         (gst_element_factory_create), (gst_element_factory_make):
4146         Some cleanups.
4147         Fixed a FIXME.
4148         Updated docs (Fixes #131079)
4149
4150         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4151         Small cleanups.
4152
4153         * tests/check/gst/gstelement.c: (GST_START_TEST),
4154         (gst_element_suite):
4155         Added testcase for elementfactory class field.
4156
4157 2006-04-10  Wim Taymans  <wim@fluendo.com>
4158
4159         * gst/gstsegment.c:
4160         Added some more docs.
4161
4162         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
4163         (gst_base_sink_reset_qos):
4164         Calculate more accurate rate values.
4165
4166 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
4167
4168         * gst/gst_private.h:
4169           add a new #ifdef to use __declspec(dllimport) only for
4170           other modules and not for gstreamer core
4171         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
4172           use gst_guint64_to_gdouble for conversion
4173         * win32/common/libgstreamer.def:
4174           add new exported functions
4175         * win32/vs6/gst_inspect.dsp:
4176         * win32/vs6/gst_launch.dsp:
4177         * win32/vs6/libgstbase.dsp:
4178         * win32/vs6/libgstcontroller.dsp:
4179         * win32/vs6/libgstcoreelements.dsp:
4180         * win32/vs6/libgstdataprotocol.dsp:
4181         * win32/vs6/libgstnet.dsp:
4182           update project files
4183
4184 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
4185
4186         * gst/gstbuffer.c: (gst_subbuffer_class_init):
4187         * gst/gstclock.c: (gst_clock_class_init):
4188         * gst/gstelement.c: (gst_element_class_init):
4189         * gst/gstindex.c: (gst_index_class_init):
4190         * gst/gstindexfactory.c: (gst_index_factory_class_init):
4191         * gst/gstobject.c: (gst_object_class_init),
4192         (gst_signal_object_class_init):
4193         * gst/gstpad.c: (gst_pad_class_init):
4194         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
4195         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
4196         * gst/gstregistry.c: (gst_registry_class_init):
4197         * gst/gstsystemclock.c: (gst_system_clock_class_init):
4198         * gst/gsttask.c: (gst_task_class_init):
4199         * gst/gstxml.c: (gst_xml_class_init):
4200         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4201         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4202         (gst_base_src_loop):
4203         * libs/gst/controller/gstcontroller.c:/
4204         (_gst_controller_class_init):
4205         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
4206         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
4207         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
4208         * tests/old/examples/plugins/example.c: (gst_example_class_init):
4209         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
4210         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
4211
4212 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
4213
4214         * gst/gstpad.c: (gst_pad_link):
4215           Must set peer pads before calling the link function, otherwise
4216           a task started from a link function might get a flow-not-linked
4217           result when trying to push because the other thread where the
4218           linking happens hasn't had a chance to set the peers yet. This
4219           might happen for example when a queue gets linked to a downstream
4220           element, as queue starts a streaming task when its source pad
4221           gets linked. Happens in real life when playing back flac/musepack
4222           files in playbin (#332390).
4223           
4224 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
4225
4226         * gst/gstindex.h:
4227         * gst/gstxml.h:
4228         * libs/gst/base/gstadapter.h:
4229         * libs/gst/base/gstbasesink.h:
4230         * libs/gst/base/gstbasesrc.h:
4231         * libs/gst/base/gstbasetransform.h:
4232         * libs/gst/base/gstcollectpads.h:
4233         * libs/gst/base/gstpushsrc.h:
4234         Fix broken GObject macros
4235
4236 2006-04-07  Wim Taymans  <wim@fluendo.com>
4237
4238         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4239         Initialize start and stop times, thanks valgrind.
4240
4241 2006-04-07  Wim Taymans  <wim@fluendo.com>
4242
4243         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4244         Be a bit nicer to badly behaving upstream elements that expect
4245         us to deal with non TIME segments and timestamps (such as fakesrc
4246         in the testsuite).
4247
4248 2006-04-07  Wim Taymans  <wim@fluendo.com>
4249
4250         * gst/gstbus.c:
4251         Small documentation clarification about the signal watch.
4252
4253         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
4254         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
4255         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
4256         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
4257         (gst_base_sink_get_position_last),
4258         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
4259         Convert and store timestamps in stream time and running time, the
4260         raw timestamps are not usefull, also document this better.
4261         Use different window sizes for good and bad QoS observations so
4262         we react to badness a little quicker.
4263         Keep track of the amount of rendered and dropped buffers.
4264         Send QoS timestamps in running time.
4265
4266         * libs/gst/base/gstbasetransform.c:
4267         (gst_base_transform_sink_eventfunc),
4268         (gst_base_transform_handle_buffer):
4269         Compare QoS timestamps against running time.
4270
4271 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
4272
4273         * gst/gstpad.c:
4274           Typo fixes in docs.
4275
4276 2006-04-06  Michael Smith  <msmith@fluendo.com>
4277
4278         * gst/gstpad.c: (gst_pad_set_property):
4279           Use g_value_get_object() instead of g_value_dup_gst_object(),
4280           to avoid double-reffing the pad template (which we then sink,
4281           so this worked previously if (and only if) the pad template
4282           was floating.
4283
4284         * gst/gstpadtemplate.c: (gst_pad_template_init),
4285         (gst_pad_template_pad_created):
4286           Never return floating references to pad templates, create
4287           them as initially-sunken.
4288
4289           Document an extra function (and make this stop sinking our
4290           pad template, since that is now guaranteed to do nothing,
4291           since we created it sunken).
4292
4293         * gst/gstghostpad.c:
4294           Fix docs typo.
4295
4296 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
4297
4298         * gst/gstinfo.c: (__gst_in_valgrind):
4299           Add some newlines.
4300
4301         * plugins/elements/gsttypefindelement.c:
4302         (gst_type_find_element_chain):
4303           Don't leak buffer caps.
4304
4305 2006-04-06  Michael Smith  <msmith@fluendo.com>
4306
4307         * gst/parse/grammar.y:
4308           Fix a leak in parse-launch for any source-or-sink named element 
4309           references used.
4310
4311         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
4312           Unref the pipeline if it exists after we've failed parsing.
4313
4314 2006-04-05  Michael Smith  <msmith@fluendo.com>
4315
4316         * gst/gstpipeline.c: (gst_pipeline_init):
4317           When we create a pipeline bus, initially create it in flushing mode.
4318           Fixes leaks in at least one test, and makes a new pipeline work the
4319           same as one that has gone to READY and then back to NULL.
4320
4321         * gst/gstelement.c:
4322           Typo fix in docs.
4323
4324 2006-04-05  Michael Smith  <msmith@fluendo.com>
4325
4326         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4327           Unref a pad we reffed.
4328         * tests/check/gst/gstutils.c: (GST_START_TEST):
4329           Unref bins
4330
4331 2006-04-05  Michael Smith  <msmith@fluendo.com>
4332
4333         * gst/gstquery.c: (gst_query_set_formats),
4334         (gst_query_set_formatsv):
4335           Fix leaking GValues in queries, as shown by valgrind/testsuite.
4336
4337 2006-04-05  Michael Smith  <msmith@fluendo.com>
4338
4339         * tests/check/generic/sinks.c: (GST_START_TEST):
4340           Fix a variety of memleaks in sinks check, which are only sometimes 
4341           shown by running the tests under valgrind (weird?).
4342
4343 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
4344
4345         * docs/version.entities.in:
4346           Fix the substituted entity name after thomas' changes on the
4347           weekend.
4348
4349 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4350
4351         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
4352         VALGRIND_PRINTF
4353         
4354 2006-04-05  Andy Wingo  <wingo@pobox.com>
4355
4356         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
4357
4358         * libs/gst/base/gstbasetransform.c
4359         (gst_base_transform_sink_eventfunc): When resetting our segment on
4360         FLUSH_STOP, also update the flag saying we haven't seen a
4361         newsegment.
4362
4363 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
4364
4365         Patch by: Paolo Borelli  <pborelli at katamail dot com>
4366
4367         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
4368         (gst_plugin_check_license):
4369           minor clean-ups: G_DEFINE_TYPE already takes care of the
4370           parent_class stuff, no need to do it twice. Mark array of
4371           license strings as constant. (#337103)
4372           
4373 2006-04-04  Michael Smith  <msmith@fluendo.com>
4374
4375         * tools/gst-inspect.c: (print_element_list):
4376           Free the right plugin list; fixes a memory leak.
4377
4378 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
4379
4380         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
4381
4382         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
4383           Don't error out on empty buffers (#336945).
4384           
4385 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
4386
4387         * docs/libs/gstreamer-libs-sections.txt:
4388         * gst/gsttaglist.c:
4389         * libs/gst/base/gstbasesink.c:
4390         * libs/gst/base/gstbasesink.h:
4391         * libs/gst/base/gstbasesrc.c:
4392         * libs/gst/base/gstbasesrc.h:
4393           Documentation updates. Make BaseSink and BaseSrc docs contain the
4394           class structure so that people can actually see the prototypes for
4395           virtual functions they're supposed to be overriding.
4396
4397 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
4398
4399         * plugins/elements/gsttypefindelement.c:
4400         (gst_type_find_element_chain):
4401           More debug info; when skipping typefinding, send cached
4402           events in all cases.
4403
4404 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4405
4406         * configure.ac:
4407           use new AS_VERSION and AS_NANO macros
4408         * gst/gst-i18n-lib.h:
4409         * gst/gst.c:
4410         * gst/gsterror.c:
4411         * gst/gstversion.h.in:
4412         * win32/common/config.h:
4413         * win32/common/config.h.in:
4414           update accordingly
4415
4416 2006-03-31  Michael Smith  <msmith@fluendo.com>
4417
4418         * plugins/elements/gsttypefindelement.c:
4419         (gst_type_find_element_chain):
4420           Do not typefind content if the buffers already have caps.
4421           Neccesary for icydemux (#333657), and the right thing to do anyway.
4422
4423 2006-03-30  Wim Taymans  <wim@fluendo.com>
4424
4425         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4426         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
4427         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
4428         (gst_base_sink_record_qos_observation),
4429         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
4430         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
4431         (gst_base_sink_change_state):
4432         More QoS measurements as described in the design doc.
4433         Get rid of ringbuffer with observations, running average is
4434         more simple and equally good.
4435         Calculates valid proportion now.
4436         Added beginning of flood measurement.
4437
4438 2006-03-29  Wim Taymans  <wim@fluendo.com>
4439
4440         * docs/design/part-qos.txt:
4441         * gst/gstclock.c:
4442         Small documentation updates and additions.
4443
4444 2006-03-29  Wim Taymans  <wim@fluendo.com>
4445
4446         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
4447         (gst_base_src_send_event), (gst_base_src_loop),
4448         (gst_base_src_change_state):
4449         Perform the EOS logic when we reach the segment stop position.
4450         Fix compilation on gcc4.1
4451
4452 2006-03-29  Wim Taymans  <wim@fluendo.com>
4453
4454         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
4455
4456         * plugins/elements/gstqueue.c: (gst_queue_init),
4457         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
4458         (gst_queue_set_property):
4459         * plugins/elements/gstqueue.h:
4460         In queue, when EOS is received, if minimum threshold > max_size -
4461         current_level, there is chance that queue blocks forever in conditional
4462         item del wait. This is because the queue is not emptied completely due
4463         to minimum threshold.  Here is another approach. Instead of setting
4464         cur_levels to max in EOS, just zero all minimum threshold levels. This
4465         should make sure that queue gives out all data. When going to READY
4466         (stop) state, just reset the original minimum threshold levels.
4467         Fixes #336336.
4468
4469 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
4470
4471         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
4472         (gst_type_find_element_handle_event),
4473         (gst_type_find_element_send_cached_events),
4474         (gst_type_find_element_change_state):
4475         * plugins/elements/gsttypefindelement.h:
4476           When typefinding is done in push mode, we should cache
4477           events we receive during typefinding instead of just
4478           dropping them (e.g. newsegment, custom events from
4479           dvdreadsrc etc.) and then send them out once we've
4480           determined the type of the stream (and decodebin
4481           has had a chance to plug in a decoder/demuxer).
4482           
4483 2006-03-27  Wim Taymans  <wim@fluendo.com>
4484
4485         * docs/design/part-qos.txt:
4486         First QoS ideas.
4487
4488 2006-03-27  Wim Taymans  <wim@fluendo.com>
4489
4490         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
4491
4492         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
4493         (gst_base_src_send_event), (gst_base_src_change_state):
4494         Handle element seek correctly when we are streaming.
4495         Fixes #326998.
4496
4497 2006-03-24  Michael Smith  <msmith@fluendo.com>
4498
4499         * docs/faq/gst-uninstalled:
4500           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
4501           allow you to correctly run intalled applications built against old 
4502           core, using plugins that require updated core (e.g. running
4503           installed totem against a full uninstalled gstreamer stack)
4504
4505 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
4506
4507         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
4508         more debug details
4509
4510 2006-03-24  Wim Taymans  <wim@fluendo.com>
4511
4512         * docs/gst/gstreamer-sections.txt:
4513         Rearrange the order of the methods so that related methods
4514         are grouped together in sections.
4515
4516 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
4517
4518         * gst/gstelement.c:
4519           Little clarification in the docs
4520
4521 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
4522
4523         * docs/README:
4524         formatting fix
4525         * plugins/elements/gstidentity.c:
4526         * plugins/elements/gstqueue.c:
4527         * plugins/elements/gsttee.c:
4528         * plugins/elements/gsttypefindelement.c:
4529         GST_ELEMENT_DETAILS formatting
4530
4531 2006-03-24  Wim Taymans  <wim@fluendo.com>
4532
4533         * libs/gst/base/gstbasesink.h:
4534         Only add fields, not insert or we break ABI.
4535
4536 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
4537
4538         * win32/common/libgstbase.def:
4539         * win32/common/libgstreamer.def:
4540           Update, add recently added functions.
4541
4542 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
4543
4544         * docs/gst/gstreamer-sections.txt:
4545         * gst/gstutils.c: (gst_pad_query_peer_position),
4546         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
4547         * gst/gstutils.h:
4548           API: add some new utility functions:
4549            - gst_pad_query_peer_position()
4550            - gst_pad_query_peer_duration()
4551            - gst_pad_query_peer_convert()
4552           
4553 2006-03-23  Wim Taymans  <wim@fluendo.com>
4554
4555         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4556         (gst_base_sink_init), (gst_base_sink_finalize),
4557         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
4558         (gst_base_sink_set_property), (gst_base_sink_get_property),
4559         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
4560         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
4561         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
4562         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
4563         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
4564         (gst_base_sink_preroll_object), (gst_base_sink_event),
4565         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
4566         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
4567         (gst_base_sink_query), (gst_base_sink_change_state):
4568         Decouple max-lateness and the fact that QoS messages are generated
4569         with a new property (qos).
4570         added API: GstBaseSink::async_play()
4571         Add vmethod so subclasses can be notified of ASYNC playing
4572         state changes.
4573         Collect timestamp start and stop to report better current
4574         position in EOS/PLAYING/PAUSED/READY/NULL.
4575         Refactor QoS/frame dropping and other measurements.
4576         API: GstBaseSrc::qos
4577         Fixes #326311
4578
4579         * libs/gst/base/gstbasesink.h:
4580         Added Private struct.
4581         API: gst_base_sink_set_qos_enabled()
4582         API: gst_base_sink_is_qos_enabled()
4583
4584 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
4585
4586         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
4587           If compiling against GLib-2.8 or newer, try to read the
4588           registry file using GMappedFile first before falling back
4589           to fopen() + fread() (#332151).
4590
4591 2006-03-22  Wim Taymans  <wim@fluendo.com>
4592
4593         * gst/gstinfo.c: (gst_debug_set_active),
4594         (gst_debug_category_set_threshold):
4595         Disable debugging unless explicitly activated.
4596         Fixes #335480.
4597
4598 2006-03-22  Wim Taymans  <wim@fluendo.com>
4599
4600         * gst/gstelement.c: (gst_element_set_locked_state),
4601         (gst_element_dispose):
4602         Cleanup the error case.
4603
4604         * gst/gstobject.c: (gst_object_dispose):
4605         print a critical when some object was disposed with
4606         a parent, also revive the object since it might
4607         crash the parent.
4608
4609 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
4610
4611         * tools/gst-launch.1.in:
4612           Fix another typo.
4613
4614 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4615
4616         * configure.ac:
4617         * tests/check/Makefile.am:
4618           disable some tests when we don't have a registry
4619         * tests/check/gst/gstutils.c: (gst_utils_suite):
4620           don't build the part that needs parsing
4621
4622 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4623
4624         * gst/Makefile.am
4625         * tests/examples/Makefile.am:
4626           fix --disable-parse build
4627
4628 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4629
4630         * tools/gst-feedback.1.in:
4631           Fix typo: s/feeback/feedback/ (#133494).
4632
4633 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4634
4635         * tools/Makefile.am:
4636         * tools/gst-launch.1.in:
4637           Add FILES section and correct entry about GST_REGISTRY_PATH
4638           environment variable (#133495; #133494).
4639
4640 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4641
4642         * tools/Makefile.am:
4643         * tools/gst-md5sum.1.in:
4644         * tools/gst-md5sum.c:
4645           Remove gst-md5sum and man page (the md5sink element
4646           required was removed ages ago)
4647
4648 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4649
4650         * gst/gststructure.c: (gst_structure_id_set_value):
4651           Make sure that string fields in structures/taglists
4652           contain valid UTF-8 - we don't want to pass rubbish to
4653           applications because of a buggy plugin (cp. #334167).
4654
4655 2006-03-21  Edward Hervey  <edward@fluendo.com>
4656
4657         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
4658         (gst_bin_handle_message_func):
4659         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
4660         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
4661         (gst_element_set_bus_func):
4662         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
4663         * gst/gstminiobject.c: (gst_value_set_mini_object),
4664         (gst_value_take_mini_object):
4665         * gst/gstpad.c: (gst_pad_set_pad_template):
4666         * gst/gstpipeline.c: (gst_pipeline_dispose),
4667         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4668         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
4669         (gst_collect_pads_chain):
4670         * libs/gst/net/gstnettimeprovider.c:
4671         (gst_net_time_provider_set_property):
4672         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
4673         It's in fact all issues with gst_*object_replace().
4674
4675 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4676
4677         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
4678         
4679         * pkgconfig/gstreamer-check-uninstalled.pc.in:
4680         * pkgconfig/gstreamer-check.pc.in:
4681           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
4682
4683 2006-03-21  Edward Hervey  <edward@fluendo.com>
4684
4685         * gst/gstbuffer.h:
4686         * gst/gstevent.h:
4687         * gst/gstmessage.h:
4688         gst_[buffer|event|message]_ref() macros are replaced by a static
4689         inline functions because gcc-4.1 will about if the return value
4690         isn't used.
4691         * tests/check/gst/gstevent.c: (event_probe):
4692         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
4693
4694 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
4695
4696         * gst/gstutils.h:
4697         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
4698         the type' case. (Closes: #335195 for now). In the future, when we
4699         depend on GLib 2.10, we could also intern the type name using
4700         g_intern_static_string()
4701
4702 2006-03-20  Wim Taymans  <wim@fluendo.com>
4703
4704         * gst/gstbin.c: (gst_bin_handle_message_func),
4705         (bin_query_max_init), (bin_query_position_fold),
4706         (bin_query_position_done), (gst_bin_query):
4707         Position query should also take max of all streams.
4708
4709 2006-03-20  Wim Taymans  <wim@fluendo.com>
4710
4711         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4712         (gst_fake_src_finalize):
4713         Fix leaks in fakesrc.
4714
4715         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4716         Fix leaks in the testcase.
4717
4718 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
4719
4720         * gst/gst_private.h:
4721           add win32 specific import decoration(__declspec(dllimport)) 
4722           for all extern GstDebugCategory * variables
4723         * win32/common/libgstbase.def:
4724         * win32/common/libgstcontroller.def:
4725         * win32/common/libgstreamer.def:
4726           Add some exports, remove empty lines
4727         * win32/common/libgstdataprotocol.def:
4728         * win32/common/libgstdataprotocol.dsp:
4729         * win32/common/libgstnet.def:
4730         * win32/common/libgstnet.dsp:
4731           new project files and exportation files added
4732         
4733 2006-03-19  Wim Taymans  <wim@fluendo.com>
4734
4735         * tests/check/libs/basesrc.c: (eos_event_counter):
4736         Use proper return value for probe.
4737
4738 2006-03-17  Wim Taymans  <wim@fluendo.com>
4739
4740         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
4741         (gst_pad_push):
4742         Don't leak buffers, caps and pads on negotiation errors.
4743
4744 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
4745
4746         * docs/faq/cvs.xml:
4747         * docs/faq/dependencies.xml:
4748         * docs/faq/developing.xml:
4749         * docs/faq/faq.xml:
4750         * docs/faq/general.xml:
4751         * docs/faq/getting.xml:
4752         * docs/faq/legal.xml:
4753         * docs/faq/troubleshooting.xml:
4754         * docs/faq/using.xml:
4755         Faq review and update.
4756
4757 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
4758
4759         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
4760         (gst_pad_push):
4761         Don't pound the cpu to pieces by checking get_caps when accept_caps
4762         is called with the same caps as the pad already has.
4763         Use GST_DEBUG_OBJECT when outputting caps change information.
4764
4765 2006-03-15  Wim Taymans  <wim@fluendo.com>
4766
4767         * gst/gstclock.c: (gst_clock_class_init):
4768         Fix docs.
4769
4770 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
4771
4772         * gst/gstbuffer.h:
4773         Documentation fix.
4774
4775         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
4776         (gst_pad_accept_caps), (gst_pad_configure_sink),
4777         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
4778         Make the default acceptcaps behaviour be to check the requested 
4779         caps against the gst_pad_get_caps output. 
4780
4781         Ensure that gst_pad_accept_caps is used to check caps when a pad
4782         doesn't have a setcaps function, so that pads automatically refuse 
4783         caps that they don't allow in their pad template. (Fixes #332986)
4784
4785         When a buffer with attached caps is pushed, ensure that the source 
4786         pad receives those caps even if the element didn't call
4787         gst_pad_set_caps first.
4788
4789 2006-03-15  Wim Taymans  <wim@fluendo.com>
4790
4791         * libs/gst/base/gstadapter.c:
4792         Add some docs.
4793
4794 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
4795
4796         * win32/common/libgstbase.def:
4797         * win32/common/libgstcontroller.def:
4798         * win32/common/libgstreamer.def:
4799           Add a whole bunch of missing functions (#334434).
4800
4801 2006-03-14  Wim Taymans  <wim@fluendo.com>
4802
4803         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
4804         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
4805         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
4806         Better debug info when we receive a segment event.
4807         Reorganize a bit so we can pass the get_times() results around.
4808         Use the segment format when calculating the running time.
4809         Don't do QoS is sync is disabled or we have no clock or the
4810         element does not want us to sync to the clock.
4811         Don't drop buffers if QoS is disabled for now.
4812
4813 2006-03-14  Wim Taymans  <wim@fluendo.com>
4814
4815         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
4816         Marked the stats property as unimplemented so people don't get
4817         wild ideas.
4818         Add debug message when regression goes wrong.
4819         Added some more docs.
4820
4821 2006-03-14  Wim Taymans  <wim@fluendo.com>
4822
4823         * gst/gstsegment.c: (gst_segment_to_stream_time):
4824         Return correct return type in case of errors.
4825
4826 2006-03-14  Wim Taymans  <wim@fluendo.com>
4827
4828         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
4829           Don't segfault on invalid formats.
4830
4831 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
4832
4833         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4834           Can't use gst_segment_to_running_time() when the segment
4835           is not in GST_TIME_FORMAT (like with filesink, for example).
4836           Stops flac encoding pipelines from spewing critical warnings
4837           at EOS (#331248).
4838           
4839 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
4840
4841         * gst/gstpipeline.c: (gst_pipeline_class_init):
4842           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
4843
4844         * plugins/elements/gsttypefindelement.c:
4845         (gst_type_find_element_handle_event):
4846           Don't try to typefind empty streams.
4847
4848 2006-03-14  Wim Taymans  <wim@fluendo.com>
4849
4850         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
4851         (gst_base_sink_do_qos):
4852         Separate QoS calculation.
4853         Only drop buffers when lateness is bigger than the 
4854         duration of the buffer.
4855
4856 2006-03-13  Wim Taymans  <wim@fluendo.com>
4857
4858         * gst/gstpipeline.c: (gst_pipeline_set_property),
4859         (gst_pipeline_get_property), (do_pipeline_seek),
4860         (gst_pipeline_change_state), (gst_pipeline_set_delay),
4861         (gst_pipeline_get_delay):
4862         Don't deadlock when reading properties.
4863
4864 2006-03-13  Wim Taymans  <wim@fluendo.com>
4865
4866         * libs/gst/base/gstbasetransform.c:
4867         (gst_base_transform_class_init), (gst_base_transform_init),
4868         (gst_base_transform_sink_event),
4869         (gst_base_transform_sink_eventfunc),
4870         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
4871         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
4872         (gst_base_transform_set_property),
4873         (gst_base_transform_get_property),
4874         (gst_base_transform_change_state), (gst_base_transform_update_qos),
4875         (gst_base_transform_set_qos_enabled),
4876         (gst_base_transform_is_qos_enabled):
4877         * libs/gst/base/gstbasetransform.h:
4878         Make basetransform virtual method for src events too.
4879         Handle QOS in basetransform.
4880         API: gst_base_transform_update_qos()
4881         API: gst_base_transform_set_qos_enabled()
4882         API: gst_base_transform_is_qos_enabled()
4883
4884 2006-03-13  Wim Taymans  <wim@fluendo.com>
4885
4886         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4887         (gst_base_sink_do_sync):
4888         Small cleanups.
4889         Use QOS debug category.
4890
4891 2006-03-13  Wim Taymans  <wim@fluendo.com>
4892
4893         * plugins/elements/gstqueue.c:
4894         Very small doc update.
4895
4896 2006-03-13  Wim Taymans  <wim@fluendo.com>
4897
4898         * gst/gst_private.h:
4899         * gst/gstinfo.c: (_gst_debug_init):
4900         Added QOS debug category
4901
4902 2006-03-13  Wim Taymans  <wim@fluendo.com>
4903
4904         * docs/gst/gstreamer-sections.txt:
4905         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
4906         * gst/gstbin.h:
4907         * gst/gstbus.c: (gst_bus_class_init):
4908         * gst/gstbus.h:
4909         * gst/gstclock.c:
4910         * gst/gstelement.c: (gst_element_set_locked_state):
4911         * gst/gstsegment.c:
4912         Documentation updates.
4913
4914         * gst/gstpipeline.c: (gst_pipeline_get_type),
4915         (gst_pipeline_class_init), (gst_pipeline_init),
4916         (gst_pipeline_dispose), (gst_pipeline_set_property),
4917         (gst_pipeline_get_property), (do_pipeline_seek),
4918         (gst_pipeline_send_event), (gst_pipeline_change_state),
4919         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
4920         (gst_pipeline_get_delay):
4921         * gst/gstpipeline.h:
4922         Added methods for setting the delay.
4923         API: gst_pipeline_set_delay()
4924         API: gst_pipeline_get_delay()
4925         Add pipeline debug category
4926         Various cleanups.
4927         Updated docs.
4928         Don't reset stream time when seek failed.
4929
4930 2006-03-13  Wim Taymans  <wim@fluendo.com>
4931
4932         * docs/design/draft-klass.txt:
4933         * docs/design/part-clocks.txt:
4934         * docs/design/part-events.txt:
4935         * docs/design/part-gstbin.txt:
4936         * docs/design/part-gstpipeline.txt:
4937         * docs/design/part-messages.txt:
4938         * docs/design/part-negotiation.txt:
4939         * docs/design/part-overview.txt:
4940         * docs/design/part-preroll.txt:
4941         * docs/design/part-seeking.txt:
4942         * docs/design/part-states.txt:
4943         * docs/design/part-streams.txt:
4944         Documentation updates.
4945
4946 2006-03-12  Julien MOUTTE  <julien@moutte.net>
4947
4948         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
4949         us to leak strings...
4950
4951 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4952
4953         * libs/gst/net/gstnettimeprovider.c:
4954           fix docs
4955         * win32/common/config.h:
4956           update
4957
4958 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
4959
4960         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
4961
4962         * configure.ac:
4963           Don't check for libgnomeui (leftover from old examples
4964           that aren't built or disted any longer) (#334303).
4965           
4966 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
4967
4968         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
4969         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
4970           Emit RESOURCE_NO_SPACE_LEFT error here as well when
4971           there's no space left on the device.
4972
4973 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
4974
4975         * gst/gstclock.h:
4976           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
4977           to cast the input to GstClockTime before comparing with
4978           another GstClockTime value.
4979
4980 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4981
4982         * configure.ac:
4983           back to trunk
4984
4985 === release 0.10.4 ===
4986
4987 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
4988
4989         * configure.ac:
4990           releasing 0.10.4, "Light"
4991
4992 2006-03-10  Michael Smith  <msmith@fluendo.com>
4993
4994         * libs/gst/dataprotocol/dataprotocol.c:
4995           Fix docs for dataprocotol to not get the return types completely
4996           wrong for a few functions.
4997
4998 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
4999
5000         * docs/gst/gstreamer-sections.txt:
5001         * gst/gstpipeline.c: (gst_pipeline_class_init),
5002         (gst_pipeline_init), (gst_pipeline_set_property),
5003         (gst_pipeline_get_property), (gst_pipeline_change_state),
5004         (gst_pipeline_set_auto_flush_bus),
5005         (gst_pipeline_get_auto_flush_bus):
5006         * gst/gstpipeline.h:
5007           Add new API: gst_pipeline_set_auto_flush_bus() and
5008           gst_pipeline_get_auto_flush_bus() to disable automatic
5009           flushing of the pipeline's GstBus when going from READY
5010           to NULL state (#332045).
5011
5012 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
5013
5014         * docs/gst/gstreamer-sections.txt:
5015         * gst/gsturi.c: (gst_uri_has_protocol):
5016         * gst/gsturi.h:
5017            Add new API: gst_uri_has_protocol() (#333779).
5018
5019 2006-03-09  Wim Taymans  <wim@fluendo.com>
5020
5021         * gst/gstclock.c: (gst_clock_entry_new),
5022         (gst_clock_id_compare_func), (gst_clock_id_wait),
5023         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
5024         (gst_clock_init), (gst_clock_get_internal_time),
5025         (gst_clock_set_master), (do_linear_regression),
5026         (gst_clock_add_observation), (gst_clock_set_property):
5027         * gst/gstclock.h:
5028         Review docs.
5029         Small cleanups.
5030         Fix a possible segfault when the window-size is made smaller.
5031         Calculate jitter before performing the clock wait. Ideally
5032         the clock implementation should calculate jitter but we need
5033         API breakage for that.
5034
5035         * gst/gstsystemclock.c: (gst_system_clock_init):
5036         Docs review.
5037         
5038         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5039         Remove leftover else
5040
5041         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5042         (gst_systemclock_suite):
5043         Added check to test GST_CLOCK_DIFF.
5044
5045 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
5046
5047         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
5048         (gst_type_find_helper_get_range):
5049           If we are provided with the size, we should implement
5050           GstTypeFind::get_length, so that typefind functions who
5051           want to can actually peek at the middle of a file.
5052
5053 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
5054
5055         * docs/manual/advanced-dataaccess.xml:
5056           Add some very very basic error checking.
5057
5058         * docs/pwg/appendix-checklist.xml:
5059           Some updates to the list of things to check when writing an element.
5060
5061 2006-03-08  Wim Taymans  <wim@fluendo.com>
5062
5063         * docs/design/part-element-transform.txt:
5064         Added some docs about the design of tranform elements.
5065
5066         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5067         (gst_base_src_loop), (gst_base_src_change_state):
5068         Mark buffers with the DISCONT flag.
5069
5070 2006-03-08  Michael Smith  <msmith@fluendo.com>
5071
5072         * gst/gstregistry.h:
5073         * gst/gstregistryxml.c: (gst_registry_save),
5074         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
5075         (gst_registry_xml_save_pad_template),
5076         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
5077         (gst_registry_xml_write_cache):
5078           Rewrite registry-saving to avoid race conditions and check for
5079           failed writes.
5080
5081 2006-03-08  Wim Taymans  <wim@fluendo.com>
5082
5083         * libs/gst/base/gstbasetransform.c:
5084         (gst_base_transform_transform_caps),
5085         (gst_base_transform_transform_size),
5086         (gst_base_transform_prepare_output_buffer),
5087         (gst_base_transform_get_unit_size),
5088         (gst_base_transform_buffer_alloc),
5089         (gst_base_transform_handle_buffer),
5090         (gst_base_transform_change_state):
5091         Cleanups, separate normal flow from errors, add sensible
5092         DEBUG lines.
5093         Don't try to renegotiate when allocating an output buffer.
5094         Also copy DISCONT buffer flag when copying a buffer.
5095         Reset the transform after we finish streaming, not during.
5096
5097 2006-03-08  Wim Taymans  <wim@fluendo.com>
5098
5099         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5100         Use last buffer timestamp in qos message.
5101
5102 2006-03-07  Wim Taymans  <wim@fluendo.com>
5103
5104         Patch by: Christophe Fergeau
5105
5106         * docs/pwg/advanced-tagging.xml:
5107         * docs/pwg/building-pads.xml:
5108           fixes #333416
5109
5110 2006-03-07  Wim Taymans  <wim@fluendo.com>
5111
5112         * docs/libs/gstreamer-libs-sections.txt:
5113         Added basesink new methods.
5114
5115         * gst/gstevent.c:
5116         * gst/gstevent.h:
5117         Docs updates. Flesh out the QoS docs.
5118
5119         * libs/gst/base/gstadapter.c:
5120         Small doc clarification about ownership and flushing.
5121
5122         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
5123         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
5124         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
5125         (gst_base_sink_get_property), (gst_base_sink_do_sync):
5126         * libs/gst/base/gstbasesink.h:
5127         API additions: 
5128         Added new methods to allow subclass to control max-lateness 
5129         and sync.
5130         Generate very basic QoS events based on last sync observation.
5131         Updated docs, fix typo, added some QoS blurb.
5132
5133         * libs/gst/base/gstbasesrc.c:
5134         Remove obsolete _get_state() calls from docs.
5135
5136 2006-03-07  Wim Taymans  <wim@fluendo.com>
5137
5138         * docs/libs/gstreamer-libs-sections.txt:
5139         * libs/gst/base/gstbasetransform.h:
5140         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
5141         Fix docs for GstBaseSrc.
5142
5143 2006-03-07  Wim Taymans  <wim@fluendo.com>
5144
5145         * docs/gst/gstreamer-sections.txt:
5146         * gst/gstbuffer.h:
5147         * gst/gstvalue.c:
5148         * libs/gst/base/gstbasetransform.h:
5149         Small documentation fixes.
5150
5151 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
5152
5153         * gst/gstvalue.c:
5154           Document thread-unsafety of gst_value_register_foo_func()
5155           when used at the same time as gst_value_foo() (#322628).
5156
5157 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
5158
5159         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
5160         (gst_push_src_check_get_range):
5161           Push sources don't support pull mode by default.
5162
5163 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
5164
5165         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5166         (gst_base_src_init), (gst_base_src_pad_check_get_range),
5167         (gst_base_src_default_check_get_range):
5168         * libs/gst/base/gstbasesrc.h:
5169           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
5170           provide default implementation, and rename
5171           gst_base_src_check_get_range() to
5172           gst_base_src_pad_check_get_range() for clarity.
5173
5174 2006-03-06  Wim Taymans  <wim@fluendo.com>
5175
5176         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
5177         Make property overridable.
5178
5179 2006-03-06  Wim Taymans  <wim@fluendo.com>
5180
5181         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5182         (gst_base_sink_init), (gst_base_sink_set_property),
5183         (gst_base_sink_get_property), (gst_base_sink_do_sync):
5184         * libs/gst/base/gstbasesink.h:
5185         API addition: Make max-lateness a property.
5186
5187 2006-03-06  Wim Taymans  <wim@fluendo.com>
5188
5189         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
5190         (gst_base_sink_do_sync), (gst_base_sink_render_object):
5191         Don't ever draw a frame that is >10ms late.
5192
5193 2006-03-06  Michael Smith  <msmith@fluendo.com>
5194
5195         * gst/gstmessage.c: (_gst_message_copy):
5196           When copying a message, set the parent_refcount of the enclosed
5197           structure to point at the copy, not the original message.
5198
5199 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
5200
5201         Patch by: Christophe Fergeau
5202
5203         * gst/gstutils.h:
5204           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
5205           usable in c++ code (#333417)
5206
5207 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5208
5209         * gst/gstclock.h:
5210           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
5211
5212 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
5213
5214         * libs/gst/base/gstbasetransform.c:
5215         (gst_base_transform_transform_caps):
5216           Make sure caps are writable before passing them to
5217           gst_caps_append().
5218
5219 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
5220
5221         * gst/gsterror.h:
5222           Fix some minor docs errors.
5223
5224 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
5225
5226           Patch by: Ross Burton <ross at burtonini dot com>
5227
5228         * gst/gsterror.c: (_gst_resource_errors_init):
5229         * gst/gsterror.h:
5230           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
5231
5232 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
5233
5234         * gst/gst.c:
5235         Add a check and output a g_warning when GStreamer is built
5236         against GLib 2.6 but running against 2.8 or higher, and vice 
5237         versa. (Closes: #323542)
5238
5239 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
5240
5241         * gst/parse/parse.l:
5242           Commit patch for parse_launch syntax from #331255. Removes 
5243           support for quoted strings and mimetypes when writing filtered 
5244           caps. See the bug report for more details - I'm pretty sure this
5245           obscure feature is not in use by _anyone_ anywhere.
5246
5247           With this simple change, the size of the gstreamer.so here 
5248           drops from 2193KB to 1565KB.
5249
5250 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
5251
5252         * plugins/elements/gsttypefindelement.h:
5253         * plugins/elements/gsttypefindelement.c:
5254         (gst_type_find_element_src_event), (start_typefinding),
5255         (stop_typefinding), (gst_type_find_element_handle_event),
5256         (gst_type_find_element_chain),
5257         (gst_type_find_element_chain_do_typefinding):
5258           Use gst_type_find_helper_for_buffer() for chain-based
5259           typefinding.
5260
5261 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
5262
5263         * plugins/elements/gsttypefindelement.c:
5264         (gst_type_find_element_class_init),
5265         (gst_type_find_element_set_property),
5266         (gst_type_find_element_get_property):
5267           Deprecate "maximum" property (not only was it only taken into
5268           account for typefinding in push-mode anyway, it also was never
5269           actually possible to set it in the first place because the
5270           property was registered with the numeric property ID for the
5271           "minimum" property). Register "maximum" property correctly,
5272           for the sake of future copy'n'pasters. Remove some cruft
5273           from property get/set functions.
5274
5275 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
5276
5277         * plugins/elements/gsttypefindelement.c:
5278         (gst_type_find_element_activate):
5279           Use gst_type_find_helper_get_range() here, so we
5280           can honour the "minimum" property and also emit
5281           the signal with the correct probability of the found caps.
5282
5283 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
5284
5285         * docs/libs/gstreamer-libs-sections.txt:
5286         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
5287         (helper_find_suggest), (gst_type_find_helper_get_range),
5288         (gst_type_find_helper):
5289         * libs/gst/base/gsttypefindhelper.h:
5290           New API: gst_type_find_helper_get_range() (#333042).
5291
5292 2006-03-02  Michael Smith  <msmith@fluendo.com>
5293
5294         * gst/gstregistryxml.c: (load_feature):
5295           Asserting on a failure to read part of the registry is Not Cool.
5296           Just log a warning and return NULL (which is already handled)
5297
5298 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
5299
5300         * win32/common/libgstbase.def:
5301           added export of gst_type_find_helper_for_buffer
5302         * win32/common/libgstbase.def:
5303           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
5304           gst_ghost_pad_get_target
5305
5306 2006-02-28  Wim Taymans  <wim@fluendo.com>
5307
5308         * docs/design/draft-klass.txt:
5309         We use Filter now.
5310         Added Connector to mark elements that are only used to
5311         allow pipeline connections.
5312         Moved Debug to extra feature since most of them are 
5313         functionally something else.
5314
5315 2006-02-28  Wim Taymans  <wim@fluendo.com>
5316
5317         * docs/design/draft-klass.txt:
5318         Some updates and clarifications.
5319
5320 2006-02-28  Wim Taymans  <wim@fluendo.com>
5321
5322         * docs/design/draft-klass.txt:
5323         Proposal for klass field values.
5324
5325         * docs/design/part-streams.txt:
5326         Start of a doc describing stream anatomy.
5327
5328 2006-02-28  Wim Taymans  <wim@fluendo.com>
5329
5330         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
5331         Help the compiler a bit with type registration.
5332         Use existing forward cod path instead of duplicating it when 
5333         handling a message.
5334         
5335         * gst/gstbus.c: (gst_bus_get_type):
5336         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
5337         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
5338         * gst/gstclock.c: (gst_clock_get_type):
5339         * gst/gstelement.c: (gst_element_get_type),
5340         * gst/gstelementfactory.c: (gst_element_factory_get_type):
5341         * gst/gstindexfactory.c: (gst_index_factory_get_type):
5342         * gst/gstminiobject.c: (gst_mini_object_get_type):
5343         * gst/gstpad.c: (gst_pad_get_type):
5344         * gst/gstsegment.c: (gst_segment_get_type):
5345         * gst/gststructure.c: (gst_structure_get_type):
5346         * gst/gstsystemclock.c: (gst_system_clock_get_type):
5347         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
5348         * gst/gstvalue.c:
5349         Help compiler with type registration.
5350
5351         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
5352         Small doc update.
5353
5354 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
5355
5356         * plugins/elements/gsttypefindelement.c:
5357         (gst_type_find_element_handle_event):
5358           When we get an EOS event and have not found a type yet
5359           (most likely because we had not yet accumulated
5360           TYPE_FIND_MIN_SIZE of data yet), try to determine the
5361           type given the data we have so far. Fixes typefinding
5362           for very short streams again, most notably quicktime
5363           redirections as used on Apple's trailer site (#331701).
5364
5365 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
5366
5367         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
5368         (gst_type_find_helper):
5369           Try typefinding factories with the highest rank first.
5370
5371 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
5372
5373         * docs/libs/gstreamer-libs-docs.sgml:
5374         * docs/libs/gstreamer-libs-sections.txt:
5375         * libs/gst/base/gsttypefindhelper.c:
5376           Add section for typefind helper and add documentation
5377           for the old and the new function.
5378
5379 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
5380
5381         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
5382         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
5383         (gst_type_find_helper_for_buffer):
5384         * libs/gst/base/gsttypefindhelper.h:
5385           New API: gst_type_find_helper_for_buffer() (#332723).
5386           
5387 2006-02-27  Michael Smith  <msmith@fluendo.com>
5388
5389         Patch by: Loïc Minier
5390
5391         * configure.ac:
5392         * docs/Makefile.am:
5393         * docs/slides/Makefile.am:
5394           prevent CVS directories getting disted.
5395
5396 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
5397
5398         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
5399           Use the REFCOUNTING category for caps refcounting.
5400           
5401 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
5402
5403         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
5404           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
5405
5406 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
5407
5408         * plugins/elements/gsttypefindelement.c:
5409         (gst_type_find_element_activate):
5410           Use gst_pad_check_pull_range() before _activate_pull()
5411           to avoid unnecessary open/close (see #331690).
5412
5413 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
5414
5415         * gst/gstutils.c:
5416           Docs enhancement: make it crystal clear what the
5417           gst_pad_add_*_probe() callbacks should look like.
5418
5419 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
5420
5421         * libs/gst/base/gstbasesrc.c:
5422           Document how applications can stop recording from
5423           live sources (see #330996).
5424
5425 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
5426
5427         * tests/check/Makefile.am:
5428         * tests/check/libs/basesrc.c: (eos_event_counter),
5429         (basesrc_eos_events_pull), (basesrc_eos_events_push),
5430         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
5431         (gst_basesrc_suite), (main):
5432           ... and add some tests for the base source EOS stuff.
5433
5434 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
5435
5436         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
5437           Test case originally showed the problem fixed below,
5438           but was then amended. Add checks back at the place
5439           where they used to be.
5440
5441 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
5442
5443         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5444         (gst_base_src_init), (gst_base_src_loop),
5445         (gst_base_src_activate_push), (gst_base_src_activate_pull),
5446         (gst_base_src_change_state):
5447         * libs/gst/base/gstbasesrc.h:
5448           Don't unconditionally send EOS when going from PAUSED to
5449           READY state, esp. make sure we don't send two EOS events
5450           in some cases (e.g. one when reaching EOS and one when
5451           going from PAUSED to READY). Also, we don't want to send
5452           EOS events when operating in pull mode. However, we do
5453           want to send an EOS event when shutting down a live
5454           source explicitly, for example (fixes #330996).
5455           
5456 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
5457
5458         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
5459           Update src->read_position after a seek when not using mmap.
5460           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
5461
5462 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
5463
5464         * gst/Makefile.am:
5465         * gst/gstparse.h:
5466         * gst/gstutils.c:
5467         * gst/gstutils.h:
5468         Make things work with --disable-parse as they do with 
5469         --disable-load-save - the symbols involved disappear, but the
5470         header is still installed and GST_DISABLE_PARSE is included via
5471         gstconfig.h
5472
5473 2006-02-20  Julien MOUTTE  <julien@moutte.net>
5474
5475         * libs/gst/base/gstbasetransform.c:
5476         (gst_base_transform_change_state): Fix a stupid bug. I was 
5477         sure I compiled that.
5478
5479 2006-02-20  Julien MOUTTE  <julien@moutte.net>
5480
5481         * gst/gstpad.c: (gst_pad_set_blocked_async):
5482         * gst/gstutils.c: (gst_pad_add_data_probe),
5483         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
5484         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
5485         (gst_pad_remove_buffer_probe): Make those function act on the
5486         ghostpad target when it's a ghostpad. (Closes #331727)
5487
5488 2006-02-20  Julien MOUTTE  <julien@moutte.net>
5489
5490         * libs/gst/base/gstbasetransform.c:
5491         (gst_base_transform_change_state): Make basetransform reusable.
5492         (Closes #331898)
5493
5494 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
5495
5496         * docs/random/release:
5497         Move the current documentation of how to do a release to the top
5498         of the file.
5499
5500         * gst/gstbin.c: (gst_bin_class_init),
5501         (gst_bin_handle_message_func):
5502         Allow multiple state-recalculation threads. (Closes #328873)
5503
5504 2006-02-19  Julien MOUTTE  <julien@moutte.net>
5505
5506         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
5507         * gst/gstpad.c: (gst_pad_set_event_function),
5508         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
5509         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
5510         2 strings. You can't use the STR_NULL macro on that.
5511
5512 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
5513
5514         * gst/gstpad.c: (gst_pad_set_event_function),
5515         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
5516         (gst_pad_set_getcaps_function)
5517         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
5518           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
5519           So now, we can use --gst-debug-level=5 on Windows
5520         * win32/common/libgstcontroller.def:
5521           Added export of gst_controller_init
5522         * win32/vs6/libgstcontroller.dsp:
5523           Fixed Release post build configuration
5524
5525 2006-02-17  Wim Taymans  <wim@fluendo.com>
5526
5527         * tests/check/gst/gstquery.c: (GST_START_TEST):
5528         Added another check.
5529
5530 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
5531
5532         * plugins/elements/gsttypefindelement.c: (find_peek):
5533           We can do peeks at non-zero offsets, as long as they
5534           fall within the buffer we have.
5535
5536 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
5537
5538         * tests/check/Makefile.am:
5539         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
5540         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
5541         (parse_suite), (main):
5542           Add testsuite for parse launch syntax
5543
5544 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
5545
5546         * plugins/elements/gsttypefindelement.c:
5547         (gst_type_find_element_chain):
5548           When typefinding is unsuccessful in the chain function, don't
5549           error out immediately. Only error out with NO_CAPS_FOUND if
5550           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
5551           otherwise simply wait for more data so we can try typefinding
5552           again with more data later. Also, don't attempt to typefind
5553           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
5554           this should improve typefinding from network sources where the
5555           size of the first buffer can be somewhat random.
5556
5557 2006-02-14  Wim Taymans  <wim@fluendo.com>
5558
5559         * docs/gst/gstreamer-sections.txt:
5560         * gst/gstpadtemplate.c:
5561         * gst/gstpadtemplate.h:
5562         Fix padtemplate docs, fixes #328805.
5563
5564 2006-02-14  Wim Taymans  <wim@fluendo.com>
5565
5566         * tools/gst-launch.c: (main):
5567         NO_PREROLL is not an ERROR so don't send confusing messages
5568         to the user.
5569
5570 2006-02-14  Wim Taymans  <wim@fluendo.com>
5571
5572         Patch by: Torsten Schoenfeld
5573
5574         * gst/gstregistry.c: (gst_registry_get_default),
5575         (_gst_registry_cleanup):
5576         Protect default registry with lock and ref/sink it.
5577         Fixes #324818
5578
5579 2006-02-14  Wim Taymans  <wim@fluendo.com>
5580
5581         * gst/gstbuffer.c:
5582         * gst/gstquery.c: (gst_query_list_add_format),
5583         (gst_query_set_formatsv), (gst_query_parse_formats_length),
5584         (gst_query_parse_formats_nth):
5585         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5586         Docs fixes.
5587
5588 2006-02-14  Wim Taymans  <wim@fluendo.com>
5589
5590         * docs/gst/gstreamer-sections.txt:
5591         Reworked query docs.
5592
5593         * gst/gstquery.c: (gst_query_new_formats),
5594         (gst_query_list_add_format), (gst_query_set_formats),
5595         (gst_query_set_formatsv), (gst_query_parse_formats_length),
5596         (gst_query_parse_formats_nth):
5597         * gst/gstquery.h:
5598         Flesh out formats query, added some new methods.
5599         Fix part of #324398.
5600
5601         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
5602         Added query creation tests.
5603
5604 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
5605
5606         * gst/gstpad.c: (fixate_value):
5607         Add a default fixation for fraction lists.
5608
5609 2006-02-13  Wim Taymans  <wim@fluendo.com>
5610
5611         * gst/gsttask.c: (gst_task_init), (gst_task_func),
5612         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
5613         (gst_task_join):
5614         * gst/gsttask.h:
5615         Detect and warn for obvious deadlocks. fixes #320340
5616         Fix error case where lock was not released.
5617
5618         * tests/check/Makefile.am:
5619         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
5620         (task_func), (gst_element_suite), (main):
5621         Add task check.
5622
5623 2006-02-13  Wim Taymans  <wim@fluendo.com>
5624
5625         * docs/gst/gstreamer-sections.txt:
5626         * gst/gstbus.c:
5627         Add new functions to docs.
5628
5629 2006-02-13  Wim Taymans  <wim@fluendo.com>
5630
5631         * docs/design/part-TODO.txt:
5632         Updated TODO list, basesrc supports seeking to non-bytes
5633         formats.
5634
5635         * docs/design/part-element-sink.txt:
5636         Update docs.
5637
5638         * gst/gstbin.c: (bin_replace_message),
5639         (gst_bin_handle_message_func):
5640         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
5641         * gst/gstevent.c: (gst_event_finalize):
5642         * gst/gstpad.c: (gst_pad_event_default_dispatch),
5643         (gst_pad_send_event):
5644         Use shiny new _TYPE_NAME macros.
5645
5646         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
5647         Move debug statement up.
5648
5649         * gst/gstelement.c: (gst_element_set_locked_state):
5650         Add some debugging.
5651
5652 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
5653
5654         * docs/gst/gstreamer-sections.txt:
5655         * gst/gstmessage.h:
5656         * gst/gstquery.h:
5657           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
5658           macros (#330906). Also, document the already existing
5659           GST_QUERY_TYPE macro.
5660
5661 2006-02-13  Wim Taymans  <wim@fluendo.com>
5662
5663         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
5664         (event_probe), (GST_START_TEST):
5665         Only events up to the pipeline EOS are counted, there are
5666         some more when going to NULL currently which we don't care
5667         about for now.
5668
5669 2006-02-13  Wim Taymans  <wim@fluendo.com>
5670
5671         * gst/gstpad.c: (gst_pad_send_event):
5672         Correctly check flushing and emit probes. fixes #330125
5673
5674 2006-02-10  Andy Wingo  <wingo@pobox.com>
5675
5676         * gst/gstbus.c (gst_bus_class_init): Declare our private data
5677         structure.
5678         (gst_bus_init): Cache the location of the private data in the
5679         instance structure.
5680         (gst_bus_enable_sync_message_emission) 
5681         (gst_bus_disable_sync_message_emission): Implement new public
5682         functions.
5683         (gst_bus_post): Emit the sync-message signal if the user asked for
5684         it. Fixes #330684.
5685
5686         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
5687         location of the bus-private structure.
5688         (gst_bus_enable_sync_message_emission)
5689         (gst_bus_disable_sync_message_emission): API addition
5690
5691 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
5692
5693         Patch by: Vincent Torri
5694
5695         * docs/pwg/building-boiler.xml:
5696         PWG patch from #326800
5697
5698 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5699
5700         * configure.ac:
5701         * docs/Makefile.am:
5702         * docs/design/Makefile.am:
5703           Dist design docs.
5704
5705 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
5706
5707         * configure.ac:
5708           back to CVS
5709
5710 === release 0.10.3 ===
5711
5712 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
5713
5714         * configure.ac:
5715           releasing 0.10.3, "Like a virgin"
5716
5717 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
5718
5719         * configure.ac:
5720           2nd prerelease of 0.10.3
5721           Bump libtool versioning.
5722
5723 2006-02-07  Andy Wingo  <wingo@pobox.com>
5724
5725         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
5726         update last_stop if we're in TIME format and the timestamp is
5727         valid.
5728
5729         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
5730         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
5731         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
5732         If we get a new newsegment with a different format, adapt
5733         accordingly.
5734
5735         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
5736         of 0. Not a problem, really.
5737
5738         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
5739         warn if sync=true.
5740
5741 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
5742
5743         * configure.ac:
5744           Prelease of 0.10.3
5745
5746 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
5747
5748         * win32/vs7:
5749           project files updated to the default vs7 configuration
5750         * win32/common/libgstbase.def:
5751         * win32/common/libgstreamer.def:
5752           added new symbols,
5753           removed empty lines,
5754           sorted all exported symbols alphabetically
5755         * win32/common/dirent.c:
5756         * win32/common/dirent.h:
5757         * win32/common/gchar.h:
5758           use windows line end.
5759           
5760 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
5761
5762         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
5763           Send EOS event when stopping.
5764
5765 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
5766
5767         * docs/README:
5768           Tell folks what to do if the plugin-foobar.xml file
5769           hasn't been generated for a newly-added plugin.
5770
5771 2006-02-05  Julien MOUTTE  <julien@moutte.net>
5772
5773         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
5774         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
5775         (gst_collect_pads_start), (gst_collect_pads_stop),
5776         (gst_collect_pads_event): Collectpads now holds a reference
5777         to the GstPad that was added. Indeed we don't want to look
5778         at pads that might just go away with no warning...
5779
5780 2006-02-05  Julien MOUTTE  <julien@moutte.net>
5781
5782         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
5783         (gst_collect_pads_start), (gst_collect_pads_stop),
5784         (gst_collect_pads_event), (gst_collect_pads_chain):
5785         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
5786         Mark Nauwelaerts's patch on bug #328491.
5787
5788 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
5789
5790         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
5791         (gst_utils_suite):
5792           Add some simple tests for gst_parse_bin_from_description() and
5793           gst_bin_find_unconnected_pad() (#329069).
5794
5795 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
5796
5797         * tools/gst-launch.c: (event_loop), (main):
5798           Catch errors during preroll (#320084).
5799
5800 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
5801
5802         * plugins/elements/gsttypefindelement.c:
5803         (gst_type_find_element_activate):
5804           Post TYPE_NOT_FOUND error message when typefinding
5805           is unsuccessful in the activate function as well.
5806
5807 2006-02-02  Wim Taymans  <wim@fluendo.com>
5808
5809         * docs/design/part-element-sink.txt:
5810         Updated doc.
5811
5812 2006-02-02  Wim Taymans  <wim@fluendo.com>
5813
5814         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
5815         (gst_base_sink_render_object),
5816         (gst_base_sink_queue_object_unlocked):
5817         Only keep track of prerollable items when we are 
5818         prerolling.
5819         Before rendering after preroll, always check if we
5820         have queued items.
5821         Added some more debugging.
5822
5823 2006-02-02  Wim Taymans  <wim@fluendo.com>
5824
5825         * gst/gstelement.c: (gst_element_continue_state),
5826         (gst_element_set_state_func), (gst_element_change_state):
5827         Fixed #326576, been running this for quite some time with
5828         no regressions at all.
5829
5830 2006-02-02  Wim Taymans  <wim@fluendo.com>
5831
5832         * common/gst.supp:
5833         Added more suppressions
5834
5835 2006-02-02  Wim Taymans  <wim@fluendo.com>
5836
5837         * docs/design/part-element-sink.txt:
5838         Updated document.
5839
5840         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5841         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
5842         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
5843         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
5844         (gst_base_sink_do_sync), (gst_base_sink_render_object),
5845         (gst_base_sink_preroll_object),
5846         (gst_base_sink_queue_object_unlocked),
5847         (gst_base_sink_queue_object), (gst_base_sink_event),
5848         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
5849         (gst_base_sink_loop), (gst_base_sink_activate_pull),
5850         (gst_base_sink_get_position), (gst_base_sink_change_state):
5851         * libs/gst/base/gstbasesink.h:
5852         Totally refactored matching the design doc.
5853         Use two segments, one to clip incomming buffers and another to
5854         perform sync.
5855         Handle queueing correctly, bypass the queue when playing.
5856         Make EOS cancelable.
5857         Handle errors correctly when operating in pull based mode.
5858
5859         * tests/check/elements/fakesink.c: (GST_START_TEST),
5860         (fakesink_suite):
5861         Added new check for sinks.
5862
5863 2006-02-02  Wim Taymans  <wim@fluendo.com>
5864
5865         * gst/gstsegment.c: (gst_segment_clip):
5866         No reason to refuse to clip when start == -1
5867
5868 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
5869
5870         * docs/README:
5871         * docs/manual/intro-basics.xml:
5872         * docs/manual/intro-preface.xml:
5873         * docs/manual/manual.xml:
5874         * docs/pwg/advanced-dparams.xml:
5875         * docs/pwg/intro-basics.xml:
5876         * docs/pwg/intro-preface.xml:
5877         * docs/pwg/pwg.xml:
5878           describe dparams (controller) for plugins
5879           unify docs a little more
5880
5881 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
5882
5883         * docs/gst/gstreamer-sections.txt:
5884         * gst/gstutils.c: (element_find_unconnected_pad),
5885         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
5886         * gst/gstutils.h:
5887           Add new API: gst_parse_bin_from_description() and
5888           gst_bin_find_unconnected_pad() (#329069).
5889
5890 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
5891
5892         * docs/manual/README:
5893           uncover a nasty detail of the docs build
5894
5895 2006-01-31  Wim Taymans  <wim@fluendo.com>
5896
5897         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
5898         Don't cache duration messages if we're not going to use or
5899         free them.
5900
5901 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
5902
5903         * docs/manual/advanced-dparams.xml:
5904         * docs/pwg/advanced-dparams.xml:
5905           more dparam docs
5906         * gst/gstindex.c:
5907           fix docs
5908         * libs/gst/controller/lib.c: (gst_controller_init):
5909           init just once
5910
5911 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
5912
5913         * gst/gstelement.c: (gst_element_message_full):
5914           also show file/line/func if no additional debug was given
5915
5916 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
5917         
5918         * win32/vs7/grammar.vcproj:
5919           activate copy of autogenerated files for Release mode
5920
5921 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
5922         
5923         * win32/common/libgstreamer.def:
5924           export gst_value_compare
5925
5926 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
5927
5928         * plugins/elements/Makefile.am:
5929         * plugins/elements/gstelements.c:
5930         * plugins/elements/gstfdsink.c: (_do_init),
5931         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
5932         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
5933         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
5934         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
5935         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
5936         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
5937         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
5938         * plugins/elements/gstfdsink.h:
5939         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
5940
5941 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
5942
5943         * docs/manual/advanced-dparams.xml:
5944           describe controller
5945         * docs/manual/advanced-position.xml:
5946         * docs/manual/basics-init.xml:
5947         * docs/manual/manual.xml:
5948         * docs/manual/titlepage.xml:
5949         * docs/pwg/pwg.xml:
5950         * docs/pwg/titlepage.xml:
5951           cleanup xml (more to come)
5952         * libs/gst/controller/gstcontroller.c:
5953           fix typo
5954
5955 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
5956         
5957         * win32/vs6/grammar.dsp:
5958           add autogen of gstmarshal.c,h for Release mode
5959                 
5960 2006-01-30  Wim Taymans  <wim@fluendo.com>
5961
5962         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5963         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
5964         (gst_base_sink_handle_object), (gst_base_sink_event),
5965         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
5966         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
5967         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
5968         (gst_base_sink_deactivate), (gst_base_sink_activate),
5969         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
5970         (gst_base_sink_query), (gst_base_sink_change_state):
5971         Basesink cleanups, remove some old code.
5972         Handle the case where a subclass can preroll in the render
5973         method (mostly audiosinks).
5974         Handle more events.
5975         Remove some locks around variables that are now protected
5976         with the PREROLL_LOCK (clock_id, flushing, ..).
5977         Optimize position query some more, do correct locking.
5978         Remove old code to push queue in state change, this is not
5979         needed anymore since preroll blocks on all prerollable items 
5980         now.
5981         Almost implemented as described in design doc.
5982
5983 2006-01-30  Wim Taymans  <wim@fluendo.com>
5984
5985         * tests/check/gst/gstbin.c: (GST_START_TEST):
5986         Wait for refcount to settle down before checking.
5987
5988 2006-01-30  Wim Taymans  <wim@fluendo.com>
5989
5990         * docs/design/part-element-sink.txt:
5991         Pseudo code overview of desired sink behaviour regarding
5992         preroll.
5993
5994 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5995         * win32/vs6/grammar.dsp:
5996           fix some bugs in Release mode for autogenerated files
5997                 
5998 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5999         * win32/common/libgstbase.def:
6000         * win32/common/libgstreamer.def:
6001           export some new symbols: gst_base_src_set_format,
6002           gst_iterator_next, gst_structure_set_valist
6003
6004 2006-01-29  Julien MOUTTE  <julien@moutte.net>
6005
6006         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
6007         Set pad functions unconditionally. Fixes #329105.
6008
6009 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
6010         * win32/vs8:
6011           add vs8 project files created by Sergey Scobich
6012
6013 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
6014
6015         * gst/gstutils.c: (gst_element_unlink_pads):
6016         Don't leak pad references.
6017
6018         * tests/check/elements/fakesink.c: (GST_START_TEST):
6019         * tests/check/generic/sinks.c: (GST_START_TEST):
6020         * tests/check/generic/states.c: (GST_START_TEST):
6021         * tests/check/gst/gstbin.c: (GST_START_TEST):
6022         * tests/check/gst/gstcaps.c: (GST_START_TEST):
6023         * tests/check/gst/gstelement.c: (GST_START_TEST):
6024         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6025         * tests/check/gst/gstiterator.c: (GST_START_TEST):
6026         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6027         Fix a bunch of leaks. Make generic/sinks.c
6028         use a bit less cpu by slowing the buffer rate
6029         between fakesrc and fakesink.
6030         
6031 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
6032         * gst/gstcaps.c:
6033         * gst/gstelement.c: (gst_element_send_event):
6034         * gst/gstevent.c:
6035         * gst/gstinfo.c:
6036         * gst/gstiterator.c:
6037         * gst/gstiterator.h:
6038         * gst/gstpad.c: (gst_pad_send_event):
6039         * gst/gststructure.c:
6040         * gst/gsturi.c:
6041         * gst/gstutils.c:
6042         * gst/gstvalue.c:
6043         * libs/gst/base/gstadapter.c:
6044           doc fixes, to link to function, just write gst_cool_function(), don't
6045           prefix with '#'
6046
6047 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
6048
6049         * plugins/elements/gsttee.c: (gst_tee_do_push),
6050         (gst_tee_handle_buffer):
6051         Always prefer an actual return value from a src
6052         pad in place of NOT_LINKED. This means we return
6053         WRONG_STATE when all src pads are WRONG_STATE
6054         instead of NOT_LINKED.
6055
6056         Lock when replacing the last message to prevent
6057         racing with the get_property method.
6058
6059         Add debug output
6060
6061 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
6062
6063         * tests/check/Makefile.am:
6064         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
6065         (main):
6066         Add a very simple check that should have caught the memleak I fixed
6067         last night (if not for the slice allocator hiding it)
6068
6069 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
6070
6071         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
6072         (gst_bin_remove_func), (gst_bin_handle_message_func),
6073         (bin_query_duration_fold), (bin_query_generic_fold):
6074         Clean up references to the clock provider when disposed or when
6075         handling a clock-lost message from it.
6076
6077         Unref sinks when performing a query via gst_iterator_fold, as the
6078         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
6079
6080         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
6081         (gst_clock_set_master):
6082         Drop our reference to the master clock, if any, when we are disposed.
6083
6084         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
6085         Chain up in dispose. 
6086
6087 2006-01-26  Wim Taymans  <wim@fluendo.com>
6088
6089         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
6090         Add some debugging.
6091
6092 2006-01-26  Julien MOUTTE  <julien@moutte.net>
6093
6094         * plugins/elements/gsttee.c: (gst_tee_do_push),
6095         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
6096         handles pad being NOT_LINKED or in WRONG_STATE.
6097
6098 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
6099
6100         * win32/MANIFEST:
6101           more updating
6102
6103 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
6104
6105         * win32/MANIFEST:
6106           remove obsolete entry
6107
6108 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
6109
6110         * docs/gst/gstreamer-sections.txt:
6111         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
6112         (gst_bin_iterate_sources), (gst_bin_send_event):
6113         * gst/gstbin.h:
6114         * gst/gstelement.c: (gst_element_send_event):
6115         * gst/gstevent.c:
6116         * gst/gstpad.c: (gst_pad_send_event):
6117           added code for downstream events, reviewed docs in gstevent.c
6118
6119 2006-01-25  Julien MOUTTE  <julien@moutte.net>
6120
6121         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6122         We only query position using the clock in the playing state.
6123         Query peer in the other cases.
6124         * win32/common/config.h: Updates.
6125
6126 2006-01-24  Wim Taymans  <wim@fluendo.com>
6127
6128         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
6129         A clock entry that is scheduled for the exact time of the
6130         clock is still in time.
6131
6132         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6133         (gst_base_sink_do_sync):
6134         Add some more debug info.
6135
6136 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
6137
6138         * win32/vs7:
6139           Add new vs7 project files and solution.
6140
6141 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
6142
6143         * win32/vs7:
6144           all files removed as they were out-dated.
6145
6146 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6147
6148         * docs/random/release:
6149           update notes
6150         * gst/gstbin.c: (gst_bin_init):
6151         * gst/gstbus.c: (gst_bus_new):
6152         * gst/gstbus.h:
6153         * gst/gstpipeline.c: (gst_pipeline_init):
6154           use gst_bus_new(), improve logging, fix docs
6155         * win32/common/config.h:
6156           update for cvs build
6157
6158 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6159
6160         * autogen.sh:
6161           up required version of automake to 1.7
6162
6163 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
6164
6165         * win32/common/libgstreamer.def:
6166           export gst_buffer_is_metadata_writable
6167
6168 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
6169
6170         * docs/gst/gstreamer-sections.txt:
6171         * gst/gstevent.h:
6172           Add gst_event_replace() (#327001)
6173
6174 2006-01-20  Wim Taymans  <wim@fluendo.com>
6175
6176         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
6177         Make it actually compile too..
6178
6179 2006-01-20  Wim Taymans  <wim@fluendo.com>
6180
6181         * gst/gstcaps.c:
6182         Clarify behaviour of _is_equal() when passing NULL parameters.
6183
6184         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
6185         (gst_pad_set_caps):
6186         Cleanups. Don't unref NULL caps.
6187         When setting the same caps, protect caps of the pad with
6188         proper lock.
6189         Use full functionality of _is_equal() when comparing caps.
6190
6191 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
6192
6193         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
6194         Don't loop infinitely if there are no buffers to present. Partially
6195         fixes #327197, but collectpads is just broken for reusing elements
6196         to do multiple encodes atm.
6197
6198 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
6199
6200         * tools/gst-inspect.c: (print_element_features):
6201         * tools/gst-xmlinspect.c: (main):
6202         URL_HANDLER is not a plugin feature we can search for in
6203         the registry.
6204
6205 2006-01-19  Edward Hervey  <edward@fluendo.com>
6206
6207         * gst/gstelement.c: (gst_element_pads_activate): 
6208         When activating, do src pads first, then sink pads.
6209         When de-activating, do sink pads first, then src pads.
6210
6211 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6212
6213         * docs/gst/gstreamer-sections.txt:
6214         Add gst_index_add_associationv to the docs
6215
6216 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6217
6218         * gst/gstevent.c:
6219           Fix docs typo
6220
6221         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
6222         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
6223           Do some refactoring. Doesn't actually change functionality,
6224           but makes landing the DRAIN event easier later.
6225
6226 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
6227
6228         * docs/pwg/advanced-scheduling.xml:
6229           Update from 0.9.x to 0.10 API and make example a bit
6230           clearer.
6231
6232 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6233
6234         * docs/gst/gstreamer-sections.txt:
6235         Add gst_buffer_(is|make)_metadata_writable methods.
6236
6237 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6238
6239         * docs/design/part-sparsestreams.txt:
6240         Update sparse streams doc, hopefully for greater clarity
6241
6242 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
6243
6244         * docs/design/part-events.txt:
6245         Remove mention of FILLER events.
6246         Add DRAIN event.
6247
6248         * docs/design/part-sparsestreams.txt:
6249         Write some things about using NEWSEGMENT to keep sparse streams
6250         flowing.
6251
6252 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
6253
6254         * gst/gstbin.c: (gst_bin_dispose):
6255           Guard gst_object_unref call against a NULL object (dispose
6256           can theoretically be called multiple times).
6257           
6258 2006-01-18  Wim Taymans  <wim@fluendo.com>
6259
6260         * gst/gstbin.c: (gst_bin_element_set_state):
6261         * gst/gstclock.c: (gst_clock_id_wait):
6262         Added some more debug info.
6263
6264         * libs/gst/base/gstadapter.c:
6265         Added more docs.
6266
6267         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6268         (gst_base_sink_do_sync), (gst_base_sink_chain):
6269         Added some comments.
6270
6271 2006-01-18  Wim Taymans  <wim@fluendo.com>
6272
6273         * tests/check/Makefile.am:
6274         * tests/check/elements/fakesink.c: (chain_async_buffer),
6275         (chain_async), (chain_async_return), (GST_START_TEST),
6276         (fakesink_suite), (main):
6277         Added fakesink test that checks prerolling and clipping
6278         behaviour.
6279
6280         * tests/check/gst/gstutils.c: (GST_START_TEST):
6281         Make check run faster so that buildbots don't timeout.
6282
6283 2006-01-18  Wim Taymans  <wim@fluendo.com>
6284
6285         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6286         (gst_base_sink_do_sync):
6287         Some cleanups.
6288         When the sink finishes blocking on the preroll buffer, it can
6289         immediatly render it instead of rendering when the next buffer
6290         arrives.
6291
6292 2006-01-18  Wim Taymans  <wim@fluendo.com>
6293
6294         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
6295         (gst_base_sink_get_property), (gst_base_sink_do_sync),
6296         (gst_base_sink_chain):
6297         Small cleanups.
6298         GST_ELEMENT_CLOCK and sync are protected with LOCK.
6299         Don't store _last_stop if the buffer is dropped.
6300
6301 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
6302
6303         * plugins/elements/gsttypefindelement.c:
6304         (gst_type_find_element_class_init):
6305           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
6306           object method handler that sets the caps on the pad and we want
6307           that to happen before we emit the signal (fixes e.g. feeding a
6308           plain text file to decodebin).
6309
6310 2006-01-18  Christian Schaller  <Christian@fluendo.com>
6311
6312         * gst/gstplugin.c: Add MPL and Proprietary as license options
6313
6314 2006-01-18  Andy Wingo  <wingo@pobox.com>
6315
6316         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
6317         symbol was exported before, it appears this was just an oversight.
6318         Fixes #168703.
6319         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
6320
6321         * gst/gstindex.c (gst_index_add_associationv): Changed int in
6322         prototype to gint. OK since this prototype was not in the header.
6323
6324 2006-01-17  Andy Wingo  <wingo@pobox.com>
6325
6326         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
6327         registry while we remove plugins.
6328
6329         * tools/gst-inspect.c (print_element_info): Don't unref the
6330         factory arg, that should be the responsibility of whatever code
6331         received the ref. Fixes a double-free when called from
6332         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
6333         (main): Unref the factory if we have one.
6334         (print_element_list): No change -- relies on the
6335         plugin_feature_list_free to free the list of features.
6336
6337 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
6338
6339         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
6340         (gst_buffer_make_metadata_writable):
6341         * gst/gstbuffer.h:
6342         * libs/gst/base/gstbasetransform.c:
6343         (gst_base_transform_prepare_output_buf):
6344         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6345         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6346           Replace gst_buffer_(make|is)_metadata_writable patch now
6347           that the release is out.
6348
6349 2006-01-17  Andy Wingo  <wingo@pobox.com>
6350
6351         * gst/gstregistry.c: Reflow design comment. Update so as to speak
6352         in the present tense without reference to versions.
6353
6354         * gst/gstregistry.c (gst_registry_add_plugin)
6355         (gst_registry_remove_plugin, gst_registry_remove_feature)
6356         (gst_registry_find_feature, gst_registry_get_feature_list)
6357         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
6358         (gst_registry_lookup, gst_registry_scan_path)
6359         (_gst_registry_remove_cache_plugins)
6360         (gst_registry_get_feature_list_by_plugin): Add argument
6361         validation.
6362
6363 === release 0.10.2 ===
6364
6365 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
6366
6367         * configure.ac:
6368           releasing 0.10.2, "If man is five"
6369
6370 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
6371
6372         * gst/gstbuffer.c:
6373         * gst/gstbuffer.h:
6374         * libs/gst/base/gstbasetransform.c:
6375         (gst_base_transform_prepare_output_buf):
6376         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6377         * tests/check/gst/gstbuffer.c: (gst_test_suite):
6378           Back out patch until after the release.
6379
6380 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
6381
6382         * gst/gstminiobject.c:
6383           Spelling fix in docs.
6384         * ChangeLog - remove conflict indicator
6385
6386 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
6387
6388         Reviewed By: Andy Wingo
6389
6390         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
6391         (gst_buffer_make_metadata_writable):
6392         * gst/gstbuffer.h:
6393           Add gst_buffer_(is|make)_metadata_writable as analogues of
6394           gst_buffer_(is|make)_writable.
6395
6396         * libs/gst/base/gstbasetransform.c:
6397         (gst_base_transform_prepare_output_buf):
6398         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6399           Use name gst_buffer_(is|make)_metadata_writable functions.
6400
6401         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6402           Test gst_buffer_(is|make)_metadata_writable
6403         
6404           (Closes: #324162)
6405
6406 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6407
6408         * docs/manual/Makefile.am:
6409           don't do parallel make
6410         * configure.ac:
6411           AC_SUBST HOST_CPU
6412         * win32/common/config.h.in:
6413           add generations for HOST_CPU and GST_MAJORMINOR
6414         * win32/common/config.h:
6415           commit generated result
6416
6417 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
6418
6419         * docs/manual/appendix-integration.xml:
6420           Update GNOME integration section to use gst_init_get_option_group()
6421           instead of the old popt stuff (#322911). Also, GNOME applications
6422           should  now use gconf*sink and gconf*src instead of the old gconf
6423           helper lib we had.
6424
6425 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
6426
6427
6428         * docs/gst/gstreamer-docs.sgml:
6429         * docs/gst/gstreamer-sections.txt:
6430         * docs/libs/gstreamer-libs-sections.txt:
6431           add new API entries to the docs
6432         * libs/gst/controller/Makefile.am:
6433         * libs/gst/controller/gstcontroller.c:
6434         * libs/gst/controller/gstcontroller.h:
6435         * libs/gst/controller/gstcontrollerprivate.h:
6436         * libs/gst/controller/gsthelper.c:
6437         * libs/gst/controller/gstinterpolation.c:
6438           move private structs to private header
6439         * po/README:
6440           gstreamer-0.7 -> gstreamer-0.10
6441         * tests/check/libs/struct_i386.h:
6442           remove private structs
6443
6444 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6445
6446         * plugins/indexers/Makefile.am:
6447           Fixes as part of #317048
6448
6449 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6450
6451         * plugins/indexers/Makefile.am:
6452           fix #316086 - compilation when mmap is missing
6453
6454 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
6455
6456         * libs/gst/base/gstbasesink.c:
6457           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
6458           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
6459         * win32/common/config.h:
6460           added some defines GST_MAJORMINOR and HOST_CPU
6461         * win32/common/libgstbase.def:
6462         * win32/common/libgstreamer.def:
6463           added some exported functions.
6464
6465 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
6466
6467         * libs/gst/controller/gstcontroller.c:
6468         (gst_controlled_property_set_interpolation_mode),
6469         (gst_controlled_property_new):
6470         * libs/gst/controller/gstcontroller.h:
6471         * libs/gst/controller/gstinterpolation.c:
6472         (interpolate_none_get_string_value_array):
6473           make G_TYPE_STRING controlable
6474
6475 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
6476
6477         * tools/README:
6478         * tools/gst-feedback.1.in:
6479         * tools/gst-inspect.1.in:
6480         * tools/gst-launch.1.in:
6481         * tools/gst-md5sum.1.in:
6482         * tools/gst-typefind.1.in:
6483         * tools/gst-xmlinspect.1.in:
6484         * tools/gst-xmllaunch.1.in:
6485           cleanup man-pages, remove reference to gst-register, document env-vars
6486
6487 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
6488
6489         * gst/gstbuffer.c: (gst_buffer_span):
6490           gst_buffer_span should copy the timestamp of the first buffer
6491           if they were both originally overlapping subbuffers of the 
6492           same parent, using the same logic as the 'slow copy' case.
6493
6494 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
6495
6496         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
6497           Need to awaken ALL the pads when we pop a buffer, otherwise
6498           collectpads only works when there is 2 input streams.
6499
6500 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
6501
6502         * docs/random/ensonic/media-device-daemon.txt:
6503           more ideas (dbus)
6504         * gst/gstbuffer.c:
6505           fix doc example, add clarification
6506         * tools/gst-launch.1.in:
6507           add initial info about GST_PLUGIN_PATH, needs more work
6508
6509 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
6510
6511         * docs/manual/basics-bins.xml:
6512         * docs/manual/basics-elements.xml:
6513         * docs/manual/intro-basics.xml:
6514           Some more minor docs additions and updates.
6515
6516 2006-01-11  Wim Taymans  <wim@fluendo.com>
6517
6518         * docs/manual/basics-bins.xml:
6519         * docs/manual/basics-elements.xml:
6520         Some small fixes as pointed out by Ser-ver on IRC.
6521
6522 2006-01-10  Edward Hervey  <edward@fluendo.com>
6523
6524         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6525         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
6526         the single-segment mode.
6527
6528 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
6529
6530         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6531
6532         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
6533         (gst_base_src_perform_seek), (gst_base_src_send_event),
6534         (gst_base_src_set_property), (gst_base_src_get_property),
6535         (gst_base_src_loop), (gst_base_src_start),
6536         (gst_base_src_activate_push):
6537         * libs/gst/base/gstbasesrc.h:
6538           Name (private) union; makes Sun's Forte compiler happy (#324900).
6539
6540 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
6541
6542         * README:
6543           gst-register is gone.
6544
6545 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6546
6547         * gst/gstvalue.c: (_gst_value_initialize):
6548           make the G_TYPE_DATE instantiation work if debug is disabled
6549
6550 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
6551
6552         * gst/gstmessage.c: (gst_message_parse_tag),
6553         (gst_message_parse_error), (gst_message_parse_warning):
6554           Don't crash when return location for error/warning debug
6555           string is NULL; add fact that return locations can be
6556           NULL to docs where appropriate.
6557
6558 2006-01-05  Wim Taymans  <wim@fluendo.com>
6559
6560         * gst/gstplugin.c: (gst_plugin_load_file):
6561         Replace strdup by g_strdup.
6562
6563 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6564
6565         * docs/pwg/advanced-types.xml:
6566           fix doc borkage
6567
6568 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6569
6570         submitted by: Abel Cheung
6571
6572         * po/LINGUAS:
6573         * po/zh_TW.po:
6574           Added Chinese (traditional) translation
6575
6576 2006-01-04  Wim Taymans  <wim@fluendo.com>
6577
6578         * docs/manual/basics-pads.xml:
6579         * docs/plugins/Makefile.am:
6580         * docs/plugins/gstreamer-plugins-docs.sgml:
6581         * docs/plugins/gstreamer-plugins-sections.txt:
6582         * docs/pwg/advanced-clock.xml:
6583         * docs/pwg/advanced-scheduling.xml:
6584         * docs/pwg/advanced-types.xml:
6585         * plugins/elements/gstfdsink.c:
6586         * plugins/elements/gstfdsrc.c:
6587         * plugins/elements/gstfdsrc.h:
6588         * plugins/elements/gstidentity.c: (gst_identity_class_init):
6589         * plugins/elements/gstidentity.h:
6590         * plugins/elements/gstqueue.h:
6591         * plugins/elements/gsttee.c:
6592         * plugins/elements/gsttee.h:
6593         * plugins/elements/gsttypefindelement.c:
6594         (gst_type_find_element_class_init):
6595         * plugins/elements/gsttypefindelement.h:
6596         Small updates to various docs.
6597         Added core plugins to docs.
6598
6599 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6600
6601         * common/gst.supp:
6602           add a suppression for liboil's uninitialized variable
6603
6604 2006-01-02  James Livingston  <jrl at ids dot org dot au>
6605
6606         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6607
6608         * gst/gstutils.h:
6609           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
6610           macro, so that gcc doesn't complain if the -Wmissing-prototypes
6611           compiler switch is being used (#325429).
6612
6613 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
6614
6615         * gst/gstbin.c: (gst_bin_query):
6616           Disable duration query caching in bins until it gets
6617           fixed (see #324807).
6618
6619 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
6620
6621         * tools/gst-inspect.c: (print_element_properties_info):
6622           Handle properties of POINTER and BOXED type.
6623
6624 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
6625
6626         * gst/gst.c: (init_post):
6627           Init tags stuff and some other things before loading
6628           any static plugins (there may be other static plugins
6629           than just the GStreamer ones, and they may want to
6630           register their own tags or formats or whatever, and
6631           preferably without segfaulting).
6632
6633         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6634           Print at least a warning in the debug logs if we drop a
6635           query just because we don't know how to adjust the value
6636           in the particular format.
6637
6638 2005-12-24  David Schleef  <ds@schleef.org>
6639
6640         * tools/gstreamer-completion:
6641           Replacement for gst-complete written in sh and sed.  Only
6642           completes names of features, but that's 90% of what I want
6643           it for.  Properties are not available in registry.xml.  (Maybe
6644           they should be...)
6645
6646 === release 0.10.1 ===
6647
6648 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
6649
6650         * configure.ac:
6651           releasing 0.10.1, "Nollaig chridheil"
6652
6653 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
6654
6655         * docs/faq/cvs.xml:
6656           Add missing quote, should be make ERROR_CFLAGS="".
6657
6658 2005-12-20  Wim Taymans  <wim@fluendo.com>
6659
6660         * docs/design/part-trickmodes.txt:
6661         More documentation on trickmodes.
6662
6663 2005-12-20  Edward Hervey  <edward@fluendo.com>
6664
6665         * gst/gstcaps.c: (gst_static_caps_get_type):
6666         * gst/gstcaps.h:
6667           API addition: GST_TYPE_STATIC_CAPS
6668         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
6669         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
6670         * gst/gstpadtemplate.h:
6671           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
6672         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
6673         bindings.
6674
6675 2005-12-18  Wim Taymans  <wim@fluendo.com>
6676
6677         * libs/gst/base/gstadapter.c:
6678         * libs/gst/base/gstadapter.h:
6679         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6680         (gst_base_sink_get_position):
6681         * libs/gst/base/gstbasesink.h:
6682         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6683         (gst_base_src_default_query), (gst_base_src_default_do_seek),
6684         (gst_base_src_do_seek), (gst_base_src_perform_seek),
6685         (gst_base_src_send_event), (gst_base_src_update_length),
6686         (gst_base_src_get_range), (gst_base_src_loop),
6687         (gst_base_src_start):
6688         * libs/gst/base/gstbasesrc.h:
6689         * libs/gst/base/gstbasetransform.h:
6690         * libs/gst/base/gstcollectpads.h:
6691         * libs/gst/base/gstpushsrc.c:
6692         * libs/gst/base/gstpushsrc.h:
6693         * libs/gst/dataprotocol/dataprotocol.c:
6694         * libs/gst/dataprotocol/dataprotocol.h:
6695         * libs/gst/net/gstnetclientclock.h:
6696         * libs/gst/net/gstnettimeprovider.h:
6697         Documentation updates.
6698
6699 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
6700
6701         * docs/manual/basics-helloworld.xml:
6702           Remove superfluous closing bracket in helloworld example.
6703
6704 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
6705
6706         * tools/gst-launch.1.in:
6707           Update gst-launch man page; add a section with useful
6708           environment variables. Fixes #323882.
6709
6710 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
6711
6712         * gst/gst.c:
6713         * gst/gst_private.h:
6714           change some char* into char[]
6715
6716 2005-12-16  Wim Taymans  <wim@fluendo.com>
6717
6718         * gst/gstregistryxml.c: (load_feature):
6719         Cleanups.
6720         Don't use g_object_unref on GstObjects so that we avoid
6721         leaks on unsafe glibs.
6722
6723 2005-12-16  Wim Taymans  <wim@fluendo.com>
6724
6725         * gst/gstbin.c: (gst_bin_recalc_state):
6726         Small doc updates.
6727
6728 2005-12-16  Wim Taymans  <wim@fluendo.com>
6729
6730         * common/check.mak:
6731         Added make forever target for check.
6732
6733 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6734
6735         * gst/gst.c: (init_post):
6736           make the registry cache file HOST_CPU-dependent
6737
6738 2005-12-16  Andy Wingo  <wingo@pobox.com>
6739
6740         * plugins/elements/gstbufferstore.c
6741         (gst_buffer_store_cleared_func): Pay attention to g_list_append
6742         return value.
6743
6744         * tests/check/gst/gstobject.c
6745         (test_fake_object_name_threaded_unique): Pay attention to
6746         g_list_sort return value.
6747
6748 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
6749
6750         * tools/gst-feedback-m.m:
6751           Update for 0.9/0.10 (fixes #323870).
6752
6753 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
6754
6755         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
6756           Fix lcopy for mini objects, the mini object needs to be ref'ed.
6757           
6758         * tests/check/gst/gstminiobject.c: (my_foo_init),
6759         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
6760         (test_value_collection), (gst_mini_object_suite):
6761           Add test to ensure refcounts end up as expected when passing
6762           GstMiniObjects through g_object_get() and g_object_set().
6763
6764 2005-12-14  Julien MOUTTE  <julien@moutte.net>
6765
6766         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6767         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
6768         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
6769         of collectpads. This version removes a lot of races without
6770         touching API/ABI. Yay !
6771
6772 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
6773
6774         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
6775           Don't allow activation of a srcpad in pull_range if it has no
6776           getrange function.
6777           Change some debug statements to be a little clearer
6778
6779         * plugins/elements/gsttypefindelement.c:
6780         (gst_type_find_handle_src_query):
6781           Check that we have a peer before executing queries thereupon.
6782
6783         * tests/examples/metadata/read-metadata.c: (message_loop):
6784           Use gst_bus_pop instead of gst_bus_poll when we just want it to
6785           immediately return us any available message with 0 timeout.
6786
6787 2005-12-12  Michael Smith  <msmith@fluendo.com>
6788
6789         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
6790           Don't unref factories after calling them.
6791         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
6792         * plugins/elements/gsttypefindelement.c:
6793         (gst_type_find_element_chain):
6794           Free lists of factories after using them. Fixing typefinding memory
6795           leaks.
6796
6797 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6798
6799         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
6800         (gst_plugin_feature_load):
6801           more meaningful debug output
6802         * configure.ac:
6803         * tests/Makefile.am:
6804         * tests/old/examples/Makefile.am:
6805           make make distcheck happy again
6806
6807 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
6808
6809         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
6810           Catch the special case where we are operating chain-based,
6811           but the downstream peer pad has no chain function. Emit a
6812           custom error message in this case instead of letting the
6813           core generate one implying that this is some sort of core
6814           bug. It's not, it just means that whatever got plugged
6815           into the pipeline downstream when we announced the type
6816           can only operate pull-based, while our source can only
6817           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
6818           Error string has not been marked for translation yet, as
6819           it probably needs some more work first.
6820
6821         (gst_type_find_element_get_best_possibility):
6822           Add helper function to find the best of all available
6823           found possibilities that qualify given the min. threshold.
6824
6825         (gst_type_find_element_handle_event):
6826           Fix the case where we get an EOS while still in TYPEFIND
6827           mode (we want to chose the best of all possible types,
6828           not just the first type that happens to be in our unsorted
6829           list of possible types).
6830
6831         (gst_type_find_element_chain):
6832           Make sure we return GST_FLOW_ERROR when we errored out
6833           in stop_typefinding(); also, don't just find the best of
6834           all found type entries and then use the last examined
6835           type entry, but actually use the best entry.
6836
6837 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
6838
6839         * tests/examples/typefind/typefind.c: (type_found):
6840         * tests/examples/xml/runxml.c: (xml_loaded):
6841           More gcc4 fixes and a mem leak fix.
6842
6843 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6844
6845         * tests/examples/xml/createxml.c: (object_saved):
6846           gcc 4 fixes
6847
6848 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6849
6850         * tests/Makefile.am:
6851           enable the examples even more
6852
6853 2005-12-12  Andy Wingo  <wingo@pobox.com>
6854
6855         * libs/gst/net/gstnettimeprovider.c
6856         (gst_net_time_provider_class_init, gst_net_time_provider_init)
6857         (gst_net_time_provider_set_property)
6858         (gst_net_time_provider_get_property):
6859         API addition: Export "active" as a GObject property.
6860         (gst_net_time_provider_thread): Only respond to time queries if
6861         the time provider is active.
6862
6863         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
6864         NetTimeProvider, preserving binary compat.
6865
6866 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6867
6868         * tests/examples/controller/audio-example.c: (main):
6869         * tests/examples/launch/Makefile.am:
6870           convert comments again
6871
6872 2005-12-12  Wim Taymans  <wim@fluendo.com>
6873
6874         * libs/gst/base/gstpushsrc.c:
6875         Fix typo.
6876
6877 2005-12-12  Wim Taymans  <wim@fluendo.com>
6878
6879         * docs/libs/gstreamer-libs-sections.txt:
6880         Added new symbol to docs.
6881
6882         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6883         (gst_base_src_init), (gst_base_src_set_format),
6884         (gst_base_src_default_query), (gst_base_src_query),
6885         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
6886         (gst_base_src_perform_seek), (gst_base_src_send_event),
6887         (gst_base_src_default_event), (gst_base_src_event_handler),
6888         (gst_base_src_set_property), (gst_base_src_get_property),
6889         (gst_base_src_wait), (gst_base_src_do_sync),
6890         (gst_base_src_update_length), (gst_base_src_get_range),
6891         (gst_base_src_check_get_range), (gst_base_src_loop),
6892         (gst_base_src_default_negotiate), (gst_base_src_start),
6893         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6894         (gst_base_src_change_state):
6895         * libs/gst/base/gstbasesrc.h:
6896         Implement seeking to other formats than _BYTES.
6897         Implement more seeking methods correctly.
6898         Doc updates.
6899         Added query vmethod.
6900         Added do_seek vmethod to make life easier for subclasses
6901         when seeking.
6902         API addition: gst_base_src_set_format()
6903
6904 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6905
6906         * tests/examples/Makefile.am:
6907           added that too
6908
6909 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6910
6911         * configure.ac:
6912         * docs/random/ensonic/media-device-daemon.txt:
6913         * tests/examples/controller/.cvsignore:
6914         * tests/examples/controller/Makefile.am:
6915         * tests/examples/controller/audio-example.c: (main):
6916         * tests/examples/helloworld/.cvsignore:
6917         * tests/examples/helloworld/Makefile.am:
6918         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
6919         * tests/examples/launch/.cvsignore:
6920         * tests/examples/launch/Makefile.am:
6921         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
6922         * tests/examples/metadata/.cvsignore:
6923         * tests/examples/metadata/Makefile.am:
6924         * tests/examples/metadata/read-metadata.c: (message_loop),
6925         (make_pipeline), (print_tag), (main):
6926         * tests/examples/queue/.cvsignore:
6927         * tests/examples/queue/Makefile.am:
6928         * tests/examples/queue/queue.c: (event_loop), (main):
6929         * tests/examples/typefind/.cvsignore:
6930         * tests/examples/typefind/Makefile.am:
6931         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
6932         (main):
6933         * tests/examples/xml/.cvsignore:
6934         * tests/examples/xml/Makefile.am:
6935         * tests/examples/xml/createxml.c: (object_saved), (main):
6936         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
6937         * tests/old/examples/Makefile.am:
6938         * tests/old/examples/TODO:
6939         * tests/old/examples/controller/.cvsignore:
6940         * tests/old/examples/controller/Makefile.am:
6941         * tests/old/examples/controller/audio-example.c:
6942         * tests/old/examples/helloworld/.cvsignore:
6943         * tests/old/examples/helloworld/Makefile.am:
6944         * tests/old/examples/helloworld/helloworld.c:
6945         * tests/old/examples/launch/.cvsignore:
6946         * tests/old/examples/launch/Makefile.am:
6947         * tests/old/examples/launch/mp3parselaunch.c:
6948         * tests/old/examples/launch/mp3play:
6949         * tests/old/examples/manual/Makefile.am:
6950         * tests/old/examples/metadata/Makefile.am:
6951         * tests/old/examples/metadata/read-metadata.c:
6952         * tests/old/examples/queue/.cvsignore:
6953         * tests/old/examples/queue/Makefile.am:
6954         * tests/old/examples/queue/queue.c:
6955         * tests/old/examples/typefind/.cvsignore:
6956         * tests/old/examples/typefind/Makefile.am:
6957         * tests/old/examples/typefind/typefind.c:
6958         * tests/old/examples/xml/.cvsignore:
6959         * tests/old/examples/xml/Makefile.am:
6960         * tests/old/examples/xml/createxml.c:
6961         * tests/old/examples/xml/runxml.c:
6962           applied some simple fixing to some examples
6963           re-enabled the working examples
6964
6965 2005-12-12  Wim Taymans  <wim@fluendo.com>
6966
6967         * gst/gstsegment.c: (gst_segment_init),
6968         (gst_segment_set_last_stop), (gst_segment_set_seek),
6969         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6970         (gst_segment_to_running_time):
6971         Added more documentation.
6972         Make sure the last_pos value is updated properly.
6973         Make sure to_stream_time and to_running_time don't
6974         operate on wrong values.
6975
6976         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6977         Update check.
6978
6979 2005-12-12  Michael Smith  <msmith@fluendo.com>
6980
6981         * plugins/elements/gsttypefindelement.c: (free_entry),
6982         (gst_type_find_element_chain):
6983           Now that we're not leaking factories, make sure we keep references
6984           to them while we need them.
6985
6986 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6987
6988         * tests/check/gst/struct_i386.h:
6989           ifdef out the XML structs
6990
6991 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6992
6993         * gst/gstvalue.c: (gst_value_transform_double_fraction):
6994           floor is not needed, F is always positive; this obviates the
6995           need for adding -lm when building without libxml
6996
6997 2005-12-12  Wim Taymans  <wim@fluendo.com>
6998
6999         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
7000         Take current playback rate into account when reporting
7001         the position.
7002
7003 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
7004
7005         * docs/manual/mime-world.fig:
7006           Let's try this again, this time with a file that is
7007           actually in XFig format.
7008
7009 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
7010
7011         * docs/manual/mime-world.fig:
7012           Add audioconvert element to diagram so that it
7013           matches the text and the code (fixes #319526).
7014
7015 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
7016
7017         * docs/pwg/building-chainfn.xml:
7018         * docs/pwg/building-pads.xml:
7019         * docs/pwg/building-state.xml:
7020         * docs/pwg/other-source.xml:
7021           Update state change stuff for 0.10 (fixes #322969).
7022
7023 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
7024
7025         * docs/manual/advanced-dataaccess.xml:
7026         * docs/manual/appendix-checklist.xml:
7027         * docs/manual/appendix-programs.xml:
7028         * docs/manual/basics-pads.xml:
7029         * docs/manual/highlevel-components.xml:
7030         * docs/manual/manual.xml:
7031           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
7032           add converters in front of pipelines; remove curly
7033           brackets for threads stuff, they no longer exist; use
7034           GST_TYPE_FRACTION for framerates; update some pieces of
7035           code to 0.10, but there's plenty more to do.
7036
7037         * docs/manual/appendix-porting.xml:
7038           Expand on asynchroneous state changes; s/0.9/0.10/;
7039           mention disappearance of gst_init_get_popt_table()
7040           (fixes #322916).
7041
7042 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
7043
7044         * docs/faq/using.xml:
7045           Spider no longer exists, and neither does gst-launch-ext.
7046           Update examples to use decodebin and playbin and put
7047           converters in front of sinks (fixes #323726).
7048
7049 2005-12-09  Michael Smith  <msmith@fluendo.com>
7050
7051         * plugins/elements/gsttypefindelement.c: (find_peek),
7052         (gst_type_find_element_chain):
7053           Fix leaking element factories in typefinding.
7054           Fix problem where we forgot about a probable type on non-seekable
7055           files, and thus later mis-typefound it.
7056
7057 2005-12-09  Michael Smith  <msmith@fluendo.com>
7058
7059         * common/m4/gst-makecontext.m4:
7060         * common/m4/gst-mcsc.m4:
7061         * configure.ac:
7062         * win32/common/config.h:
7063         * win32/common/config.h.in:
7064           Remove makecontext stuff; not used in 0.10 and causes problems on
7065           HPUX according to bug #322441
7066
7067 2005-12-07  Wim Taymans  <wim@fluendo.com>
7068
7069         * tests/check/Makefile.am:
7070         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
7071         (main):
7072         * tests/check/libs/struct_i386.h:
7073         Added ABI check for libs
7074
7075 2005-12-07  Wim Taymans  <wim@fluendo.com>
7076
7077         * tests/check/Makefile.am:
7078         And add the struct_i386.h to dist.
7079
7080 2005-12-07  Wim Taymans  <wim@fluendo.com>
7081
7082         * tests/check/Makefile.am:
7083         * tests/check/gst/.cvsignore:
7084         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
7085         (main):
7086         * tests/check/gst/struct_i386.h:
7087         Added check for ABI compatibility.
7088
7089 2005-12-07  Wim Taymans  <wim@fluendo.com>
7090
7091         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7092         (gst_fake_src_get_times), (gst_fake_src_create):
7093         Fix broken sync option, fixes #323259
7094
7095 2005-12-07  Wim Taymans  <wim@fluendo.com>
7096
7097         * gst/gstbuffer.c:
7098         Small docs update.
7099
7100         * gst/gstcaps.c: (gst_caps_is_equal):
7101         Don't assert on NULL <--> X. Fixes #323260
7102
7103         * gst/gstminiobject.c: (gst_mini_object_replace):
7104         If we're doing atomic operations, we might just as well use
7105         the proper way to get an atomic pointer.
7106
7107         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
7108         Clean up debugging.
7109
7110 2005-12-07  Michael Smith  <msmith@fluendo.com>
7111
7112         * gst/parse/grammar.y:
7113           Remove handling of { } for threads.
7114
7115 2005-12-06  David Schleef  <ds@schleef.org>
7116
7117         * libs/gst/base/gstbasetransform.c: speling fix.
7118
7119 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7120
7121         * docs/libs/tmpl/gstdataprotocol.sgml:
7122         * docs/random/omega/testing/gstobject.c:
7123         * gst/gst.c:
7124         * gst/gstclock.c:
7125         * gst/gstelement.c:
7126         * gst/gstelementfactory.c:
7127         * gst/gsterror.c:
7128         * gst/gstevent.c:
7129         * gst/gstghostpad.c:
7130         * gst/gstinfo.c:
7131         * gst/gstpadtemplate.c:
7132         * gst/gstregistryxml.c:
7133         * gst/gsttaglist.c:
7134         * gst/gsttagsetter.c:
7135         * gst/gsttypefind.c:
7136         * gst/gstvalue.c:
7137         * libs/gst/base/gstbasesrc.c:
7138         * libs/gst/net/gstnetclientclock.c:
7139         * libs/gst/net/gstnettimeprovider.c:
7140         * plugins/elements/gstfakesrc.c:
7141         * plugins/elements/gstfdsrc.c:
7142         * plugins/elements/gstfilesrc.c:
7143         * plugins/elements/gstidentity.c:
7144         * plugins/elements/gstqueue.c:
7145         * plugins/elements/gsttypefindelement.c:
7146         * plugins/indexers/gstfileindex.c:
7147         * plugins/indexers/gstmemindex.c:
7148         * tests/check/gst/gsttag.c:
7149         * tests/old/examples/cutter/cutter.c:
7150         * tests/old/examples/mixer/mixer.c:
7151         * tests/old/examples/xml/runxml.c: (main):
7152         * tests/old/testsuite/caps/normalisation.c:
7153         * tests/old/testsuite/debug/global.c:
7154         * tests/old/testsuite/parse/parse1.c:
7155         * tools/gst-xmlinspect.c:
7156         * win32/common/dirent.c:
7157           expand tabs
7158
7159 === release 0.10.0 ===
7160
7161 2005-12-05   <thomas (at) apestaart (dot) org>
7162
7163         * configure.ac:
7164           releasing 0.10.0, "Maroilles"
7165
7166 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7167
7168         submitted by: Funda Wang <fundawang@linux.net.cn>
7169
7170         * po/LINGUAS:
7171         * po/zh_CN.po:
7172           added Chinese (Traditional) translation
7173
7174 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7175
7176         * docs/gst/gstreamer-sections.txt:
7177         * docs/libs/tmpl/gstdataprotocol.sgml:
7178         * docs/random/thomasvs/TODO:
7179         * gst/gstutils.c:
7180         * gst/gstutils.h:
7181           fix docs
7182
7183 2005-12-05  Andy Wingo  <wingo@pobox.com>
7184
7185         patch by: Wim Taymans <wim@fluendo.com>
7186
7187         * libs/gst/base/gstbasetransform.c
7188         (gst_base_transform_prepare_output_buf)
7189         (gst_base_transform_buffer_alloc):
7190         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
7191         alloc_buffer_and_set_caps.
7192
7193         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
7194         set_caps on the source pad.
7195         (gst_pad_alloc_buffer_and_set_caps): New function, does what
7196         alloc_buffer used to do. Fixes #322874.
7197
7198         * docs/gst/gstreamer-sections.txt: 
7199         * docs/design/part-negotiation.txt: 
7200         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
7201         changes.
7202
7203 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7204
7205         patch by: Sebastien Moutte
7206
7207         * win32/MANIFEST:
7208         * win32/common/config.h.in:
7209         * win32/vs6/libgstcontroller.dsp:
7210           win32 build fixes
7211
7212 2005-12-05  Wim Taymans  <wim@fluendo.com>
7213
7214         * gst/gstcaps.c: (gst_caps_is_equal):
7215         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7216         (gst_fake_src_create):
7217         Back out previous code changes, leave doc updates, file bugs 
7218         instead. 
7219
7220 2005-12-05  Wim Taymans  <wim@fluendo.com>
7221
7222         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7223         (gst_fake_src_get_times), (gst_fake_src_create):
7224         * plugins/elements/gstfakesrc.h:
7225         Fix broken sync code.
7226
7227 2005-12-05  Wim Taymans  <wim@fluendo.com>
7228
7229         * gst/gstcaps.c: (gst_caps_is_equal):
7230         Comparing NULL against !NULL yields different caps, not a
7231         failure.
7232
7233 2005-12-05  Wim Taymans  <wim@fluendo.com>
7234
7235         * gst/gstpipeline.c:
7236         Fix small typo in docs.
7237
7238 2005-12-05  Andy Wingo  <wingo@pobox.com>
7239
7240         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
7241
7242         * gst/gst.c (init_post): remove hard-coded 0.9 location for
7243         registries/plugins with a MAJORMINOR one.
7244         (plugin_desc): Rename library from gstcoreleements to
7245         staticelements. Fixes #323222.
7246
7247 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
7248
7249         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
7250           Change debug category to 'collectpads' from 'collect_pads'
7251           (fixes #323250).
7252
7253 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7254
7255         patch by: Sebastien Moutte
7256
7257         * libs/gst/controller/gstinterpolation.c:
7258           use convert function for uint64/double
7259         * win32/vs6/libgstcontroller.dsp:
7260           link to GLib
7261
7262 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7263
7264         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
7265         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
7266         * gst/gstutils.h:
7267         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7268           add tests that seem to show that the guint64/gdouble conversions
7269           are correct.
7270
7271 2005-12-02  Wim Taymans  <wim@fluendo.com>
7272
7273         * gst/gstregistry.c: (gst_registry_add_path):
7274         * gst/gstregistry.h:
7275         * gst/gstregistryxml.c:
7276         Fix docs again.
7277
7278 2005-12-02  Wim Taymans  <wim@fluendo.com>
7279
7280         * gst/gstutils.c: (gst_util_uint64_scale_int64),
7281         (gst_util_uint64_scale_int):
7282         Small cleanup.
7283
7284         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7285         Add debug log line.
7286
7287         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
7288         Add FIXME.
7289
7290 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7291
7292         * win32/MANIFEST:
7293         * win32/common/config.h:
7294         * win32/vs6/gstreamer.dsw:
7295         * win32/vs6/libgstcoreelements.dsp:
7296         * win32/vs6/libgstelements.dsp:
7297           renamed core elements plugin
7298
7299 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7300
7301         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
7302         (get_candidates):
7303           do piece-wise major/minor comparison so 0.9 < 0.10
7304           also allow .exe extensions for tools
7305
7306 2005-12-02  Michael Smith  <msmith@fluendo.com>
7307
7308         * gst/gst.c:
7309           Escape a % to make gtkdoc happier; bug 322958.
7310
7311 === release 0.9.7 ===
7312
7313 2005-12-01   <thomas (at) apestaart (dot) org>
7314
7315         * configure.ac:
7316           releasing 0.9.7, "My Dog Has No Nose"
7317
7318 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7319
7320         * common/gst-xmlinspect.py:
7321         * configure.ac:
7322         * docs/libs/tmpl/gstdataprotocol.sgml:
7323         * docs/random/release:
7324         * po/af.po:
7325         * po/az.po:
7326         * po/bg.po:
7327         * po/ca.po:
7328         * po/cs.po:
7329         * po/de.po:
7330         * po/en_GB.po:
7331         * po/fr.po:
7332         * po/it.po:
7333         * po/nb.po:
7334         * po/nl.po:
7335         * po/ru.po:
7336         * po/sq.po:
7337         * po/sr.po:
7338         * po/sv.po:
7339         * po/tr.po:
7340         * po/uk.po:
7341         * po/vi.po:
7342         * win32/common/config.h:
7343         * win32/common/config.h.in:
7344         * win32/vs6/gst_inspect.dsp:
7345         * win32/vs6/gst_launch.dsp:
7346         * win32/vs6/libgstbase.dsp:
7347         * win32/vs6/libgstelements.dsp:
7348         * win32/vs6/libgstreamer.dsp:
7349         * win32/vs7/GStreamer.vcproj:
7350         * win32/vs7/gst-inspect.vcproj:
7351         * win32/vs7/gst-launch.vcproj:
7352         * win32/vs7/libgstbase.vcproj:
7353           bump GST_MAJORMINOR to 0.10
7354           reset libtool version
7355
7356 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7357
7358         * po/LINGUAS:
7359         * po/bg.po:
7360           Added Bulgarian translation by (Alexander Shopov)
7361
7362 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7363
7364         * tests/check/gst/gstplugin.c:
7365           fix test
7366
7367 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7368
7369         * common/gst-xmlinspect.py:
7370         * common/gtk-doc-plugins.mak:
7371         * configure.ac:
7372         * docs/Makefile.am:
7373         * docs/gst/Makefile.am:
7374         * docs/gst/gstreamer-docs.sgml:
7375         * docs/gst/gstreamer-sections.txt:
7376         * docs/gst/gstreamer.types:
7377         * docs/gst/gstreamer.types.in:
7378         * docs/plugins/Makefile.am:
7379         * docs/plugins/gstreamer-plugins-docs.sgml:
7380         * docs/plugins/gstreamer-plugins-sections.txt:
7381         * docs/plugins/gstreamer-plugins.types:
7382         * docs/plugins/inspect.stamp:
7383         * docs/plugins/inspect/plugin-coreelements.xml:
7384         * docs/plugins/inspect/plugin-coreindexers.xml:
7385         * docs/plugins/scanobj-build.stamp:
7386         * gstreamer.spec.in:
7387         * plugins/elements/Makefile.am:
7388         * plugins/elements/gstelements.c:
7389         * plugins/elements/gstfakesink.c:
7390         * plugins/elements/gstfakesrc.c:
7391         * plugins/elements/gstfilesink.c:
7392         * plugins/elements/gstfilesrc.c:
7393         * plugins/elements/gstqueue.c:
7394         * plugins/indexers/Makefile.am:
7395         * plugins/indexers/gstindexers.c:
7396           document core plugins in a separate document just like all the
7397           others
7398           rename these plugins to something starting with core
7399
7400 2005-12-01  Andy Wingo  <wingo@pobox.com>
7401
7402         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
7403         padding here before, but it missed the commit.
7404
7405 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7406
7407         * libs/gst/controller/gstinterpolation.c:
7408           whitespace prices have crashed, we should feel free to use some now
7409           use gst_guint64_to_gdouble
7410
7411 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7412
7413         * libs/gst/controller/gstcontroller.c:
7414         * libs/gst/controller/gsthelper.c:
7415         * libs/gst/controller/gstinterpolation.c:
7416         * libs/gst/controller/lib.c:
7417           wrap config.h include
7418
7419 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7420
7421         * docs/gst/gstreamer-sections.txt:
7422           update docs
7423
7424 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7425
7426         * plugins/elements/gstelements.c:
7427         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
7428         (gst_fd_sink__class_init), (gst_fd_sink__init),
7429         (gst_fd_sink__chain), (gst_fd_sink__set_property),
7430         (gst_fd_sink__get_property):
7431         * plugins/elements/gstfdsink.h:
7432         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
7433         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
7434         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
7435         (gst_fd_src_unlock), (gst_fd_src_set_property),
7436         (gst_fd_src_get_property), (gst_fd_src_create),
7437         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
7438         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
7439         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
7440         (gst_fd_src_uri_handler_init):
7441         * plugins/elements/gstfdsrc.h:
7442         * plugins/elements/gstqueue.c: (gst_queue_get_type):
7443           more anal cleanup
7444
7445 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7446
7447         * docs/gst/Makefile.am:
7448         * docs/gst/gstreamer.types.in:
7449         * gst/Makefile.am:
7450           fix the docs build
7451
7452 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7453
7454         * configure.ac:
7455         * gst/Makefile.am:
7456         * gst/gst.c:
7457         * gst/gstplugin.h:
7458         * gst/gstregistry.h:
7459         * tests/benchmarks/complexity.c:
7460         * tests/benchmarks/mass-elements.c:
7461         * tests/check/Makefile.am:
7462         * tools/Makefile.am:
7463         * tools/gst-inspect.c:
7464         * tools/gst-xmlinspect.c:
7465           various fixes to make
7466           --disable-nls --disable-registry --disable-loadsave
7467           --disable-parse --disable-gst-debug
7468           work and get the core .so down to 360444 bytes after stripping
7469
7470 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7471
7472         * Makefile.am:
7473         * configure.ac:
7474           descend into tests
7475         * docs/random/thomasvs/TODO:
7476         * tests/Makefile.am:
7477         * tests/README:
7478           add a README
7479
7480 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7481
7482         * win32/GStreamer.vcproj:
7483         * win32/MANIFEST:
7484         * win32/Makefile:
7485         * win32/Makefile.inspect:
7486         * win32/Makefile.launch:
7487         * win32/Makefile.register:
7488         * win32/README.txt:
7489         * win32/gst-inspect.vcproj:
7490         * win32/gst-launch.vcproj:
7491         * win32/gst-register.vcproj:
7492         * win32/gstelements.vcproj:
7493         * win32/gstgetbits.def:
7494         * win32/gstgetbits.vcproj:
7495         * win32/gstreamer-dbg.def:
7496         * win32/gstreamer.def:
7497         * win32/libgstbase.def:
7498         * win32/libgstbase.vcproj:
7499         * win32/link_oldruntime.c:
7500         * win32/mman.c:
7501         * win32/mman.h:
7502         * win32/mman.inl:
7503         * win32/msvc71.sln:
7504           move even more stuff, win32/ is nice and clean now
7505
7506 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7507
7508         * libs/gst/control/.cvsignore:
7509         * win32/MANIFEST:
7510         * win32/config.h:
7511         * win32/dirent.c:
7512         * win32/dirent.h:
7513         * win32/gstbytestream.def:
7514         * win32/gstbytestream.vcproj:
7515         * win32/gstconfig.h:
7516         * win32/gstenumtypes.c:
7517         * win32/gstenumtypes.h:
7518         * win32/gstoptimalscheduler.vcproj:
7519         * win32/gstversion.h:
7520         * win32/gtchar.h:
7521         * win32/testsuite/bins.vcproj:
7522         * win32/testsuite/bytestream.vcproj:
7523         * win32/testsuite/caps.vcproj:
7524         * win32/testsuite/cleanup.vcproj:
7525         * win32/testsuite/clock.vcproj:
7526         * win32/testsuite/debug.vcproj:
7527         * win32/testsuite/dlopen.vcproj:
7528         * win32/testsuite/dynparams.vcproj:
7529         * win32/testsuite/elements.vcproj:
7530         * win32/testsuite/ghostpads.vcproj:
7531         * win32/testsuite/indexers.vcproj:
7532         * win32/testsuite/negotiation.vcproj:
7533         * win32/testsuite/parse.vcproj:
7534         * win32/testsuite/plugin.vcproj:
7535         * win32/testsuite/refcounting.vcproj:
7536         * win32/testsuite/schedulers.vcproj:
7537         * win32/testsuite/states.vcproj:
7538         * win32/testsuite/tags.vcproj:
7539         * win32/testsuite/threads.vcproj:
7540           remove old win32 stuff that isn't maintained and should be
7541           reorganized
7542
7543 2005-11-30  Andy Wingo  <wingo@pobox.com>
7544
7545         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
7546         loading the gst.interfaces python module bork.
7547
7548         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
7549         available since GLib 2.2. Fixes #318031.
7550
7551 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7552
7553         * Makefile.am:
7554         * check/.cvsignore:
7555         * check/Makefile.am:
7556         * check/elements/.cvsignore:
7557         * check/elements/fakesrc.c:
7558         * check/elements/fdsrc.c:
7559         * check/elements/identity.c:
7560         * check/generic/.cvsignore:
7561         * check/generic/states.c:
7562         * check/gst-libs/.cvsignore:
7563         * check/gst-libs/controller.c:
7564         * check/gst-libs/gdp.c:
7565         * check/gst/.cvsignore:
7566         * check/gst/capslist.h:
7567         * check/gst/gst.c:
7568         * check/gst/gstbin.c:
7569         * check/gst/gstbuffer.c:
7570         * check/gst/gstbus.c:
7571         * check/gst/gstcaps.c:
7572         * check/gst/gstelement.c:
7573         * check/gst/gstevent.c:
7574         * check/gst/gstghostpad.c:
7575         * check/gst/gstiterator.c:
7576         * check/gst/gstmessage.c:
7577         * check/gst/gstminiobject.c:
7578         * check/gst/gstobject.c:
7579         * check/gst/gstpad.c:
7580         * check/gst/gstpipeline.c:
7581         * check/gst/gstplugin.c:
7582         * check/gst/gstsegment.c:
7583         * check/gst/gststructure.c:
7584         * check/gst/gstsystemclock.c:
7585         * check/gst/gsttag.c:
7586         * check/gst/gstutils.c:
7587         * check/gst/gstvalue.c:
7588         * check/net/.cvsignore:
7589         * check/net/gstnetclientclock.c:
7590         * check/net/gstnettimeprovider.c:
7591         * check/pipelines/.cvsignore:
7592         * check/pipelines/cleanup.c:
7593         * check/pipelines/simple_launch_lines.c:
7594         * check/pipelines/stress.c:
7595         * check/states/.cvsignore:
7596         * check/states/sinks.c:
7597         * configure.ac:
7598         * examples/Makefile.am:
7599         * examples/appreader/.cvsignore:
7600         * examples/appreader/Makefile.am:
7601         * examples/appreader/appreader.c:
7602         * examples/controller/.cvsignore:
7603         * examples/controller/Makefile.am:
7604         * examples/controller/audio-example.c:
7605         * examples/cutter/.cvsignore:
7606         * examples/cutter/Makefile.am:
7607         * examples/cutter/cutter.c:
7608         * examples/cutter/cutter.h:
7609         * examples/events/Makefile.am:
7610         * examples/events/seek.c:
7611         * examples/helloworld/.cvsignore:
7612         * examples/helloworld/Makefile.am:
7613         * examples/helloworld/helloworld.c:
7614         * examples/helloworld2/.cvsignore:
7615         * examples/helloworld2/Makefile.am:
7616         * examples/helloworld2/helloworld2.c:
7617         * examples/launch/.cvsignore:
7618         * examples/launch/Makefile.am:
7619         * examples/launch/mp3parselaunch.c:
7620         * examples/launch/mp3play:
7621         * examples/manual/.cvsignore:
7622         * examples/manual/Makefile.am:
7623         * examples/manual/extract.pl:
7624         * examples/metadata/Makefile.am:
7625         * examples/metadata/read-metadata.c:
7626         * examples/mixer/.cvsignore:
7627         * examples/mixer/Makefile.am:
7628         * examples/mixer/mixer.c:
7629         * examples/mixer/mixer.h:
7630         * examples/pingpong/.cvsignore:
7631         * examples/pingpong/Makefile.am:
7632         * examples/pingpong/pingpong.c:
7633         * examples/plugins/.cvsignore:
7634         * examples/plugins/Makefile.am:
7635         * examples/plugins/example.c:
7636         * examples/plugins/example.h:
7637         * examples/pwg/.cvsignore:
7638         * examples/pwg/Makefile.am:
7639         * examples/pwg/extract.pl:
7640         * examples/queue/.cvsignore:
7641         * examples/queue/Makefile.am:
7642         * examples/queue/queue.c:
7643         * examples/queue2/.cvsignore:
7644         * examples/queue2/Makefile.am:
7645         * examples/queue2/queue2.c:
7646         * examples/queue3/.cvsignore:
7647         * examples/queue3/Makefile.am:
7648         * examples/queue3/queue3.c:
7649         * examples/queue4/.cvsignore:
7650         * examples/queue4/Makefile.am:
7651         * examples/queue4/queue4.c:
7652         * examples/retag/.cvsignore:
7653         * examples/retag/Makefile.am:
7654         * examples/retag/retag.c:
7655         * examples/retag/transcode.c:
7656         * examples/thread/.cvsignore:
7657         * examples/thread/Makefile.am:
7658         * examples/thread/thread.c:
7659         * examples/typefind/.cvsignore:
7660         * examples/typefind/Makefile.am:
7661         * examples/typefind/typefind.c:
7662         * examples/xml/.cvsignore:
7663         * examples/xml/Makefile.am:
7664         * examples/xml/createxml.c:
7665         * examples/xml/runxml.c:
7666         * tests/Makefile.am:
7667         * tests/check/Makefile.am:
7668         * testsuite/.cvsignore:
7669         * testsuite/Makefile.am:
7670         * testsuite/Rules:
7671         * testsuite/caps/.cvsignore:
7672         * testsuite/caps/Makefile.am:
7673         * testsuite/caps/app_fixate.c:
7674         * testsuite/caps/audioscale.c:
7675         * testsuite/caps/caps.c:
7676         * testsuite/caps/caps.h:
7677         * testsuite/caps/caps_strings:
7678         * testsuite/caps/compatibility.c:
7679         * testsuite/caps/deserialize.c:
7680         * testsuite/caps/enumcaps.c:
7681         * testsuite/caps/eratosthenes.c:
7682         * testsuite/caps/filtercaps.c:
7683         * testsuite/caps/fixed.c:
7684         * testsuite/caps/fraction-convert.c:
7685         * testsuite/caps/fraction-multiply-and-zero.c:
7686         * testsuite/caps/intersect2.c:
7687         * testsuite/caps/intersection.c:
7688         * testsuite/caps/normalisation.c:
7689         * testsuite/caps/random.c:
7690         * testsuite/caps/renegotiate.c:
7691         * testsuite/caps/sets.c:
7692         * testsuite/caps/simplify.c:
7693         * testsuite/caps/string-conversions.c:
7694         * testsuite/caps/structure.c:
7695         * testsuite/caps/subtract.c:
7696         * testsuite/caps/union.c:
7697         * testsuite/debug/.cvsignore:
7698         * testsuite/debug/Makefile.am:
7699         * testsuite/debug/category.c:
7700         * testsuite/debug/commandline.c:
7701         * testsuite/debug/global.c:
7702         * testsuite/debug/output.c:
7703         * testsuite/debug/printf_extension.c:
7704         * testsuite/dlopen/.cvsignore:
7705         * testsuite/dlopen/Makefile.am:
7706         * testsuite/dlopen/dlopen_gst.c:
7707         * testsuite/dlopen/loadgst.c:
7708         * testsuite/elements/.cvsignore:
7709         * testsuite/elements/Makefile.am:
7710         * testsuite/elements/gst-inspect-check.in:
7711         * testsuite/elements/struct_i386.h:
7712         * testsuite/elements/struct_size.c:
7713         * testsuite/indexers/.cvsignore:
7714         * testsuite/indexers/Makefile.am:
7715         * testsuite/indexers/cache1.c:
7716         * testsuite/indexers/indexdump.c:
7717         * testsuite/parse/.cvsignore:
7718         * testsuite/parse/Makefile.am:
7719         * testsuite/parse/parse1.c:
7720         * testsuite/parse/parse2.c:
7721         * testsuite/plugin/.cvsignore:
7722         * testsuite/plugin/Makefile.am:
7723         * testsuite/plugin/README:
7724         * testsuite/plugin/dynamic.c:
7725         * testsuite/plugin/linked.c:
7726         * testsuite/plugin/loading.c:
7727         * testsuite/plugin/registry.c:
7728         * testsuite/plugin/static.c:
7729         * testsuite/plugin/static2.c:
7730         * testsuite/plugin/testplugin.c:
7731         * testsuite/plugin/testplugin2.c:
7732         * testsuite/plugin/testplugin2_s.c:
7733         * testsuite/plugin/testplugin_s.c:
7734         * testsuite/refcounting/.cvsignore:
7735         * testsuite/refcounting/Makefile.am:
7736         * testsuite/refcounting/bin.c:
7737         * testsuite/refcounting/element.c:
7738         * testsuite/refcounting/element_pad.c:
7739         * testsuite/refcounting/mainloop.c:
7740         * testsuite/refcounting/mem.c:
7741         * testsuite/refcounting/mem.h:
7742         * testsuite/refcounting/object.c:
7743         * testsuite/refcounting/pad.c:
7744         * testsuite/refcounting/sched.c:
7745         * testsuite/refcounting/thread.c:
7746         * testsuite/states/.cvsignore:
7747         * testsuite/states/Makefile.am:
7748         * testsuite/states/bin.c:
7749         * testsuite/states/locked.c:
7750         * testsuite/states/parent.c:
7751         * testsuite/threads/.cvsignore:
7752         * testsuite/threads/159566.c:
7753         * testsuite/threads/159852.c:
7754         * testsuite/threads/Makefile.am:
7755         * testsuite/threads/queue.c:
7756         * testsuite/threads/signals.c:
7757         * testsuite/threads/staticrec.c:
7758         * testsuite/threads/thread.c:
7759         * testsuite/threads/threadb.c:
7760         * testsuite/threads/threadc.c:
7761         * testsuite/threads/threadd.c:
7762         * testsuite/threads/threade.c:
7763         * testsuite/threads/threadf.c:
7764         * testsuite/threads/threadg.c:
7765         * testsuite/threads/threadh.c:
7766         * testsuite/threads/threadi.c:
7767           move all of these under tests
7768
7769 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7770
7771         * configure.ac:
7772         * tests/Makefile.am:
7773           fix distcheck
7774
7775 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7776
7777         * docs/gst/gstreamer-sections.txt:
7778         * tests/sched/.cvsignore:
7779         * tests/sched/Makefile.am:
7780         * tests/sched/cases/(fs-fs).xml:
7781         * tests/sched/cases/(fs-i-fs).xml:
7782         * tests/sched/cases/(fs-i-i-fs).xml:
7783         * tests/sched/cases/(fs-i-q[i-fs]).xml:
7784         * tests/sched/dynamic-pipeline.c:
7785         * tests/sched/interrupt1.c:
7786         * tests/sched/interrupt2.c:
7787         * tests/sched/interrupt3.c:
7788         * tests/sched/runtestcases:
7789         * tests/sched/runxml.c:
7790         * tests/sched/sched-stress.c:
7791         * tests/sched/sort.c:
7792         * tests/sched/testcases:
7793         * tests/sched/testcases1.tc:
7794         * tests/seeking/.cvsignore:
7795         * tests/seeking/Makefile.am:
7796         * tests/seeking/seeking1.c:
7797         * tests/threadstate/.cvsignore:
7798         * tests/threadstate/Makefile.am:
7799         * tests/threadstate/test1.c:
7800         * tests/threadstate/test2.c:
7801         * tests/threadstate/threadstate1.c:
7802         * tests/threadstate/threadstate2.c:
7803         * tests/threadstate/threadstate3.c:
7804         * tests/threadstate/threadstate4.c:
7805         * tests/threadstate/threadstate5.c:
7806           remove obsolete tests
7807         * configure.ac:
7808         * tests/bench-complexity.scm:
7809         * tests/bench-mass_elements.scm:
7810         * tests/complexity.c:
7811         * tests/complexity.gnuplot:
7812         * tests/instantiate/.cvsignore:
7813         * tests/instantiate/Makefile.am:
7814         * tests/instantiate/caps.c:
7815         * tests/mass_elements.c:
7816         * tests/network-clock-utils.scm:
7817         * tests/network-clock.scm:
7818         * tests/plot-data:
7819         First pass at cleaning up tests/ dir before moving the rest
7820         Combined with CVS surgery
7821
7822 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7823
7824         * po/POTFILES.in:
7825           queue has moved, update
7826
7827 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7828
7829         * docs/gst/gstreamer-sections.txt:
7830           remove double entries from the docs
7831         * gst/gst_private.h:
7832         * gst/gstinfo.c: (_gst_debug_init):
7833           remove the THREAD debug category
7834         * gst/Makefile.am:
7835         * gst/gstqueue.c:
7836         * gst/gstqueue.h:
7837         * docs/gst/gstreamer.types:
7838         * plugins/elements/gstqueue.c: (gst_queue_get_type),
7839         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
7840           completely move queue and fix up debugging categories
7841
7842 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7843
7844         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7845           make initialization portable, using LL is not
7846
7847 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7848
7849         * win32/common/gstconfig.h:
7850           add large padding
7851
7852 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7853
7854         * win32/common/libgstreamer.def:
7855           rename symbols; sort base section
7856
7857 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7858
7859         * gst/gstclock.c: (do_linear_regression):
7860           remove crack non-portable handrolled DEBUG macro
7861
7862 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7863
7864         * docs/random/release:
7865           update notes
7866         * win32/common/gstenumtypes.c: (register_gst_object_flags),
7867         (gst_object_flags_get_type), (register_gst_bin_flags),
7868         (gst_bin_flags_get_type), (register_gst_buffer_flag),
7869         (gst_buffer_flag_get_type), (register_gst_bus_flags),
7870         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7871         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
7872         (gst_caps_flags_get_type), (register_gst_clock_return),
7873         (gst_clock_return_get_type), (register_gst_clock_entry_type),
7874         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7875         (gst_clock_flags_get_type), (register_gst_state),
7876         (gst_state_get_type), (register_gst_state_change_return),
7877         (gst_state_change_return_get_type), (register_gst_state_change),
7878         (gst_state_change_get_type), (register_gst_element_flags),
7879         (gst_element_flags_get_type), (register_gst_core_error),
7880         (gst_core_error_get_type), (register_gst_library_error),
7881         (gst_library_error_get_type), (register_gst_resource_error),
7882         (gst_resource_error_get_type), (register_gst_stream_error),
7883         (gst_stream_error_get_type), (register_gst_event_type_flags),
7884         (gst_event_type_flags_get_type), (register_gst_event_type),
7885         (gst_event_type_get_type), (register_gst_seek_type),
7886         (gst_seek_type_get_type), (register_gst_seek_flags),
7887         (gst_seek_flags_get_type), (register_gst_format),
7888         (gst_format_get_type), (register_gst_index_certainty),
7889         (gst_index_certainty_get_type), (register_gst_index_entry_type),
7890         (gst_index_entry_type_get_type),
7891         (register_gst_index_lookup_method),
7892         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7893         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7894         (gst_index_resolver_method_get_type), (register_gst_index_flags),
7895         (gst_index_flags_get_type), (register_gst_debug_level),
7896         (gst_debug_level_get_type), (register_gst_debug_color_flags),
7897         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7898         (gst_iterator_result_get_type), (register_gst_iterator_item),
7899         (gst_iterator_item_get_type), (register_gst_message_type),
7900         (gst_message_type_get_type), (register_gst_mini_object_flags),
7901         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7902         (gst_pad_link_return_get_type), (register_gst_flow_return),
7903         (gst_flow_return_get_type), (register_gst_activate_mode),
7904         (gst_activate_mode_get_type), (register_gst_pad_direction),
7905         (gst_pad_direction_get_type), (register_gst_pad_flags),
7906         (gst_pad_flags_get_type), (register_gst_pad_presence),
7907         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7908         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7909         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7910         (gst_plugin_error_get_type), (register_gst_plugin_flags),
7911         (gst_plugin_flags_get_type), (register_gst_rank),
7912         (gst_rank_get_type), (register_gst_query_type),
7913         (gst_query_type_get_type), (register_gst_tag_merge_mode),
7914         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7915         (gst_tag_flag_get_type), (register_gst_task_state),
7916         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7917         (gst_alloc_trace_flags_get_type),
7918         (register_gst_type_find_probability),
7919         (gst_type_find_probability_get_type), (register_gst_uri_type),
7920         (gst_uri_type_get_type), (register_gst_parse_error),
7921         (gst_parse_error_get_type):
7922         * win32/common/gstenumtypes.h:
7923         * win32/common/gstversion.h:
7924           update visual studio generated files
7925
7926 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7927
7928         * win32/vs6/libgstbase.dsp:
7929         * win32/vs6/libgstelements.dsp:
7930           update project files for new locations
7931
7932 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7933
7934         * Makefile.am:
7935           remove some files
7936         * README:
7937           reinstate and update
7938         * DEVEL:
7939         * REQUIREMENTS:
7940           removed
7941         * LICENSE:
7942         * docs/random/LICENSE:
7943           moved to random
7944
7945 2005-11-30  Edward Hervey  <edward@fluendo.com>
7946
7947         * gst/gsttypefind.c: (gst_type_find_register):
7948         * gst/gsttypefind.h:
7949         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
7950         (gst_type_find_factory_dispose):
7951         * gst/gsttypefindfactory.h:
7952         Fix memory leak in GstTypeFindFactory.
7953
7954 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7955
7956         * gst/gst.c:
7957         * plugins/elements/Makefile.am:
7958         * plugins/elements/gstelements.c:
7959         * plugins/elements/gstqueue.c:
7960           move queue from core to the elements plugin
7961
7962 2005-11-29  Andy Wingo  <wingo@pobox.com>
7963
7964         * libs/gst/base/gstbasetransform.h: 
7965         * libs/gst/base/gstbasesrc.h: 
7966         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
7967
7968         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
7969         of pointers by which to pad very extensible base classes (like the
7970         ones in libs/gst/base).
7971
7972 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7973
7974         * docs/gst/gstreamer-docs.sgml:
7975         * docs/gst/gstreamer-sections.txt:
7976         * docs/libs/gstreamer-libs-docs.sgml:
7977         * docs/libs/gstreamer-libs-sections.txt:
7978           moving documentation from core to lib
7979
7980 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7981
7982         * check/Makefile.am:
7983         * configure.ac:
7984         * docs/gst/Makefile.am:
7985         * gst/Makefile.am:
7986         * gst/base/.cvsignore:
7987         * gst/base/Makefile.am:
7988         * gst/base/README:
7989         * gst/base/gstadapter.c:
7990         * gst/base/gstadapter.h:
7991         * gst/base/gstbasesink.c:
7992         * gst/base/gstbasesink.h:
7993         * gst/base/gstbasesrc.c:
7994         * gst/base/gstbasesrc.h:
7995         * gst/base/gstbasetransform.c:
7996         * gst/base/gstbasetransform.h:
7997         * gst/base/gstcollectpads.c:
7998         * gst/base/gstcollectpads.h:
7999         * gst/base/gstpushsrc.c:
8000         * gst/base/gstpushsrc.h:
8001         * gst/base/gsttypefindhelper.c:
8002         * gst/base/gsttypefindhelper.h:
8003         * gst/check/Makefile.am:
8004         * gst/check/gstcheck.c:
8005         * gst/check/gstcheck.h:
8006         * gst/net/Makefile.am:
8007         * gst/net/gstnet.h:
8008         * gst/net/gstnetclientclock.c:
8009         * gst/net/gstnetclientclock.h:
8010         * gst/net/gstnettimepacket.c:
8011         * gst/net/gstnettimepacket.h:
8012         * gst/net/gstnettimeprovider.c:
8013         * gst/net/gstnettimeprovider.h:
8014         * libs/gst/Makefile.am:
8015         * libs/gst/base/Makefile.am:
8016         * libs/gst/base/gstbasetransform.c:
8017         * libs/gst/check/Makefile.am:
8018         * plugins/elements/Makefile.am:
8019         * po/POTFILES.in:
8020           CVS surgery + support to move base, check, and net out of gst
8021           and into libs/gst
8022
8023 2005-11-29  Andy Wingo  <wingo@pobox.com>
8024
8025         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
8026
8027         * gst/gststructure.h (struct _GstStructure): Only one pointer of
8028         padding.
8029
8030         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
8031
8032         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
8033
8034         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
8035
8036         * gst/gstobject.h: (struct _GstObject): Only one pointer of
8037         padding; reduces object size by about 30%. We don't expect
8038         anything else to go into gstobject.
8039
8040         * gst/gstminiobject.h (struct _GstMiniObject)
8041         (struct _GstMiniObjectClass): Only one pointer of padding; the
8042         payload is only a pointer and two ints anyway. For the class there
8043         are only two methods as well.
8044         
8045         * gst/gstelement.h (struct _GstElementClass): Removed
8046         the state_changed signal callback, it is not used.
8047
8048 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8049
8050         * docs/gst/gstreamer.types:
8051           fix includes, though they are a little dinky
8052
8053 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8054
8055         * check/Makefile.am:
8056           look in the right place for elements, a lot more chance of
8057           success
8058         * gst/Makefile.am:
8059           remove indexers and elements subdirs
8060         * plugins/Makefile.am:
8061           make indexers conditional
8062
8063 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8064
8065         * Makefile.am:
8066         * configure.ac:
8067         * plugins/elements/Makefile.am:
8068         * plugins/elements/gstcapsfilter.c:
8069         * plugins/elements/gstfilesink.c:
8070         * plugins/elements/gstfilesrc.c:
8071         * plugins/elements/gstidentity.c:
8072         * plugins/indexers/Makefile.am:
8073           do CVS surgery and related build fixery to move elements
8074           and indexers in a new gstreamer/plugins directory, out of the
8075           gst/ directory
8076
8077 2005-11-29  Andy Wingo  <wingo@pobox.com>
8078
8079         * check/Makefile.am:
8080         * pkgconfig/gstreamer-net-uninstalled.pc.in:
8081         * pkgconfig/gstreamer-net.pc.in:
8082         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
8083         #322257.
8084
8085 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8086
8087         * tools/Makefile.am:
8088         * tools/gst-complete.1.in:
8089         * tools/gst-complete.c:
8090         * tools/gst-compprep.1.in:
8091         * tools/gst-compprep.c:
8092           removing -compprep and -complete
8093
8094 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8095
8096         * gst/gstevent.c: (gst_event_new_new_segment),
8097         (gst_event_parse_new_segment):
8098         * gst/gstevent.h:
8099           fix #320529 - clean up new_segment API and structure.
8100           Let's hope everyone was using the methods, and not the structure.
8101
8102 2005-11-29  Edward Hervey  <edward@fluendo.com>
8103
8104         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8105         (gst_base_sink_event), (gst_base_sink_do_sync),
8106         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8107         Properly handle non GST_FORMAT_TIME segment
8108         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
8109         Properly handle non GST_FORMAT_TIME segment
8110         * gst/gstsegment.c:
8111         This function is valid if the accumulator is 0 and the format
8112         is different from the requested format.
8113         
8114 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
8115
8116         * docs/gst/gstreamer-sections.txt:
8117         Add gst_query_new_seeking and gst_query_parse_seeking to the
8118         docs.
8119
8120 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
8121
8122         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8123           Treat a pad alloc with new caps the same as if we were not
8124           negotiated, in order to allow a changing upstream output
8125           to produce a new format of data.
8126
8127 2005-11-29  Edward Hervey  <edward@fluendo.com>
8128
8129         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8130         (gst_base_transform_event), (gst_base_transform_eventfunc):
8131         The event virtual method is now properly implemented, with a default
8132         handler
8133         Sub classes should call the parent_class event method. They should
8134         return FALSE if they had a problem handling the given event, or don't
8135         want GstBaseTransform to send that even downstream
8136         * gst/elements/gstidentity.c: (gst_identity_class_init),
8137         (gst_identity_init), (gst_identity_event),
8138         (gst_identity_transform_ip), (gst_identity_set_property),
8139         (gst_identity_get_property):
8140         * gst/elements/gstidentity.h:
8141         Added the single-segment boolean property.
8142         If set to TRUE, it will output a single segment of data, starting from
8143         0, will eat up all incoming newsegment, and modify the timestamp of the
8144         buffers accordingly
8145
8146 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
8147
8148         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
8149           Don't ref NULL target pad (#322751). Improve docs.
8150
8151 2005-11-29  Michael Smith  <msmith@fluendo.com>
8152
8153         * gst/gstregistryxml.c: (load_plugin):
8154           Don't crash if we failed to load a feature from a plugin. 
8155
8156 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8157
8158         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
8159         (GST_START_TEST):
8160           use more check API and less GLib API
8161
8162 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8163
8164         * Makefile.am:
8165           don't run checks if we don't have check
8166         * common/check.mak:
8167           remove the registry when running make torture
8168         * docs/gst/gstreamer-sections.txt:
8169           remove second multiply
8170         * gst/gstqueue.c: (gst_queue_loop):
8171           fix a compile warning when disabling debug
8172
8173 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
8174
8175         * gst/gstinfo.h:
8176         Hey! Let's print the pad name if the pointer != NULL instead
8177         of when it == NULL :-)
8178
8179 2005-11-28  Wim Taymans  <wim@fluendo.com>
8180
8181         * check/gst/gstutils.c: (GST_START_TEST):
8182         Updated check, add some scaling accuracy checking code.
8183
8184         * gst/gstutils.c: (gst_util_div128_64),
8185         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
8186         (gst_util_uint64_scale_int):
8187         Fix 6 times faster division code. Optimize for common 
8188         1/1 and less common X/1 cases.
8189
8190 2005-11-28  Wim Taymans  <wim@fluendo.com>
8191
8192         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8193         More checks.
8194
8195         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
8196         (do_linear_regression), (gst_clock_add_observation):
8197         Cleanups.
8198         Release lock when the clock cannot be slaved.
8199         Catch the case where the regression returned an invalid denominator.
8200
8201         * gst/gstutils.c: (gst_util_div128_64_iterate),
8202         (gst_util_div128_64), (gst_util_uint64_scale_int64),
8203         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
8204         Add protentially more performant non-iterative 128/64 divide function
8205         that unfortunatly does not work yet.
8206         Shortcut the trivial 0/X = 0 case.
8207         Remove the warnings on overflow.
8208
8209 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8210
8211         * gst/gstplugin.c: (gst_plugin_register_func):
8212           everything causing a plugin not to load should be at least a WARNING
8213
8214 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
8215
8216         * docs/random/ensonic/dparams.txt:
8217           some TODOs for the next dev cycle
8218         * libs/gst/controller/gstcontroller.c:
8219         (gst_controlled_property_set_interpolation_mode),
8220         (gst_controlled_property_new):
8221         * libs/gst/controller/gstcontroller.h:
8222           use base type to assign acccessor functions
8223
8224 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
8225
8226         * check/Makefile.am:
8227         Oops, that should have been top_srcdir
8228
8229 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
8230
8231         * check/Makefile.am:
8232         * check/elements/fdsrc.c: (GST_START_TEST):
8233         Use a cmdline define to specify the location of a file to use for
8234         testing, to avoid breaking distcheck.
8235
8236 2005-11-28  Andy Wingo  <wingo@pobox.com>
8237
8238         * gst/gstpad.c (fixate_value): Use array functions for arrays.
8239
8240 2005-11-28  Edward Hervey  <edward@fluendo.com>
8241
8242         * tools/gst-launch.c: (main):
8243         Clarify the output strings, makes it easier to translate.
8244         Fixes #322626
8245
8246 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8247
8248         * gst/Makefile.am:
8249           don't try and build net if we don't even have <sys/socket.h>
8250
8251 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
8252
8253         * check/Makefile.am:
8254         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
8255         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
8256           Add tests for fdsrc seekability
8257
8258         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8259         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
8260         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
8261         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
8262         * gst/elements/gstfdsrc.h:
8263           fdsrc should not be a 'live' source.
8264           Implement seeking on seekable fd's.
8265
8266         * gst/gstquery.c: (gst_query_new_seeking),
8267         (gst_query_parse_seeking):
8268         * gst/gstquery.h:
8269           Implement SEEKING query functions: 
8270             *_new_seeking and *_parse_seeking
8271
8272 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
8273
8274         * gst/gstelement.c: (gst_element_dispose):
8275           don't loop forever
8276
8277         * gst/gstiterator.c:
8278         * gst/gststructure.c:
8279           doc fixes
8280
8281         * libs/gst/controller/gstcontroller.c:
8282         (gst_controlled_property_set_interpolation_mode):
8283         * libs/gst/controller/gstcontroller.h:
8284         * libs/gst/controller/gstinterpolation.c:
8285         (interpolate_none_get_enum_value_array):
8286           support controlling enums
8287
8288 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
8289
8290         * gst/gstvalue.c:
8291           Improve documentation for gst_value_union().
8292
8293         * gst/gstvalue.h:
8294           Change return value for union, intersect and subtract functions
8295           from gint to gboolean.
8296
8297 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
8298
8299         * gst/gstvalue.c: (gst_value_serialize_any_list),
8300         (gst_value_transform_any_list_string),
8301         (gst_value_deserialize_list), (gst_value_deserialize_array),
8302         (gst_value_set_int_range), (gst_value_deserialize_int_range),
8303         (gst_value_set_double_range), (gst_value_deserialize_double_range),
8304         (gst_value_set_fraction_range_full),
8305         (gst_value_deserialize_fraction_range),
8306         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
8307         (gst_value_deserialize_boolean),
8308         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
8309         (gst_value_serialize_float), (gst_value_deserialize_float),
8310         (gst_string_wrap), (gst_value_deserialize_string),
8311         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
8312         (gst_value_union_int_range_int_range),
8313         (gst_value_intersect_int_range_int_range),
8314         (gst_value_intersect_double_range_double_range),
8315         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
8316         (gst_value_subtract_int_range_int_range),
8317         (gst_value_subtract_double_double_range),
8318         (gst_value_subtract_double_range_double_range),
8319         (gst_value_deserialize_fraction):
8320         * gst/gstvalue.h:
8321           Use gint, gdouble and gchar in our API instead of int, double and
8322           char (and make usage in gstvalue.c more consistent).
8323
8324 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
8325
8326         * check/Makefile.am:
8327         * libs/gst/controller/Makefile.am:
8328         * libs/gst/dataprotocol/Makefile.am:
8329           fix up Makefile.am and remove GST_ENABLE_NEW
8330
8331 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
8332
8333         * configure.ac:
8334         * gst/Makefile.am:
8335         * gst/base/Makefile.am:
8336         * gst/check/Makefile.am:
8337         * gst/elements/Makefile.am:
8338         * gst/net/Makefile.am:
8339           update LDFLAGS use some more
8340
8341 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
8342
8343         * common/m4/gst-doc.m4:
8344           Fixes #312589
8345
8346 2005-11-26  Edward Hervey  <edward@fluendo.com>
8347
8348         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
8349         This shouldn't issue a g_warning since it returns NULL if it
8350         couldn't find the plugin, and all functions using this behave
8351         properly on a NULL return. Switching to a GST_WARNING.
8352
8353 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
8354
8355         * gst/gstbin.c: (gst_bin_handle_message_func):
8356         Don't leak clock messages.
8357
8358 2005-11-25  Wim Taymans  <wim@fluendo.com>
8359
8360         * gst/gstutils.c: (gst_util_uint64_scale_int64),
8361         (gst_util_uint64_scale_int):
8362         Optimisations, remove unneeded vars.
8363
8364 2005-11-25  Wim Taymans  <wim@fluendo.com>
8365
8366         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8367         Added more checks for the high precision uint64 cases.
8368
8369         * gst/gstutils.c: (gst_util_uint64_scale_int64),
8370         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
8371         Implement high precision (guint64 * guint64) / guint64.
8372
8373 2005-11-24  Wim Taymans  <wim@fluendo.com>
8374
8375         * gst/base/gstbasesrc.c: (gst_base_src_query):
8376         Fix wrong percentage query.
8377
8378         * gst/gstutils.c: (gst_util_uint64_scale),
8379         (gst_util_uint64_scale_int):
8380         Add some more common cases that can be handled 
8381         efficiently to _scale.
8382
8383 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8384
8385         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
8386         (gst_mini_object_suite):
8387           don't use check calls from threads; check probably isn't
8388           threadsafe and using a lock to make it threadsafe would
8389           defeat the purpose of this check
8390         * gst/check/gstcheck.c:
8391         * gst/check/gstcheck.h:
8392           use GST_DEBUG some more
8393
8394 2005-11-24  Wim Taymans  <wim@fluendo.com>
8395
8396         * gst/gstutils.c: (gst_util_uint64_scale),
8397         (gst_util_uint64_scale_int):
8398         Chain trivial case to _scale_int.
8399
8400 2005-11-24  Wim Taymans  <wim@fluendo.com>
8401
8402         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8403         Added test for scaling.
8404
8405         * gst/gstclock.h:
8406         Small doc fix.
8407
8408         * gst/gstutils.c: (gst_util_uint64_scale_int):
8409         Implemented high precision scaling code.
8410
8411 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
8412
8413         * gst/gstinfo.h:
8414           do not crash on pad==NULL
8415
8416 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8417
8418         Patch by: Stefan Kost
8419
8420         * common/gtk-doc.mak:
8421         * docs/gst/Makefile.am:
8422         * docs/libs/Makefile.am:
8423           Fix distcheck issues for the libraries docs build
8424           Closes #319599.
8425
8426 2005-11-24  Michael Smith <msmith@fluendo.com>
8427
8428         * docs/manual/basics-helloworld.xml:
8429           Fix bug #315027: memory leak in example code in docs.
8430
8431 2005-11-24  Michael Smith <msmith@fluendo.com>
8432
8433         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8434           Unlock the PREROLL_LOCK in a failure case.
8435
8436 2005-11-24  Wim Taymans  <wim@fluendo.com>
8437
8438         * docs/gst/gstreamer-sections.txt:
8439         * gst/base/gstadapter.h:
8440         * gst/base/gstbasesink.h:
8441         * gst/base/gstbasesrc.h:
8442         * gst/base/gstbasetransform.h:
8443         * gst/base/gstpushsrc.h:
8444         * gst/elements/gstfakesink.h:
8445         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
8446         * gst/elements/gstfakesrc.h:
8447         * gst/elements/gstfilesink.h:
8448         * gst/elements/gstfilesrc.h:
8449         * gst/gst.c:
8450         * gst/gstbin.c:
8451         * gst/gstbuffer.c: (_gst_buffer_copy):
8452         * gst/gstbus.h:
8453         * gst/gstcaps.c:
8454         * gst/gstchildproxy.c:
8455         * gst/gstclock.c:
8456         * gst/gstelement.c:
8457         * gst/gstelementfactory.c:
8458         * gst/gstelementfactory.h:
8459         * gst/gstevent.c:
8460         * gst/gstghostpad.h:
8461         * gst/gstindex.h:
8462         * gst/gstinterface.h:
8463         * gst/gstminiobject.c:
8464         * gst/gstminiobject.h:
8465         * gst/gstpad.c:
8466         * gst/gstpad.h:
8467         * gst/gstpadtemplate.h:
8468         * gst/gstpipeline.h:
8469         * gst/gstpluginfeature.h:
8470         * gst/gstquery.h:
8471         * gst/gstqueue.h:
8472         * gst/gsttaglist.c:
8473         * gst/gsttaglist.h:
8474         * gst/gsttagsetter.c:
8475         * gst/gsttagsetter.h:
8476         * gst/gsttrace.c:
8477         * gst/gsttrace.h:
8478         * gst/gsttypefind.h:
8479         * gst/gsturi.h:
8480         * gst/gstvalue.c:
8481         * gst/net/gstnetclientclock.c:
8482         * gst/net/gstnetclientclock.h:
8483         * gst/net/gstnettimepacket.c:
8484         * gst/net/gstnettimeprovider.c:
8485         * gst/net/gstnettimeprovider.h:
8486         Doc fixes.
8487
8488 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8489
8490         * configure.ac: back to HEAD
8491
8492 === release 0.9.6 ===
8493
8494 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
8495
8496         * configure.ac:
8497           releasing 0.9.6, "Always On Time"
8498
8499 2005-11-23  Wim Taymans  <wim@fluendo.com>
8500
8501         * docs/gst/gstreamer-sections.txt:
8502         * gst/glib-compat.c:
8503         * gst/gsttagsetter.c:
8504         * gst/gstvalue.c:
8505         * gst/net/gstnetclientclock.c:
8506         * gst/net/gstnettimepacket.h:
8507         Doc updates.
8508
8509 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8510
8511         * docs/faq/using.xml:
8512         * docs/libs/tmpl/gstcontrol.sgml:
8513         * docs/manual/advanced-dparams.xml:
8514         * docs/manual/appendix-checklist.xml:
8515         * docs/manual/basics-elements.xml:
8516         * docs/pwg/other-source.xml:
8517         * docs/random/moving-plugins:
8518         * gst/gstpad.c:
8519         * tools/gst-launch.1.in:
8520           remove mentions of sinesrc
8521
8522 2005-11-23  Michael Smith <msmith@fluendo.com>
8523
8524         * docs/gst/gstreamer-sections.txt:
8525           Update for new API and API changes.
8526         * gst/gstobject.h:
8527           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
8528         * gst/gstvalue.c:
8529           Documentation typo fix.
8530         * gst/net/gstnettimepacket.c:
8531           Documentation fixes for arguments.
8532
8533 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
8534
8535         * gst/gststructure.c: (gst_structure_get_fraction),
8536         (gst_structure_parse_value),
8537         (gst_structure_fixate_field_nearest_fraction):
8538         * gst/gststructure.h:
8539         * gst/gstutils.c: (gst_util_uint64_scale_int):
8540         * gst/gstutils.h:
8541         * scripts/update-funcnames:
8542         API Changes. 
8543         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
8544         Make gst_structure_fixate_field_nearest_fraction take a numerator
8545         and denominator argument instead of a GValue
8546         add gst_structure_get_fraction helper function.
8547
8548 2005-11-23  Wim Taymans  <wim@fluendo.com>
8549
8550         * docs/design/part-TODO.txt:
8551         Update TODO.
8552
8553         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
8554         * gst/net/gstnetclientclock.h:
8555         Use parent fields for timeout and window_size.
8556
8557 2005-11-23  Andy Wingo  <wingo@pobox.com>
8558
8559         * check/net/gstnetclientclock.c (test_functioning): Adjust to
8560         rate_num/rate_denom change.
8561
8562         * gst/net/gstnetclientclock.c
8563         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
8564         OBJECT_LOCK. Don't call add_observation with the lock.
8565
8566         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
8567         fraction.
8568         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
8569         rate fraction.
8570         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
8571         deal with rate as a fraction whose numerator and denominator are
8572         GstClockTime values.
8573         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
8574         master; the other fields are protected by the SLAVE_LOCK.
8575         (do_linear_regression): Note that this must be called with the
8576         SLAVE_LOCK.
8577         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
8578         OBJECT_LOCK. Call set_calibration instead of touching the
8579         variables directly.
8580         (gst_clock_set_property, gst_clock_get_property): Protect
8581         master/slave parameters with the SLAVE_LOCK.
8582
8583         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
8584         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
8585         note that all of the instance variables that add_observation and
8586         the set_master functions use are protected by that lock and not
8587         the OBJECT_LOCK.
8588         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
8589
8590         * gst/gstclock.c (gst_clock_add_observation): No longer requires
8591         the caller to take the object lock.
8592
8593 2005-11-23  Wim Taymans  <wim@fluendo.com>
8594
8595         * gst/gsterror.c: (_gst_core_errors_init):
8596         * gst/gsterror.h:
8597         Add error for clock stuff.
8598
8599         * gst/gstpipeline.c: (gst_pipeline_change_state),
8600         (gst_pipeline_set_clock):
8601         Post clock error when clock cannot be used in a pipeline.
8602
8603 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
8604
8605         * docs/gst/gstreamer-sections.txt:
8606           make two symbols from gstinfo private for the docs
8607         * gst/base/gstcollectpads.h:
8608         * gst/gstutils.c:
8609           fix doc typos, update docs
8610
8611 2005-11-22  Wim Taymans  <wim@fluendo.com>
8612
8613         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
8614         (gst_base_sink_wait), (gst_base_sink_do_sync),
8615         (gst_base_sink_handle_event):
8616         * gst/base/gstbasesink.h:
8617         No need to store the clock, the parent element class already
8618         has it.
8619
8620         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
8621         Updates for clock_set returning a gboolean
8622
8623         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
8624         (gst_clock_id_wait_async), (gst_clock_class_init),
8625         (gst_clock_init), (gst_clock_finalize),
8626         (gst_clock_get_internal_time), (gst_clock_get_time),
8627         (gst_clock_slave_callback), (gst_clock_set_master),
8628         (gst_clock_get_master), (do_linear_regression),
8629         (gst_clock_add_observation), (gst_clock_set_property),
8630         (gst_clock_get_property):
8631         * gst/gstclock.h:
8632         Implement master/slave. When setting a clock as a slave, a
8633         periodic timeout is scheduled to sample master and slave times.
8634         Then the slave clock is recalibrated to match offset and rate
8635         of the master clock.
8636         Update logging a bit.
8637         Add flag so that a clock can state that is cannot be slaved to
8638         another clock.
8639
8640         * gst/gstelement.c: (gst_element_set_clock):
8641         * gst/gstelement.h:
8642         The set clock returns a gboolean for when an element cannot
8643         deal with the selected clock in the pipeline. 
8644
8645         * gst/gstpipeline.c: (gst_pipeline_change_state),
8646         (gst_pipeline_set_clock):
8647         * gst/gstpipeline.h:
8648         Handle the case where the selected clock cannot be set on
8649         the pipeline.
8650
8651         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
8652         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
8653         (gst_net_client_clock_set_property),
8654         (gst_net_client_clock_get_property),
8655         (gst_net_client_clock_observe_times):
8656         * gst/net/gstnetclientclock.h:
8657         Use regression code in GstClock parent, remove duplicated
8658         functionality.
8659
8660 2005-11-22  Michael Smith <msmith@fluendo.com>
8661
8662         * gst/gstutils.c: (gst_util_clock_time_scale):
8663         * gst/gstutils.h:
8664         * docs/gst/gstreamer-sections.txt:
8665           Rename method to have extra underscore.
8666
8667 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8668
8669         * gst/elements/Makefile.am:
8670         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
8671         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8672         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8673         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
8674         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
8675         * gst/elements/gstfakesrc.h:
8676         * gst/gstqueue.c: (queue_leaky_get_type):
8677           correctly fix GEnumValues so that nick is the short lowercase
8678           dashed tag
8679         * tools/gst-inspect.c: (print_element_properties_info):
8680           also show the nick, since it's useful to use from parse_launch
8681           syntax
8682           Fixes #322139
8683
8684 2005-11-22  Michael Smith <msmith@fluendo.com>
8685
8686         * gst/gstutils.c: (gst_util_clocktime_scale):
8687         * gst/gstutils.h:
8688         * docs/gst/gstreamer-sections.txt:
8689           Add util method for scaling a clocktime by a fraction. Useful 
8690           implementation is left as an exercise for the reader.
8691
8692 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8693
8694         * gst/gstvalue.c: (gst_value_collect_fraction_range):
8695         If needed, allocate storage in the destination value during
8696         collection.
8697
8698 2005-11-22  Edward Hervey  <edward@fluendo.com>
8699
8700         * docs/gst/gstreamer-sections.txt:
8701         * gst/Makefile.am:
8702         * gst/gst.h:
8703         * gst/gsturitype.c:
8704         * gst/gsturitype.h:
8705         * gst/gstutils.c: (gst_util_set_object_arg):
8706         * tools/gst-compprep.c: (main):
8707         * tools/gst-inspect.c: (print_element_properties_info):
8708         Removed GstURI, closes bug #321061
8709
8710 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8711
8712         * check/gst/gststructure.c: (GST_START_TEST):
8713         * gst/gststructure.c: (gst_structure_parse_value):
8714           Oops, broke automatic string type parsing.
8715           Add a test to catch it in future.
8716
8717 2005-11-22  Andy Wingo  <wingo@pobox.com>
8718
8719         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
8720         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
8721         Actually rename the function implementations. Grr.
8722
8723 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8724
8725         * check/gst/capslist.h:
8726           Comment test cases
8727         * check/gst/gststructure.c: (GST_START_TEST),
8728         (gst_structure_suite):
8729           Test automatic value type detection in gst_structure_from_string.
8730         * gst/gststructure.c: (gst_structure_parse_value):
8731           Add fraction as a type we try and guess automatically in
8732           caps/structure strings.
8733
8734 2005-11-22  Andy Wingo  <wingo@pobox.com>
8735
8736         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
8737
8738         * gst/gsttagsetter.h:
8739         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
8740         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
8741         (gst_tag_setter_add_tag_valist)
8742         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
8743         _add_values, _add_valist, and _add_valist_values. Since this is an
8744         interface the function suffixes should be more explicit so
8745         language binding don't end up with element.add_valist ->
8746         gst_tag_setter_add_valist, for example. Fixes #322069.
8747
8748 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8749
8750         * check/gst/gstcaps.c: (GST_START_TEST):
8751           Extend caps string tests to check that a caps to string
8752           conversion is reversible and produces the same caps.
8753
8754         * gst/gststructure.c: (gst_structure_value_get_generic_type):
8755           Output "fraction" as the generic type fraction range, so caps
8756           serialisation and deserialisation works.
8757         * check/gst/capslist.h:
8758         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8759           Support 'MIN' and 'MAX' for deserialising fractions.
8760
8761 2005-11-22  Andy Wingo  <wingo@pobox.com>
8762
8763         * gst/gstevent.h (gst_event_new_new_segment)
8764         (gst_event_parse_new_segment, gst_event_new_buffer_size)
8765         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
8766         Renamed from *_newsegment, *_buffersize, *_notarget.
8767
8768         * scripts/update-funcnames: New script, performs the changes
8769         listed above.
8770
8771 2005-11-22  Wim Taymans  <wim@fluendo.com>
8772
8773         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8774         Make sure the GstFlowReturn is returned.
8775
8776         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
8777         (gst_bus_add_signal_watch):
8778         * gst/gstbus.h:
8779         add gst_bus_add_signal_watch_full.
8780
8781         * gst/gstplugin.c: (gst_plugin_load_file):
8782         Small style cleanup.
8783
8784 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8785
8786         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
8787           Block the fakesrc srcpad when we send an event, to avoid
8788           contention on the stream_lock causing random test failures.
8789
8790 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8791
8792         * check/gst/gstvalue.c: (GST_START_TEST):
8793         * gst/gstvalue.c: (gst_value_fraction_subtract):
8794           Fix subtraction.
8795
8796 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
8797
8798         * gst/gst.h:
8799           include "gstchildproxy.h"
8800         * gst/gstchildproxy.h:
8801         * libs/gst/controller/gstcontroller.h:
8802           use G_GNUC_NULL_TERMINATED
8803
8804 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8805
8806         * check/gst/capslist.h:
8807         * check/gst/gstcaps.c: (GST_START_TEST):
8808         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8809         * gst/gststructure.c: (gst_structure_parse_range),
8810         (gst_structure_fixate_field_nearest_fraction):
8811         * gst/gststructure.h:
8812         * gst/gstvalue.c: (gst_value_init_fraction_range),
8813         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
8814         (gst_value_collect_fraction_range),
8815         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
8816         (gst_value_set_fraction_range_full),
8817         (gst_value_get_fraction_range_min),
8818         (gst_value_get_fraction_range_max),
8819         (gst_value_serialize_fraction_range),
8820         (gst_value_transform_fraction_range_string),
8821         (gst_value_compare_fraction_range),
8822         (gst_value_deserialize_fraction_range),
8823         (gst_value_intersect_fraction_fraction_range),
8824         (gst_value_intersect_fraction_range_fraction_range),
8825         (gst_value_subtract_fraction_fraction_range),
8826         (gst_value_subtract_fraction_range_fraction),
8827         (gst_value_subtract_fraction_range_fraction_range),
8828         (gst_value_collect_fraction), (gst_value_fraction_multiply),
8829         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
8830         (gst_value_transform_string_fraction), (_gst_value_initialize):
8831         * gst/gstvalue.h:
8832           Implement fraction ranges and extend GstFraction to support
8833           arithmetic subtraction, as well as deserialization from integer
8834           strings such as "100"
8835           Add a testsuite as for int and double range set operations
8836
8837 2005-11-21  Andy Wingo  <wingo@pobox.com>
8838
8839         * gst/gsttaglist.h: 
8840         * gst/gstcaps.h: 
8841         * gst/gststructure.h: Add glib-compat.h.
8842
8843 2005-11-21  Wim Taymans  <wim@fluendo.com>
8844
8845         * gst/gstbin.c: (gst_bin_change_state_func):
8846         Fix for #321595
8847
8848 2005-11-21  Wim Taymans  <wim@fluendo.com>
8849
8850         * gst/gstsegment.h:
8851         And add a nice define too.
8852
8853 2005-11-21  Wim Taymans  <wim@fluendo.com>
8854
8855         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
8856         (gst_segment_new), (gst_segment_free), (gst_segment_init),
8857         (gst_segment_set_duration), (gst_segment_set_last_stop),
8858         (gst_segment_set_seek), (gst_segment_set_newsegment),
8859         (gst_segment_to_stream_time), (gst_segment_to_running_time),
8860         (gst_segment_clip):
8861         * gst/gstsegment.h:
8862         Make binding friendly.
8863
8864 2005-11-21  Andy Wingo  <wingo@pobox.com>
8865
8866         * gst/gsttagsetter.h: 
8867         * gst/gsttaglist.h: 
8868         * gst/gststructure.h: 
8869         * gst/gstcaps.h: 
8870         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
8871         #319940.
8872
8873         * gst/gsterror.c (_gst_core_errors_init):
8874         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
8875         category.
8876
8877         * gst/Makefile.am (gst_headers): Add glib-compat.h.
8878         (noinst_HEADERS): noinst the -private.
8879
8880 2005-11-21  Michael Smith <msmith@fluendo.com>
8881
8882         * gst/gstplugin.h:
8883         * gst/gstregistry.h:
8884           Remove unimplemented declarations for which we can see no sensible
8885           use.
8886
8887 2005-11-21  Andy Wingo  <wingo@pobox.com>
8888
8889         * gst/gst.h: Include glib-compat.h.
8890
8891         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
8892
8893         * gst/glib-compat.c: Include the public and the private header.
8894
8895         * gst/glib-compat-private.h: Copied here from glib-compat.h.
8896
8897         * gst/gstvalue.c: 
8898         * gst/gstpad.c: 
8899         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
8900
8901         * check/gst/gstevent.c (create_custom_events): Check that
8902         FLUSH_STOP is serialized.
8903
8904         * check/elements/identity.c (event_func): 
8905         * check/elements/fakesrc.c (event_func): No stream lock, the core
8906         takes it.
8907
8908         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
8909         stream lock taking, yay.
8910
8911         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
8912         ensure that core takes the stream lock.
8913
8914         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
8915         lock name change.
8916
8917         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
8918         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
8919         it already. For the flush start we do take it though so we get the
8920         right preroll state change messages.
8921
8922         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
8923         the stream lock here, the core does it for us.
8924
8925         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
8926         GST_STREAM_GET_LOCK.
8927         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
8928         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
8929         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
8930         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
8931         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
8932         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
8933
8934         * gst/gstpad.c: Update for stream lock name change.
8935
8936         * gst/base/gstbasesink.c: Update for preroll lock name change.
8937
8938 2005-11-21  Wim Taymans  <wim@fluendo.com>
8939
8940         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
8941         (gst_clock_get_master):
8942         * gst/gstclock.h:
8943         * gst/gstsystemclock.c: (gst_system_clock_init):
8944         Convert Clock flags to object flags.
8945         Added methods to manage master/slave clocks.
8946
8947 2005-11-21  Wim Taymans  <wim@fluendo.com>
8948
8949         * check/gst/gstsegment.c: (GST_START_TEST):
8950         * docs/design/part-TODO.txt:
8951         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8952         (gst_base_sink_event), (gst_base_sink_do_sync),
8953         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8954         (gst_base_sink_query), (gst_base_sink_change_state):
8955         * gst/base/gstbasesink.h:
8956         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
8957         (gst_base_src_default_newsegment),
8958         (gst_base_src_configure_segment), (gst_base_src_do_seek),
8959         (gst_base_src_get_range), (gst_base_src_loop),
8960         (gst_base_src_change_state):
8961         * gst/base/gstbasesrc.h:
8962         * gst/base/gstbasetransform.c:
8963         (gst_base_transform_prepare_output_buf),
8964         (gst_base_transform_event), (gst_base_transform_change_state):
8965         * gst/base/gstbasetransform.h:
8966         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8967         (gst_collect_pads_event):
8968         * gst/base/gstcollectpads.h:
8969         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
8970         (gst_fake_src_create):
8971         * gst/elements/gstfakesrc.h:
8972         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
8973         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
8974         (gst_segment_set_last_stop), (gst_segment_set_seek),
8975         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
8976         (gst_segment_to_running_time), (gst_segment_clip):
8977         * gst/gstsegment.h:
8978         More segment updates, replace code in plugins with segment
8979         helper functions.
8980
8981 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
8982
8983         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
8984         Don't ignore sscanf results
8985
8986 2005-11-21  Andy Wingo  <wingo@pobox.com>
8987
8988         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
8989
8990         * *.h:
8991         * *.c: Ran scripts/update-macros. Oh yes.
8992
8993         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
8994         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
8995         GST_GET_LOCK, etc.
8996
8997         * scripts/update-macros: New script. Run it on your files to
8998         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
8999         well.
9000
9001 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
9002
9003         * docs/gst/Makefile.am:
9004         * docs/gst/gstreamer-docs.sgml:
9005         * docs/gst/gstreamer-sections.txt:
9006         * docs/gst/gstreamer.types:
9007         * gst/gstinfo.h:
9008           more docs fixes, add new api to the docs
9009
9010 2005-11-21  Andy Wingo  <wingo@pobox.com>
9011
9012         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
9013         state_broadcast call.
9014
9015         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
9016
9017 2005-11-21  Julien MOUTTE  <julien@moutte.net>
9018
9019         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
9020         function calls for arrays.
9021
9022 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
9023
9024         * docs/random/ensonic/media-device-daemon.txt:
9025           wild idea, can this be done?
9026         * docs/gst/gstreamer-sections.txt:
9027         * gst/gsterror.h:
9028         * gst/gstfilter.c:
9029         * gst/gstfilter.h:
9030         * gst/gstplugin.h:
9031         * gst/gstpluginfeature.c:
9032         * gst/gsttrace.c:
9033         * gst/gstvalue.c:
9034         * gst/gstvalue.h:
9035           doc fixes and additions
9036
9037 2005-11-21  Andy Wingo  <wingo@pobox.com>
9038
9039         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
9040         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
9041         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
9042         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
9043         private to the basesrc implementation.
9044
9045         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
9046         behalf of event function if necessary. It should no longer be
9047         necessary to take the stream lock in pad's event functions. Fixes
9048         #320299.
9049
9050 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
9051         * docs/gst/gstreamer-sections.txt:
9052         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
9053         (gst_structure_fixate_field_nearest_double),
9054         (gst_structure_fixate_field_boolean):
9055         * gst/gststructure.h:
9056         * win32/common/libgstreamer.def:
9057         * win32/gstreamer.def:
9058
9059         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
9060         (#322027)
9061
9062 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
9063
9064         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
9065         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
9066         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
9067         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
9068         (gst_fdsrc_uri_handler_init):
9069         * gst/elements/gstfdsrc.h:
9070           Port fd:// URI handler from 0.8 to fdsrc
9071
9072 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
9073
9074         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
9075         (gst_value_serialize_fourcc):
9076         * gst/gstvalue.h:
9077           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
9078           consistent with our other format defines (#320324).
9079
9080 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
9081
9082         * gst/gstvalue.c: (gst_value_is_fixed):
9083           Revert previous commit. Value lists are by definition
9084           not fixed, as they are a list of possible values.
9085
9086 2005-11-21  Andy Wingo  <wingo@pobox.com>
9087
9088         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
9089         during the stable series if we need it. Fixes #319178.
9090
9091         * gst/gstevent.c (gst_event_new_filler): Removed.
9092
9093         * check/gst/gstevent.c: Update comment about filler events.
9094
9095 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
9096
9097         * gst/gstvalue.c: (gst_value_is_fixed):
9098           Should handle both value arrays and value lists.
9099
9100 2005-11-21  Andy Wingo  <wingo@pobox.com>
9101
9102         patch by: Alessandro Dessina <alessandro nnva org>
9103
9104         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
9105         functions to access arrays. Fixes #321962.
9106
9107 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
9108
9109         * docs/gst/gstreamer.types:
9110           gst_collectpads_get_type => gst_collect_pads_get_type.
9111           
9112         * gst/base/gstbasetransform.c:
9113           Remove unused SIGNAL_HANDOFF enum.
9114
9115 2005-11-21  Andy Wingo  <wingo@pobox.com>
9116
9117         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
9118         the event type (upstream, downstream, serialized). Renamed
9119         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
9120         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
9121         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
9122
9123         * gst/gstevent.c: Update for new CUSTOM event names.
9124
9125         * check/gst/gstevent.c: Update check for new CUSTOM event names.
9126
9127         * gst/gstevent.h:
9128         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
9129         bug #319392.
9130
9131 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
9132
9133         * docs/gst/gstreamer-sections.txt:
9134         * win32/common/libgstbase.def:
9135         * win32/libgstbase.def:
9136         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9137         (gst_collect_pads_class_init), (gst_collect_pads_init),
9138         (gst_collect_pads_finalize), (gst_collect_pads_new),
9139         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
9140         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
9141         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
9142         (gst_collect_pads_start), (gst_collect_pads_stop),
9143         (gst_collect_pads_peek), (gst_collect_pads_pop),
9144         (gst_collect_pads_available), (gst_collect_pads_read),
9145         (gst_collect_pads_flush), (gst_collect_pads_event),
9146         (gst_collect_pads_chain):
9147         * gst/base/gstcollectpads.h:
9148           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
9149           unimplemented functions as unimplemented. Add padding to
9150           GstCollectData. (#320766, #320423)
9151
9152 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
9153
9154         * gst/gstmessage.c:
9155           Improve docs for DURATION message (usage of duration parameter)
9156           (#320113)
9157
9158 2005-11-20  Wim Taymans  <wim@fluendo.com>
9159
9160         * check/Makefile.am:
9161         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
9162         (main):
9163         * gst/Makefile.am:
9164         * gst/gst.h:
9165         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
9166         (gst_segment_set_seek), (gst_segment_set_newsegment),
9167         (gst_segment_to_stream_time), (gst_segment_to_running_time),
9168         (gst_segment_clip):
9169         * gst/gstsegment.h:
9170         Added segment helper structure and methods. Not fully implemented
9171         yet.
9172         Added segment check.
9173
9174 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
9175
9176         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9177           Add a deserialisation test for fractions
9178         * examples/metadata/read-metadata.c: (message_loop),
9179         (make_pipeline), (main):
9180           Fix up metadata reading sample.
9181         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9182           Debug format fix
9183         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9184           Don't try and fixate empty caps
9185         * gst/gst_private.h:
9186           Wrap in G_BEGIN_DECLS/G_END_DECLS
9187         * gst/gstvalue.c: (gst_value_collect_fraction),
9188         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
9189         (gst_value_transform_string_fraction),
9190         (gst_value_compare_fraction):
9191           Add some extra guards to ensure that we don't end up 
9192           with an invalid denominator of 0 in a gstfraction and
9193           that fractions always get reduced.
9194
9195 2005-11-20  Wim Taymans  <wim@fluendo.com>
9196
9197         * docs/gst/gstreamer-sections.txt:
9198         * gst/gstbuffer.h:
9199         * gst/gstelement.c:
9200         * gst/gstformat.c:
9201         * gst/gstformat.h:
9202         * gst/gstindex.h:
9203         * gst/gstquery.c:
9204         * gst/gstquery.h:
9205         * gst/gstvalue.c:
9206         Doc fixes.
9207
9208 2005-11-20  Wim Taymans  <wim@fluendo.com>
9209
9210         * docs/design/part-TODO.txt:
9211         * gst/gstcaps.h:
9212         Make a proper enum of the flag.
9213
9214 2005-11-19  Wim Taymans  <wim@fluendo.com>
9215
9216         * docs/design/part-TODO.txt:
9217         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
9218         (gst_format_to_quark), (gst_format_register):
9219         * gst/gstformat.h:
9220         * gst/gstquery.c: (_gst_query_initialize),
9221         (gst_query_type_get_name), (gst_query_type_to_quark),
9222         (gst_query_type_register):
9223         * gst/gstquery.h:
9224         Add type to quark and type to string conversions.
9225
9226 2005-11-19  Andy Wingo  <wingo@pobox.com>
9227
9228         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
9229         #320097.
9230
9231 2005-11-19  Wim Taymans  <wim@fluendo.com>
9232
9233         * docs/design/part-TODO.txt:
9234         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
9235         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
9236         (gst_bin_handle_message_func):
9237         * gst/gstbin.h:
9238         Make message handling overridable.
9239
9240 2005-11-19  Andy Wingo  <wingo@pobox.com>
9241
9242         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
9243
9244         * gst/gstclock.h:
9245         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
9246         be a GstClockTime.
9247         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
9248         is a GstClockTime. Fixes #321710.
9249
9250         * gst/gstclock.h (GstClock): Remove offset property. Add
9251         internal_calibration and external_calibration. Fix padding. Pad
9252         also by GstClockTime so we don't run into problems.
9253
9254         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
9255         (gst_clock_get_rate_offset): Remove.
9256         (gst_clock_set_time_adjust): Remove. Fixes #321712.
9257
9258         * gst/gstutils.h:
9259         * gst/gstutils.c (g_static_rec_cond_wait)
9260         (g_static_rec_cond_timed_wait): Removed, no longer needed.
9261
9262         * gst/gstbin.c: Remove terrible continue_state prototype.
9263
9264         * gst/gstelement.h (gst_element_continue_state): Make public.
9265
9266         * gst/gstelement.h:
9267         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
9268         by continue_state. Fixes #319389.
9269
9270         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
9271         Really fixes #168438. However I don't see anywhere where the
9272         filter function is called... stupid GStreamer...
9273         
9274         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
9275         don't have a dispose function, so it won't get called when the
9276         object is unreffed, but oh well!
9277
9278         * gst/gstindex.c (gst_index_set_filter_full): New API function,
9279         allows a destroy function to be set so user_data can be freed.
9280         Fixes #168438.
9281         (gst_index_set_filter): Call gst_index_set_filter_full.
9282
9283         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
9284
9285         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
9286         string should produce an error, given the lack of a way to
9287         represent NULL strings. Fixes #165650.
9288         
9289         * gst/gstvalue.h: 
9290         * gst/gstvalue.c (gst_value_array_append_value) 
9291         (gst_value_array_prepend_value, gst_value_array_get_size) 
9292         (gst_value_array_get_value): New API, copied from
9293         gst_value_list_*, only operates on arrays.
9294         (gst_value_list_append_value, gst_value_list_prepend_value) 
9295         (gst_value_list_concat, gst_value_list_get_size) 
9296         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
9297
9298         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
9299         init_list, because it works on both.
9300         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
9301         (gst_value_copy_list_or_array): Renamed from copy_list.
9302         (gst_value_free_list_or_array): Renamed from free_list.
9303         (gst_value_collect_list_or_array): Renamed from collect_list.
9304         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
9305         (gst_value_list_or_array_peek_pointer): Renamed from
9306         list_peek_pointer.
9307         (_gst_value_array_value_table, _gst_value_list_value_table):
9308         Update value table functions.
9309         (gst_value_compare_list_or_array): Renamed from compare_list.
9310
9311         * gsttaglist.h: Whoops, foreach function returns void. Also fix
9312         some constness.
9313
9314         * gst/gsttaglist.c:
9315         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
9316         GstTagList*. Fixes #143472.
9317
9318         * gst/gststructure.h: Clarify what the foreach/map functions can
9319         or can't do to their arguments.
9320
9321 2005-11-18  Wim Taymans  <wim@fluendo.com>
9322
9323         * gst/gstclock.c: (gst_clock_set_calibration),
9324         (gst_clock_get_calibration):
9325         Doc and API fixes.
9326         Calibration can be set with internal time equal to current
9327         internal time too.
9328
9329 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9330
9331         * gst/gsterror.c:
9332         * gst/gsterror.h:
9333           document
9334
9335 2005-11-18  Andy Wingo  <wingo@pobox.com>
9336
9337         * configure.ac: 
9338         * pkgconfig/gstreamer-net.pc.in:
9339         * pkgconfig/gstreamer-net-uninstalled.pc.in:
9340         * pkgconfig/Makefile.am: Add net pkgconfig files.
9341
9342 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
9343
9344         * gst/gstcaps.c:
9345         * gst/gstghostpad.c:
9346         * gst/gsttrace.c:
9347         * gst/gstvalue.c:
9348         * gst/gstvalue.h:
9349           docs fixes
9350
9351 2005-11-18  Andy Wingo  <wingo@pobox.com>
9352
9353         * gst/net/gstnetclientclock.c: Turn off debugging.
9354
9355         * check/net/gstnetclientclock.c (test_functioning): Assert that the
9356         times connverge somewhat. Can't make a real test.
9357
9358         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
9359         integer arithmetic. Return the minimum of the domain, which can be
9360         set as "internal" for gst_clock_set_calibration.
9361         (gst_net_client_clock_observe_times): Call _set_calibration.
9362         (gst_net_client_clock_new): Call _set_calibration instead of
9363         rate_offset.
9364
9365         * check/net/gstnetclientclock.c (test_functioning): Use the right
9366         adjustment api.
9367
9368         * gst/gstclock.h:
9369         * gst/gstclock.c (gst_clock_get_calibration) 
9370         (gst_clock_set_calibration): New functions, obsolete the ones I
9371         added yesterday. Doh. Precision issues mean we have to extrapolate
9372         from a point in the more recent past than 1970.
9373         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
9374         obsolete.
9375         (gst_clock_adjust_unlocked): Use the right calibration data.
9376
9377 2005-11-18  Edward Hervey  <edward@fluendo.com>
9378
9379         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
9380         Also reset the ->current_* values in READY->PAUSED
9381
9382 2005-11-18  Andy Wingo  <wingo@pobox.com>
9383
9384         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
9385         Whoops, check the right fd. Also add some debugging.
9386         (gst_net_client_clock_observe_times): Adjust for int64 offset.
9387         (do_linear_regression): Add a crapload of debugging. Subtract off
9388         the minimum values from the input series to discard unneeded bits.
9389         Use only int arithmetic. There is still double arithmetic when
9390         calculating the intercept that needs fixing. Return boolean to
9391         indicate success; FALSE would mean the domain or range is too
9392         great. Still needs fixes.
9393
9394 2005-11-18  Wim Taymans  <wim@fluendo.com>
9395
9396         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
9397         For the current position in stream time, we need to subtract
9398         accumulated time.
9399         
9400         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
9401         Release lock before calling the callback function of async
9402         entries.
9403
9404 2005-11-18  Andy Wingo  <wingo@pobox.com>
9405
9406         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
9407         Port goes all the way to MAXUINT16.
9408
9409         * gst/net/gstnettimeprovider.c: Make the port range the same as
9410         for the kernel: 0 assigns, otherwise ports are less than
9411         MAXUINT16.
9412
9413         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
9414         port change.
9415
9416         * check/net/gstnetclientclock.c (test_functioning): Add the start
9417         of another test. 
9418
9419 2005-11-18  Wim Taymans  <wim@fluendo.com>
9420
9421         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9422         (gst_bin_remove_func), (bin_bus_handler):
9423         * gst/gstbin.h:
9424         Removing a clock provider from a bin, triggers a clock lost message
9425         so that a new clock will be selected.
9426         Adding a clock to a bin triggers a clock provider message.
9427         Make sure we reselect a clock when we received a clock lost message.
9428         Keep a reference to the element that provided the clock.
9429
9430 2005-11-18  Andy Wingo  <wingo@pobox.com>
9431
9432         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
9433         the clock initially so it produces values around the base time.
9434         (gst_net_client_clock_class_init): Typo fix.
9435         (gst_net_client_clock_thread): Add note on when the socket gets
9436         closed.
9437
9438 2005-11-17  Wim Taymans  <wim@fluendo.com>
9439
9440         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
9441         Free remote and local time arrays.
9442
9443 2005-11-17  Wim Taymans  <wim@fluendo.com>
9444
9445         * gst/net/gstnetclientclock.c: (do_linear_regression),
9446         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
9447         Fix compilation, uninitialized vars and a forgotten continue.
9448
9449 2005-11-17  Andy Wingo  <wingo@pobox.com>
9450
9451         * check/Makefile.am (check_PROGRAMS): 
9452         * check/net/gstnetclientclock.c: Add a most minimal test for the
9453         net client clock. More to come later.
9454
9455         * gst/net/gstnet.h: 
9456         * gst/net/Makefile.am: Add netclientclock.
9457
9458         * gst/net/gstnetclientclock.h:
9459         * gst/net/gstnetclientclock.c: New files, implement an untested
9460         GstClock that takes its time from a network time provider.
9461         Implements the algorithm in network-clock.scm.
9462
9463         * tests/network-clock.scm (*window-size*): Rename from
9464         *queue-length*.
9465         * tests/network-clock.scm (network-time): 
9466         * tests/network-clock-utils.scm (q-push): Update callers.
9467
9468 2005-11-17  Wim Taymans  <wim@fluendo.com>
9469
9470         * gst/gstbin.c: (gst_bin_provide_clock_func),
9471         (gst_bin_sort_iterator_new):
9472         And unref the child too..
9473
9474 2005-11-17  Wim Taymans  <wim@fluendo.com>
9475
9476         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
9477         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
9478         Refactor the sort iterator so it can be used while holding the
9479         LOCK too.
9480         Make clock selection select a clock closest to the source.
9481
9482 2005-11-17  Michael Smith <msmith@fluendo.com>
9483
9484         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
9485         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
9486         * gst/gstclock.h:
9487           Anonymous structs are a gcc (and some other compilers) extension, so
9488           don't use them. Since this is only for ABI-compatibility, and our
9489           API/ABI freeze is over in a few days, this whole thing will only
9490           last a few days, so don't bother trying to think up a meaningful
9491           name for the struct.
9492
9493 2005-11-17  Andy Wingo  <wingo@pobox.com>
9494
9495         * gst/gstclock.h (GstClock): Add rate and offset properties,
9496         preserving ABI stability. Add rate/offset accessors. Will file bug
9497         for the freeze break.
9498
9499         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
9500         and offset, trying to keep precision and avoiding
9501         underflow/overflow.
9502         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
9503         functions. Make gst_clock_set_time_adjust obsolete.
9504         (gst_clock_set_time_adjust): Note that this function is obsolete.
9505         Will file bug soon.
9506
9507         * gst/base/gstbasetransform.h: Make the ABI-stability hack
9508         greppable by using GST_PADDING-1+1.
9509
9510 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
9511
9512         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9513
9514         * gst/gstmessage.c: (gst_message_parse_clock_lost):
9515           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
9516
9517         * gst/gstpadtemplate.h:
9518         * gst/gstpluginfeature.h:
9519           Don't use c++ style comments in headers (#321638).
9520
9521 2005-11-16  Andy Wingo  <wingo@pobox.com>
9522
9523         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
9524         buffer.
9525
9526         * check/net/gstnettimeprovider.c: Check to see that the time
9527         provider actually provides times. Works, yo!
9528
9529 2005-11-16  Wim Taymans  <wim@fluendo.com>
9530
9531         * check/Makefile.am:
9532         Enable more tests.
9533
9534         * check/elements/fakesrc.c: (GST_START_TEST):
9535         Set element to NULL before disposing it.
9536
9537 2005-11-16  Andy Wingo  <wingo@pobox.com>
9538
9539         * gst/net/Makefile.am:
9540         * gst/net/gstnet.h:
9541         * gst/net/gstnettimeprovider.c: 
9542         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
9543         provider, include it from gstnet.h, and add it to the build.
9544
9545         * gst/net/gstnettimepacket.h: 
9546         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
9547         sending and receiving.
9548
9549 2005-11-16  Wim Taymans  <wim@fluendo.com>
9550
9551         * check/Makefile.am:
9552         Enable valgrind check.
9553
9554         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
9555         (gst_fake_src_alloc_buffer):
9556         Fix memleak.
9557
9558 2005-11-16  Wim Taymans  <wim@fluendo.com>
9559
9560         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
9561         Call parent finalize too.
9562
9563 2005-11-16  Wim Taymans  <wim@fluendo.com>
9564
9565         * check/Makefile.am:
9566         Enable valgrind check that should work fine now.
9567
9568         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9569         * gst/gstqueue.c: (gst_queue_init):
9570         Fix memleaks in pad allocation.
9571
9572 2005-11-16  Andy Wingo  <wingo@pobox.com>
9573
9574         * gst/net/Makefile.am:
9575         * gst/net/gstnet.h: New part of core to hold network elements and
9576         objects. Put in core because it exposes API that applications want
9577         to use. The library is named libgstnet-tempname right now because
9578         of the existing libgstnet in gst-plugins-base. Solution is
9579         probably to rename the one in plugins-base; will file a bug for
9580         the freeze break.
9581
9582         * gst/net/gstnettimeprovider.c: 
9583         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
9584         get_time call over the network.
9585
9586         * configure.ac: 
9587         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
9588
9589         * check/Makefile.am:
9590         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
9591         get additions shortly.
9592
9593 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9594
9595         * gst/gstpad.c: (gst_pad_new_from_static_template):
9596         * gst/gstpad.h:
9597           add gst_pad_new_from_static_template functions
9598         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
9599         (gst_check_setup_sink_pad):
9600         * gst/elements/gsttee.c: (gst_tee_init):
9601           and use them
9602
9603 2005-11-16  Wim Taymans  <wim@fluendo.com>
9604
9605         * gst/gstpad.c: (gst_pad_pause_task):
9606         Removed warning, it's not really an error either.
9607
9608 2005-11-16  Wim Taymans  <wim@fluendo.com>
9609
9610         * gst/base/gstbasetransform.c:
9611         (gst_base_transform_prepare_output_buf),
9612         (gst_base_transform_event):
9613         Check if the caps are NULL, this can happen if the element
9614         is shutting down and the pad caps are set to NULL.
9615
9616 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9617
9618         * gst/elements/gsttee.c: (gst_tee_init):
9619           fix pad template leak in tee
9620
9621 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9622
9623         * gst/glib-compat.c: (g_value_dup_gst_object):
9624         * gst/glib-compat.h:
9625         * gst/gstpad.c: (gst_pad_set_property):
9626           use gst_object_ref when setting the pad template; this will
9627           trigger the pad template leaks on GLib 2.6 and the slaves
9628
9629 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9630
9631         * gst/glib-compat.c: (gst_flags_get_first_value):
9632         * gst/glib-compat.h:
9633         * gst/gstregistryxml.c:
9634           remove functions copied from GLib 2.6
9635
9636 2005-11-16  Michael Smith <msmith@fluendo.com>
9637
9638         * gst/Makefile.am:
9639           Don't link against VALGRIND_LIBS. That was always the wrong thing to
9640           do, but only breaks with newer valgrind versions. We're not a
9641           valgrind tool, we have no link-time dependencies on libcoregrind.
9642
9643 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9644
9645         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9646           some debug changes
9647         * gst/gstmessage.h:
9648           typo fixes
9649
9650 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9651
9652         * gst/base/gstbasesrc.c: (gst_base_src_init):
9653         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9654         * gst/gstqueue.c: (gst_queue_init):
9655         * gst/gstregistryxml.c: (load_feature):
9656           Revert all these unrefs, they don't even pass make check !
9657
9658 2005-11-15  Johan Dahlin  <johan@gnome.org>
9659
9660         * gst/base/gstbasesrc.c: (gst_base_src_init):
9661         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9662         * gst/gstqueue.c: (gst_queue_init): 
9663         Free pad templates, fixes a couple of leaks.
9664
9665 2005-11-15  Daniel Fischer  <dan at f3c dot com>
9666
9667         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9668
9669         * gst/gstpad.c: (gst_pad_get_property):
9670           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
9671           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
9672           (#321452)
9673
9674 2005-11-15  Wim Taymans  <wim@fluendo.com>
9675
9676         * gst/gstevent.c:
9677         Small doc update.
9678
9679 2005-11-15  Andy Wingo  <wingo@pobox.com>
9680
9681         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
9682
9683         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
9684         using GST_CLOCK_TIME_NONE to disable base time management.
9685         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
9686         time if it was NONE before.
9687         (gst_pipeline_change_state): Only munge the base time if
9688         stream_time != GST_CLOCK_TIME_NONE.
9689
9690         * check/gst/gstpipeline.c (test_base_time): Punt around the
9691         problem of the probe not being called, because that's not the
9692         issue I'm looking at. Add a check that setting stream_time to NONE
9693         disables base time management.
9694         
9695 2005-11-15  Wim Taymans  <wim@fluendo.com>
9696
9697         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9698         segment_stop == -1 at startup.
9699
9700         * gst/base/gstbasetransform.c: (gst_base_transform_event),
9701         (gst_base_transform_change_state):
9702         Init segment values at start.
9703
9704 2005-11-15  Wim Taymans  <wim@fluendo.com>
9705
9706         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9707         0 segment values are 0 in any format.
9708
9709         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9710         * gst/base/gstbasetransform.h:
9711         Parse newsegment correctly in basetransform
9712
9713         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
9714         Sync to clock using updated segment values.
9715
9716 2005-11-15  Andy Wingo  <wingo@pobox.com>
9717
9718         * check/gst/gstpipeline.c (test_base_time): Add check that the
9719         base time and stream time are reset correctly.
9720
9721 2005-11-15  Wim Taymans  <wim@fluendo.com>
9722
9723         * docs/design/part-TODO.txt:
9724         Some more TODO items.
9725
9726 2005-11-15  Andy Wingo  <wingo@pobox.com>
9727
9728         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
9729         error if the user selected "no clock" as the clocking method.
9730
9731         * check/gst/gstpipeline.c (test_base_time): New test for buffer
9732         timestamps with live capture.
9733
9734         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
9735         is 0 but we are a live source, timestamp the buffers using the
9736         element's clock.
9737
9738 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
9739
9740         * docs/gst/gstreamer-sections.txt:
9741         * gst/gsterror.c:
9742         * gst/gstghostpad.c:
9743         * gst/gstobject.h:
9744         * gst/gstxml.c:
9745           more section docs
9746
9747 2005-11-14  Wim Taymans  <wim@fluendo.com>
9748
9749         * common/gst.supp:
9750           add suppressions from Wim's Debian machine
9751
9752 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9753
9754         * common/gst.supp:
9755           add suppressions from Andy's AMD64 Ubuntu machine
9756
9757 2005-11-14  Andy Wingo  <wingo@pobox.com>
9758
9759         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
9760         STATE_LOCK not necessary. Fixes #311489.
9761
9762         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
9763         #305291.
9764
9765         * gst/gstindex.c (gst_index_add_object): Note in the docs that
9766         this function is not implemented.
9767
9768 2005-11-14  Julien MOUTTE  <julien@moutte.net>
9769
9770         * gst/base/gstbasetransform.c:
9771         (gst_base_transform_prepare_output_buf):
9772         Ref the source pad caps while we need them.
9773         Fixes (#321386)
9774
9775 2005-11-11  Wim Taymans  <wim@fluendo.com>
9776
9777         * docs/gst/gstreamer-sections.txt:
9778         Added some docs for GstCollectData.
9779
9780         * gst/base/gstadapter.c:
9781         Some small code example fix.
9782
9783         * gst/base/gstcollectpads.c:
9784         * gst/base/gstcollectpads.h:
9785         Document some more.
9786
9787 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9788
9789         * configure.ac: back to HEAD
9790
9791 === release 0.9.5 ===
9792
9793 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
9794
9795         * configure.ac:
9796           releasing 0.9.5, "Bike Lunch Day"
9797
9798 2005-11-11  Wim Taymans  <wim@fluendo.com>
9799
9800         * gst/gstbuffer.c: (_gst_buffer_copy):
9801         Copy more flags.
9802
9803         * gst/gstcaps.c: (gst_caps_is_equal):
9804         Fix some docs.
9805         Make _is_equal fast in the trivial cases.
9806
9807         * gst/gstminiobject.c:
9808         * gst/gstminiobject.h:
9809         More docs. Spifify .h file.
9810
9811         * gst/gstutils.c:
9812         Small doc update.
9813
9814 2005-11-11  Wim Taymans  <wim@fluendo.com>
9815
9816         * gst/base/gstbasetransform.c:
9817         (gst_base_transform_prepare_output_buf),
9818         (gst_base_transform_handle_buffer):
9819         Small cleanups.
9820         If we're processing a buffer and need to allocate an output
9821         buffer, we cannot accept a format change. If we did get a 
9822         format change, we have to alloc a buffer ourselves of the 
9823         right size.
9824
9825 2005-11-11  Wim Taymans  <wim@fluendo.com>
9826
9827         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
9828         While checking the flag for reentrancy in the gstcaps function
9829         is nice to detect recursive invocations, it also makes it 
9830         impossible to call getcaps from multiple threads, which must be
9831         possible. So, checking for recursive calls has to go.
9832
9833 2005-11-11  Michael Smith <msmith@fluendo.com>
9834
9835         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9836           Don't sync on buffers that fall partially outside our current
9837           segment. Prevents an assertion failure/abort playing some files.
9838
9839 2005-11-10  Andy Wingo  <wingo@pobox.com>
9840
9841         * check/gst/gstbin.c (test_message_state_changed_children): Style
9842         fix..
9843
9844         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
9845         gst_bus_poll with the signal watch. Ensures that poll and a signal
9846         watch see the same messages.
9847
9848         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
9849         a poll and a watch at the same time get the same messages.
9850
9851 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9852
9853         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
9854         * gst/gstcaps.c: (gst_caps_intersect):
9855           Don't call gst_caps_do_simplify - it doesn't respect order of caps
9856           and it's not needed.
9857
9858 2005-11-10  Wim Taymans  <wim@fluendo.com>
9859
9860         * docs/design/part-TODO.txt:
9861         Updated todo.
9862
9863 2005-11-10  Wim Taymans  <wim@fluendo.com>
9864
9865         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9866         * gst/base/gstbasesrc.c: (gst_base_src_wait),
9867         (gst_base_src_do_sync), (gst_base_src_get_range):
9868         Implement clock sync in base class.
9869
9870 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9871
9872         patch by: Tim-Philipp Müller <tim at centricular dot net>
9873
9874         * gst/gststructure.c: (gst_structure_parse_field),
9875         (gst_structure_from_string):
9876           Forward-port a 0.8 patch to handle escaped spaces in structure string,
9877           so that gst_parse_launch() can deal with spaces in filtered link
9878           caps (fixes #164479)
9879         * check/gst/capslist.h:
9880         * check/gst/gststructure.c: (GST_START_TEST):
9881           add unit tests for this change
9882
9883 2005-11-10  Wim Taymans  <wim@fluendo.com>
9884
9885         * docs/gst/gstreamer-sections.txt:
9886         * gst/gstelement.c:
9887         * gst/gstelement.h:
9888         Fix docs, move some STATE macros to private.
9889
9890 2005-11-10  Wim Taymans  <wim@fluendo.com>
9891
9892         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9893         Added check for bug #317341
9894
9895         * gst/gstbuffer.c:
9896         * gst/gstbuffer.h:
9897         Some more spiffifying.
9898
9899         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
9900         Call peer linkfunction if we are a source pad. Totally fixes
9901         #317341
9902
9903         * gst/gstpad.c:
9904         Update docs, source pads should call the peer linkfunction
9905         so they can atomically perform the pad link.
9906
9907 2005-11-09  Wim Taymans  <wim@fluendo.com>
9908
9909         * gst/gstbuffer.c:
9910         * gst/gstbuffer.h:
9911         Uber-spiffy-spiffify some more.
9912
9913 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
9914
9915         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
9916         * gst/elements/gstfilesink.c: (gst_file_sink_init):
9917         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9918         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
9919         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
9920         * gst/gstpad.c: (gst_pad_init):
9921           Use GST_DEBUG_FUNCPTR() more extensively.
9922
9923 2005-11-09  Wim Taymans  <wim@fluendo.com>
9924
9925         * gst/gstobject.c: (gst_object_class_init):
9926         * gst/gstobject.h:
9927         Documentation fixes.
9928
9929 2005-11-09  Edward Hervey  <edward@fluendo.com>
9930
9931         * gst/gsttypefindfactory.c:
9932         Fix docs.
9933         
9934 2005-11-09  Edward Hervey  <edward@fluendo.com>
9935
9936         * gst/base/gsttypefindhelper.c:
9937         * gst/gsttypefind.c:
9938         * gst/gsttypefind.h:
9939         Fix docs.
9940
9941 2005-11-09  Wim Taymans  <wim@fluendo.com>
9942
9943         * gst/gstiterator.c:
9944         Fix revision data.
9945
9946         * gst/gsttask.c:
9947         * gst/gsttask.h:
9948         Fix docs.
9949
9950 2005-11-09  Wim Taymans  <wim@fluendo.com>
9951
9952         * gst/gstevent.h:
9953         * gst/gsturi.h:
9954         Fix docs.
9955
9956 2005-11-09  Wim Taymans  <wim@fluendo.com>
9957
9958         * docs/gst/gstreamer-sections.txt:
9959         Moved the message async delivery private lock and cond
9960         to the private section.
9961
9962         * gst/gstmessage.c:
9963         * gst/gstmessage.h:
9964         Fixed docs.
9965
9966 2005-11-09  Edward Hervey  <edward@fluendo.com>
9967
9968         * docs/gst/gstreamer-sections.txt:
9969         * gst/gsturi.c:
9970         * gst/gsturi.h:
9971         Document GstURIHandler
9972
9973 2005-11-09  Wim Taymans  <wim@fluendo.com>
9974
9975         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
9976         (gst_iterator_find_custom):
9977         * gst/gstiterator.h:
9978         Fix iterator docs.
9979
9980 2005-11-09  Wim Taymans  <wim@fluendo.com>
9981
9982         * gst/gstbin.h:
9983         Document another field.
9984
9985         * gst/gststructure.c:
9986         * gst/gststructure.h:
9987         Document.
9988
9989 2005-11-09  Wim Taymans  <wim@fluendo.com>
9990
9991         * gst/gstbin.h:
9992         Documented structs.
9993
9994 2005-11-09  Wim Taymans  <wim@fluendo.com>
9995
9996         * docs/gst/gstreamer-sections.txt:
9997         Added some new macros.
9998
9999         * gst/gstclock.c:
10000         * gst/gstclock.h:
10001         * gst/gstobject.h:
10002         Docs updates.
10003
10004 2005-11-09  Wim Taymans  <wim@fluendo.com>
10005
10006         * docs/design/part-TODO.txt:
10007         Some more items for the TODO
10008
10009         * gst/gstcaps.c:
10010         * gst/gstcaps.h:
10011         Document GstCaps.
10012
10013 2005-11-09  Andy Wingo  <wingo@pobox.com>
10014
10015         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
10016         to work on something else now tho...
10017
10018         * gst/base/gstadapter.c: More adapter docs.
10019
10020         * gst/elements/gstfilesink.c (gst_file_sink_start) 
10021         (gst_file_sink_stop): New functions, replace the state change
10022         handler.
10023         (gst_file_sink_class_init): Hook up the start and stop functions.
10024         (gst_file_sink_base_init): Don't set the state change handler any
10025         more. It was a bit ugly too, being set from here...
10026         (gst_file_sink_get_property, gst_file_sink_set_property):
10027         Cleanups...
10028         (gst_file_sink_set_location): More robust check that doesn't call
10029         GST_STATE. Ugggggg.
10030
10031 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
10032
10033         * gst/base/gstbasetransform.c: (gst_base_transform_event):
10034           Hold STREAM_LOCK while pushing newsegment or tag events as well.
10035
10036 2005-11-08  Wim Taymans  <wim@fluendo.com>
10037
10038         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10039         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
10040         (gst_base_sink_chain), (gst_base_sink_change_state):
10041         * gst/base/gstbasesink.h:
10042         * gst/base/gstbasesrc.h:
10043         * gst/gstelement.h:
10044         * gst/gstevent.h:
10045         Avoid excessive typechecking in macros.
10046
10047         * gst/gstminiobject.c: (gst_mini_object_get_type),
10048         (gst_mini_object_init), (gst_mini_object_new),
10049         (gst_mini_object_free):
10050         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
10051         (gst_object_finalize):
10052         Remove cruft code, optimize alloc_trace.
10053
10054 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10055
10056         * docs/faq/gst-uninstalled:
10057           fix up PS1 for systems that try to reset it
10058
10059 2005-11-07  Wim Taymans  <wim@fluendo.com>
10060
10061         * gst/base/gstbasesrc.c: (gst_base_src_init),
10062         (gst_base_src_get_range):
10063         Set the segment_end to -1 initially. Fixed typefind.
10064
10065 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
10066
10067         * gst/base/gstadapter.c:
10068           Debug category should be 'adapter', not 'GstAdapter'.
10069           
10070         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
10071         (gst_collectpads_class_init), (gst_collectpads_init),
10072         (gst_collectpads_peek), (gst_collectpads_pop),
10073         (gst_collectpads_event), (gst_collectpads_chain):
10074           Add debug category and some debugging output. Use boilerplate
10075           macros. Remove some extraneous words from docs.
10076
10077 2005-11-05  Andy Wingo  <wingo@pobox.com>
10078
10079         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
10080         macro.
10081
10082 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
10083
10084         * docs/gst/gstreamer-sections.txt:
10085         * gst/gstcaps.h:
10086         * gst/gstinfo.c:
10087         * gst/gstminiobject.h:
10088         * gst/gstobject.h:
10089         * gst/gstutils.h:
10090           more docs added
10091
10092 2005-11-04  Wim Taymans  <wim@fluendo.com>
10093
10094         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10095         Small update to stop at the configured segment_end
10096         position.
10097
10098 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
10099
10100         * gst/gstregistry.c:
10101         * gst/gstregistry.h:
10102           added missing docs
10103
10104 2005-11-04  Edward Hervey  <edward@fluendo.com>
10105
10106         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10107         Check if we are doing a segment seek and have arrived at the
10108         end of that segment.
10109
10110 2005-11-04  Wim Taymans  <wim@fluendo.com>
10111
10112         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
10113         Don't leak a mutex unlock in case of an error.
10114
10115         * gst/gstbus.h:
10116         Doc fixes.
10117
10118 2005-11-04  Wim Taymans  <wim@fluendo.com>
10119
10120         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
10121         (gst_bus_post):
10122         Get the context to wake up only once.
10123
10124 2005-11-03  Wim Taymans  <wim@fluendo.com>
10125
10126         * check/states/sinks.c: (GST_START_TEST):
10127         Uncomment fixed check.
10128
10129         * docs/design/part-TODO.txt:
10130         Updated TODO.
10131
10132         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10133         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
10134         (gst_base_sink_get_position):
10135         If we are going to PLAYING, post the right pending state
10136         when we post the intermediate paused message.
10137
10138         * gst/gstelement.c: (gst_element_continue_state),
10139         (gst_element_set_state_func), (gst_element_change_state):
10140         Don't post state changes that were between the same state
10141         and were not ASYNC.
10142
10143 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
10144
10145         * docs/gst/gstreamer-sections.txt:
10146         * gst/gstcaps.h:
10147         * gst/gstinfo.c:
10148         * gst/gstminiobject.h:
10149         * gst/gstobject.h:
10150         * gst/gstutils.h:
10151           more docs and doc style fixes
10152
10153 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
10154
10155         * docs/gst/gstreamer-sections.txt:
10156         * gst/gstelement.c:
10157         * gst/gstminiobject.c:
10158         doc fixes
10159
10160 2005-11-03  Andy Wingo  <wingo@pobox.com>
10161
10162         * check/states/sinks.c (test_livesrc_sink): Add checks that the
10163         state-changed messages actually have the right order and the right
10164         values.
10165
10166 2005-11-03  Wim Taymans  <wim@fluendo.com>
10167
10168         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
10169         Added some more checks. Specifically the case where NO_PREROLL
10170         elements are in the pipeline.
10171
10172         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10173         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
10174         (gst_base_sink_get_position):
10175         Post READY->PAUSED state change messages too.
10176         Fix bug where VOID was posted as pending state...
10177
10178         * gst/gstbin.c: (gst_bin_recalc_state):
10179         use _element_continue_state() to continue the state change.
10180
10181         * gst/gstelement.c: (gst_element_continue_state),
10182         (gst_element_commit_state), (gst_element_set_state_func),
10183         (gst_element_change_state), (gst_element_change_state_func):
10184         Lots of state change cleanups, assign the STATE_RETURN in
10185         a new continue_state() function that also propagates the
10186         last return value from a state change to the app.
10187         Update some debug statements with proper category.
10188
10189 2005-11-03  Wim Taymans  <wim@fluendo.com>
10190
10191         * docs/design/part-events.txt:
10192         * docs/design/part-gstpipeline.txt:
10193         * docs/design/part-messages.txt:
10194         * docs/design/part-overview.txt:
10195         * docs/design/part-seeking.txt:
10196         * docs/design/part-states.txt:
10197         * docs/design/part-trickmodes.txt:
10198         * docs/manual/advanced-position.xml:
10199         Small docs updates.
10200
10201         * gst/gstobject.h:
10202         People think !! is ugly, this looks better.
10203
10204         * gst/gstpad.c: (gst_pad_set_blocked_async):
10205         Remove !! since it's fixed elsewhere now.
10206
10207 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
10208
10209         * gst/gstminiobject.h:
10210         * gst/gstobject.h:
10211           Add !! to _FLAG_IS_SET macros to make the result boolean.
10212
10213 2005-11-03  Edward Hervey  <edward@fluendo.com>
10214
10215         * gst/gstpad.c: (gst_pad_set_blocked_async):
10216         comparing a flag and a gboolean rarely returns coherent results...
10217         Added two characters (!!) to make that work correctly.
10218         
10219 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
10220
10221         * gst/gstbus.c: (gst_bus_class_init):
10222           Fix some typos.
10223           
10224         * gst/gstqueue.c: (gst_queue_loop):
10225           Don't assume a miniobject that isn't a buffer is an
10226           event (it could be that there is a refcounting
10227           problem somewhere and the pointer is stale and
10228           refers to an already destroyed miniobject).
10229
10230 2005-11-03  Julien MOUTTE  <julien@moutte.net>
10231
10232         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
10233
10234 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
10235
10236         * docs/manual/advanced-position.xml:
10237           Update seek example and explanations to current 0.9 API.
10238
10239         * gst/elements/gsttypefindelement.c:
10240         (gst_type_find_element_activate):
10241           Remove FIXME comment now that the found caps
10242           are unreffed.
10243
10244 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10245
10246         * gst/gstregistryxml.c: (load_feature):
10247           Add another GST_STR_NULL instance
10248
10249 2005-11-02  Edward Hervey  <edward@fluendo.com>
10250
10251         * gst/gstpad.c: (handle_pad_block):
10252         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
10253         
10254 2005-11-02  Wim Taymans  <wim@fluendo.com>
10255
10256         * gst/gstbin.c:
10257         Fix typo in docs.
10258
10259         * gst/gstelement.c: (gst_element_commit_state):
10260         Remove unused value.
10261
10262         * gst/gstiterator.c:
10263         Mention that the returned element is reffed in the docs.
10264
10265 2005-11-02  Wim Taymans  <wim@fluendo.com>
10266
10267         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
10268         (gst_pad_push), (gst_pad_push_event):
10269         Unlock blocked pads when they are flushed.
10270
10271 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10272
10273         * docs/README:
10274         * docs/gst/gstreamer-sections.txt:
10275         * gst/gstbin.c:
10276           doc updates
10277         * gst/gstregistry.c: (gst_registry_scan_path_level):
10278           fix for a nasty little missed situation where an installed plug-in
10279           which was in the cache did not get overridden by an uninstalled one
10280           which was earlier in the plugin path because the newly created plugin
10281           for the uninstalled one (not in the registry) didn't get its
10282           ->registered set to TRUE
10283
10284 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
10285
10286         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
10287         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
10288         (gst_collectpads_is_active), (gst_collectpads_collect),
10289         (gst_collectpads_collect_range), (gst_collectpads_start),
10290         (gst_collectpads_stop), (gst_collectpads_peek),
10291         (gst_collectpads_pop), (gst_collectpads_available),
10292         (gst_collectpads_read), (gst_collectpads_flush):
10293           Guard public API with assertions.
10294         
10295         * gst/gstpad.c:
10296           Fix docs for gst_pad_set_link_function().
10297
10298 2005-11-02  Johan Dahlin  <johan@gnome.org>
10299
10300         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
10301         Unref found_caps after we used it.
10302
10303 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
10304
10305         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
10306           Don't try to ref NULL.
10307
10308 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10309
10310         * win32/common/config.h.in:
10311           provide a GST_FUNCTION that just gives a string for now
10312
10313 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10314
10315         * win32/common/gstenumtypes.c: (register_gst_object_flags),
10316         (gst_object_flags_get_type), (register_gst_bin_flags),
10317         (gst_bin_flags_get_type), (register_gst_buffer_flag),
10318         (gst_buffer_flag_get_type), (register_gst_bus_flags),
10319         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
10320         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
10321         (gst_clock_return_get_type), (register_gst_clock_entry_type),
10322         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
10323         (gst_clock_flags_get_type), (register_gst_state),
10324         (gst_state_get_type), (register_gst_state_change_return),
10325         (gst_state_change_return_get_type), (register_gst_state_change),
10326         (gst_state_change_get_type), (register_gst_element_flags),
10327         (gst_element_flags_get_type), (register_gst_core_error),
10328         (gst_core_error_get_type), (register_gst_library_error),
10329         (gst_library_error_get_type), (register_gst_resource_error),
10330         (gst_resource_error_get_type), (register_gst_stream_error),
10331         (gst_stream_error_get_type), (register_gst_event_type),
10332         (gst_event_type_get_type), (register_gst_seek_type),
10333         (gst_seek_type_get_type), (register_gst_seek_flags),
10334         (gst_seek_flags_get_type), (register_gst_format),
10335         (gst_format_get_type), (register_gst_index_certainty),
10336         (gst_index_certainty_get_type), (register_gst_index_entry_type),
10337         (gst_index_entry_type_get_type),
10338         (register_gst_index_lookup_method),
10339         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
10340         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
10341         (gst_index_resolver_method_get_type), (register_gst_index_flags),
10342         (gst_index_flags_get_type), (register_gst_debug_level),
10343         (gst_debug_level_get_type), (register_gst_debug_color_flags),
10344         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
10345         (gst_iterator_result_get_type), (register_gst_iterator_item),
10346         (gst_iterator_item_get_type), (register_gst_message_type),
10347         (gst_message_type_get_type), (register_gst_mini_object_flags),
10348         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
10349         (gst_pad_link_return_get_type), (register_gst_flow_return),
10350         (gst_flow_return_get_type), (register_gst_activate_mode),
10351         (gst_activate_mode_get_type), (register_gst_pad_direction),
10352         (gst_pad_direction_get_type), (register_gst_pad_flags),
10353         (gst_pad_flags_get_type), (register_gst_pad_presence),
10354         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
10355         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
10356         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
10357         (gst_plugin_error_get_type), (register_gst_plugin_flags),
10358         (gst_plugin_flags_get_type), (register_gst_rank),
10359         (gst_rank_get_type), (register_gst_query_type),
10360         (gst_query_type_get_type), (register_gst_tag_merge_mode),
10361         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
10362         (gst_tag_flag_get_type), (register_gst_task_state),
10363         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
10364         (gst_alloc_trace_flags_get_type),
10365         (register_gst_type_find_probability),
10366         (gst_type_find_probability_get_type), (register_gst_uri_type),
10367         (gst_uri_type_get_type), (register_gst_parse_error),
10368         (gst_parse_error_get_type):
10369         * win32/common/gstversion.h:
10370           update win32 copies
10371
10372 2005-11-01  Luca Ognibene  <luogni@tin.it>
10373
10374         * gst/gst.c:
10375           fix docs. popt is dead, long live GOption.
10376
10377 2005-10-31  Wim Taymans  <wim@fluendo.com>
10378
10379         * gst/gstbuffer.h:
10380         Small doc fix.
10381
10382 2005-10-31  Andy Wingo  <wingo@pobox.com>
10383
10384         * Boo!
10385
10386         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
10387
10388         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
10389         need to serialize property notifications on GLib 2.8. GLib 2.6 has
10390         the possibility of deadlocks here if code calling notify() or
10391         set() has a lock that can be taken in another notify handler (ABBA
10392         with class lock and e.g. python GIL state lock).
10393
10394 2005-10-28  Julien MOUTTE  <julien@moutte.net>
10395
10396         * gst/gstbus.c: Doc updates.
10397
10398 2005-10-28  Wim Taymans  <wim@fluendo.com>
10399
10400         * docs/design/part-TODO.txt:
10401         * gst/gstiterator.c:
10402         * gst/gstsystemclock.c:
10403         * gst/gstsystemclock.h:
10404         Doc updates.
10405
10406 2005-10-28  Edward Hervey  <edward@fluendo.com>
10407
10408         * docs/gst/gstreamer-docs.sgml:
10409         * docs/gst/gstreamer-sections.txt:
10410         the GstURIType documentation page is private, it only defines GstURIType
10411         which should be defined in the GstURIHandler page
10412         
10413 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10414
10415         * gst/gstbin.c: (gst_bin_class_init):
10416         * gst/gstbin.h:
10417         * gst/gstutils.c:
10418         Documentation updates.
10419
10420 2005-10-28  Wim Taymans  <wim@fluendo.com>
10421
10422         * docs/gst/gstreamer-sections.txt:
10423         * gst/gstclock.c:
10424         * gst/gstclock.h:
10425         Documented the clocks.
10426
10427 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
10428
10429         * docs/gst/gstreamer-sections.txt:
10430           move some macros to private sections
10431         * gst/gstminiobject.c:
10432         * gst/gstminiobject.h:
10433           add descriptions provided by ds and some more
10434         * gst/gstpad.h:
10435           mark macro as to be removed
10436
10437 2005-10-28  Wim Taymans  <wim@fluendo.com>
10438
10439         * docs/design/part-TODO.txt:
10440         Add an item to TODO.
10441
10442         * gst/gstiterator.c: (gst_iterator_fold),
10443         (gst_iterator_find_custom):
10444         * gst/gstiterator.h:
10445         Add iterator docs.
10446
10447 2005-10-28  Wim Taymans  <wim@fluendo.com>
10448
10449         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10450         (gst_base_transform_init):
10451         Don't leak class.
10452
10453         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
10454         An EOS event marks the queue as completely filled.
10455
10456 2005-10-27  Wim Taymans  <wim@fluendo.com>
10457
10458         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10459         (gst_base_sink_do_sync), (gst_base_sink_get_position):
10460         Some more debugging.
10461
10462         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
10463         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
10464         (gst_base_transform_event), (gst_base_transform_getrange),
10465         (gst_base_transform_chain):
10466         * gst/base/gstbasetransform.h:
10467         Fix debugging,
10468         Protect transform and concurrent buffer alloc with a new lock.
10469         Try not to break ABI/API.
10470
10471 2005-10-27  Wim Taymans  <wim@fluendo.com>
10472
10473         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10474         (gst_base_src_init), (gst_base_src_query),
10475         (gst_base_src_default_newsegment),
10476         (gst_base_src_configure_segment), (gst_base_src_do_seek),
10477         (gst_base_src_send_event), (gst_base_src_event_handler),
10478         (gst_base_src_pad_get_range), (gst_base_src_loop),
10479         (gst_base_src_unlock), (gst_base_src_default_negotiate),
10480         (gst_base_src_start), (gst_base_src_deactivate),
10481         (gst_base_src_activate_push), (gst_base_src_change_state):
10482         Move some stuff around and cleanup things.
10483
10484 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
10485
10486         * gst/base/gstbasesrc.c: (gst_base_src_query):
10487           Add missing break statements.
10488
10489 2005-10-27  Wim Taymans  <wim@fluendo.com>
10490
10491         * check/gst/gstbin.c: (GST_START_TEST):
10492         An extra refcount is taken in basesrc.
10493
10494         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
10495         (gst_base_src_get_range), (gst_base_src_pad_get_range),
10496         (gst_base_src_loop):
10497         Small cleanups, check for flushing after being unlocked from the 
10498         LIVE_LOCK. take refcounts correctly (not yet everywhere).
10499         Don't send out EOS when going to READY.
10500
10501 2005-10-27  Wim Taymans  <wim@fluendo.com>
10502
10503         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10504         (gst_base_sink_get_position):
10505         Some more debug.
10506
10507         * gst/gstbin.c: (message_check), (bin_replace_message),
10508         (bin_remove_messages), (is_eos), (gst_bin_add_func),
10509         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
10510         (bin_query_duration_init), (bin_query_duration_fold),
10511         (bin_query_duration_done), (bin_query_generic_fold),
10512         (gst_bin_query):
10513         * tools/gst-launch.c: (main):
10514         Remove old option.
10515
10516 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
10517
10518         * examples/controller/audio-example.c: (main):
10519         * examples/queue/queue.c: (event_loop):
10520         * gst/base/gstbasetransform.h:
10521         * gst/gstelement.c: (gst_element_send_event):
10522         * gst/gstevent.h:
10523         * gst/gstpad.c: (gst_pad_send_event):
10524           fixing examples
10525           fixing docs typos
10526           changing log priority in error situations
10527
10528 2005-10-25  Wim Taymans  <wim@fluendo.com>
10529
10530         * gst/gstbin.c: (message_check), (bin_replace_message),
10531         (bin_remove_messages), (is_eos), (gst_bin_add_func),
10532         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
10533         (bin_query_duration_init), (bin_query_duration_fold),
10534         (bin_query_duration_done), (bin_query_generic_fold),
10535         (gst_bin_query):
10536         Some doc and debug updates.
10537         Cache previously requested query DURATION for speed. invalidate
10538         cached duration if element posts a DURATION message.
10539
10540 2005-10-25  Wim Taymans  <wim@fluendo.com>
10541
10542         * docs/design/part-TODO.txt:
10543         Update TODO.
10544
10545         * gst/gstbin.c: (message_check), (bin_replace_message),
10546         (bin_remove_messages), (is_eos), (gst_bin_add_func),
10547         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
10548         (bin_query_duration_init), (bin_query_duration_fold),
10549         (bin_query_duration_done), (bin_query_generic_fold),
10550         (gst_bin_query):
10551         Handle SEGMENT_START/DONE messages correctly.
10552         More evolved query algorithm that handles duration queries
10553         correctly.
10554
10555         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
10556         (gst_element_get_state_func), (gst_element_abort_state),
10557         (gst_element_commit_state), (gst_element_lost_state):
10558         Some more debugging.
10559
10560         * gst/gstmessage.h:
10561         Added doc.
10562
10563 2005-10-25  Wim Taymans  <wim@fluendo.com>
10564
10565         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
10566         Don't use invalid stream_time.
10567
10568         * gst/gstevent.c: (gst_event_new_newsegment):
10569         stream_time in newsegment cannot be undefined.
10570
10571 2005-10-24  Wim Taymans  <wim@fluendo.com>
10572
10573         * gst/gstbus.c:
10574         Doc fix.
10575
10576         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10577         (gst_queue_loop):
10578         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
10579
10580 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
10581
10582         * docs/libs/tmpl/gstdparam.sgml:
10583         * docs/libs/tmpl/gstdplinint.sgml:
10584         * docs/libs/tmpl/gstdpman.sgml:
10585         * docs/libs/tmpl/gstdpsmooth.sgml:
10586         * docs/libs/tmpl/gstunitconvert.sgml:
10587           these are obsolete
10588
10589 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10590
10591         * configure.ac:
10592           back to HEAD
10593
10594 === release 0.9.4 ===
10595
10596 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10597
10598         * configure.ac:
10599           releasing 0.9.4, "Tyrannosaurus Rex"
10600
10601 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
10602
10603         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
10604         (gst_file_sink_get_current_offset):
10605           Use fseeko() and ftello() if available. When falling back on
10606           lseek() to get the current offset, fflush() first to make sure
10607           everything is up-to-date and we get the right offset.
10608
10609 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10610
10611         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10612         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10613         * gst/gsterror.c: (_gst_stream_errors_init):
10614         * gst/gsterror.h:
10615         * gst/gstqueue.c: (gst_queue_loop):
10616         * po/POTFILES.in:
10617           remove prematurely added error category and clean up the instances
10618
10619 2005-10-21  Wim Taymans  <wim@fluendo.com>
10620
10621         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10622         (gst_base_sink_get_position), (gst_base_sink_query),
10623         (gst_base_sink_change_state):
10624         Simply set the right flag when going to playing, that's all
10625         we need to do instead of calling a function inside the object
10626         lock (that could take the lock as well and deadlock)
10627
10628 2005-10-21  Wim Taymans  <wim@fluendo.com>
10629
10630         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
10631         (gst_base_src_loop):
10632         Don't warn, the peer element knows what to do best when
10633         the seek failed, it might try something else.
10634
10635 2005-10-21  Wim Taymans  <wim@fluendo.com>
10636
10637         * gst/base/gstbasesrc.c: (gst_base_src_init),
10638         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
10639         Fix seeking.
10640
10641 2005-10-21  Wim Taymans  <wim@fluendo.com>
10642
10643         * docs/design/part-segments.txt:
10644         More docs.
10645
10646         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
10647         Correctly set caps, even on the subbufer.
10648
10649 2005-10-21  Wim Taymans  <wim@fluendo.com>
10650
10651         * docs/gst/gstreamer-docs.sgml:
10652         * docs/gst/gstreamer-sections.txt:
10653         * gst/gstelement.h:
10654         * gst/gstevent.c:
10655         * gst/gstevent.h:
10656         * gst/gstmessage.h:
10657         * gst/gstpad.h:
10658         * gst/gstparse.h:
10659         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
10660         * gst/gsttask.h:
10661         * gst/gstutils.c:
10662         * gst/gstutils.h:
10663         And 2% more doc coverage.
10664
10665 2005-10-21  Andy Wingo  <wingo@pobox.com>
10666
10667         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
10668         position reporting.
10669
10670 2005-10-20  Wim Taymans  <wim@fluendo.com>
10671
10672         * gst/gsterror.c: (gst_error_get_message):
10673         * gst/gstparse.h:
10674         * gst/gstquery.h:
10675         * gst/gststructure.c:
10676         * gst/gsttrace.c:
10677         * gst/gstutils.c:
10678         More docs.
10679
10680 2005-10-20  Wim Taymans  <wim@fluendo.com>
10681
10682         * gst/gstbuffer.h:
10683         * gst/gstpad.c:
10684         * gst/gstparse.c:
10685         Another 1% more coverage.
10686
10687 2005-10-20  Wim Taymans  <wim@fluendo.com>
10688
10689         * docs/gst/gstreamer-sections.txt:
10690         * gst/gstelement.c: (gst_element_get_state_func),
10691         (gst_element_abort_state), (gst_element_commit_state),
10692         (gst_element_lost_state):
10693         * gst/gstevent.h:
10694         * gst/gstquery.c: (gst_query_set_position),
10695         (gst_query_parse_position), (gst_query_set_duration),
10696         (gst_query_parse_duration), (gst_query_new_convert):
10697         * gst/gstutils.c:
10698         Yay! 1% more docs coverage.
10699
10700 2005-10-20  Wim Taymans  <wim@fluendo.com>
10701
10702         * gst/gstpad.h:
10703         * gst/gstquery.c: (gst_query_set_position),
10704         (gst_query_parse_position), (gst_query_set_duration),
10705         (gst_query_parse_duration), (gst_query_new_convert):
10706         * gst/gstquery.h:
10707         * gst/gstutils.c: (gst_element_query_convert):
10708         * gst/gstutils.h:
10709         Docs and consistency fixes.
10710
10711 2005-10-20  Wim Taymans  <wim@fluendo.com>
10712
10713         * gst/gsttask.c:
10714         * gst/gsttask.h:
10715         More docs.
10716
10717 2005-10-20  Wim Taymans  <wim@fluendo.com>
10718
10719         * gst/gstbin.c: (message_check), (bin_replace_message),
10720         (bin_remove_messages), (is_eos), (gst_bin_add_func),
10721         (update_degree), (gst_bin_sort_iterator_next),
10722         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
10723         Reworked the message handling a bit, cache the messages instead of
10724         only the senders. alows us to do more in the future.
10725
10726 2005-10-20  Wim Taymans  <wim@fluendo.com>
10727
10728         * docs/design/part-TODO.txt:
10729         Update TODO
10730
10731         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
10732         (gst_base_sink_query):
10733         Don't use clock time to report position when in EOS.
10734
10735 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
10736
10737         * tools/gst-inspect.c: (print_interfaces),
10738         (print_element_properties_info), (print_element_info):
10739           Fix interface output with gst-inspect -a; don't print
10740           newlines after double/float properties.
10741
10742 2005-10-20  Wim Taymans  <wim@fluendo.com>
10743
10744         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
10745         (gst_base_sink_query):
10746         Speed up current position calculation.
10747
10748         * gst/base/gstbasesrc.c: (gst_base_src_query),
10749         (gst_base_src_default_newsegment):
10750         Correctly set stream position in newsegment.
10751
10752         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
10753         (update_degree), (gst_bin_sort_iterator_next),
10754         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
10755         * gst/gstmessage.c: (gst_message_new_custom):
10756         Clean up debugging info
10757
10758         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
10759         (gst_queue_loop), (gst_queue_handle_src_query):
10760         Pause task faster.
10761
10762 2005-10-19  Wim Taymans  <wim@fluendo.com>
10763
10764         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10765         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
10766         Fix query handling again.
10767
10768 2005-10-19  Wim Taymans  <wim@fluendo.com>
10769
10770         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10771         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
10772         * gst/base/gstbasesrc.c: (gst_base_src_query):
10773         * gst/elements/gstfilesink.c: (gst_file_sink_query):
10774         * gst/elements/gsttypefindelement.c:
10775         (gst_type_find_handle_src_query), (find_element_get_length),
10776         (gst_type_find_element_activate):
10777         API change fix.
10778
10779         * gst/gstquery.c: (gst_query_new_position),
10780         (gst_query_set_position), (gst_query_parse_position),
10781         (gst_query_new_duration), (gst_query_set_duration),
10782         (gst_query_parse_duration), (gst_query_set_segment),
10783         (gst_query_parse_segment):
10784         * gst/gstquery.h:
10785         Bundling query position/duration is not a good idea since duration
10786         does not change much and we don't want to recalculate it for every
10787         position query, so they are separated again..
10788         Base value in segment query is not needed.
10789
10790         * gst/gstqueue.c: (gst_queue_handle_src_query):
10791         * gst/gstutils.c: (gst_element_query_position),
10792         (gst_element_query_duration), (gst_pad_query_position),
10793         (gst_pad_query_duration):
10794         * gst/gstutils.h:
10795         Updates for query API change.
10796         Added some docs here and there.
10797
10798 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10799
10800         * check/gst/gstbin.c: (GST_START_TEST):
10801         * check/gst/gstghostpad.c: (GST_START_TEST):
10802         * check/pipelines/cleanup.c: (GST_START_TEST):
10803           wait on thread to die so we can check refcount correctly
10804
10805 2005-10-18  Wim Taymans  <wim@fluendo.com>
10806
10807         * check/pipelines/stress.c: (GST_START_TEST):
10808         Make check a little more time consuming.
10809
10810 2005-10-18  Wim Taymans  <wim@fluendo.com>
10811
10812         * check/Makefile.am:
10813         * check/pipelines/stress.c: (GST_START_TEST),
10814         (simple_launch_lines_suite), (main):
10815         Small state change torture test.
10816
10817         * docs/design/part-states.txt:
10818         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10819         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
10820         (gst_base_sink_change_state):
10821         Never take state lock from streaming thread, clean up ugly
10822         hacks. Unfortunatly core does not yet support nice ways to
10823         async commit state.
10824         
10825         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
10826         (bin_bus_handler):
10827         Start state recalc if a STATE_DIRTY message is posted, but only
10828         on the toplevel bin.
10829
10830         * gst/gstelement.c: (gst_element_sync_state_with_parent),
10831         (gst_element_get_state_func), (gst_element_abort_state),
10832         (gst_element_commit_state), (gst_element_lost_state),
10833         (gst_element_set_state_func), (gst_element_change_state):
10834         * gst/gstelement.h:
10835         State variables are now protected with the LOCK, the state
10836         lock is only used to serialize _set_state().
10837
10838 2005-10-18  Wim Taymans  <wim@fluendo.com>
10839
10840         * check/gst/gstbin.c: (GST_START_TEST):
10841         * check/gst/gstmessage.c: (GST_START_TEST):
10842         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10843         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
10844         (bin_bus_handler):
10845         * gst/gstelement.c: (gst_element_abort_state),
10846         (gst_element_commit_state), (gst_element_lost_state):
10847         * gst/gstmessage.c: (gst_message_new_state_changed),
10848         (gst_message_new_state_dirty), (gst_message_new_segment_start),
10849         (gst_message_new_segment_done), (gst_message_new_duration),
10850         (gst_message_parse_state_changed),
10851         (gst_message_parse_segment_start),
10852         (gst_message_parse_segment_done), (gst_message_parse_duration):
10853         * gst/gstmessage.h:
10854         * tools/gst-launch.c: (event_loop):
10855         Seriously, this is better than a previous commit as we only need
10856         to notify the fact that an element changed state in a streaming
10857         thread, marking the state of the parents dirty, hence the 
10858         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
10859         message.
10860
10861 2005-10-18  Wim Taymans  <wim@fluendo.com>
10862
10863         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
10864         (gst_bin_recalc_func):
10865         * gst/gstelement.c: (gst_element_set_clock),
10866         (gst_element_abort_state), (gst_element_lost_state):
10867         Cleanups, prepare for state change fixes.
10868
10869 2005-10-18  Wim Taymans  <wim@fluendo.com>
10870
10871         * gst/gstbin.h:
10872         * gst/gstelement.c: (gst_element_class_init),
10873         (gst_element_set_state), (gst_element_set_state_func):
10874         * gst/gstelement.h:
10875         Pending ABI changes.
10876         GThreadPool in GstBinClass to monitor async state changes.
10877         state_cookie in GstElement to detect concurrent gst/set state.
10878         set_state is now virtual too in case a very complicated element
10879         has to be constructed.
10880
10881 2005-10-18  Wim Taymans  <wim@fluendo.com>
10882
10883         * check/gst/gstbin.c: (GST_START_TEST):
10884         * check/gst/gstmessage.c: (GST_START_TEST):
10885         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10886         * gst/gstbin.c: (bin_bus_handler):
10887         * gst/gstelement.c: (gst_element_commit_state),
10888         (gst_element_lost_state):
10889         * gst/gstmessage.c: (gst_message_new_state_changed),
10890         (gst_message_new_segment_start), (gst_message_new_segment_done),
10891         (gst_message_new_duration), (gst_message_parse_state_changed),
10892         (gst_message_parse_segment_start),
10893         (gst_message_parse_segment_done), (gst_message_parse_duration):
10894         * gst/gstmessage.h:
10895         * tools/gst-launch.c: (event_loop):
10896         Make messages future proof.
10897         state-change gets a flag if it was a message comming from the
10898         streaming thread.
10899         segment-start/stop can also be specified in other formats.
10900         A message to notify an app that a pipeline changed playback 
10901         duration.
10902         Also fix a GstMessage leak in -launch
10903
10904 2005-10-18  Andy Wingo  <wingo@pobox.com>
10905
10906         * gst/gstelement.c (gst_element_dispose): More helpful message.
10907
10908 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10909
10910         reviewed by: <delete if not using a buddy>
10911
10912         * common/gtk-doc.mak:
10913
10914 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10915
10916         * gst/gstregistry.c: (gst_registry_scan_path_level):
10917           unref a plug-in we get that was already initialized
10918
10919 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
10920
10921         * docs/gst/gstreamer-sections.txt:
10922         * docs/libs/gstreamer-libs-sections.txt:
10923         * gst/gstelement.h:
10924           add new api entries
10925           hide internal macro
10926
10927 2005-10-17  Andy Wingo  <wingo@pobox.com>
10928
10929         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
10930         cleanup.
10931
10932         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
10933
10934         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
10935
10936         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
10937         (gst_element_get_state_func): Better debug message.
10938         (gst_element_commit_state): s/INFO/DEBUG/.
10939         (gst_element_lost_state, gst_element_change_state): 
10940
10941         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
10942         (gst_message_new_custom): s/INFO/LOG/.
10943
10944 2005-10-17  Michael Smith <msmith@fluendo.com>
10945
10946         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
10947           Check if end time is valid using end time, not start time.
10948
10949 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
10950
10951         * check/gst-libs/controller.c: (GST_START_TEST),
10952         (gst_controller_suite):
10953         * libs/gst/controller/gstcontroller.c:
10954         (gst_controlled_property_set_interpolation_mode):
10955         * libs/gst/controller/gstcontroller.h:
10956         * libs/gst/controller/gstinterpolation.c:
10957         * testsuite/controller/.cvsignore:
10958         * testsuite/controller/Makefile.am:
10959         * testsuite/controller/interpolator.c:
10960           merge controller testsuites
10961           fix broken tests
10962           remove mem-chunk from docs
10963
10964 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10965
10966         * gst/gstmemchunk.c:
10967         * gst/gstmemchunk.h:
10968         * gst/gsttrashstack.c:
10969         * gst/gsttrashstack.h:
10970           out.  get out.  you're fired.  to the Attic !
10971
10972 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10973
10974         * gst/gstcaps.c: (gst_caps_intersect):
10975           fix signedness issues in a (hopefully) correct way
10976         * gst/gstelement.c: (gst_element_pads_activate):
10977           some debugging
10978         * gst/gstobject.c: (gst_object_set_parent):
10979           some debugging
10980
10981 2005-10-17  Julien MOUTTE  <julien@moutte.net>
10982
10983         * gst/gstvalue.h: Fix prototypes.
10984
10985 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10986
10987         * docs/gst/gstreamer-sections.txt:
10988         * gst/gst.c: (gst_version_string):
10989         * gst/gst.h:
10990         * gst/gstversion.h.in:
10991         * win32/common/libgstreamer.def:
10992           add gst_version_string ()
10993
10994 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10995
10996         * configure.ac:
10997           clean up further
10998         * gst/gst.c: (init_post):
10999         * win32/common/config.h.in:
11000           it's PLUGINDIR now
11001         * gst/gstcaps.c: (gst_caps_intersect):
11002           use gint64, the range could be bigger than a guint
11003
11004 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11005
11006         * gst/gstclock.h:
11007           document potential problem in 2038
11008
11009 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11010
11011         * gst/gstcaps.c: (gst_caps_intersect):
11012           Fix guint j diving under 0
11013
11014 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11015
11016         * configure.ac:
11017         * win32/common/config.h:
11018         * win32/common/config.h.in:
11019           check for process.h, declares getpid() on Windows
11020         * gst/gstinfo.c:
11021           include process.h if we have it
11022         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
11023         * gst/gstmemchunk.h:
11024           fix signedness issues
11025         * win32/common/libgstreamer.def:
11026           fix get_type's
11027
11028 2005-10-16  Julien MOUTTE  <julien@moutte.net>
11029
11030         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
11031         fix. Because of unsigned ints, caps intersection was going nuts and
11032         trying to access structures with G_MAXUINT index. That fixes
11033         videotestsrc ! ffmpegcolorspace ! fakesink
11034         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
11035         consistency.
11036
11037 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11038
11039         * configure.ac:
11040           use the gettext macro
11041         * gst/elements/gstelements.c:
11042         * gst/gst.c:
11043         * gst/indexers/gstindexers.c:
11044           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
11045         * win32/common/config.h:
11046           updated config.h
11047         * win32/common/config.h.in:
11048           add the template to generate config.h
11049         * win32/common/gstenumtypes.c:
11050         * win32/common/gstversion.h:
11051           updated copies
11052
11053 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11054
11055         * gst/gst.c: (gst_version):
11056         * gst/gstversion.h.in:
11057           add the nano
11058
11059 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
11060
11061         * gst/gstevent.h:
11062           Oops, add missing closing bracket.
11063
11064 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11065
11066         * configure.ac:
11067           use common m4's for argument checking
11068
11069 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
11070
11071         * docs/gst/gstreamer-sections.txt:
11072         * gst/gstevent.h:
11073           Add GST_EVENT_TYPE_NAME() macro.
11074
11075 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11076
11077         * gst/gstinfo.c:
11078         * gst/gstpluginfeature.c:
11079         * gst/gsttask.c:
11080           privatize more symbols
11081
11082 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11083
11084         * configure.ac:
11085           add srcdir, builddir includes to GST_ALL_CFLAGS, since
11086           everything that uses GStreamer API should have the includes
11087
11088 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11089
11090         * docs/gst/gstreamer-sections.txt:
11091         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
11092         * gst/gstvalue.h:
11093           give each value a _get_type, removes the DATA exports
11094
11095 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11096
11097         * gst/gst.c:
11098         * gst/gst.h:
11099           remove _gst_registry_auto_load, not used anymore
11100         * gst/gstbin.c: (gst_bin_get_type):
11101         * gst/gstbin.h:
11102         * gst/gstelement.c: (gst_element_get_type):
11103         * gst/gstelement.h:
11104         * gst/gstobject.c: (gst_object_get_type):
11105         * gst/gstobject.h:
11106         * gst/gstpad.c: (gst_pad_get_type):
11107         * gst/gstpad.h:
11108           make _get_type functions similar, fixes data export from library
11109
11110 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11111
11112         * configure.ac:
11113           correctly make conditionals
11114         * gst/elements/Makefile.am:
11115         * gst/elements/gstelements.c:
11116           fix typo causing fdsrc not to build
11117
11118 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11119
11120         * testsuite/Makefile.am:
11121         * testsuite/bytestream/.cvsignore:
11122         * testsuite/bytestream/Makefile.am:
11123         * testsuite/bytestream/filepadsink.c:
11124         * testsuite/bytestream/gstbstest.c:
11125         * testsuite/bytestream/test1.c:
11126         * testsuite/bytestream/testfile1:
11127         * testsuite/caps/normalisation.c:
11128         * testsuite/caps/random.c: (main):
11129         * testsuite/cleanup/.cvsignore:
11130         * testsuite/cleanup/Makefile.am:
11131         * testsuite/cleanup/cleanup1.c:
11132         * testsuite/cleanup/cleanup2.c:
11133         * testsuite/cleanup/cleanup3.c:
11134         * testsuite/cleanup/cleanup4.c:
11135         * testsuite/cleanup/cleanup5.c:
11136         * testsuite/controller/interpolator.c:
11137         * testsuite/debug/printf_extension.c: (main):
11138         * testsuite/elements/tee.c:
11139         * testsuite/negotiation/.cvsignore:
11140         * testsuite/negotiation/Makefile.am:
11141         * testsuite/negotiation/pad_link.c:
11142         * testsuite/pad/Makefile.am:
11143         * testsuite/pad/chainnopull.c:
11144         * testsuite/pad/getnopush.c:
11145         * testsuite/pad/link.c:
11146         * testsuite/refcounting/sched.c: (create_pipeline):
11147         * testsuite/registry/Makefile.am:
11148         * testsuite/registry/gst-print-formats.c:
11149         * testsuite/schedulers/.cvsignore:
11150         * testsuite/schedulers/142183-2.c:
11151         * testsuite/schedulers/142183.c:
11152         * testsuite/schedulers/143777-2.c:
11153         * testsuite/schedulers/143777.c:
11154         * testsuite/schedulers/147713.c:
11155         * testsuite/schedulers/147819.c:
11156         * testsuite/schedulers/147894-2.c:
11157         * testsuite/schedulers/147894.c:
11158         * testsuite/schedulers/Makefile.am:
11159         * testsuite/schedulers/group_link.c:
11160         * testsuite/schedulers/queue_link.c:
11161         * testsuite/schedulers/relink.c:
11162         * testsuite/schedulers/unlink.c:
11163         * testsuite/schedulers/unref.c:
11164         * testsuite/schedulers/useless_iteration.c:
11165         * testsuite/states/bin.c:
11166           clean out/remove some stuff from the testsuite directories
11167
11168 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11169
11170         * configure.ac:
11171           check for some headers
11172         * gst/elements/Makefile.am:
11173         * gst/elements/gstelements.c:
11174           don't compile fdsrc without sys/socket.h
11175         * gst/indexers/Makefile.am:
11176         * gst/indexers/gstindexers.c: (plugin_init):
11177           don't compile fileindex without mmap
11178
11179 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11180
11181         * configure.ac:
11182           reorganize
11183           clean up
11184           document more
11185           remove cruft
11186         * check/Makefile.am:
11187         * docs/gst/Makefile.am:
11188         * examples/helloworld/Makefile.am:
11189         * gst/Makefile.am:
11190         * gst/base/Makefile.am:
11191         * gst/check/Makefile.am:
11192         * gst/elements/Makefile.am:
11193         * gst/indexers/Makefile.am:
11194         * gst/parse/Makefile.am:
11195         * libs/gst/controller/Makefile.am:
11196         * libs/gst/dataprotocol/Makefile.am:
11197         * examples/helloworld/helloworld.c: (event_loop):
11198           compile fixes, though it's not being compiled currently
11199
11200 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
11201
11202         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
11203           Add some simple tests for the new taglist date API.
11204
11205 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
11206
11207         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
11208         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
11209           Beautify 'last-message' output: print 'none' for buffer timestamps
11210           and durations if none is set; improve alignment with next messages.
11211
11212 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
11213
11214         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
11215         * gst/gstpluginfeature.h:
11216         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
11217         * gst/gstregistry.h:
11218         * docs/gst/gstreamer-sections.txt:
11219           Add new API to check plugin feature version requirements.
11220
11221         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
11222           Some basic tests for the above.         
11223
11224 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11225
11226         * gst/gststructure.c: (gst_structure_to_string):
11227           guard against NULL printf - happens when for example
11228           a message structure with GstClock gets serialized
11229
11230 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11231
11232         * gst/base/gstcollectpads.c: (gst_collectpads_event):
11233           Fix presumable copy'n'pasto.
11234
11235 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11236
11237         * gst/elements/gstfakesrc.h:
11238         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
11239         * gst/elements/gsttypefindelement.c:
11240           fix some signedness
11241         * gst/elements/gstfilesink.c: (gst_file_sink_render):
11242           I wonder if this could actually write +2GB files before
11243
11244 2005-10-13  Andy Wingo  <wingo@pobox.com>
11245
11246         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
11247         Fix Timmeke Waymans bug.
11248         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
11249         string of the proper length to gst_caps_from_string. There's a
11250         potential for, before this fix, that this could cause someone
11251         connecting over the network to cause a segfault if the payload is
11252         not NUL-terminated.
11253
11254 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
11255
11256         * docs/design/draft-push-pull.txt:
11257         * docs/design/part-overview.txt:
11258         * docs/random/TODO-pre-0.9:
11259         * docs/random/old/ChangeLog.gstreamer:
11260         * gst/base/gstpushsrc.c:
11261         * gst/gstclock.c:
11262           fixed typos
11263
11264 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11265
11266         * gst/glib-compat.c: (gst_flags_get_first_value):
11267         * gst/glib-compat.h:
11268         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
11269         (gst_value_compare_double), (gst_value_serialize_flags):
11270           GLib 2.6 g_flags_get_first_value has a bug that triggers an
11271           infinite loop
11272
11273 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11274
11275         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11276         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
11277           fix up debugging
11278         * tools/gst-launch.c: (event_loop):
11279           print out clock nicely
11280
11281 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11282
11283         * docs/gst/gstreamer-sections.txt:
11284         * gst/gsttaglist.h:
11285         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
11286         (gst_tag_list_get_date_index):
11287           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
11288           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
11289
11290 2005-10-13  Julien MOUTTE  <julien@moutte.net>
11291
11292         * gst/base/gstcollectpads.c: (gst_collectpads_event),
11293         (gst_collectpads_chain):
11294         * gst/base/gstcollectpads.h: Handle newsegment and store informations
11295         in CollectData.
11296
11297 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
11298
11299         * docs/gst/gstreamer-sections.txt:
11300         * gst/gst.c:
11301         * gst/gsterror.h:
11302         * tools/gst-inspect.c: (main):
11303         * tools/gst-launch.c: (main):
11304         * tools/gst-run.c: (main):
11305         * tools/gst-xmlinspect.c: (main):
11306           fix GOption context leaks
11307           doc fixes
11308
11309 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11310
11311         * gst/gstbus.c:
11312           use HAVE_UNISTD_H
11313         * win32/common/config.h:
11314           update config
11315         * win32/vs6/grammar.dsp:
11316         * win32/vs6/libgstelements.dsp:
11317         * win32/vs6/libgstreamer.dsp:
11318           update vs6 files
11319
11320 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11321
11322         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11323         * gst/base/gstbasesrc.c: (gst_base_src_query):
11324           fix more guint64<->gdouble conversions
11325
11326 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11327
11328         * Makefile.am:
11329           add win32-update target
11330         * win32/common/gstconfig.h:
11331         * win32/common/gstenumtypes.c:
11332         * win32/common/gstenumtypes.h:
11333         * win32/common/gstversion.h:
11334           add files that visual studio can't generate
11335
11336 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11337
11338         * Makefile.am:
11339           add a win32-update target
11340         * configure.ac:
11341
11342 2005-10-12  Wim Taymans  <wim@fluendo.com>
11343
11344         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11345         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
11346         * gst/gstelement.c: (gst_element_commit_state),
11347         (gst_element_set_state):
11348         Protect flags with proper lock.
11349         unref provided cached clock in dispose.
11350
11351 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
11352
11353         * gst/gst.c:
11354         * gst/gstminiobject.h:
11355         * gst/gstpad.h:
11356         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
11357           removed unused flags from miniobject
11358           doc fixes
11359
11360 2005-10-12  Wim Taymans  <wim@fluendo.com>
11361
11362         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
11363         (gst_file_sink_event), (gst_file_sink_render):
11364         Flush before seeking.
11365
11366 2005-10-12  Andy Wingo  <wingo@pobox.com>
11367
11368         * gst/gst.c (gst_init_check): Ignore unknown options, as has
11369         always been the case.
11370
11371 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
11372
11373         * check/gst/gstbin.c: (GST_START_TEST):
11374         * docs/gst/gstreamer-sections.txt:
11375         * gst/base/gstbasesink.c: (gst_base_sink_init):
11376         * gst/base/gstbasesrc.c: (gst_base_src_init),
11377         (gst_base_src_get_range), (gst_base_src_check_get_range),
11378         (gst_base_src_start), (gst_base_src_stop):
11379         * gst/base/gstbasesrc.h:
11380         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
11381         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11382         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
11383         (bin_bus_handler):
11384         * gst/gstbin.h:
11385         * gst/gstbuffer.h:
11386         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
11387         * gst/gstbus.h:
11388         * gst/gstelement.c: (gst_element_is_locked_state),
11389         (gst_element_set_locked_state), (gst_element_commit_state),
11390         (gst_element_set_state):
11391         * gst/gstelement.h:
11392         * gst/gstindex.c: (gst_index_init):
11393         * gst/gstindex.h:
11394         * gst/gstminiobject.h:
11395         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
11396         (gst_object_set_parent):
11397         * gst/gstobject.h:
11398         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
11399         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
11400         * gst/gstpad.h:
11401         * gst/gstpadtemplate.h:
11402         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
11403         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
11404         * gst/gstpipeline.h:
11405         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11406         (gst_file_index_commit):
11407         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
11408         * testsuite/pad/link.c: (gst_test_src_init),
11409         (gst_test_filter_init), (gst_test_sink_init):
11410         * testsuite/states/locked.c: (main):
11411           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
11412           moved bitshift from macro to enum definition
11413
11414 2005-10-12  Wim Taymans  <wim@fluendo.com>
11415
11416         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
11417         * gst/elements/gstfilesink.c: (gst_file_sink_event),
11418         (gst_file_sink_render):
11419         Some more debugging info.
11420
11421 2005-10-12  Wim Taymans  <wim@fluendo.com>
11422
11423         * docs/design/part-states.txt:
11424         * tools/gst-launch.c: (main):
11425         Some doc updates.
11426         Revert non-intentional change.
11427
11428 2005-10-12  Wim Taymans  <wim@fluendo.com>
11429
11430         * check/gst/gstbin.c: (GST_START_TEST):
11431         * check/gst/gstelement.c: (GST_START_TEST):
11432         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
11433         * check/gst/gstghostpad.c: (GST_START_TEST):
11434         * check/gst/gstpipeline.c: (GST_START_TEST):
11435         * check/pipelines/simple_launch_lines.c: (run_pipeline):
11436         * check/states/sinks.c: (GST_START_TEST):
11437         * gst/elements/gsttypefindelement.c: (stop_typefinding):
11438         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
11439         (gst_bin_remove_func), (gst_bin_get_state_func),
11440         (gst_bin_recalc_state), (gst_bin_change_state_func),
11441         (bin_bus_handler):
11442         * gst/gstelement.c: (gst_element_get_state_func),
11443         (gst_element_get_state), (gst_element_abort_state),
11444         (gst_element_commit_state), (gst_element_set_state),
11445         (gst_element_change_state), (gst_element_change_state_func):
11446         * gst/gstelement.h:
11447         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
11448         (gst_pipeline_provide_clock_func):
11449         * gst/gstutils.c: (gst_element_link_pads_filtered):
11450         * tools/gst-launch.c: (main):
11451         * tools/gst-typefind.c: (main):
11452         Use GstClockTime in _get_state() instead of GTimeVal.
11453         Remove old code in gstutils.c
11454
11455 2005-10-12  Andy Wingo  <wingo@pobox.com>
11456
11457         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
11458         removed.
11459
11460         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
11461         there is no task. Shouldn't affect any code, as nothing in our
11462         plugins checks this return value.
11463         (gst_pad_stop_task): Also take the stream lock if the pad has no
11464         task. Docs updated.
11465
11466 2005-10-12  Wim Taymans  <wim@fluendo.com>
11467
11468         * gst/gstpad.c: (pre_activate), (post_activate),
11469         (gst_pad_activate_pull), (gst_pad_activate_push):
11470         Cleanup activation code. Reset old state if
11471         activation failed.
11472
11473 2005-10-12  Wim Taymans  <wim@fluendo.com>
11474
11475         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11476         (gst_base_sink_change_state):
11477         No need to prerol after receiving EOS.
11478
11479         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
11480         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
11481         * gst/elements/gstidentity.c: (gst_identity_event):
11482         Print events more verbosely.
11483
11484 2005-10-12  Wim Taymans  <wim@fluendo.com>
11485
11486         * check/Makefile.am:
11487         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
11488         * check/states/sinks2.c:
11489         Moved sinks2 testcode in sinks check.
11490
11491         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
11492         (gst_bin_remove_func), (gst_bin_recalc_state),
11493         (gst_bin_change_state_func), (bin_bus_handler):
11494         Fix potential race condition when _get_state() iterated over an
11495         ASYNC element right before it posted a state completion.
11496
11497         * gst/gstclock.h:
11498         Do proper cast here.
11499
11500         * gst/gstevent.c: (gst_event_new_newsegment),
11501         (gst_event_parse_newsegment):
11502         A playback rate of 0.0 is not allowed.
11503
11504 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11505
11506         * win32/common/config.h:
11507         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
11508         (_trewinddir), (_ttelldir), (_tseekdir):
11509         * win32/common/dirent.h:
11510         * win32/common/gtchar.h:
11511         * win32/common/libgstbase.def:
11512         * win32/common/libgstreamer.def:
11513         * win32/vs6/grammar.dsp:
11514         * win32/vs6/gst_inspect.dsp:
11515         * win32/vs6/gst_launch.dsp:
11516         * win32/vs6/gstreamer.dsw:
11517         * win32/vs6/libgstbase.dsp:
11518         * win32/vs6/libgstelements.dsp:
11519         * win32/vs6/libgstreamer.dsp:
11520           Visual Studio 6 project files, and a new common directory.
11521           Phear.
11522
11523 2005-10-11  Wim Taymans  <wim@fluendo.com>
11524
11525         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11526         (gst_base_sink_do_sync), (gst_base_sink_query),
11527         (gst_base_sink_change_state):
11528         * gst/base/gstbasesink.h:
11529         Correctly parse newsegment info.
11530
11531 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11532
11533         * gst/gst.c: (init_post):
11534           split plugin paths correctly
11535
11536 2005-10-11  Wim Taymans  <wim@fluendo.com>
11537
11538         * check/gst/gstevent.c: (GST_START_TEST):
11539         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11540         (gst_base_sink_change_state):
11541         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
11542         * gst/base/gstbasetransform.c: (gst_base_transform_event):
11543         * gst/elements/gstfilesink.c: (gst_file_sink_event):
11544         * gst/gstevent.c: (gst_event_new_newsegment),
11545         (gst_event_parse_newsegment):
11546         * gst/gstevent.h:
11547         Added extra flag to newsegment for future API freeze.
11548         Updated check and base elements.
11549
11550 2005-10-11  Julien MOUTTE  <julien@moutte.net>
11551
11552         * gst/base/gstcollectpads.c: (gst_collectpads_init),
11553         (gst_collectpads_add_pad), (gst_collectpads_pop),
11554         (gst_collectpads_event), (gst_collectpads_chain):
11555         * gst/base/gstcollectpads.h: Handle EOS correctly.
11556
11557 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11558
11559         * tools/gst-launch.c: (main):
11560           more null protecting
11561
11562 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11563
11564         * gst/gst-i18n-lib.h:
11565           check for ENABLE_NLS, not GETTEXT_PACKAGE
11566         * gst/gstregistry.c: (gst_registry_add_plugin),
11567         (gst_registry_scan_path_level),
11568         (_gst_registry_remove_cache_plugins):
11569           protect possibly NULL strings
11570         * gst/parse/types.h:
11571           config.h already included before
11572         * tools/gst-inspect.c: (main):
11573           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
11574           check for ENABLE_NLS, not GETTEXT_PACKAGE
11575         * tools/gst-launch.c: (main):
11576           check for ENABLE_NLS, not GETTEXT_PACKAGE
11577
11578 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11579
11580         * configure.ac:
11581           if we don't have glib, fail before testing 2.8
11582         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
11583           fix a leak, should fix plugins-base testsuite
11584
11585 2005-10-11  Andy Wingo  <wingo@pobox.com>
11586
11587         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
11588         take the mode we're going to as an arg. Go head and set the mode
11589         and flushing flags now, so that if the activate function starts a
11590         thread all the flags will be in the right state.
11591         (post_activate): Renamed also. Just handle making sure streaming
11592         finishes for the deactivation case, and setting the deactivated
11593         mode.
11594         (gst_pad_set_active): Complain loudly if deactivation fails.
11595         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
11596         (gst_pad_activate_push): Adapt to pre/post_activate changes,
11597         remove the terrible hack.
11598
11599 2005-10-11  Wim Taymans  <wim@fluendo.com>
11600
11601         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
11602         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
11603         (gst_bin_recalc_state), (gst_bin_change_state_func),
11604         (gst_bin_dispose), (bin_bus_handler):
11605         * gst/gstbin.h:
11606         Prepare to make current EOS message queue more generic.
11607         Fix some typos.
11608
11609         * gst/gstevent.c: (gst_event_new_newsegment),
11610         (gst_event_parse_newsegment):
11611         * gst/gstevent.h:
11612         Rename base to stream_time.
11613
11614         * gst/gstmessage.h:
11615         Fix typo in docs.
11616
11617 2005-10-11  Wim Taymans  <wim@fluendo.com>
11618
11619         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
11620         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
11621         (gst_bin_change_state_func), (bin_bus_handler):
11622         * gst/gstbin.h:
11623         Work on proper clock selection.
11624
11625 2005-10-11  Edward Hervey  <edward@fluendo.com>
11626
11627         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
11628         * libs/gst/controller/gstcontroller.h:
11629         Added GList* version of _remove_properties() in order to be able to wrap
11630         it in bindings.
11631
11632 2005-10-11  Wim Taymans  <wim@fluendo.com>
11633
11634         * docs/design/part-states.txt:
11635         Some more docs.
11636
11637         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
11638         (gst_bin_change_state_func), (bin_bus_handler):
11639         Doc updates. Don't distribute the same clock over and over again.
11640
11641         * gst/gstclock.c:
11642         * gst/gstclock.h:
11643         Doc updates.
11644
11645         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
11646         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
11647         (gst_pad_send_event):
11648         * gst/gstpad.h:
11649         Make probe emission threadsafe again.
11650         Register quarks and move _get_name() from utils.
11651         Doc updates.
11652
11653         * gst/gstpipeline.c: (gst_pipeline_class_init),
11654         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
11655         Only redistribute the clock of it changed.
11656
11657         * gst/gstsystemclock.h:
11658         Doc updates. 
11659
11660         * gst/gstutils.c:
11661         * gst/gstutils.h:
11662         Moved the _flow_get_name() to GstPad.
11663
11664 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11665
11666         * check/gst-libs/gdp.c: (GST_START_TEST):
11667         * check/gst/gstcaps.c: (GST_START_TEST):
11668         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
11669         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
11670         (gst_dp_packet_from_caps):
11671           fix more valgrind warnings before turning up the heat
11672
11673 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11674
11675         * gst/parse/grammar.y:
11676           some cleanup before the hacking
11677
11678 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11679
11680         * gst/base/gstbasesrc.c: (gst_base_src_query):
11681           use conversions
11682         * gst/gstutils.c: (gst_guint64_to_gdouble),
11683         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
11684         * gst/gstutils.h:
11685           externalize, basesrc uses it
11686           obviously the implementation needs testing
11687
11688 2005-10-10  Wim Taymans  <wim@fluendo.com>
11689
11690         * tests/sched/Makefile.am:
11691         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
11692         (make_pipeline3), (make_pipeline4), (print_elem), (main):
11693
11694 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11695
11696         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
11697           apparently converting from guint64 to double is not implemented
11698           on MSVC
11699
11700 2005-10-10  Wim Taymans  <wim@fluendo.com>
11701
11702         * check/Makefile.am:
11703         * check/generic/states.c: (GST_START_TEST):
11704         * check/gst/gstbin.c: (GST_START_TEST):
11705         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11706         * check/states/sinks.c: (GST_START_TEST):
11707         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
11708         (main):
11709         Check fixes, use API as stated in design docs, remove hacks.
11710
11711         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11712         (gst_base_sink_change_state):
11713         Catch stopping our task while we're shutting down.
11714
11715         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
11716         (gst_bin_remove_func), (gst_bin_get_state_func),
11717         (gst_bin_recalc_state), (gst_bin_change_state_func),
11718         (bin_bus_handler):
11719         * gst/gstbin.h:
11720         * gst/gstelement.c: (gst_element_init),
11721         (gst_element_get_state_func), (gst_element_abort_state),
11722         (gst_element_commit_state), (gst_element_lost_state),
11723         (gst_element_set_state), (gst_element_change_state),
11724         (gst_element_change_state_func):
11725         * gst/gstelement.h:
11726         New state change algorithm (see #318116)
11727
11728         * gst/gstpipeline.c: (gst_pipeline_class_init),
11729         (gst_pipeline_init), (gst_pipeline_set_property),
11730         (gst_pipeline_get_property), (do_pipeline_seek),
11731         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
11732         * gst/gstpipeline.h:
11733         Remove crude state change hacks.
11734
11735         * gst/gstutils.h:
11736         Remove crude hacks.
11737
11738         * tools/gst-launch.c: (main):
11739         Fixes for state change. Needs some more work to fully use the
11740         new stuff.
11741
11742 2005-10-10  Andy Wingo  <wingo@pobox.com>
11743
11744         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
11745
11746         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
11747         this flag, but it's not even in GLib 2.6. Odd. Hack around the
11748         issue.
11749
11750 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
11751
11752         * gst/gstiterator.c: (gst_iterator_new):
11753           Fix my previous commit: GTypes passed to gst_iterator_new()
11754           can be fundamental types.
11755
11756 2005-10-10  Wim Taymans  <wim@fluendo.com>
11757
11758         * gst/gstelement.c: (gst_element_iterate_pad_list),
11759         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
11760         (gst_element_iterate_sink_pads):
11761         Use src/sink pads lists for the respective iterators instead
11762         of filtering.
11763
11764 2005-10-10  Andy Wingo  <wingo@pobox.com>
11765
11766         Merged in popt removal + GOption addition patch from Ronald, bug
11767         #169772.
11768
11769         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
11770         GstElement macros around, remove popt-related symbols, add goption
11771         stuff.
11772
11773         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
11774         
11775         * docs/gst/Makefile.am:
11776         * docs/libs/Makefile.am: No POPT_CFLAGS.
11777         
11778         * examples/manual/Makefile.am:
11779         * docs/manual/basics-init.xml: Doc updates with an example.
11780         
11781         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
11782         (gst_init), (parse_one_option), (parse_goption_arg):
11783         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
11784         bit of hand merging and debugging to get the GOption stuff working
11785         tho.
11786         
11787         * tests/Makefile.am:
11788         * tools/Makefile.am:
11789         * tools/gst-inspect.c: (main):
11790         * tools/gst-launch.c: (main):
11791         * tools/gst-run.c: (main):
11792         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
11793
11794 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
11795
11796         * gst/gstiterator.c: (gst_iterator_new):
11797           Add assertions to make sure passed GType is likely to really
11798           be a GType (as the compiler won't catch it if the size and
11799           GType arguments get mixed up, see #318447).
11800
11801 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
11802
11803         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11804
11805         * gst/gstbin.c: (gst_bin_iterate_sorted):
11806           Pass GType and size arguments to gst_iterator_new() in the right
11807           order (maybe we should make _new() take the GType as first argument
11808           just like _new_list()?) (#318447).
11809           
11810
11811 2005-10-10  Wim Taymans  <wim@fluendo.com>
11812
11813         * gst/gstelement.c: (gst_element_finalize):
11814         And free the GStaticRecMutex too
11815
11816 2005-10-10  Andy Wingo  <wingo@pobox.com>
11817
11818         * gst/gstelement.c (gst_element_init, gst_element_finalize):
11819         Allocate and free the mutex properly.
11820
11821         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
11822         New macros.
11823         (GstElement): The state_lock is now recursive. Rebuild your
11824         plugins, suckers. Old macros adapted.
11825
11826         * docs/gst/gstreamer-sections.txt: Doc updates.
11827
11828         * gst/gstutils.h:
11829         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
11830         (g_static_rec_cond_wait): Ported from state changes patch, while
11831         we wait on bug #317802 to be solved in a well-distributed GLib.
11832
11833         * gst/gstelement.c (gst_element_change_state_func): Renamed from
11834         gst_element_change_state, variable name changes.
11835         (gst_element_change_state): Split out of gst_element_set_state in
11836         preparation for the state change merge. Doesn't pay attention to
11837         the 'transition' argument.
11838         (gst_element_set_state): Updates, hopefully purely cosmetic.
11839         (gst_element_sync_state_with_parent): MT-safety. Ported from the
11840         state change patch.
11841         (gst_element_get_state_func): Renamed from get_state, cosmetic
11842         changes.
11843
11844 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11845
11846         * gst/elements/gstelements.c:
11847         * win32/GStreamer.vcproj:
11848         * win32/config.h:
11849         * win32/dirent.c: (_tseekdir):
11850         * win32/gst-inspect.vcproj:
11851         * win32/gst-launch.vcproj:
11852         * win32/gstconfig.h:
11853         * win32/gstelements.vcproj:
11854         * win32/gstenumtypes.c: (gst_object_flags_get_type):
11855         * win32/gstreamer.def:
11856         * win32/msvc71.sln:
11857           updates for the win32 build (patch from Sebastien Moutte)
11858
11859 2005-10-10  Andy Wingo  <wingo@pobox.com>
11860
11861         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
11862         gst_bin_get_state, cleaned up (but no logic changes).
11863         (bin_element_is_sink): Comment updates.
11864         (sink_iterator_filter): Remove needless cast.
11865         (gst_bin_iterate_sinks): Doc update.
11866         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
11867         cleaned up (but no logic changes).
11868
11869         * check/states/sinks.c (test_src_sink): Cleanups from the state
11870         change patch.
11871         (test_livesrc_sink): Sync on the state.
11872
11873         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
11874         the state change patch.
11875
11876         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
11877         change patch.
11878
11879         * check/gst/gstbin.c: Merge in some style fixes and additional
11880         checks from Wim's state change patch.
11881
11882 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
11883
11884         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11885         (gst_type_find_helper):
11886           Check whether we have the requested data already in our list of
11887           cached buffers before pulling a new buffer; also make the buffer
11888           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
11889
11890 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11891
11892         * gst/gstcaps.c:
11893         * gst/gstevent.c:
11894           doc updates
11895         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11896           don't use long long, it's not portable.  Replacing with
11897           gint64 seems to work; let's hope no skeletons fall out of the closet.
11898
11899 2005-10-10  Andy Wingo  <wingo@pobox.com>
11900
11901         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
11902
11903 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
11904
11905         * docs/gst/gstreamer-sections.txt:
11906         * gst/gstevent.c:
11907         * gst/gstevent.h:
11908         * gst/gstinfo.c:
11909         * gst/gstinfo.h:
11910         * gst/gstmessage.c: (gst_message_parse_state_changed):
11911         * gst/gstpad.c:
11912         * gst/gstpad.h:
11913           more docs, fix compilation
11914
11915 2005-10-09  Philippe Khalaf <burger@speedy.org>
11916         * gst/gstmessage.c:
11917           Fixed a few forgotten variables on previous commit
11918
11919 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
11920
11921         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11922           Fix evil typefind crasher: getrange() might return a short
11923           buffer at the end of a file, but gst_type_find_peek() must
11924           either return the full data as requested or NULL, but
11925           never a short buffer.
11926
11927 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11928
11929         * gst/gstmessage.c: (gst_message_new_state_changed),
11930         (gst_message_parse_state_changed):
11931         * gst/gstmessage.h:
11932           don't use "new", it's a C++ keyword
11933
11934 2005-10-08  Wim Taymans  <wim@fluendo.com>
11935
11936         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
11937         * gst/gstelement.c: (gst_element_post_message):
11938         * gst/gstpipeline.c: (gst_pipeline_change_state):
11939         Small docs and debug updates.
11940
11941 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
11942
11943         * docs/gst/gstreamer-sections.txt:
11944         * gst/gstelementfactory.c:
11945         * gst/gstevent.c:
11946         * gst/gsttaglist.c:
11947           more docs
11948
11949 2005-10-08  Wim Taymans  <wim@fluendo.com>
11950
11951         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
11952         (gst_bin_dispose), (bin_bus_handler):
11953         Fix typos, add comments.
11954         Clear EOS list when going to PAUSED from any direction and do it
11955         in a threadsafe way.
11956         Get base time in a threadsafe way too.
11957         Fix confusing debug in the change_state function.
11958         Various other small cleanups.
11959         
11960         * gst/gstelement.c: (gst_element_post_message):
11961         Fix very verbose bus posting code.
11962
11963         * gst/gstpipeline.c: (gst_pipeline_class_init),
11964         (gst_pipeline_set_property), (gst_pipeline_get_property),
11965         (gst_pipeline_change_state):
11966         Small ARG_ -> PROP_ cleanup
11967
11968 2005-10-08  Wim Taymans  <wim@fluendo.com>
11969
11970         * gst/gstbin.c: (is_eos), (bin_bus_handler):
11971         Do a less CPU demanding EOS check because we can.
11972
11973 2005-10-08  Wim Taymans  <wim@fluendo.com>
11974
11975         * libs/gst/dataprotocol/dataprotocol.c:
11976         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
11977         (gst_dp_packet_from_event):
11978         * libs/gst/dataprotocol/dataprotocol.h:
11979         * libs/gst/dataprotocol/dp-private.h:
11980         It's about time we bump the version number.
11981         Since event types don't fit in the guint8 anymore describing
11982         the payload type, make payload type 16 bits wide.
11983
11984 2005-10-08  Wim Taymans  <wim@fluendo.com>
11985
11986         * docs/design/part-TODO.txt:
11987         * docs/design/part-clocks.txt:
11988         * docs/design/part-events.txt:
11989         * docs/design/part-gstbin.txt:
11990         * docs/design/part-gstelement.txt:
11991         * docs/design/part-gstpipeline.txt:
11992         * docs/design/part-live-source.txt:
11993         * docs/design/part-messages.txt:
11994         * docs/design/part-overview.txt:
11995         * docs/design/part-states.txt:
11996         Many doc updates.
11997
11998 2005-10-08  Wim Taymans  <wim@fluendo.com>
11999
12000         * gst/gstevent.c:
12001         * gst/gstevent.h:
12002         Fix event quark registration.
12003         Add some space between events so we can insert them in the
12004         right groups.
12005
12006 2005-10-08  Wim Taymans  <wim@fluendo.com>
12007
12008         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12009         (gst_base_sink_handle_buffer):
12010         Better log message.
12011
12012         * gst/gstbus.h:
12013         * gst/gstelement.h:
12014         More docs.
12015
12016         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12017         (gst_queue_set_property), (gst_queue_get_property):
12018         * gst/gstqueue.h:
12019         Remove old unused properties.
12020
12021 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
12022         * docs/gst/gstreamer-sections.txt:
12023         * gst/gstmessage.c:
12024         * gst/gstmessage.h:
12025         * gst/gstminiobject.c:
12026         * gst/gstminiobject.h:
12027         * gst/gstobject.h:
12028         * gst/gstpad.h:
12029         * gst/gstutils.h:
12030           lots of new docs and doc fixes
12031
12032 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12033
12034         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
12035         * gst/gstplugin.h:
12036         * gst/gstregistry.c: (gst_registry_lookup_locked),
12037         (gst_registry_scan_path_level):
12038         * gst/gstregistryxml.c: (load_plugin):
12039           Only ever load one plugin for a given plugin basename.
12040           This ensures correct overriding of GST_PLUGIN_PATH over
12041           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
12042           system installed plugins.
12043
12044 2005-10-08  Wim Taymans  <wim@fluendo.com>
12045
12046         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12047         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
12048         Prepare for doing QOS.
12049
12050 2005-10-08  Wim Taymans  <wim@fluendo.com>
12051
12052         * check/gst/gstbin.c: (GST_START_TEST):
12053         * check/pipelines/cleanup.c: (GST_START_TEST):
12054         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
12055         Allow new clock message too.
12056
12057 2005-10-08  Wim Taymans  <wim@fluendo.com>
12058
12059         * gst/gstmessage.c: (gst_message_new_error),
12060         (gst_message_new_warning), (gst_message_new_tag),
12061         (gst_message_new_state_changed), (gst_message_new_clock_provide),
12062         (gst_message_new_clock_lost), (gst_message_new_new_clock),
12063         (gst_message_new_segment_start), (gst_message_new_segment_done),
12064         (gst_message_parse_state_changed),
12065         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
12066         (gst_message_parse_new_clock):
12067         * gst/gstmessage.h:
12068         Also carry the clock in question.
12069
12070 2005-10-08  Wim Taymans  <wim@fluendo.com>
12071
12072         * gst/gstmessage.c: (gst_message_new_custom),
12073         (gst_message_new_eos), (gst_message_new_error),
12074         (gst_message_new_warning), (gst_message_new_tag),
12075         (gst_message_new_state_changed), (gst_message_new_clock_provide),
12076         (gst_message_new_new_clock), (gst_message_new_segment_start),
12077         (gst_message_new_segment_done), (gst_message_parse_state_changed),
12078         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
12079         * gst/gstmessage.h:
12080         Clean up.
12081         Added clock related messages.
12082
12083         * gst/gstpipeline.c: (gst_pipeline_change_state):
12084         Post message when the clock changed.
12085
12086         * tools/gst-launch.c: (event_loop):
12087         Print new clock.
12088
12089 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
12090
12091         * tools/gst-inspect.c: (print_element_properties_info):
12092           Can't pass NULL strings to g_print() on windows.
12093
12094 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12095
12096         * docs/Makefile.am:
12097         * docs/gst/Makefile.am:
12098         * docs/gst/gstreamer-docs.sgml:
12099         * docs/gst/running.xml:
12100         * docs/version.entities.in:
12101           add a chapter on running GStreamer.
12102           document GST_DEBUG and GST_PLUGIN* env vars
12103
12104 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12105
12106         * Makefile.am:
12107           remove include dir
12108         * configure.ac:
12109           remove PLUGINS_BUILDDIR stuff
12110         * gst/gst.c: (init_post):
12111           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
12112         * idiottest.mak:
12113           remove, it was condescending and not needed
12114
12115 2005-10-08  Wim Taymans  <wim@fluendo.com>
12116
12117         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
12118         (gst_base_sink_handle_object), (gst_base_sink_event),
12119         (gst_base_sink_wait), (gst_base_sink_handle_event),
12120         (gst_base_sink_change_state):
12121         * gst/base/gstbasesink.h:
12122         Repost EOS message while going to PLAYING if still EOS.
12123         Make sure that when receiving a FLUSH_START we don't attempt
12124         to sync on the clock anymore.
12125
12126 2005-10-08  Wim Taymans  <wim@fluendo.com>
12127
12128         * tools/gst-launch.c: (event_loop):
12129         Better message printout.
12130
12131 2005-10-08  Wim Taymans  <wim@fluendo.com>
12132
12133         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
12134         (gst_bin_child_proxy_get_children_count):
12135         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
12136         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
12137         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
12138         (gst_child_proxy_set_valist):
12139         * gst/parse/grammar.y:
12140         Make ChildProxy threadsafe and fix mem leaks.
12141
12142 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12143
12144         * gst/gst.c: (init_post):
12145           debug the GST_PLUGIN_ env vars
12146
12147 2005-10-08  Wim Taymans  <wim@fluendo.com>
12148
12149         * check/gst/gstbin.c: (GST_START_TEST):
12150         * check/gst/gstmessage.c: (GST_START_TEST):
12151         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
12152         * gst/gstelement.c: (gst_element_commit_state),
12153         (gst_element_lost_state):
12154         * gst/gstmessage.c: (gst_message_new_state_changed),
12155         (gst_message_parse_state_changed):
12156         * gst/gstmessage.h:
12157         * tools/gst-launch.c: (event_loop):
12158         Added extra field to STATE_CHANGE message with the pending
12159         state, which will be different from the new state soon.
12160
12161 2005-10-08  Wim Taymans  <wim@fluendo.com>
12162
12163         * gst/gstbus.c: (gst_bus_pop):
12164         * gst/gstclock.c:
12165         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
12166         Small cleanups and doc updates.
12167
12168 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12169
12170         * gst/gst.c: (init_pre):
12171         * gst/gstbin.c: (gst_bin_add_func):
12172           log distributing clocks and base time
12173         * gst/gstregistry.c: (gst_registry_add_plugin),
12174         (gst_registry_scan_path_level), (gst_registry_scan_path):
12175           clean up the debugging output a little
12176         * gst/gstutils.c: (gst_element_state_get_name):
12177           warn about a memleak (I've actually seen this be used, though
12178           it was probably a bug)
12179
12180 2005-10-07  Wim Taymans  <wim@fluendo.com>
12181
12182         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12183         (gst_base_src_init), (gst_base_src_default_newsegment),
12184         (gst_base_src_newsegment), (gst_base_src_do_seek),
12185         (gst_base_src_loop), (gst_base_src_start):
12186         * gst/base/gstbasesrc.h:
12187         Make the newsegment event customizable by subclasses.
12188
12189 2005-10-07  Wim Taymans  <wim@fluendo.com>
12190
12191         * gst/gstevent.c: (gst_event_new_buffersize),
12192         (gst_event_parse_buffersize):
12193         * gst/gstevent.h:
12194         New event for future idea.
12195
12196 2005-10-07  Andy Wingo  <wingo@pobox.com>
12197
12198         * gst/gstelement.c (gst_element_post_message): Doc update.
12199
12200         * docs/gst/gstreamer-sections.txt: Update.
12201
12202         * gst/gstmessage.c (gst_message_new_application): Made into a
12203         function like honest API calls.
12204         (gst_message_new_element): New message type.
12205
12206         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
12207
12208         * check/elements/fakesrc.c (test_no_preroll): New check, checks
12209         that setting a live fakesrc to PAUSED returns NO_PREROLL both
12210         times.
12211
12212         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
12213         NO_PREROLL from gst_element_change_state to fall through.
12214
12215 2005-10-07  Wim Taymans  <wim@fluendo.com>
12216
12217         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
12218         (gst_ghost_pad_do_activate_push):
12219         Activating a ghostpad with no internal pad in push mode
12220         is ok.
12221
12222 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12223
12224         * gst/gstobject.h:
12225           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
12226           Fixes compilation on Windows.
12227
12228 2005-10-07  Michael Smith <msmith@fluendo.com>
12229
12230         * tools/gst-inspect.c:
12231           Print out feature and plugin count at the end when printing out
12232           all features.
12233
12234 2005-10-04  Michael Smith <msmith@fluendo.com>
12235
12236         * gst/gsterror.c: (_gst_stream_errors_init):
12237           Add another error string used in a few existing plugins.
12238
12239         * gst/gstplugin.c:
12240         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
12241         * tools/gst-inspect.c: (print_element_info):
12242           When a feature disappears from a plugin (and the feature exists in
12243           the cached registry file), things went horribly wrong. This isn't a
12244           complete fix, we should actually be removing the 'missing' features
12245           from the features list when we load the actual plugin. That's not
12246           yet implemented. 
12247
12248 2005-10-04  Johan Dahlin  <johan@gnome.org>
12249
12250         * check/gst/gstiterator.c: (GST_START_TEST):
12251         * gst/gstbin.c: (gst_bin_iterate_elements),
12252         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
12253         * gst/gstelement.c: (gst_element_iterate_pads):
12254         * gst/gstformat.c: (gst_format_iterate_definitions):
12255         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12256         (gst_iterator_new_list), (gst_iterator_filter):
12257         * gst/gstiterator.h:
12258         * gst/gstquery.c: (gst_query_type_iterate_definitions):
12259         Add a GType to GstIterator, update callsites and tests.
12260
12261 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12262
12263         * gst/gstpad.c: (gst_pad_event_default_dispatch):
12264           give events a chance to be handled by event probes when the pad
12265           is not linked
12266
12267 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12268
12269         * gst/gstevent.c: (gst_event_type_get_name),
12270         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
12271         * gst/gstevent.h:
12272           add string representations for event types
12273
12274 2005-10-06  Wim Taymans  <wim@fluendo.com>
12275
12276         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
12277         Don't use NULL pointers.
12278
12279 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12280
12281         * gst/gst_private.h:
12282         * gst/gstbus.c:
12283         * gst/gstelement.c:
12284         * gst/gstinfo.c:
12285         * gst/gstpluginfeature.c:
12286           widen the debug category in output to fit the biggest one we have
12287           add a bus category and use it
12288           play with the colors
12289           fix up some categories
12290
12291 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12292
12293         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
12294           add push activation of sink ghost pads.
12295           Andye, please verify
12296
12297 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12298
12299         * gst/gstutils.c: (gst_element_link_pads):
12300           fix a bug in the case where neither element has a pad
12301         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
12302           add a test for that case
12303
12304 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12305
12306         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
12307           emit have-data before checking for peers.  This allows
12308           for probe handlers to connect elements.  This helps autopluggers.
12309         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
12310         (gst_pad_suite):
12311           add six checks, linked/unlinked with no/true/false probe
12312
12313 2005-10-04  Wim Taymans  <wim@fluendo.com>
12314
12315         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
12316         (gst_fake_sink_event), (gst_fake_sink_preroll),
12317         (gst_fake_sink_render), (gst_fake_sink_change_state):
12318         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
12319         (gst_fake_src_get_property), (gst_fake_src_create),
12320         (gst_fake_src_stop):
12321         * gst/elements/gstidentity.c: (gst_identity_stop):
12322         Protect last_message with lock.
12323
12324 2005-10-04  Edward Hervey  <edward@fluendo.com>
12325
12326         * gst/gstformat.h: 
12327         Added precision in the comments for GST_FORMAT_DEFAULT
12328
12329 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
12330
12331         * tools/gst-launch.c: (main):
12332           Don't try to run erroneous pipelines.
12333
12334 2005-10-04  Julien MOUTTE  <julien@moutte.net>
12335
12336         * gst/gstbus.c: We don't need this header.
12337
12338 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12339
12340         * configure.ac:
12341           back to development
12342
12343 === release 0.9.3 ===
12344
12345 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12346
12347         * README:
12348         * configure.ac:
12349           Releasing 0.9.3, "Unregistered"
12350
12351 2005-10-03  Andy Wingo  <wingo@pobox.com>
12352
12353         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
12354         whereby calling a pad's activatepush() function can start a thread
12355         that starts to push or pull before the pad gets the FLUSHING flag
12356         unset. Hack around it by holding the stream lock until the flag is
12357         set. Need to replace this with a proper solution. Together with
12358         the ghost pad fixes, this fixes mp3 playing/tagreading.
12359
12360         * docs/design/part-gstghostpad.txt: Add a note about activation of
12361         proxy pads outside of ghost pads.
12362
12363         * gst/gstghostpad.c: Implement the ghost pad activation design.
12364
12365 2005-10-02  Andy Wingo  <wingo@pobox.com>
12366
12367         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
12368         It is volatile, after all.
12369
12370         * docs/design/part-gstghostpad.txt: Flesh out activation with
12371         ghost pads.
12372
12373         * gst/base/gstbasesrc.c (gst_base_src_init): Use
12374         GST_DEBUG_FUNCPTR.
12375
12376 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12377
12378         * configure.ac:
12379           Fix (unused) AM_CONDITIONAL tests.
12380
12381 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
12382
12383         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12384
12385         * gst/gstutils.c: (gst_pad_query_convert):
12386           Add assertion that makes sure src_val is >=0, just like
12387           gst_query_new_convert() has. (#315895)
12388
12389 2005-09-30  Edward Hervey  <edward@fluendo.com>
12390
12391         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
12392         Let's not iterate pads we're not interested in, it avoids getting 
12393         sky-high refcounts on sinkpad.
12394
12395 2005-09-30  Wim Taymans  <wim@fluendo.com>
12396
12397         * gst/gstelement.c: (gst_element_set_state),
12398         (gst_element_change_state):
12399         Small tweak, element in ASYNC remains ASYNC.
12400
12401 2005-09-30  Wim Taymans  <wim@fluendo.com>
12402
12403         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
12404         Only error is an error.
12405
12406         * gst/gstbin.c: (gst_bin_change_state):
12407         Better debugging.
12408
12409         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
12410         Also call pad_block in pad alloc.
12411
12412         * gst/gstutils.c: (gst_flow_get_name):
12413         Better debugging.
12414
12415 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12416
12417         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12418         (gst_base_src_get_range):
12419           Fix documentation typos. Add some more debug info.
12420
12421 2005-09-29  David Schleef  <ds@schleef.org>
12422
12423         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
12424           more end-user friendly.
12425         * tools/gst-inspect.c: (main): Check if command-line argument is
12426           a file and attempt to load that file as a plugin.
12427
12428 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12429
12430         * check/gst/gstbin.c:
12431         * check/states/sinks.c:
12432           fix tests for the new warning
12433         * check/gst/gstpipeline.c:
12434           add a test for pipeline and bus interaction
12435         * gst/gstelement.c:
12436           elements should be NULL if they get disposed; add a warning if not
12437
12438 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12439
12440         * gst/gstobject.c:
12441           for 2.6 refcounting, make debug log more correct by printing
12442           the actual refcounts at the time of swap (Wim)
12443
12444 2005-09-29  Andy Wingo  <wingo@pobox.com>
12445
12446         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
12447         removes signal watches previously added via
12448         gst_bus_add_signal_watch.
12449         (gst_bus_add_signal_watch): Don't return the source id, just store
12450         it on the bus if there wasn't an id already.
12451
12452         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
12453         add_signal_watch and remove_signal_watch.
12454
12455 2005-09-29  Edward Hervey  <edward@fluendo.com>
12456
12457         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
12458         Better if we actually iterate the list :)
12459
12460 2005-09-29  Wim Taymans  <wim@fluendo.com>
12461
12462         * check/gst/gstbin.c: (GST_START_TEST):
12463         Change for new bus API.
12464
12465         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
12466         (send_messages), (GST_START_TEST), (gstbus_suite):
12467         Change for new bus signal API.
12468
12469         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
12470         (gst_bus_source_prepare), (gst_bus_source_check),
12471         (gst_bus_create_watch), (gst_bus_add_watch_full),
12472         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
12473         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
12474         * gst/gstbus.h:
12475         Remove support for multiple GSources operating on different
12476         message types as it is too complex and unneeded when using
12477         signals.
12478         Added support for receiving signals from the bus.
12479
12480 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12481
12482         * docs/libs/tmpl/gstdataprotocol.sgml:
12483         * docs/manual/advanced-dataaccess.xml:
12484         * gst/elements/gstcapsfilter.c:
12485         * gst/gstutils.c:
12486           rename filter-caps to caps property
12487
12488 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12489
12490         * gst/gstvalue.c: (gst_value_deserialize_fraction):
12491           More robust fraction string parsing.
12492
12493         * docs/pwg/appendix-porting.xml:
12494           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
12495
12496 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12497
12498         * gst/gstcaps.c: (gst_caps_do_simplify):
12499           Thou shalt not free a structure and then continue using it
12500           in the next loop iteration.
12501
12502         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
12503         (gst_caps_suite):
12504           Add test case for caps simplification.
12505
12506 2005-09-29  Wim Taymans  <wim@fluendo.com>
12507
12508         * check/gst/gstbin.c: (GST_START_TEST):
12509         Oops.
12510
12511 2005-09-29  Wim Taymans  <wim@fluendo.com>
12512
12513         * check/gst/gstbin.c: (GST_START_TEST):
12514         Add bus to bin.
12515
12516         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
12517         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
12518         (find_element), (gst_bin_sort_iterator_next),
12519         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12520         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12521         (gst_bin_change_state), (gst_bin_dispose):
12522         A bin does not have a bus, it gets the bus from the parent.
12523
12524         * gst/gstelement.c: (gst_element_requires_clock),
12525         (gst_element_provides_clock), (gst_element_is_indexable),
12526         (gst_element_is_locked_state), (gst_element_change_state),
12527         (gst_element_set_bus_func):
12528         Small cleanups.
12529
12530         * gst/gstpipeline.c: (gst_pipeline_class_init),
12531         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
12532         The pipeline provides a bus.
12533
12534 2005-09-28  Johan Dahlin  <johan@gnome.org>
12535
12536         * gst/gstmessage.c (gst_message_parse_state_changed): Use
12537         gst_structure_get_enum instead of gst_structure_get_int
12538
12539         * gst/gststructure.c (gst_structure_get_enum): Impl.
12540
12541         * gst/gststructure.h (gst_structure_get_enum): Add
12542
12543         * docs/gst/gstreamer-sections.txt: Ditto
12544
12545         * gst/gstmessage.c (gst_message_new_state_changed): Use
12546         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
12547         which does introspection.
12548         Reviewed by Christian Schaller
12549
12550 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
12551
12552         * gst/gstinfo.c: (gst_debug_log_default):
12553           don't do dummy g_strdup()s
12554         * libs/gst/controller/gstcontroller.c:
12555         (on_object_controlled_property_changed),
12556         (gst_controlled_property_new), (gst_controller_new_valist),
12557         (gst_controller_new_list),
12558         (gst_controller_remove_properties_valist), (gst_controller_set),
12559         (gst_controller_get), (gst_controller_sync_values),
12560         (gst_controller_get_value_array), (_gst_controller_class_init),
12561         (gst_controller_get_type):
12562         * libs/gst/controller/gstcontroller.h:
12563         * libs/gst/controller/gstinterpolation.c:
12564         (gst_controlled_property_find_timed_value_node):
12565           convert // to /**/ comments
12566
12567 2005-09-28  Wim Taymans  <wim@fluendo.com>
12568
12569         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
12570         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
12571         (gst_bus_sync_signal_handler):
12572         * gst/gstbus.h:
12573         Added async-message and sync-message signals to the bus.
12574         Added helper BusFunc to emit signals for all posted messages.
12575
12576         * gst/gstmessage.c: (gst_message_type_get_name),
12577         (gst_message_type_to_quark), (gst_message_get_type):
12578         * gst/gstmessage.h:
12579         Register quarks for message names.
12580
12581 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
12582
12583         * docs/libs/gstreamer-libs-sections.txt:
12584         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12585         (gst_controller_new_list):
12586         * libs/gst/controller/gstcontroller.h:
12587           added another constructor for language bindings
12588
12589 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12590
12591         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
12592           add another check
12593         * gst/gstbus.c:
12594           add some doc
12595         * gst/gstinfo.c: (_gst_debug_init):
12596           slightly more readable color for refcount debugging
12597
12598 2005-09-28  Wim Taymans  <wim@fluendo.com>
12599
12600         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
12601         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
12602         (find_element), (gst_bin_sort_iterator_next),
12603         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12604         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12605         (gst_bin_change_state), (gst_bin_dispose):
12606         Small doc fixes. get_clock -> provide_clock.
12607
12608         * gst/gstelement.c: (gst_element_class_init),
12609         (gst_element_provides_clock), (gst_element_provide_clock),
12610         (gst_element_get_clock), (gst_element_commit_state),
12611         (gst_element_lost_state):
12612         * gst/gstelement.h:
12613         Make get/set_clock() symetric. Add provide_clock vmethod since
12614         that is actually what this function does.
12615
12616         * gst/gstpipeline.c: (gst_pipeline_class_init),
12617         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
12618         (gst_pipeline_get_clock):
12619         get_clock -> provide_clock.
12620
12621 2005-09-28  Andy Wingo  <wingo@pobox.com>
12622
12623         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
12624         lieu of real docs...
12625
12626         * gst/elements/gstfdsrc.c: Cleaned up a bit.
12627
12628 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
12629
12630         * gst/elements/gstcapsfilter.c:
12631         * gst/elements/gstfakesink.c:
12632         * gst/elements/gstfakesrc.c:
12633         * gst/elements/gstfdsink.c:
12634         * gst/elements/gstfdsrc.c:
12635         * gst/elements/gstfilesink.c:
12636         * gst/elements/gstfilesrc.c:
12637         * gst/elements/gstidentity.c:
12638         * gst/elements/gsttee.c:
12639         * gst/elements/gsttypefindelement.c:
12640           Make element details static.
12641
12642 2005-09-28  Wim Taymans  <wim@fluendo.com>
12643
12644         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12645         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12646         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12647         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12648         (gst_bin_change_state), (gst_bin_dispose):
12649         Some documentation updates.
12650         Clean up dispose handlers.
12651
12652         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
12653         * gst/gstpad.c: (gst_pad_dispose):
12654         Clean up dispose handler.
12655
12656         * gst/gstpipeline.c: (gst_pipeline_change_state):
12657         Removed spurious UNLOCK.
12658
12659 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
12660
12661         * docs/gst/gstreamer-sections.txt:
12662         * gst/base/gstbasesrc.h:
12663         * gst/gstelement.h:
12664         * gst/gstevent.h:
12665         * gst/gstobject.h:
12666         * gst/gstpad.h:
12667         * gst/gstpipeline.c:
12668         * gst/gstpipeline.h:
12669         * gst/gstutils.h:
12670         * gst/gstxml.h:
12671           added two new functions to the docs
12672                 documents all undocumented GstXXXFlags
12673                 completed some incomplete docs 
12674
12675 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12676
12677         * gst/gstbin.c: (gst_bin_dispose):
12678         * gst/gstelement.c: (gst_element_dispose):
12679           remove now useless and leaky resurrection code in dispose
12680         * gst/base/gstbasesrc.c: (gst_base_src_init):
12681         * gst/gstelementfactory.c: (gst_element_factory_create):
12682         * gst/gstobject.c: (gst_object_set_parent):
12683           add some debugging
12684
12685 2005-09-27  Wim Taymans  <wim@fluendo.com>
12686
12687         * docs/design/part-TODO.txt:
12688         Update TODO.
12689
12690         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12691         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12692         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12693         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12694         (gst_bin_change_state):
12695         * gst/gstelement.h:
12696         Remove element variable, we keep element info in the iterator now.
12697
12698 2005-09-27  Andy Wingo  <wingo@pobox.com>
12699
12700         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
12701         values.
12702
12703 2005-09-27  Wim Taymans  <wim@fluendo.com>
12704
12705         * check/gst/gstbin.c: (GST_START_TEST):
12706         Enable check that works now.
12707
12708         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12709         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12710         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12711         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12712         (gst_bin_change_state):
12713         * gst/gstbin.h:
12714         Redid the state change algorithm using a topological sort algo.
12715         Handles all cases correctly.
12716         Exposed iterator for state change order.
12717
12718         * gst/gstelement.h:
12719         Temp storage for state changes. Need to get rid of this soon.
12720
12721 2005-09-27  Wim Taymans  <wim@fluendo.com>
12722
12723         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
12724         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
12725         (link_fold_func), (gst_pad_proxy_setcaps):
12726         Leak fixes, the fold functions need to unref the passed object and
12727         _get_parent_*() returns ref to parent.
12728
12729 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12730
12731         * check/gst/gstbuffer.c: (test_make_writable):
12732           Plug leak in test case and fix 'make check-valgrind'
12733
12734 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12735
12736         * gst/gstbuffer.c: (gst_subbuffer_init):
12737           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
12738           works correctly in all circumstances (we could have just copied
12739           the parent buffer's readonly flag, but conceptually it seems
12740           cleaner to mark all subbuffers as read-only). (based on patch
12741           by Alessandro Decina, #314710).
12742         
12743         * check/gst/gstbuffer.c: (create_read_only_buffer),
12744         (test_make_writable), (test_subbuffer_make_writable),
12745         (gst_test_suite):
12746           Add some tests for gst_buffer_make_writable().
12747
12748 2005-09-27  Wim Taymans  <wim@fluendo.com>
12749
12750         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
12751         use gst_object_has_ancestor().
12752
12753         * gst/gstobject.c: (gst_object_has_ancestor):
12754         * gst/gstobject.h:
12755         gst_object_has_ancestor() copied from gstbin.c as it is a
12756         usefull function.
12757
12758         * tests/instantiate/create.c: (create_all_elements):
12759         * tests/lat.c: (handoff_src), (handoff_sink):
12760         * tests/sched/runxml.c: (main):
12761         * tests/seeking/seeking1.c: (main):
12762         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
12763         (main):
12764         Fix compilation of some tests.
12765
12766 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12767
12768         * gst/gsterror.h:
12769           Remove comment. GST_TYPE_G_ERROR is here to stay,
12770           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
12771           (#316961, #300610).
12772
12773 2005-09-26  Wim Taymans  <wim@fluendo.com>
12774
12775         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12776         Added check that shows error in state change order.
12777
12778 2005-09-26  Wim Taymans  <wim@fluendo.com>
12779
12780         * gst/gstbin.c: (gst_bin_change_state):
12781         Make state change function use 3 queues again, we were
12782         adding elements in the wrong order.
12783
12784         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
12785         Some debug info,
12786
12787         * gst/gstpad.c: (gst_pad_dispose):
12788         Added some debug info first.
12789
12790 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
12791
12792         * docs/design/draft-push-pull.txt:
12793         * docs/design/part-events.txt:
12794         * docs/design/part-overview.txt:
12795         * docs/design/part-scheduling.txt:
12796           Replace all _pull_region() with _pull_range()
12797           
12798 2005-09-26  Andy Wingo  <wingo@pobox.com>
12799
12800         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
12801
12802         * check/gst-libs/controller.c: Update for controller api change.
12803
12804         * configure.ac: 
12805         * tests/Makefile.am:
12806         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
12807         over by GLib bug 118439.
12808         
12809         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
12810         routines to a function.
12811
12812         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
12813
12814         * libs/gst/controller/gsthelper.c:
12815         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
12816         (gst_object_sync_values): Renamed from sink_values. Ugh.
12817
12818         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
12819
12820         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
12821         Renamed from controller_key, as it is exported.
12822
12823         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
12824
12825 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12826
12827         * gst/Makefile.am:
12828         * gst/gst.h:
12829         * gst/gstpad.h:
12830         * gst/gstpadtemplate.h:
12831         * gst/gstquery.c:
12832         * gst/gstquery.h:
12833         * gst/gstqueryutils.c:
12834         * gst/gstqueryutils.h:
12835           remove queryutils headers after moving the two used functions
12836           to gstquery.  also fixes build problem for gstsiddec
12837
12838 2005-09-26  Michael Smith <msmith@fluendo.com>
12839
12840         * tools/gst-launch.1.in:
12841         Correct documentation in manpage of debug syntax
12842
12843 2005-09-26  Wim Taymans  <wim@fluendo.com>
12844
12845         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
12846         (gst_base_src_is_seekable), (gst_base_src_change_state):
12847         Some more debugging info.
12848
12849 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
12850
12851         * docs/gst/gstreamer-sections.txt:
12852         * gst/base/gstbasetransform.h:
12853         * gst/gstindex.h:
12854           added more docs
12855
12856 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
12857
12858         * docs/gst/.cvsignore:
12859         * docs/gst/tmpl/.cvsignore:
12860         * docs/gst/tmpl/gstpipeline.sgml:
12861         * docs/gst/tmpl/gstplugin.sgml:
12862         * gst/gstpipeline.c:
12863         * gst/gstplugin.c:
12864         * gst/gstplugin.h:
12865           inlined the last two docs files
12866           removed the tmpl directory from cvs (no more conflicts here!)
12867
12868 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
12869
12870         * docs/gst/gstreamer-sections.txt:
12871         * docs/gst/tmpl/.cvsignore:
12872         * docs/gst/tmpl/gstpad.sgml:
12873         * docs/gst/tmpl/gstpadtemplate.sgml:
12874         * gst/Makefile.am:
12875         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
12876         (gst_pad_finalize), (gst_pad_set_pad_template):
12877         * gst/gstpad.h:
12878         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
12879         (gst_pad_template_class_init), (gst_pad_template_init),
12880         (gst_pad_template_dispose), (name_is_valid),
12881         (gst_static_pad_template_get), (gst_pad_template_new),
12882         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
12883         (gst_pad_template_pad_created):
12884         * gst/gstpadtemplate.h:
12885           inlined two more docs
12886           factored gstpadtemplate out of gstpad
12887
12888 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
12889
12890         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
12891         (test_children_state_change_order_semi_sink):
12892           Fix test case: we can't rely on a fixed state change order when
12893           going from READY => PAUSED because the sink might commit its 
12894           new state first when the first buffer created by the source 
12895           reaches the sink before the source has finished its change state.
12896           (Test case still fails at times, see #316856, comment 5 onwards)
12897
12898 2005-09-24  Wim Taymans  <wim@fluendo.com>
12899
12900         * docs/design/part-events.txt:
12901         * docs/design/part-gstbus.txt:
12902         * docs/design/part-gstpipeline.txt:
12903         * docs/design/part-messages.txt:
12904         * docs/design/part-overview.txt:
12905         * docs/design/part-segments.txt:
12906         * gst/gstbin.c:
12907         * gst/gstbuffer.c:
12908         * gst/gstclock.c:
12909         * gst/gstelement.c:
12910         * gst/gstevent.c:
12911         * gst/gstfilter.c:
12912         * gst/gstiterator.c:
12913         Various documentation updates.
12914
12915 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12916
12917         * gst/gstclock.h:
12918           Well, that's embarassing.  Luckily we weren't using
12919           GST_CLOCK_DIFF anywhere.
12920
12921 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12922
12923         * common/gtk-doc.mak:
12924           don't fail on building XML, FC4 slave shows a bunch of doc
12925           missing bits that I don't get
12926         * gst/gstpad.c:
12927         * gst/gstpipeline.c:
12928         * gst/gststructure.c:
12929           some doc updates
12930
12931 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
12932
12933         * docs/design/part-gstbin.txt:
12934         * docs/design/part-gstbus.txt:
12935         * gst/gstbus.c:
12936           Add blurb about how the bus goes into flushing mode and
12937           drops all messages when its bin goes from READY into NULL 
12938           state.
12939
12940 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12941
12942         * docs/gst/gstreamer-sections.txt:
12943         * gst/gststructure.c: (gst_structure_get_clock_time):
12944         * gst/gststructure.h:
12945           add a method to get a GstClockTime out of a structure
12946
12947 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
12948
12949         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
12950         (test_children_state_change_order_semi_sink), (gst_bin_suite):
12951           Added test to check state change order in bins (can still be made
12952           to fail here under heavy disk load; bails out with 'Push on pad
12953           fakesink:sink0, but it was not activated in push mode').
12954
12955         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
12956           Fix state change order when there is only a semi sink (#316856)
12957
12958         * gst/gstbus.c: (gst_bus_class_init):
12959           Use _class_peek_parent(), not _class_ref(); fix docs to say
12960           'default main context' instead of 'mainloop' where that is
12961           what's meant.
12962
12963         * gst/gstelement.c: (gst_element_commit_state),
12964         (gst_element_set_state):
12965           Fix typos in debug messages
12966
12967 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12968
12969         * docs/README:
12970         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
12971         * gst/gstpluginfeature.c:
12972         * gst/gstutils.c:
12973           various doc updates
12974         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12975           change an assert into an error until it gets fixed properly
12976
12977 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
12978
12979         * docs/gst/gstreamer-sections.txt:
12980         * docs/gst/tmpl/.cvsignore:
12981         * docs/gst/tmpl/gstelement.sgml:
12982         * docs/gst/tmpl/gstinfo.sgml:
12983         * docs/gst/tmpl/gstobject.sgml:
12984         * gst/gstelement.c:
12985         * gst/gstelement.h:
12986         * gst/gstinfo.c:
12987         * gst/gstinfo.h:
12988         * gst/gstobject.c: (gst_object_class_init):
12989         * gst/gstobject.h:
12990           inlined 3 more biiiig doc files and added some missing docs on the fly
12991
12992 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12993
12994         * check/gst/.cvsignore:
12995         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
12996         * gst/gstregistryxml.c: (load_plugin),
12997         (gst_registry_xml_save_plugin):
12998           put back source in registry.  add checks for find_plugin.
12999         * testsuite/states/bin.c: (assert_state), (empty_bin),
13000         (test_adding_one_element), (main):
13001         * testsuite/states/locked.c: (main):
13002           some compile/run fixes
13003
13004 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13005
13006         * check/gst/gstvalue.c: (GST_START_TEST):
13007           fix leaks in the test itself
13008
13009 2005-09-22  Wim Taymans  <wim@fluendo.com>
13010
13011         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
13012         (gst_base_sink_send_event), (gst_base_sink_peer_query),
13013         (gst_base_sink_query):
13014         Prepare for more accurate position reporting and query
13015         handling.
13016
13017         * gst/gstelement.c: (gst_element_send_event),
13018         (gst_element_set_state):
13019         Add some comment.
13020
13021 2005-09-22  Wim Taymans  <wim@fluendo.com>
13022
13023         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
13024         (gst_query_parse_segment):
13025         * gst/gstquery.h:
13026         More documentation.
13027         Add segment query for future use.
13028
13029 2005-09-22  Wim Taymans  <wim@fluendo.com>
13030
13031         * gst/gstbin.c: (gst_bin_add_func):
13032         Some more debug info.
13033
13034         * gst/gstelement.c: (gst_element_send_event):
13035         Simplify send_event
13036
13037         * gst/gstelement.h:
13038         Don't know how flags got broken.
13039
13040         * gst/gstquery.h:
13041         Added new query.
13042
13043 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
13044
13045         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
13046           Add simplistic test suite for GST_TYPE_DATE serialisation and
13047           deserialisation.
13048
13049 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
13050
13051         * docs/gst/gstreamer-sections.txt:
13052         * gst/gststructure.c: (gst_structure_set_valist),
13053         (gst_structure_get_date):
13054         * gst/gststructure.h:
13055         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
13056         (gst_date_copy), (gst_value_compare_date),
13057         (gst_value_serialize_date), (gst_value_deserialize_date),
13058         (gst_value_transform_date_string),
13059         (gst_value_transform_string_date), (_gst_value_initialize):
13060         * gst/gstvalue.h:
13061           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
13062           bunch of utility functions along with a hack that checks that
13063           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
13064           is required. Part of the grand scheme in #170777.
13065
13066 2005-09-22  Andy Wingo  <wingo@pobox.com>
13067
13068         * gst/gstconfig.h.in: Psych out gtk-doc.
13069
13070         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
13071
13072         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
13073
13074         * tools/gst-inspect.c (print_element_list): Plug some
13075         inconsequential leaks.
13076
13077         * gst/gstregistry.c (gst_registry_get_default): Doc.
13078
13079         * check/gst/gstplugin.c: 
13080         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
13081         * gst/gstelementfactory.c (gst_element_factory_create): 
13082         * gst/gstindexfactory.c (gst_index_factory_create): Update for
13083         refcount changes.
13084
13085         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
13086         (gst_plugin_feature_load): Doc, don't eat refs.
13087
13088         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
13089         (gst_plugin_list_free): Doc.
13090         (gst_plugin_load_file): Doc updates.
13091
13092         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
13093         accessors returning refcounted objects, return a ref.
13094
13095         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
13096         accessor for caps. IDEMPOTENCE. Oh yes.
13097
13098 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
13099
13100         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
13101
13102         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
13103         (_gst_debug_register_funcptr):
13104           Add mutex to serialise access to the hash table with
13105           the function pointer => function name string mapping;
13106           make that hash table static scope (#316809).
13107
13108         * gst/registries/.cvsignore:
13109           Remove left-over file.
13110
13111 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
13112
13113         * docs/pwg/appendix-porting.xml:
13114           And something about newsegment events and caps-on-buffers to
13115           the porting guide (feel free to improve).
13116
13117 2005-09-21  Andy Wingo  <wingo@pobox.com>
13118
13119         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
13120         data and event probes on the same pad.
13121         (test_buffer_probe_once): Test that removing probes from within
13122         the probe functions works.
13123
13124 2005-09-21  Andy Wingo  <wingo@pobox.com>
13125
13126         * check/gst/gstutils.c: New file.
13127         (test_buffer_probe_n_times): A simple buffer probe test. More to
13128         come, foolios.
13129
13130         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
13131         have-data::buffer, not have-data.
13132         (gst_pad_add_event_probe): Likewise for have-data::event.
13133         (gst_pad_add_data_probe): More docs. The part about 'resolving the
13134         peer' isn't quite right yet though.
13135         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
13136         (gst_pad_remove_data_probe): Change to take the guint handler_id
13137         as their arg, not the function+data, which is more glib-like.
13138
13139         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
13140         the signal emission to indicate if the data is a buffer or an
13141         event.
13142         (gst_pad_get_type): Initialize buffer and event quarks.
13143         (gst_pad_class_init): have-data is now a detailed signal, yes it
13144         is.
13145
13146 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
13147
13148         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
13149         * gst/gstutils.c: (gst_util_set_value_from_string),
13150         (gst_util_set_object_arg):
13151           Don't put functional code in g_return_if_fail() or
13152           g_return_val_if_fail() statements, otherwise things will 
13153           break when G_DISABLE_CHECKS is defined during compilation.
13154
13155 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
13156
13157         * docs/gst/tmpl/.cvsignore:
13158         * docs/gst/tmpl/gstvalue.sgml:
13159         * gst/gstvalue.c:
13160         * gst/gstvalue.h:
13161           inlied another one and added  some obvious docs
13162
13163 2005-09-21  Wim Taymans  <wim@fluendo.com>
13164
13165         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
13166         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
13167         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
13168         (gst_fdsrc_get_property), (gst_fdsrc_create):
13169         * gst/elements/gstfdsrc.h:
13170         Properly implement fdsrc. Removed signal and timeout,
13171         better implemented somewhere else.
13172
13173 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
13174
13175         * docs/gst/tmpl/.cvsignore:
13176         * docs/gst/tmpl/gstimplementsinterface.sgml:
13177         * gst/gstinterface.c:
13178           inlined more docs
13179
13180 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
13181
13182         * docs/gst/gstreamer-sections.txt:
13183         * docs/gst/tmpl/.cvsignore:
13184         * docs/gst/tmpl/gstenumtypes.sgml:
13185           remove obsolete doc file
13186
13187 2005-09-21  David Schleef  <ds@schleef.org>
13188
13189         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
13190         little beer, fix a little leak.
13191
13192 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
13193
13194         * docs/gst/gstreamer-docs.sgml:
13195         * docs/gst/gstreamer-sections.txt:
13196         * docs/gst/tmpl/.cvsignore:
13197         * gst/Makefile.am:
13198         * gst/gst.h:
13199         * gst/gstbin.c:
13200         * gst/gstelement.h:
13201         * gst/gstindex.c: (gst_index_class_init):
13202         * gst/gstindex.h:
13203         * gst/gstindexfactory.c: (gst_index_factory_get_type),
13204         (gst_index_factory_class_init), (gst_index_factory_init),
13205         (gst_index_factory_finalize), (gst_index_factory_new),
13206         (gst_index_factory_destroy), (gst_index_factory_find),
13207         (gst_index_factory_create), (gst_index_factory_make):
13208         * gst/gstindexfactory.h:
13209         * gst/gstpluginfeature.c:
13210         * gst/gstpluginfeature.h:
13211         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
13212           more docs inlined, splitted gstindex.{c,h}
13213
13214 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13215
13216         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
13217           fix a leak
13218
13219 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
13220
13221         * gst/elements/gstfilesink.c: (gst_file_sink_init):
13222           Set sync to FALSE by default.
13223
13224 2005-09-20  Wim Taymans  <wim@fluendo.com>
13225
13226         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
13227         (gst_base_sink_init):
13228         Make sync property settable from subclass.
13229
13230         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
13231         (gst_fake_sink_change_state):
13232         Set sync to FALSE by default.
13233
13234 2005-09-20  Wim Taymans  <wim@fluendo.com>
13235
13236         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
13237         * tools/gst-launch.c: (main):
13238         The timeout handler should have lower priority than the source
13239         so we don't timeout before popping a message with 0 timeout.
13240         Dump error messages after failed state change.
13241
13242 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
13243
13244         * tools/gst-inspect.c: (print_element_properties_info):
13245           Fix two typos.
13246
13247 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13248
13249         * check/gst/gstevent.c:
13250         * gst/elements/gstfakesink.c:
13251         * gst/elements/gstfakesink.h:
13252           remove the sync property from fakesink.
13253           has the side effect of setting sync TRUE
13254           for fakesink, which is a change.  Anyone who knows how
13255           to fix this nicely in a GObject-y way, feel free.
13256
13257 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
13258
13259         * docs/gst/gstreamer-docs.sgml:
13260           remove probe refsection
13261
13262 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
13263
13264         * check/Makefile.am:
13265           disable valgrinding the controller test again
13266         * docs/gst/gstreamer-sections.txt:
13267           update for api-changes
13268
13269 2005-09-20  Wim Taymans  <wim@fluendo.com>
13270
13271         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
13272         (gst_base_sink_set_property), (gst_base_sink_get_property),
13273         (gst_base_sink_do_sync):
13274         * gst/base/gstbasesink.h:
13275         Added sync property to basesink to disable clock sync.
13276
13277 2005-09-20  Andy Wingo  <wingo@pobox.com>
13278
13279         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
13280         eating the caller's refcount.
13281
13282         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
13283         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
13284         refcount.
13285
13286         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
13287         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
13288         of GLib 2.8 public, so we can know which refcount to check in
13289         tests.
13290
13291         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
13292         (gst_object_init): Only set the gst refcount if we're going ahead
13293         with the refcount hack.
13294
13295 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
13296
13297         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
13298         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
13299           more leaks plumbed, added more debug-logging
13300         * gst/gstmacros.h:
13301           whitespace fix
13302
13303 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13304
13305         * gst/gstmessage.c:
13306           remove include of gstmemchunk.h
13307
13308 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13309
13310         * gst/gstclock.c: (_gst_clock_id_free):
13311           Commit from the Political Party For More Atomic CVS Commits,
13312           so that people don't waste too much of their day fishing
13313           out obvious leaks out of massive commits.
13314           Oh, and fix a pretty damn obvious leak in the memchunk
13315           removal code.
13316
13317 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
13318
13319         * check/Makefile.am:
13320         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
13321           plug mem-leak, re-add to valgrindable tests
13322
13323 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13324
13325         * gst/gstplugin.h:
13326           unbreak the build for those who have chronic arthritis
13327           and typing "make check" is just too taxing on the hands
13328
13329 2005-09-20  Andy Wingo  <wingo@pobox.com>
13330
13331         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
13332         really want it out, you should fix plugins at the same time.
13333
13334 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
13335
13336         * configure.ac:
13337         * docs/gst/gstreamer-sections.txt:
13338         * gst/gstobject.c:
13339           added missing symbols to api docs
13340           disable ref-count hack if we have glib >= 2.8
13341
13342 2005-09-19  David Schleef  <ds@schleef.org>
13343
13344         * docs/gst/Makefile.am: Ignore a few more internal headers
13345         * docs/gst/gstreamer-docs.sgml: Remove old sections
13346         * docs/gst/gstreamer-sections.txt: Remove old sections
13347         * docs/gst/tmpl/gstobject.sgml: update
13348         * docs/gst/tmpl/gstplugin.sgml: update
13349         * docs/gst/tmpl/gstpluginfeature.sgml: update
13350         * docs/random/ds/0.9-suggested-changes: update.
13351         * gst/Makefile.am: remove memchunk and trashstack, since they're
13352           not used.
13353         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
13354         * gst/gst.h: don't include some headers
13355         * gst/gstchildproxy.c: add gstmarshal.h
13356         * gst/gstclock.c: Don't use memchunks
13357         * gst/gstminiobject.c: Add some docs
13358         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
13359         * gst/gstobject.h: same
13360         * gst/gstplugin.c: include gstmacros.h
13361         * gst/gstplugin.h: don't include gstmacros.h, since it's private
13362         * gst/gstquery.c: don't use memchunks
13363         * gst/gstregistry.c: rename gst_registry_deinit()
13364         * gst/gstregistry.h: same
13365
13366 2005-09-19  David Schleef  <ds@schleef.org>
13367
13368         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
13369         * docs/libs/gstreamer-libs-sections.txt:
13370         * docs/libs/tmpl/gstgetbits.sgml:
13371         * docs/libs/tmpl/gstputbits.sgml:
13372
13373 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
13374
13375         * win32/gstenumtypes.c:
13376         * win32/gstenumtypes.h:
13377           Update.
13378
13379 2005-09-19  Wim Taymans  <wim@fluendo.com>
13380
13381         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
13382         Automatically PAUSE and RESUME a pipeline when a flushing seek
13383         is performed.
13384
13385 2005-09-19  Andy Wingo  <wingo@pobox.com>
13386
13387         * gst/gstregistry.h: Spacing fixen.
13388
13389 2005-09-19  Wim Taymans  <wim@fluendo.com>
13390
13391         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
13392         Handle state change failure more correctly.
13393
13394 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13395
13396         * check/Makefile.am:
13397         * check/pipelines/cleanup.c: (run_pipeline):
13398         * check/pipelines/simple_launch_lines.c: (run_pipeline),
13399         (GST_START_TEST):
13400           enable cleanup again after fixing the leak
13401         * docs/README:
13402           some more info on docs
13403
13404 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13405
13406         * check/Makefile.am:
13407           re-enable tests now that leaks are plugged
13408         * check/gst/gst.c:
13409         * check/gst/gstbin.c:
13410         * check/gst/gstpipeline.c:
13411           add some more tests while fixing leaks
13412         * common/check.mak:
13413           make sure binaries are uptodate when valgrinding/gdbing
13414         * gst/gst.c:
13415         * gst/gstelementfactory.c:
13416           remove a ref too many, and add a FIXME for when we get
13417           round to disposing of classes
13418         * gst/gstplugin.c:
13419           fix the refcounting when loading a plugin from a file and
13420           the code pretends that the pointer is the same even though
13421           of course it can change
13422         * gst/gstpluginfeature.c:
13423           unref plugins marked cached (a bit confusing as a name)
13424           as the docs state should be done
13425           various doc additions to explain refcounting
13426         * gst/gstregistry.c:
13427         * gst/gstregistryxml.c:
13428           debugging
13429
13430 2005-09-19  Wim Taymans  <wim@fluendo.com>
13431
13432         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
13433         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
13434         (send_messages), (GST_START_TEST), (gstbus_suite):
13435         * check/gst/gstpipeline.c: (GST_START_TEST):
13436         * check/pipelines/cleanup.c: (run_pipeline):
13437         * check/pipelines/simple_launch_lines.c: (run_pipeline),
13438         (GST_START_TEST):
13439         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
13440         (gst_bus_source_check), (gst_bus_source_dispatch),
13441         (gst_bus_create_watch), (gst_bus_add_watch_full),
13442         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
13443         * gst/gstbus.h:
13444         * tools/gst-launch.c: (event_loop):
13445         * tools/gst-md5sum.c: (event_loop):
13446         GstBusHandler -> GstBusFunc, return value has the same meaning as
13447         any other GSource (FALSE == remove source).
13448         _add_watch() and _add_watch_full() now take a MessageType mask to
13449         only handle specific types of messages.
13450         _poll() returns the GstMessage instead of the message type to avoid
13451         race conditions.
13452         _have_pending() takes a MessageType mask now too.
13453         Added testsuite for multiple bus watches.
13454         Fix testsuites and applications for new bus API.
13455
13456 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13457
13458         * check/Makefile.am:
13459           mark a bunch of the tests as to fix until we fix them
13460
13461 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13462
13463         * common/check.mak:
13464           use GST_PLUGIN settings for valgrind tests as well, so we're
13465           valgrinding the correct thing
13466         * gst/gst.c: (init_post):
13467           plug another leak
13468
13469 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13470
13471         * gst/gst.c: (init_post), (gst_deinit):
13472         * gst/gstelementfactory.c: (gst_element_factory_class_init),
13473         (gst_element_factory_finalize), (gst_element_factory_cleanup):
13474         * gst/gstindex.c: (gst_index_factory_class_init),
13475         (gst_index_factory_finalize):
13476         * gst/gstobject.c: (gst_object_dispose):
13477         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
13478         (gst_plugin_load_file), (gst_plugin_desc_free):
13479         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
13480         (gst_plugin_feature_finalize):
13481         * gst/gstregistry.c: (gst_registry_class_init),
13482         (gst_registry_init), (gst_registry_finalize),
13483         (gst_registry_get_default), (gst_registry_deinit):
13484         * gst/gstregistry.h:
13485         * gst/gstregistryxml.c: (load_feature), (load_plugin):
13486           various cleanups and memleak plugging.  make valgrind is happy now.
13487
13488 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13489
13490         * common/check.mak:
13491           add a check-valgrind target
13492
13493 2005-09-18  David Schleef  <ds@schleef.org>
13494
13495         * tools/gst-inspect.c: Revert the GOption code.
13496
13497 2005-09-17  David Schleef  <ds@schleef.org>
13498
13499         * check/Makefile.am: Fix environment variables.
13500         * check/gst/gstplugin.c: Fix for API changes.
13501         * tools/gst-inspect.c: Fix for API changes.
13502         * tools/gst-xmlinspect.c: Fix for API changes.
13503         * gst/gstelementfactory.c:
13504         * gst/gstplugin.c:
13505         * gst/gstplugin.h:
13506         * gst/gstpluginfeature.c:
13507         * gst/gstpluginfeature.h:
13508         * gst/gstregistry.c:
13509         * gst/gstregistry.h:
13510         * gst/gstregistryxml.c:
13511         * gst/gsttypefind.c:
13512         * gst/gsttypefindfactory.c:
13513         * gst/indexers/gstfileindex.c:
13514         * gst/indexers/gstmemindex.c:
13515         * gst/schedulers/Makefile.am:
13516           Change registry to keep track of both plugins and features,
13517           removing the feature tracking from plugins themselves.
13518
13519 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13520
13521         * check/Makefile.am:
13522         * tools/gst-register.1.in:
13523           remove gst-register
13524
13525 2005-09-15  David Schleef  <ds@schleef.org>
13526
13527         * check/gst/gstplugin.c:
13528         * gst/gstelementfactory.c:
13529         * gst/gstplugin.c:
13530         * gst/gstpluginfeature.c:
13531         * gst/gstregistry.c:
13532           Getting tired of debugging.  Disabled all the unreffing of
13533           plugins and features, which fixes the segfaults, but of
13534           course leaks like crazy.  At least playbin works.
13535
13536 2005-09-15  David Schleef  <ds@schleef.org>
13537
13538         * check/gst/gstplugin.c: (register_check_elements),
13539         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
13540         More testing
13541         * gst/elements/gsttypefindelement.c: Fix refcounting.
13542         * gst/gsttypefind.c:
13543         * gst/gsttypefindfactory.c:
13544         * gst/gsttypefindfactory.h:
13545
13546 2005-09-15  David Schleef  <ds@schleef.org>
13547
13548         * gst/gstindex.c: get refcounting correct.
13549         * gst/gstregistry.c: Handle the case where a feature/plugin is
13550           not found.
13551
13552 2005-09-15  David Schleef  <ds@schleef.org>
13553
13554         * check/Makefile.am:
13555         * check/gst/gstplugin.c: Add test
13556         * gst/gstplugin.c: Fix problems noticed by testsuite
13557         * gst/gstplugin.h:
13558         * gst/gstregistry.c: 
13559         * gst/gstregistry.h:
13560
13561 2005-09-15  David Schleef  <ds@schleef.org>
13562
13563         * gst/gstplugin.c: Implement semi-decent recounting and locking
13564           in plugins and plugin features.
13565         * gst/gstplugin.h:
13566         * gst/gstpluginfeature.c:
13567         * gst/gstpluginfeature.h:
13568         * gst/gstregistry.c:
13569
13570 2005-09-15  Michael Smith <msmith@fluendo.com>
13571
13572         * gst/gstregistry.c: (gst_registry_get_feature_list):
13573           Implement this. Makes oggdemux work; decodebin still broken.
13574
13575 2005-09-14  David Schleef  <ds@schleef.org>
13576
13577         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
13578           #316076)
13579         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
13580         * gst/check/Makefile.am:
13581         * libs/gst/controller/Makefile.am:
13582         * libs/gst/dataprotocol/Makefile.am:
13583
13584 2005-09-14  David Schleef  <ds@schleef.org>
13585
13586         * configure.ac: Remove getbits library.  Nothing uses it, and
13587           it should be in something like liboil if someone did want
13588           to use it.
13589         * libs/gst/Makefile.am:
13590         * libs/gst/getbits/Makefile.am:
13591         * libs/gst/getbits/gbtest.c:
13592         * libs/gst/getbits/getbits.c:
13593         * libs/gst/getbits/getbits.h:
13594         * libs/gst/getbits/gstgetbits_generic.c:
13595         * libs/gst/getbits/gstgetbits_i386.s:
13596         * libs/gst/getbits/gstgetbits_inl.h:
13597
13598 2005-09-14  David Schleef  <ds@schleef.org>
13599
13600         * gst/Makefile.am: Dist glib-compat.h
13601
13602 2005-09-14  David Schleef  <ds@schleef.org>
13603
13604         * configure.ac: Remove gst/registries, since it's no longer used.
13605         * gst/registries/Makefile.am:
13606         * gst/registries/gstlibxmlregistry.c:
13607         * gst/registries/gstlibxmlregistry.h:
13608         * gst/registries/gstxmlregistry.c:
13609         * gst/registries/gstxmlregistry.h:
13610         * gst/registries/registrytest.c:
13611
13612 2005-09-14  David Schleef  <ds@schleef.org>
13613
13614         * gst/glib-compat.h:
13615         * gst/gstregistryxml.c:
13616           Convergence is near.  Seriously.
13617
13618 2005-09-14  David Schleef  <ds@schleef.org>
13619
13620         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13621         * gst/glib-compat.h:
13622           Attempt #4 to appease the buildbots.
13623
13624 2005-09-14  David Schleef  <ds@schleef.org>
13625
13626         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13627           Attempt #3.
13628
13629 2005-09-14  David Schleef  <ds@schleef.org>
13630
13631         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13632         Attempt #2.
13633
13634 2005-09-14  David Schleef  <ds@schleef.org>
13635
13636         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
13637           the new functions.
13638
13639 2005-09-14  David Schleef  <ds@schleef.org>
13640
13641         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13642         * gst/glib-compat.h: Add some functions that are in newer versions
13643           of glib than we care to require.
13644         * gst/gstregistryxml.c: Use them.
13645
13646 2005-09-14  David Schleef  <ds@schleef.org>
13647
13648         * po/POTFILES.in: remove gst-register.c
13649
13650 2005-09-14  David Schleef  <ds@schleef.org>
13651
13652         * docs/gst/gstreamer-docs.sgml:
13653         * docs/gst/gstreamer-sections.txt:
13654         * docs/gst/gstreamer.types:
13655         * docs/gst/tmpl/gstelement.sgml:
13656         * docs/gst/tmpl/gstplugin.sgml:
13657         * docs/gst/tmpl/gstpluginfeature.sgml:
13658           Documentation updates for registry changes.
13659
13660 2005-09-14  David Schleef  <ds@schleef.org>
13661
13662         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
13663           because we don't require glib-2.8.
13664
13665 2005-09-14  David Schleef  <ds@schleef.org>
13666
13667         * gst/gstregistryxml.c: Added.  Essentially moved out of the
13668           registries directory.
13669
13670 2005-09-14  David Schleef  <ds@schleef.org>
13671
13672         * check/Makefile.am:
13673         * check/generic/states.c:
13674         * gst/Makefile.am:
13675         * gst/gst.c:
13676         * gst/gst.h:
13677         * gst/gst_private.h:
13678         * gst/gstelementfactory.c:
13679         * gst/gstindex.c:
13680         * gst/gstinfo.c:
13681         * gst/gstplugin.c:
13682         * gst/gstplugin.h:
13683         * gst/gstpluginfeature.c:
13684         * gst/gstpluginfeature.h:
13685         * gst/gstregistry.c:
13686         * gst/gstregistry.h:
13687         * gst/gstregistrypool.c: remove
13688         * gst/gstregistrypool.h: remove
13689         * gst/gsttypefind.c:
13690         * gst/gsttypefindfactory.c:
13691         * gst/gsturi.c:
13692         * tools/Makefile.am:
13693         * tools/gst-compprep.c:
13694         * tools/gst-inspect.c:
13695         * tools/gst-register.c: remove
13696         * tools/gst-xmlinspect.c:
13697           Registry rewrite.  Changes registry from being a file created
13698           by a tool into a simple cache file created automatically by 
13699           libgstreamer.  Removed gst-register (because it's no longer
13700           needed).  Remove registry pools, because we only have one
13701           registry implementation (XML).  Fix up other subsystems as
13702           necessary.
13703
13704 2005-09-13  Michael Smith <msmith@fluendo.com>
13705
13706         * gst/gstconfig.h.in:
13707           Don't Use windows linking attributes for MinGW. Fixes #316157
13708
13709 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13710
13711         * gst/gstutils.c: (set_state_async_thread_func),
13712         (gst_element_set_state_async):
13713           Apparently people think it's better if this function doesn't
13714           try to set the state to whatever state was asked for on the first
13715           call to this function for any object.  Seriously.
13716
13717 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13718
13719         * check/gst/gstpipeline.c: (GST_START_TEST):
13720         * docs/gst/gstreamer-sections.txt:
13721         * gst/gstutils.c: (set_state_async_thread_func),
13722         (gst_element_set_state_async):
13723         * gst/gstutils.h:
13724           add a "gst_element_set_state_async" method that
13725           sets the state and starts a thread to make sure the state
13726           change completes as best as it can
13727
13728 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13729
13730         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
13731           codify design+behaviour in testsuite after discussion
13732
13733 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13734
13735         * docs/gst/tmpl/gstelement.sgml:
13736         * docs/manual/appendix-quotes.xml:
13737           add a quote
13738         * gst/gstelement.c: (gst_element_set_state):
13739           add some debug
13740
13741 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
13742
13743         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13744         (gst_base_transform_prepare_output_buf),
13745         (gst_base_transform_handle_buffer):
13746         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
13747         (gst_capsfilter_prepare_buf):
13748           Remove the requirement for sub-classes to call the parent
13749           implementation of prepare_output_buffer with a wrapper function.
13750           
13751         * gst/gsttaglist.h:
13752         * gst/gsttagsetter.h:
13753           Fix #define wrapper
13754
13755 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
13756
13757         * docs/gst/gstreamer-sections.txt:
13758           more doc cleanups
13759
13760 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13761
13762         * docs/gst/gstreamer-sections.txt:
13763         * docs/gst/tmpl/gstelement.sgml:
13764         * docs/gst/tmpl/gstplugin.sgml:
13765         * gst/gstminiobject.c:
13766         * gst/gstvalue.h:
13767           docs now stop throwing warnings
13768
13769 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13770
13771         * docs/gst/gstreamer-sections.txt:
13772         * docs/gst/gstreamer.types:
13773         * docs/gst/tmpl/gstpad.sgml:
13774         * docs/gst/tmpl/gsttypes.sgml:
13775         * gst/base/gstadapter.h:
13776         * gst/base/gstbasesink.h:
13777         * gst/base/gstbasesrc.h:
13778         * gst/gstbin.h:
13779         * gst/gstbuffer.h:
13780         * gst/gstbus.h:
13781         * gst/gstcaps.h:
13782         * gst/gstclock.h:
13783         * gst/gstelement.h:
13784         * gst/gstevent.h:
13785         * gst/gstmessage.h:
13786         * gst/gstpad.h:
13787         * gst/gststructure.c:
13788         * gst/registries/gstlibxmlregistry.h:
13789           various documentation fixes
13790
13791 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13792
13793         * docs/gst/gstreamer-sections.txt:
13794         * docs/gst/tmpl/gstvalue.sgml:
13795           rearrange gstvalue section
13796         * gst/gstutils.c: (gst_element_state_get_name):
13797           NONE -> VOID
13798         * gst/gstvalue.c: (_gst_value_initialize):
13799         * gst/gstvalue.h:
13800           doc updates
13801
13802 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
13803
13804         * check/gst-libs/controller.c:
13805           Header include fix.
13806         * gst/base/gstbasetransform.c:
13807         (gst_base_transform_default_prepare_buf),
13808         (gst_base_transform_handle_buffer):
13809         * gst/base/gstbasetransform.h:
13810           Some more basetransform changes and fixes to enable sub-classes
13811           that modify buffer metadata only.
13812         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
13813         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
13814         (gst_capsfilter_prepare_buf):
13815           If the output pad has fixed allowed caps and input buffers 
13816           don't have any, set the fixed caps on outgoing buffers.
13817
13818 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
13819         * check/elements/identity.c: (GST_START_TEST):
13820           Make the error a little clearer when the test fails because
13821           identity made a copy of the buffer.
13822         * docs/gst/gstreamer-sections.txt:
13823           New symbols in gstbasetransform.h
13824         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13825         (gst_base_transform_init), (gst_base_transform_transform_size),
13826         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13827         (gst_base_transform_default_prepare_buf),
13828         (gst_base_transform_get_unit_size),
13829         (gst_base_transform_buffer_alloc),
13830         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
13831         (gst_base_transform_change_state),
13832         (gst_base_transform_set_passthrough),
13833         (gst_base_transform_set_in_place),
13834         (gst_base_transform_is_in_place):
13835         * gst/base/gstbasetransform.h:
13836           Change BaseTransform to separate in_place operate from same_caps
13837           output. in_place implies that the element can perform the transform
13838           on incoming buffers in-place, even if the caps on the output are
13839           different.
13840           Sub-class elements can now implement special buffer allocation
13841           methods for outgoing buffers if they wish to.
13842           Big documentation addition.
13843         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
13844         * gst/elements/gstelements.c:
13845           Changes for basetransform modifications.
13846         * gst/elements/Makefile.am:
13847         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
13848           Compile fix. Extra debug output.
13849
13850 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13851
13852         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
13853         (gst_pad_suite):
13854           add tests for valid pad naming
13855         * gst/check/gstcheck.c: (gst_check_log_message_func),
13856         (gst_check_log_critical_func):
13857           add ASSERT_WARNING
13858           remove printing of code, it is fragile when the code contains
13859           % and the line number is enough info
13860         * gst/check/gstcheck.h:
13861         * gst/gstpad.c: (gst_pad_template_new):
13862           fix memleaks
13863
13864 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13865
13866         * configure.ac:
13867           say what CHECK flags we use
13868         * docs/libs/gstreamer-libs.types:
13869         * libs/gst/controller/Makefile.am:
13870         * libs/gst/controller/gst-controller.c:
13871         * libs/gst/controller/gst-controller.h:
13872         * libs/gst/controller/gst-helper.c:
13873         * libs/gst/controller/gst-interpolation.c:
13874         * libs/gst/controller/gstcontroller.c:
13875         * libs/gst/controller/gsthelper.c:
13876         * libs/gst/controller/gstinterpolation.c:
13877         * tools/gst-inspect.c: (print_plugin_info):
13878           we don't use dashes in header names
13879
13880 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13881
13882         * check/Makefile.am:
13883         * check/gst/.cvsignore:
13884         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
13885         (gst_pipeline_suite), (main):
13886           adding a test for pipelines and state changes
13887         * gst/gstutils.c: (get_state_func):
13888           add some debugging
13889         * gstreamer.spec.in:
13890           fix up spec file
13891
13892 2005-09-08  Michael Smith <msmith@fluendo.com>
13893
13894         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
13895         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
13896         (gst_file_src_is_seekable), (gst_file_src_get_size),
13897         (gst_file_src_start):
13898         * gst/elements/gstfilesrc.h:
13899           Various fixes for unseekable, unmmapable, and non-normal files, so
13900           that fallback to read() rather than mmap() works.
13901         * gst/gstevent.c: (gst_event_new_newsegment):
13902           Allow newsegment events with segment_start == segment_end, as will
13903           correctly happen if you use filesrc on a zero-size file, for
13904           example.
13905
13906 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
13907
13908         * gst/gstplugin.c: (gst_plugin_load_file):
13909           Call g_module_close when we don't load the module
13910
13911         * gst/registries/gstlibxmlregistry.c:
13912         (gst_xml_registry_get_property):
13913           Port leak fix from 0.8
13914
13915 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13916
13917         * docs/gst/gstreamer-docs.sgml:
13918         * docs/gst/tmpl/.cvsignore:
13919         * docs/gst/tmpl/gsttrace.sgml:
13920         * docs/gst/tmpl/gsttrashstack.sgml:
13921         * gst/Makefile.am:
13922         * gst/gst.h:
13923         * gst/gstelement.h:
13924         * gst/gstevent.h:
13925         * gst/gstmessage.c:
13926         * gst/gstmessage.h:
13927         * gst/gsttag.c:
13928         * gst/gsttag.h:
13929         * gst/gsttaginterface.c:
13930         * gst/gsttaginterface.h:
13931         * gst/gsttaglist.c:
13932         * gst/gsttaglist.h:
13933         * gst/gsttagsetter.c:
13934         * gst/gsttagsetter.h:
13935         * gst/gsttrace.c:
13936         * gst/gsttrace.h:
13937         * gst/gsttrashstack.c:
13938           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
13939           inlined docs for gsttrace, gsttrashstack
13940
13941 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13942
13943         * gst/Makefile.am:
13944         * gst/elements/gstbufferstore.h:
13945         * gst/elements/gsttypefindelement.c:
13946         * gst/elements/gsttypefindelement.h:
13947         * gst/gst.h:
13948         * gst/gsttypefind.c:
13949         * gst/gsttypefind.h:
13950         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
13951         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
13952         (gst_type_find_factory_dispose),
13953         (gst_type_find_factory_unload_thyself),
13954         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
13955         (gst_type_find_factory_get_caps),
13956         (gst_type_find_factory_get_extensions),
13957         (gst_type_find_factory_call_function):
13958         * gst/gsttypefindfactory.h:
13959         * gst/registries/gstlibxmlregistry.c:
13960         * gst/registries/gstxmlregistry.c:
13961           splitted gsttypefind into gsttypefind, gsttypefindfactory
13962
13963 2005-09-07  Andy Wingo  <wingo@pobox.com>
13964
13965         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
13966         condition whereby the pad's task function is entered before the
13967         pad_mode variable was set.
13968
13969 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
13970
13971         * gst/gstpad.c: (gst_pad_alloc_buffer):
13972           Catch misbehaving pad_alloc functions that don't
13973           set up caps and do it for them.
13974
13975 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13976
13977         * check/pipelines/simple_launch_lines.c: (run_pipeline):
13978           test for pipe!=NULL
13979         * docs/gst/tmpl/.cvsignore:
13980         * docs/gst/tmpl/gstmemchunk.sgml:
13981         * docs/gst/tmpl/gstparse.sgml:
13982         * docs/gst/tmpl/gsttaglist.sgml:
13983         * docs/gst/tmpl/gsttagsetter.sgml:
13984         * docs/gst/tmpl/gsttypefind.sgml:
13985         * docs/gst/tmpl/gsttypefindfactory.sgml:
13986         * gst/gstmemchunk.c:
13987         * gst/gstparse.c:
13988         * gst/gsttag.c:
13989         * gst/gsttaginterface.c:
13990         * gst/gsttypefind.c:
13991         * gst/gsttypefind.h:
13992           inlined more docs
13993
13994 === release 0.9.2 ===
13995
13996 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13997
13998         * NEWS:
13999         * RELEASE:
14000         * configure.ac:
14001           releasing 0.9.2, "South"
14002
14003 2005-09-05  Andy Wingo  <wingo@pobox.com>
14004
14005         * gst/registries/gstxmlregistry.h:
14006         * gst/registries/gstxmlregistry.c: Um... resurrect...
14007         
14008         * gst/registries/gstxmlregistry.h:
14009         * gst/registries/gstxmlregistry.c: and update to newer API.
14010         Incidentally they should be a bit faster now that they don't have
14011         to parse the caps.
14012         
14013 2005-09-05  Andy Wingo  <wingo@pobox.com>
14014
14015         * gst/registries/gstxmlregistry.h:
14016         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
14017         replaced by the libxml registry a while back
14018
14019 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14020
14021         * docs/gst/tmpl/gstplugin.sgml:
14022         * gst/elements/gstelements.c:
14023         * gst/gst.c:
14024         * gst/gstplugin.c: (gst_plugin_register_func),
14025         (gst_plugin_desc_copy), (gst_plugin_desc_free),
14026         (gst_plugin_get_source):
14027         * gst/gstplugin.h:
14028         * gst/registries/gstlibxmlregistry.c: (load_plugin),
14029         (gst_xml_registry_save_plugin):
14030         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
14031         (gst_xml_registry_save_plugin):
14032         * tools/gst-inspect.c: (print_plugin_info):
14033           add a "source" plugin description field, to represent the source
14034           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
14035           will set it to PACKAGE, which is automake's idea of the name of
14036           the source project.
14037
14038 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14039
14040         * Makefile.am:
14041         * autogen.sh:
14042         * configure.ac:
14043         * docs/Makefile.am:
14044         * docs/faq/Makefile.am:
14045         * docs/gst/tmpl/gstelement.sgml:
14046         * docs/gst/tmpl/gsttypes.sgml:
14047         * docs/htmlinstall.mak:
14048         * docs/manual/Makefile.am:
14049         * docs/pwg/Makefile.am:
14050           reorganize doc build a little
14051           split out docbook and gtk-doc stuff
14052           have two separate --enable's and enable them through autogen
14053           but disable by default in configure (to be similar to other
14054           projects)
14055         * gstreamer.spec.in:
14056           clean up docs install
14057         * po/af.po:
14058         * po/az.po:
14059         * po/ca.po:
14060         * po/cs.po:
14061         * po/de.po:
14062         * po/en_GB.po:
14063         * po/fr.po:
14064         * po/it.po:
14065         * po/nb.po:
14066         * po/nl.po:
14067         * po/ru.po:
14068         * po/sq.po:
14069         * po/sr.po:
14070         * po/sv.po:
14071         * po/tr.po:
14072         * po/uk.po:
14073         * po/vi.po:
14074           translation updates
14075
14076 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
14077
14078         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
14079           Add comment.
14080           
14081         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
14082         (gst_fake_sink_change_state):
14083           Make state change function thread-safe.
14084           
14085         * gst/gstpad.c: (gst_pad_alloc_buffer):
14086           Set offset on generic buffer allocated by fallback.
14087
14088 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
14089
14090         * docs/gst/gstreamer-sections.txt:
14091         * docs/gst/tmpl/gstelement.sgml:
14092         * gst/gstpad.c:
14093         * libs/gst/controller/gst-controller.c:
14094         (gst_controlled_property_set_interpolation_mode),
14095         (gst_controlled_property_new),
14096         (gst_controller_find_controlled_property):
14097          run the wingo-magic script against the docs
14098
14099 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
14100
14101         * docs/gst/gstreamer-docs.sgml:
14102         * docs/gst/gstreamer-sections.txt:
14103         * docs/gst/tmpl/.cvsignore:
14104         * docs/gst/tmpl/gstelementdetails.sgml:
14105         * docs/gst/tmpl/gstelementfactory.sgml:
14106         * gst/gst.c:
14107         * gst/gstbus.c:
14108         * gst/gstelementfactory.c:
14109         * gst/gstelementfactory.h:
14110           merged elementdetails docs into elementfactory docs
14111           inlined both
14112
14113 2005-09-02  Andy Wingo  <wingo@pobox.com>
14114
14115         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
14116         consider this enum an enum and not a flags.
14117
14118 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
14119
14120         * docs/gst/gstreamer-docs.sgml:
14121         * docs/gst/tmpl/.cvsignore:
14122         * docs/gst/tmpl/gstghostpad.sgml:
14123         * docs/gst/tmpl/gstiterator.sgml:
14124         * docs/gst/tmpl/gstmacros.sgml:
14125         * docs/gst/tmpl/gstrealpad.sgml:
14126         * docs/gst/tmpl/gstregistry.sgml:
14127         * docs/gst/tmpl/gstregistrypool.sgml:
14128         * docs/gst/tmpl/gststructure.sgml:
14129         * docs/gst/tmpl/gstsystemclock.sgml:
14130         * docs/gst/tmpl/gsttrace.sgml:
14131         * gst/gstghostpad.c:
14132         * gst/gstmacros.h:
14133         * gst/gstmemchunk.c:
14134         * gst/gstmemchunk.h:
14135         * gst/gstqueue.c:
14136         * gst/gstregistry.c:
14137         * gst/gstregistrypool.c:
14138         * gst/gststructure.c:
14139         * gst/gstsystemclock.c:
14140           more docs inlined
14141
14142 2005-09-02  Andy Wingo  <wingo@pobox.com>
14143
14144         * gst/gstelement.h (GstState): Renamed from GstElementState,
14145         changed to be a normal enum instead of flags.
14146         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
14147         munged to be GST_STATE_CHANGE_*.
14148         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
14149         work with the new state representation.
14150         (GstStateChange): New enumeration of possible state transitions.
14151         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
14152         (GstElementClass::change_state): Pass the GstStateChange along as
14153         an argument. Helps language bindings, so they don't have to use
14154         tricky lock-needing macros like GST_STATE_CHANGE ().
14155
14156         * scripts/update-states (file): New script. Run it on a file to
14157         update it for state naming and API changes. Updates files in
14158         place.
14159
14160         * All files updated for the new API.
14161
14162 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14163
14164         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
14165         * gst/gstutils.c: (gst_util_set_value_from_string),
14166         (gst_util_set_object_arg):
14167           fix a bunch of unchecked return values
14168         * tools/gst-complete.c: (main):
14169         * gstreamer.spec.in:
14170           clean up a little
14171
14172 2005-09-01  Wim Taymans  <wim@fluendo.com>
14173
14174         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14175         (gst_base_sink_event), (gst_base_sink_do_sync),
14176         (gst_base_sink_handle_event):
14177         * gst/base/gstbasesink.h:
14178         Handle newsegments more correctly.
14179
14180         * gst/gstbus.c:
14181         Fix docs.
14182
14183         * gst/gstevent.c: (gst_event_new_newsegment):
14184         A newsegment cannot have a start_time of -1
14185
14186 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
14187
14188         * win32/gstenumtypes.c:
14189         * win32/gstenumtypes.h:
14190           Update
14191
14192 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
14193
14194         * libs/gst/controller/gst-controller.c:
14195         (gst_controlled_property_set_interpolation_mode),
14196         (gst_controlled_property_new):
14197          fixed boolean again
14198
14199 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
14200
14201         * docs/faq/gst-uninstalled:
14202           add -good
14203         * gst/gstevent.c:
14204         * gst/gstevent.h:
14205           remove wrong docs
14206         * gst/gstutils.c: (gst_element_link_filtered):
14207         * gst/gstutils.h:
14208           add gst_element_link_filtered
14209
14210 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
14211
14212         * docs/gst/gstreamer-docs.sgml:
14213         * docs/gst/gstreamer-sections.txt:
14214         * docs/gst/tmpl/.cvsignore:
14215         * docs/gst/tmpl/gsterror.sgml:
14216         * docs/gst/tmpl/gstfilter.sgml:
14217         * docs/gst/tmpl/gsturihandler.sgml:
14218         * docs/gst/tmpl/gsturitype.sgml:
14219         * docs/gst/tmpl/gstutils.sgml:
14220         * docs/gst/tmpl/gstxml.sgml:
14221         * gst/gsterror.c:
14222         * gst/gsterror.h:
14223         * gst/gstfilter.c:
14224         * gst/gsturi.c:
14225         * gst/gsturitype.c:
14226         * gst/gstutils.c:
14227         * gst/gstxml.c:
14228           inlined more docs, fixed double id-ref
14229
14230 2005-08-31  Wim Taymans  <wim@fluendo.com>
14231
14232         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
14233         (gst_base_transform_handle_buffer):
14234         Passthrough elements don't need the caps as they don't care.
14235
14236 2005-08-31  Wim Taymans  <wim@fluendo.com>
14237
14238         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
14239         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
14240         Don't leak refcounts on buffers.
14241
14242 2005-08-31  Wim Taymans  <wim@fluendo.com>
14243
14244         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
14245         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
14246         (gst_base_transform_chain), (gst_base_transform_change_state):
14247         * gst/base/gstbasetransform.h:
14248         Handle the case where we are not negotiated more gracefully.
14249
14250 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
14251
14252         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
14253         (gst_file_src_map_region):
14254           Set READONLY flag on mmap'ed buffers, otherwise
14255           gst_buffer_make_writable() won't work properly (#314708).
14256
14257 2005-08-31  Wim Taymans  <wim@fluendo.com>
14258
14259         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
14260         passthrough elements can even do inplace on non writable
14261         buffers (as they don't touch them).
14262
14263 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
14264
14265         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
14266         (gst_test_mono_source_set_property),
14267         (gst_test_mono_source_class_init), (GST_START_TEST),
14268         (gst_controller_suite):
14269           more tests (hehe I have the most)
14270         * gst/gstbus.c:
14271           describe popping messages whenusing mulltiple sources
14272         * libs/gst/controller/gst-controller.c:
14273         (gst_controlled_property_set_interpolation_mode),
14274         (gst_controlled_property_new):
14275         * libs/gst/controller/gst-controller.h:
14276         * libs/gst/controller/gst-interpolation.c:
14277           implement boolean properties
14278
14279 2005-08-31  Wim Taymans  <wim@fluendo.com>
14280
14281         * gst/gstminiobject.c: (gst_mini_object_ref):
14282         Cannot assert that the refcount has to be positive
14283         since a disposed object can be resurrected.
14284
14285 2005-08-31  Wim Taymans  <wim@fluendo.com>
14286
14287         * gst/gstpad.c: (gst_pad_init):
14288         Revert change, need to first fix badly behaving 
14289         apps.
14290
14291 2005-08-30  Wim Taymans  <wim@fluendo.com>
14292
14293         * check/elements/fakesrc.c: (setup_fakesrc):
14294         * check/elements/identity.c: (setup_identity):
14295         Activate pads before using them.
14296
14297 2005-08-30  Wim Taymans  <wim@fluendo.com>
14298
14299         * gst/base/gstadapter.c: (gst_adapter_flush):
14300         Flushing out 0 bytes is ok for this function.
14301
14302         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14303         no newsegment gives a warning and sets the start/stop to 
14304         invalid.
14305
14306         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
14307         (gst_base_transform_set_passthrough):
14308         Some debug info.
14309
14310         * gst/gstminiobject.c: (gst_mini_object_ref):
14311         Check refcount here too.
14312
14313         * gst/gstpad.c: (gst_pad_init):
14314         Pads are initially flushing and refusing data.
14315
14316         * gst/gstutils.c: (gst_element_link_pads_filtered):
14317         When adding a capsfilter element make sure it has the
14318         same state as the parent bin.
14319
14320 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
14321
14322         * docs/gst/tmpl/.cvsignore:
14323         * docs/gst/tmpl/gstformat.sgml:
14324         * docs/gst/tmpl/gstversion.sgml:
14325         * gst/gstbus.h:
14326         * gst/gstformat.c:
14327         * gst/gstformat.h:
14328         * gst/gstversion.h.in:
14329           more docs and two more inlined
14330
14331 2005-08-30  Wim Taymans  <wim@fluendo.com>
14332
14333         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
14334         Don't sync to clock.
14335
14336 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
14337
14338         * docs/gst/gstreamer-sections.txt:
14339           ultral33t func10ns deserve to appear in the docs actually
14340         * docs/gst/tmpl/.cvsignore:
14341         * docs/gst/tmpl/gstcompat.sgml:
14342         * docs/gst/tmpl/gstconfig.sgml:
14343         * gst/check/gstcheck.c:
14344         * gst/gstcompat.h:
14345         * gst/gstconfig.h.in:
14346           inlined more docs
14347
14348 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
14349
14350         * docs/gst/tmpl/.cvsignore:
14351         * docs/gst/tmpl/gstquery.sgml:
14352         * docs/gst/tmpl/gstutils.sgml:
14353         * gst/gstquery.c:
14354         * gst/gstquery.h:
14355           inlined and extended docs
14356
14357 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
14358
14359         * check/gst-libs/controller.c: (GST_START_TEST),
14360         (gst_controller_suite):
14361           more tests
14362         * docs/gst/tmpl/gstutils.sgml:
14363         * docs/libs/gstreamer-libs-sections.txt:
14364         * docs/libs/tmpl/gstdataprotocol.sgml:
14365           include path fixes
14366         * examples/controller/audio-example.c: (main):
14367           controller example works now
14368         * gst/gstclock.h:
14369           doc fixes
14370         * tools/gst-inspect.c: (print_element_properties_info):
14371           show param spec flags
14372
14373 2005-08-29  Andy Wingo  <wingo@pobox.com>
14374
14375         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
14376
14377 2005-08-28  Andy Wingo  <wingo@pobox.com>
14378
14379         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
14380         as having two arguments instead of just one. Allows superclasses
14381         to access information on subclasses -- see the terrible for() loop
14382         in gtype.c:g_type_create_instance for the reason why. All callers
14383         changed.
14384
14385 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
14386
14387         * docs/design/part-messages.txt:
14388           update info
14389         * docs/gst/tmpl/.cvsignore:
14390         * docs/gst/tmpl/gstcaps.sgml:
14391         * docs/gst/tmpl/gstclock.sgml:
14392         * gst/gstbus.c:
14393         * gst/gstcaps.c:
14394         * gst/gstcaps.h:
14395         * gst/gstclock.c:
14396         * gst/gstclock.h:
14397         * gst/gstmessage.c:
14398           added descriptions for bus and message
14399           inline caps and clock docs
14400
14401 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
14402
14403         * gst/gstmessage.c:
14404         * gst/gstmessage.h:
14405           doc fixes
14406
14407 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
14408
14409         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
14410           fix div-by-zero
14411
14412 2005-08-26  Andy Wingo  <wingo@pobox.com>
14413
14414         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
14415         element_set_state's return val.
14416         (test_2_elements): Add test that's been disabled for months.
14417
14418         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
14419         can-activate-pull properties.
14420
14421         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
14422         can-activate-pull properties. Implement is_seekable so fakesrc can
14423         operate in pull mode.
14424
14425         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
14426         properties.
14427         (gst_base_sink_activate, gst_base_sink_activate_pull)
14428         (gst_base_sink_activate_push): Make activation mode choosing work.
14429         Cleanups.
14430         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
14431         is right. Make pull mode work. Post an eos before pausing in pull
14432         mode.
14433         (gst_base_sink_change_state): Pay attention to the core's
14434         change_state() return val.
14435         
14436         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
14437         has-getrange properties. Cleanups.
14438         
14439         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
14440         has_getrange and replace with can_activate_pull and
14441         can_activate_push.
14442
14443         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
14444         locking comments. Remove has_loop, has_chain and replace with
14445         can_activate_pull and can_activate_push.
14446
14447 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
14448
14449         * configure.ac:
14450         * examples/Makefile.am:
14451         * examples/metadata/Makefile.am:
14452         * examples/metadata/read-metadata.c: (message_loop),
14453         (have_pad_handler), (make_pipeline), (print_tag), (main):
14454           Add metadata reading example that loops over a list of filenames,
14455           dumping any tags found.
14456
14457         * gst/gstbus.c: (gst_bus_dispose):
14458         * gst/gstelement.c: (gst_element_dispose):
14459           Release a few potentially-held references in dispose.
14460
14461 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
14462
14463         * docs/gst/tmpl/gstminiobject.sgml:
14464           do *not* add tmpl/*.sgml files to CVS!
14465
14466 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
14467
14468         * libs/gst/bytestream/.cvsignore:
14469         * libs/gst/bytestream/Makefile.am:
14470         * libs/gst/bytestream/adapter.c:
14471         * libs/gst/bytestream/adapter.h:
14472         * libs/gst/bytestream/bytestream.c:
14473         * libs/gst/bytestream/bytestream.h:
14474         * libs/gst/bytestream/filepad.c:
14475         * libs/gst/bytestream/filepad.h:
14476           removing obsolete files
14477
14478 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
14479
14480         * docs/gst/gstreamer-docs.sgml:
14481         * docs/libs/gstreamer-libs-docs.sgml:
14482           disabed additional index entries again, as this makes docs-gen just
14483           slow and they aren't useful yet
14484         * docs/libs/gstreamer-libs-sections.txt:
14485           little -section.txt cleanup for libs
14486
14487 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
14488
14489         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14490         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
14491           fix up some debugging
14492         (gst_base_transform_get_unit_size),
14493         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
14494         (gst_base_transform_handle_buffer):
14495         * gst/base/gstbasetransform.h:
14496           handle and store timed NEWSEGMENT events so that subclasses that
14497           calculate time by counting samples have a segment_start time they
14498           need to add to their timestamps - see audioresample
14499
14500 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
14501
14502         * gst/gstbin.h:
14503           removed ';' from the end of macro defs
14504         * docs/gst/gstreamer-docs.sgml:
14505         * docs/gst/gstreamer-sections.txt:
14506         * docs/gst/tmpl/.cvsignore:
14507         * gst/gstbus.h:
14508         * gst/gstelement.c: (gst_element_class_init),
14509         (gst_element_set_state), (activate_pads),
14510         (gst_element_save_thyself):
14511         * gst/gstevent.c: (gst_event_new_newsegment):
14512         * gst/gstevent.h:
14513         * gst/gstiterator.c:
14514         * gst/gstiterator.h:
14515         * gst/gstpad.c:
14516         * gst/gstprobe.h:
14517         * gst/gstutils.c: (gst_pad_query_convert):
14518         * gst/gstutils.h:
14519           fixed parameter name mismatches between source, header and docs
14520           added some more docs, resolved the last batch of unused elements in
14521           docs (now someone needs to doc them)
14522
14523 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14524
14525         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
14526         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
14527           don't walk through the plugins backwards.  Where is all this
14528           reversed logic coming from ?
14529
14530 2005-08-25  Wim Taymans  <wim@fluendo.com>
14531
14532         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14533         (gst_base_transform_transform_size),
14534         (gst_base_transform_configure_caps),
14535         (gst_base_transform_get_unit_size),
14536         (gst_base_transform_buffer_alloc),
14537         (gst_base_transform_change_state):
14538         * gst/base/gstbasetransform.h:
14539         Cache caps unit_size.
14540         Make sure we cannot negotiate up and downstream at the
14541         same time.
14542
14543 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14544
14545         * gst/gst.c: (init_pre), (init_post):
14546           register the installed plugin path after the env var
14547         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
14548         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
14549           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
14550           directories, so the tests can prefer uninstalled over installed
14551
14552 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14553
14554         * gst/base/gstbasetransform.h:
14555           comment
14556         * gst/gstpad.c:
14557           add to docs
14558
14559 2005-08-25  Wim Taymans  <wim@fluendo.com>
14560
14561         * gst/gstbin.c: (bin_bus_handler):
14562         Be a bit more conservative about the posted message.
14563         
14564         * gst/gstbus.c: (gst_bus_post):
14565         Some cleanups, warn wrong return values.
14566
14567 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
14568
14569         * check/gst/gstbin.c: (GST_START_TEST):
14570         * gst/gstbin.c: (bin_bus_handler):
14571         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
14572         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
14573         (gst_message_new_warning), (gst_message_new_tag),
14574         (gst_message_new_state_changed), (gst_message_new_segment_start),
14575         (gst_message_new_segment_done), (gst_message_new_custom):
14576         * gst/gstmessage.h:
14577         * tools/gst-launch.c: (event_loop):
14578         * tools/gst-md5sum.c: (event_loop):
14579           Revert unpopular change for GST_MESSAGE_SRC to GObject.
14580
14581 2005-08-25  Wim Taymans  <wim@fluendo.com>
14582
14583         * check/generic/states.c: (GST_START_TEST):
14584         Cleanup can be done at the end.
14585
14586         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
14587         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
14588         (gst_task_get_state), (gst_task_start), (gst_task_pause):
14589         Oh boy.. Thanks for finding this, Thomas. 
14590
14591 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
14592
14593         * docs/gst/gstreamer.types:
14594           added missing types
14595
14596 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
14597
14598         * docs/gst/gstreamer-docs.sgml:
14599         * docs/gst/gstreamer-sections.txt:
14600         * docs/gst/tmpl/.cvsignore:
14601         * gst/gstbin.c:
14602         * gst/gstiterator.c:
14603         * gst/gstutils.c:
14604         * gst/registries/gstxmlregistry.h:
14605           added missing classes and symbols (123 more to go)
14606           removed removed symbols from section file
14607           fixed many doc-comments
14608
14609 2005-08-24  Wim Taymans  <wim@fluendo.com>
14610
14611         * check/generic/states.c: (GST_START_TEST):
14612         Make sure all tasks are stopped.
14613
14614         * check/gst/gstbin.c: (GST_START_TEST):
14615         Unref after usage for proper valgrinding.
14616
14617         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
14618         Really wait for the task to stop before destroying the
14619         mutex.
14620
14621         * gst/gstqueue.c: (gst_queue_sink_activate_push),
14622         (gst_queue_src_activate_push):
14623         Small cleanups. Don't stop the task when we did not start
14624         it.
14625
14626         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
14627         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
14628         (gst_task_get_state), (gst_task_start), (gst_task_pause),
14629         (gst_task_join):
14630         * gst/gsttask.h:
14631         Protect the stream lock with the object lock.
14632         Disallow setting the stream lock when running.
14633         Add cleanup_all to wait for the threadpool to finish.
14634         Remove code to autoallocate a mutex if none was provided.
14635         Add _join() to wait for a task to stop.
14636         Protect the thread pool with a global lock.
14637
14638 2005-08-24  Wim Taymans  <wim@fluendo.com>
14639
14640         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14641         (gst_base_sink_get_times), (gst_base_sink_do_sync),
14642         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
14643         * gst/base/gstbasesink.h:
14644         Handle newsegment events correctly.
14645         Drop buffers out of the segment range.
14646
14647 2005-08-22  Andy Wingo  <wingo@pobox.com>
14648
14649         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
14650         macro, implements an interface and gstimplementsinterface for a
14651         new type.
14652
14653 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14654
14655         * check/Makefile.am:
14656         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
14657           add a test that does a bunch of state changes on elements
14658           needs some fixing for valgrind
14659         * check/states/sinks.c: (gst_object_suite):
14660           whitespace
14661         * gst/gstcaps.h:
14662           add prototype for gst_caps_is_equal_fixed
14663         * gst/gstplugin.c:
14664         * gst/gstregistrypool.c:
14665           doc fixes
14666
14667 2005-08-24  Andy Wingo  <wingo@pobox.com>
14668
14669         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
14670         convert a negative value. Doesn't make much sense. Mostly this is
14671         here to force callers to ensure -1 maps to -1.
14672
14673 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
14674
14675         * docs/pwg/advanced-types.xml:
14676           Well done to Michael for catching my deliberate introduction
14677           of this spelling mistake. 
14678         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
14679         * gst/gstelement.h:
14680           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
14681           unlink pads before removing the element from the bin.
14682
14683 2005-08-24  Andy Wingo  <wingo@pobox.com>
14684
14685         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
14686         the same thing as GST_DEBUG=*:4.
14687         (parse_debug_level, parse_debug_category): New helper parsers.
14688
14689 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14690
14691         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14692         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
14693         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
14694         (gst_base_transform_buffer_alloc),
14695         (gst_base_transform_handle_buffer):
14696           use gboolean return values and pointers to size so we can use the
14697           full GST_BUFFER_SIZE range (guint) for buffer sizes
14698           use GstPadDirection for transform_caps
14699         * gst/base/gstbasetransform.h:
14700           rename get_size to get_unit_size since that's what it is
14701         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
14702           use GstPadDirection for transform_caps
14703         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14704         * gst/gstutils.h:
14705           cleanup and debugging
14706
14707 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
14708
14709         * gst/gstelement.c: (gst_element_class_init),
14710         (gst_element_set_state), (activate_pads),
14711         (gst_element_save_thyself):
14712         * tools/gst-compprep.c: (main):
14713         * tools/gst-inspect.c: (print_element_properties_info):
14714         * tools/gst-xmlinspect.c: (print_element_properties):
14715           Fixed long standing mem-leak
14716
14717 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
14718
14719         * check/gst/gstbin.c: (GST_START_TEST):
14720         * gst/gstbin.c: (bin_bus_handler):
14721         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
14722         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
14723         (gst_message_new_warning), (gst_message_new_tag),
14724         (gst_message_new_state_changed), (gst_message_new_segment_start),
14725         (gst_message_new_segment_done), (gst_message_new_custom):
14726         * gst/gstmessage.h:
14727         * tools/gst-launch.c: (event_loop):
14728         * tools/gst-md5sum.c: (event_loop):
14729           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
14730           that applications can sensibly post custom messages with references
14731           to their own objects.
14732
14733 2005-08-24  Andy Wingo  <wingo@pobox.com>
14734
14735         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
14736         already.
14737
14738 2005-08-24  Wim Taymans  <wim@fluendo.com>
14739
14740         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14741         (gst_base_transform_transform_caps),
14742         (gst_base_transform_transform_size),
14743         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14744         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14745         (gst_base_transform_handle_buffer):
14746         * gst/base/gstbasetransform.h:
14747         Many fixes and new features added by Thomas. Can now also do
14748         transforms with variable sizes and a custom fixate_caps function.
14749
14750 2005-08-24  Wim Taymans  <wim@fluendo.com>
14751
14752         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14753         Some debugging.
14754
14755         * gst/gstclock.h:
14756         Cast to ClockTime before formatting to time.
14757
14758         * gst/gstutils.h:
14759         Cleanups.
14760
14761 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
14762
14763         * check/gst-libs/controller.c: (GST_START_TEST),
14764         (gst_controller_suite):
14765         * docs/gst/tmpl/gstcaps.sgml:
14766         * docs/gst/tmpl/gstghostpad.sgml:
14767         * docs/gst/tmpl/gstquery.sgml:
14768         * docs/gst/tmpl/gstutils.sgml:
14769         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
14770         (gst_object_sink_values), (gst_object_get_value_arrays),
14771         (gst_object_get_value_array):
14772           gracefully handle helper method calls to objects that are not beeing
14773           controlled, added test case for that          
14774
14775 2005-08-23  Wim Taymans  <wim@fluendo.com>
14776
14777         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
14778         (gst_event_new_newsegment), (gst_event_parse_newsegment),
14779         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
14780         (gst_event_parse_qos), (gst_event_new_seek),
14781         (gst_event_parse_seek):
14782         * gst/gstevent.h:
14783         Some more debugging output and doc cleanups.
14784
14785         * gst/gstqueue.c: (gst_queue_handle_sink_event):
14786         Fix possible deadlock.
14787
14788 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
14789
14790         * docs/gst/gstreamer-docs.sgml:
14791         * docs/gst/gstreamer-sections.txt:
14792         * docs/gst/gstreamer.types:
14793         * docs/gst/tmpl/.cvsignore:
14794         * gst/gstbin.h:
14795         * gst/gstbus.c:
14796         * gst/gstelement.c:
14797         * gst/gstevent.h:
14798           added 100 symbols from gstreamer-unused.txt to the right sections
14799           fixed more broken comments
14800           added GstBus to docs
14801
14802 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
14803
14804         * docs/gst/gstreamer-sections.txt:
14805         * docs/gst/tmpl/.cvsignore:
14806         * docs/gst/tmpl/gstbin.sgml:
14807         * docs/gst/tmpl/gstbuffer.sgml:
14808         * gst/base/gstbasesrc.c:
14809         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
14810         * gst/gstbuffer.c:
14811         * gst/gstbuffer.h:
14812         * tools/gst-launch.1.in:
14813           inlined more doc comments, added missing comments and fixed comments
14814           fixed typos
14815
14816 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14817
14818         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14819           some debugging
14820         * gst/gstcaps.h:
14821           whitespace fixes
14822         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
14823           more debugging
14824         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
14825         * gst/gststructure.h:
14826           add a fixate function for booleans; add a FIXME that these func
14827           names should probably be gst_structure_fixate_*
14828
14829 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
14830
14831         * docs/gst/gstreamer-docs.sgml:
14832         * docs/gst/gstreamer-sections.txt:
14833         * gst/Makefile.am:
14834         * gst/gstbin.c: (gst_bin_get_type),
14835         (gst_bin_child_proxy_get_child_by_index),
14836         (gst_bin_child_proxy_get_children_count),
14837         (gst_bin_child_proxy_init):
14838         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
14839         (gst_child_proxy_get_child_by_index),
14840         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
14841         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
14842         (gst_child_proxy_get), (gst_child_proxy_set_property),
14843         (gst_child_proxy_set_valist), (gst_child_proxy_set),
14844         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
14845         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
14846         * gst/gstchildproxy.h:
14847         * gst/parse/grammar.y:
14848         * tools/gst-inspect.c: (print_interfaces),
14849         (print_element_properties_info), (print_element_info):
14850           ported gstchildproxy over from 0.8
14851           ported gst-inspect fixes and enhancements over from 0.8
14852
14853 2005-08-22  Wim Taymans  <wim@fluendo.com>
14854
14855         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14856         (gst_base_transform_handle_buffer):
14857         Also call the transform function if we have ANY caps.
14858
14859         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
14860         Fix debug info.
14861
14862 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
14863
14864         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
14865           Don't pretend to handle seek events if the source is not seekable
14866
14867 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
14868
14869         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14870           Remove extra parameter to debug output
14871
14872         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14873         (gst_base_src_do_seek), (gst_base_src_activate_push):
14874           Fix seek event handling.
14875
14876         * gst/gstpipeline.c: (gst_pipeline_change_state):
14877         * gst/gstqueue.c: (gst_queue_handle_sink_event),
14878         (gst_queue_src_activate_push):
14879           Don't start the src pad task on FLUSH_STOP if the pad
14880           isn't linked.
14881           Debug changes.
14882
14883 2005-08-22  Wim Taymans  <wim@fluendo.com>
14884
14885         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
14886         Added check for gst_static_caps_get() refcounting.
14887
14888 2005-08-22  Wim Taymans  <wim@fluendo.com>
14889
14890         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
14891         Make _static_caps_get() refcounting sane.
14892         
14893         * gst/gstelement.c: (gst_element_set_state):
14894         Add g_return_val_if_fail() to protect against segfaults.
14895
14896 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
14897
14898         * docs/gst/tmpl/gstevent.sgml:
14899         * gst/gstevent.c:
14900         * gst/gstevent.h:
14901           inlined remaining docs, added missing doc comments
14902
14903 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14904
14905         * check/gst/gstbin.c: (GST_START_TEST):
14906           since we don't know when preroll is done, use refcount range
14907           check for the sink
14908         * gst/check/gstcheck.h:
14909           add macro for checking refcount range
14910
14911 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14912
14913         * check/Makefile.am:
14914           clean up environment for when registry gets built versus
14915           when actual tests are run; valgrind seems to not report
14916           leaks if GST_PLUGIN_PATH is set to some specific values
14917         * check/gst/gstbin.c: (GST_START_TEST):
14918           add more refcounting checks; maybe this exposes a
14919           preroll lock bug ?
14920         * common/check.mak:
14921         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14922         * gst/check/gstcheck.h:
14923         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
14924         (gst_bin_change_state):
14925         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
14926           add/fix debugging/whitespace
14927
14928 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
14929
14930         * check/gst/gstevent.c: (event_probe), (test_event),
14931         (GST_START_TEST):
14932          Er, don't call gst_bin_watch_for_state_change you idiot.
14933
14934 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
14935
14936         * check/Makefile.am:
14937           Use CHECK_CFLAGS and CHECK_LIBS
14938         * check/gst/gstevent.c: (event_probe), (test_event),
14939         (GST_START_TEST):
14940           Don't leak events.
14941         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14942         (gst_base_src_start), (gst_base_src_stop),
14943         (gst_base_src_activate_push), (gst_base_src_activate_pull),
14944         (gst_base_src_change_state):
14945           Sprinkle gst_base_src_stop liberally around error paths to fix
14946           problems reusing a source after failed state changes.
14947         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14948         (helper_find_suggest), (gst_type_find_helper):
14949           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
14950         * gst/gstevent.h:
14951         * docs/gst/tmpl/gstevent.sgml:
14952           Migrate part of the docs from the SGML file. Wait for ensonic to
14953           tell me how I did it wrong ;)
14954         * tools/gst-typefind.c: (main):
14955           Extra robustness to state changes between files.
14956
14957 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14958
14959         * check/Makefile.am:
14960           don't valgrind the controller test - it's leaking - Stefan, HELP
14961         * gst/check/gstcheck.c: (gst_check_message_error),
14962         (gst_check_chain_func), (gst_check_setup_element),
14963         (gst_check_teardown_element), (gst_check_setup_src_pad),
14964         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
14965         (gst_check_teardown_sink_pad):
14966         * gst/check/gstcheck.h:
14967           add a bunch of methods to set up elements, and src and sink pads
14968         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
14969         * check/elements/identity.c: (setup_identity), (cleanup_identity),
14970         (GST_START_TEST):
14971           use them
14972         * gst/gstmessage.c:
14973         * gst/gsttag.h:
14974           whitespace/doc fixes
14975
14976 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14977
14978         * gst/gstelement.h:
14979           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
14980           be handled by the application and not always printed as well
14981
14982 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14983
14984         * check/Makefile.am:
14985           set GST_TOOLS_DIR
14986         * gst/check/gstcheck.c: (gst_check_message_error):
14987         * gst/check/gstcheck.h:
14988           add a fail_unless_equals_int
14989           add fail_unless for error messages
14990
14991 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14992
14993         * check/Makefile.am:
14994         * check/gst.supp:
14995         * common/Makefile.am:
14996         * common/check.mak:
14997         * common/gst.supp:
14998           factor out some of the common stuff so we can use it
14999
15000 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15001
15002         * check/Makefile.am:
15003         * check/gst/gstiterator.c: (GST_START_TEST):
15004         * check/gst/gstsystemclock.c: (GST_START_TEST),
15005         (gst_systemclock_suite):
15006         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
15007         * gst/gstclock.c:
15008           valgrind more tests
15009
15010 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15011
15012         * check/elements/.cvsignore:
15013         * check/elements/gstfakesrc.c:
15014           rename to name of element
15015         * check/elements/identity.c: (chain_func), (event_func),
15016         (setup_identity), (cleanup_identity), (GST_START_TEST),
15017         (identity_suite), (main):
15018           add a test for identity
15019         * check/Makefile.am:
15020         * pkgconfig/Makefile.am:
15021         * pkgconfig/gstreamer-check.pc.in:
15022         * pkgconfig/gstreamer-check-uninstalled.pc.in:
15023         * gst/check:
15024         * gst/Makefile.am:
15025         * configure.ac:
15026           move the check stuff to a library that gets installed
15027         * check/gst-libs/controller.c: (GST_START_TEST):
15028         * check/gst-libs/gdp.c:
15029         * check/gst/gst.c: (GST_START_TEST):
15030         * check/gst/gstbin.c:
15031         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15032         * check/gst/gstbus.c:
15033         * check/gst/gstcaps.c: (GST_START_TEST):
15034         * check/gst/gstelement.c:
15035         * check/gst/gstghostpad.c:
15036         * check/gst/gstiterator.c:
15037         * check/gst/gstmessage.c:
15038         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
15039         * check/gst/gstobject.c:
15040         * check/gst/gstpad.c: (GST_START_TEST):
15041         * check/gst/gststructure.c: (GST_START_TEST):
15042         * check/gst/gstsystemclock.c: (GST_START_TEST),
15043         (gst_systemclock_suite):
15044         * check/gst/gsttag.c: (gst_tag_suite):
15045         * check/gst/gstvalue.c:
15046         * check/pipelines/cleanup.c:
15047         * check/pipelines/simple_launch_lines.c:
15048         * check/states/sinks.c:
15049           change include statement
15050
15051         * docs/gst/gstreamer-sections.txt:
15052         * docs/gst/tmpl/gstpad.sgml:
15053           document more pad stuff
15054         * gst/gstminiobject.c: (gst_mini_object_ref),
15055         (gst_mini_object_unref):
15056           debug refcounting
15057
15058 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
15059
15060         * docs/gst/tmpl/gst.sgml:
15061         * gst/gst.c:
15062           eliminate another tmpl file, fix spelling in the long-description
15063
15064 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
15065
15066         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
15067         (test_event), (timediff), (gstevents_suite):
15068           Should fix build on 64-bit arch's
15069
15070 2005-08-18  Andy Wingo  <wingo@pobox.com>
15071
15072         Make sure that when a pipeline goes to PLAYING, that data has
15073         actually hit the sink.
15074
15075         * check/states/sinks.c (test_sink): A sink that doesn't get any
15076         data shouldn't return SUCCESS for going to either PLAYING or
15077         PAUSED. Test also the return values on the way back down.
15078
15079         * gst/gstelement.c (gst_element_set_state): When changing the
15080         state of an element currently changing state asynchronously, go to
15081         lost-state after commiting the pending state. Makes future calls
15082         to get_state continue to return ASYNC.
15083
15084         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
15085         ASYNC when going to PLAYING if we still don't have preroll, as can
15086         happen with live sources.
15087
15088 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
15089
15090         * docs/pwg/advanced-types.xml:
15091           Hack long paragraph into 2 chunks as a workaround for buggy
15092           jadetex version in sid and breezy that loops infinitely and
15093           eats all RAM.
15094
15095 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
15096
15097         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
15098         (test_event), (timediff), (gstevents_suite):
15099           Provide more error margin in clock measurements to allow for 
15100           g_get_current_time inaccuracies.
15101
15102 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
15103
15104         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
15105         (test_event), (timediff), (gstevents_suite):
15106            Fix error message output so I might be able to tell why the
15107            test works here but fails on the build farm.
15108
15109 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
15110
15111         * check/Makefile.am:
15112         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
15113         (test_event), (timediff), (gstevents_suite), (main):
15114           I wrote a test!
15115
15116         * docs/design/part-seeking.txt:
15117           Spelling correction
15118
15119         * docs/gst/tmpl/gstevent.sgml:
15120         * docs/gst/tmpl/gstfakesrc.sgml:
15121           Docs updates.
15122
15123         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15124           Treat a buffer-without-newsegment the same as a receiving 
15125           a newsegment not in time format, and disable syncing to the clock
15126           with a warning.
15127
15128         * gst/gstbus.c: (gst_bus_set_sync_handler):
15129           Assert if anyone tries to replace the existing sync_handler for bus, 
15130           as only the owner should be setting it.
15131
15132         * gst/gstevent.h:
15133           Have a fixed set of custom event enums with events identified by
15134           their structure name (as in 0.8), rather than a free-for-all
15135           allowing collisions between enum values from different plugins.
15136
15137         * gst/gstpad.c: (gst_pad_class_init):
15138           Docs change.
15139           
15140         * gst/gstqueue.c: (gst_queue_handle_sink_event):
15141           Handle out-of-band downstream events from the sending thread.
15142
15143 2005-08-17  Andy Wingo  <wingo@pobox.com>
15144
15145         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
15146         play-timeout==0 to mean no timeout at all. In that case, don't
15147         bother with a get_state or a warning, just return directly, even
15148         if it's ASYNC.
15149
15150         * gst/base/gstbasetransform.c: Debug changes.
15151
15152         * gst/gstutils.h:
15153         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
15154         ensure bins post state change messages. A bit of a hack but I can't
15155         think of a way to avoid it.
15156
15157         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
15158
15159 2005-08-16  Andy Wingo  <wingo@pobox.com>
15160
15161         * gst/base/gstadapter.h:
15162         * gst/base/gstadapter.c (gst_adapter_take): New function, like
15163         peek() but you own the data. Not terribly efficient atm.
15164
15165 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15166
15167         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
15168         (gst_element_found_tags):
15169         * gst/gstutils.h:
15170           Add two utility functions for tag handling.
15171
15172 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15173
15174         * docs/manual/advanced-dataaccess.xml:
15175         * docs/manual/basics-helloworld.xml:
15176           Fix docs to use _bin_add() before _link(), which fixes the examples
15177           with recent core versions (reported by Madhan Raj M
15178           <raj_madan@rediffmail.com>, #313199).
15179
15180 2005-08-16  Wim Taymans  <wim@fluendo.com>
15181
15182         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15183         Added subtract checks.
15184
15185         * docs/design/part-events.txt:
15186         Some more docs about newsegment
15187
15188         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
15189         Fix FIXME
15190
15191         * gst/gstcaps.c: (gst_caps_to_string):
15192         Add comments, cleanups.
15193         
15194         * gst/gstelement.c: (gst_element_save_thyself):
15195         cleanups
15196         
15197         * gst/gstvalue.c: (gst_value_collect_int_range),
15198         (gst_string_unwrap), (gst_value_union_int_int_range),
15199         (gst_value_union_int_range_int_range),
15200         (gst_value_intersect_int_int_range),
15201         (gst_value_intersect_int_range_int_range),
15202         (gst_value_intersect_double_double_range),
15203         (gst_value_intersect_double_range_double_range),
15204         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
15205         (gst_value_subtract_int_range_int),
15206         (gst_value_subtract_double_range_double),
15207         (gst_value_subtract_double_range_double_range),
15208         (gst_value_subtract_from_list), (gst_value_subtract_list),
15209         (gst_value_can_compare), (gst_value_compare_fraction):
15210         Cleanups, add comments, remove unneeded asserts.
15211
15212 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15213
15214         * tools/gst-launch.c: (event_loop):
15215           don't convert NULL structures to strings
15216
15217 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
15218
15219         * docs/gst/gstreamer-sections.txt:
15220           made some defines private
15221         * docs/gst/tmpl/gstconfig.sgml:
15222         * docs/gst/tmpl/gstqueue.sgml:
15223         * docs/gst/tmpl/gsttaglist.sgml:
15224         * docs/gst/tmpl/gsttypes.sgml:
15225         * docs/gst/tmpl/gstutils.sgml:
15226         * docs/pwg/appendix-porting.xml:
15227         * gst/base/gstbasesink.h:
15228         * gst/base/gstbasesrc.c:
15229         * gst/base/gstbasesrc.h:
15230         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
15231         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
15232         * gst/gstelement.c: (gst_element_class_init):
15233         * gst/gstpad.c: (gst_pad_class_init):
15234         * gst/gstqueue.c: (gst_queue_class_init):
15235         * gst/gstxml.c: (gst_xml_class_init):
15236           documented all undocumented signal inline
15237         * libs/gst/controller/gst-controller.h:
15238           added padding
15239
15240 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15241
15242         * docs/pwg/appendix-porting.xml:
15243           Document _set_link_function -> _set_setcaps_function.
15244
15245 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15246
15247         * check/Makefile.am:
15248           add a .check target for running the check
15249         * check/gst-libs/controller.c: (GST_START_TEST):
15250           cosmetic fixups
15251         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15252           complete checks for gstbuffer; would be nice if I could get the
15253           gcov stuff to work so I can see if I actually completed gstbuffer.c
15254         * check/gstcheck.h:
15255           add ASSERT_BUFFER_REFCOUNT
15256
15257 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
15258
15259         * docs/gst/gstreamer-sections.txt:
15260         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
15261         * gst/gsttag.h:
15262           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
15263           spew out a warning if a tag that is already registered
15264           is re-registered, unless it is re-registered with a 
15265           different type (#308438).
15266
15267 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
15268
15269         * docs/pwg/appendix-porting.xml:
15270         * docs/pwg/building-state.xml:
15271           Add some paragraphs about state changes in 0.9 to the PWG
15272           and the porting guide, in particular about the new meaning
15273           of GST_STATE_PAUSED and how to write state change functions
15274           with concurrent access by multiple threads in mind.
15275
15276 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
15277
15278         * docs/gst/gstreamer-docs.sgml:
15279         * docs/libs/gstreamer-libs-docs.sgml:
15280           added deprecation and since indexes
15281         * libs/gst/controller/gst-controller.c:
15282         * libs/gst/controller/gst-helper.c:
15283           added since tags
15284
15285
15286 2005-08-11  Wim Taymans  <wim@fluendo.com>
15287
15288         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
15289         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
15290         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
15291         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
15292         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
15293         (gst_ghost_pad_set_target):
15294         Actually implement (re)setting the target on a ghostpad
15295         as described in the docs.
15296
15297 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
15298
15299         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
15300           Check whether GST_DEBUG_NO_COLOR environment variable is
15301           set and disable coloured debug output if that is the case.
15302
15303 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
15304
15305         * gst/base/gsttypefindhelper.c: (helper_find_peek),
15306         (gst_type_find_helper):
15307           The memory returned by gst_type_find_peek() needs to
15308           stay valid until the end of a typefind function, and
15309           typefind functions may keep results from different 
15310           offsets around, so we can't just unref the buffer from
15311           the previous _peek(), but have to save all buffers 
15312           returned by _peek() until typefinding is done and only
15313           free them then.
15314
15315 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
15316
15317         * docs/gst/gstreamer-sections.txt:
15318         * gst/gstutils.h:
15319           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
15320
15321 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15322
15323         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
15324           Fix a pretty good memleak.
15325
15326 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
15327
15328         * gst/gstiterator.h:
15329           Fix wrong include and 'make distcheck'.
15330
15331 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15332
15333         * gst/gstbin.c: (bin_bus_handler):
15334           Use gst_element_post_message() instead.
15335
15336 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
15337
15338         * gst/base/gstadapter.h:
15339         * gst/base/gstbasesink.h:
15340         * gst/base/gstbasesrc.h:
15341         * gst/base/gstbasetransform.h:
15342         * gst/base/gstcollectpads.h:
15343         * gst/base/gstpushsrc.h:
15344         * gst/gstiterator.h:
15345           Add padding to our base elements' class and instance structs and
15346           to GstIterator (you will need to rebuild all plugins and apps!)
15347
15348 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15349
15350         * gst/gstbin.c: (bin_bus_handler):
15351           Make default message forwarding from child->bus to bin->bus
15352           threadsafe and make it not emit warnings if the parent has no bus.
15353
15354 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15355
15356         * gst/gstelement.c: (activate_pads):
15357           On paused->ready, set pad->caps to NULL, as is the documented
15358           behaviour in this state change. Fixes playback of series of
15359           media files when visualization is enabled in Totem.
15360
15361 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15362
15363         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15364           Allow NULL as filter-caps (which means "any").
15365
15366 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
15367
15368         * docs/libs/gstreamer-libs-sections.txt:
15369         * libs/gst/controller/gst-controller.c:
15370         * libs/gst/controller/gst-controller.h:
15371         * libs/gst/controller/gst-helper.c:
15372           adding more entries to the docs and fix small doc-bugs
15373
15374 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
15375
15376         * docs/gst/gstreamer-docs.sgml:
15377         * docs/gst/gstreamer-sections.txt:
15378         * docs/gst/gstreamer.types:
15379         * docs/gst/tmpl/gstbasesink.sgml:
15380         * docs/gst/tmpl/gstbasesrc.sgml:
15381         * docs/gst/tmpl/gstbasetransform.sgml:
15382         * docs/gst/tmpl/gstfakesrc.sgml:
15383         * gst/base/gstcollectpads.c:
15384         * gst/base/gstcollectpads.h:
15385         * libs/gst/controller/gst-controller.c:
15386         * libs/gst/controller/gst-controller.h:
15387         * libs/gst/controller/gst-helper.c:
15388         * libs/gst/controller/gst-interpolation.c:
15389         * libs/gst/controller/lib.c:
15390           added long/short desc for controller docs
15391           added collectpads base class docs
15392           added correct includes to base-class docs
15393
15394 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
15395
15396         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
15397         (gst_test_mono_source_set_property),
15398         (gst_test_mono_source_class_init), (GST_START_TEST),
15399         (gst_controller_suite):
15400         * docs/gst/gstreamer-docs.sgml:
15401         * docs/gst/gstreamer-sections.txt:
15402         * docs/gst/gstreamer.types:
15403         * docs/libs/gstreamer-libs-docs.sgml:
15404         * docs/libs/gstreamer-libs-sections.txt:
15405         * gst/base/gstadapter.c:
15406         * libs/gst/controller/gst-controller.c:
15407         (gst_controlled_property_new), (gst_controlled_property_free),
15408         (gst_controller_new_valist),
15409         (gst_controller_remove_properties_valist),
15410         (gst_controller_sink_values), (_gst_controller_finalize):
15411         * libs/gst/controller/gst-controller.h:
15412         * libs/gst/controller/gst-helper.c:
15413         (gst_object_control_properties), (gst_object_uncontrol_properties),
15414         (gst_object_get_controller), (gst_object_set_controller),
15415         (gst_object_sink_values), (gst_object_get_value_arrays),
15416         (gst_object_get_value_array):
15417           more tests (and fixes) for the controller
15418           more docs for the controller
15419           integrated companies docs for the adapter 
15420
15421 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15422
15423         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
15424         (GST_START_TEST), (fakesrc_suite):
15425           add tests for sizetype
15426
15427 2005-08-04  Andy Wingo  <wingo@pobox.com>
15428
15429         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
15430         fixes buffer_alloc proxying among other things.
15431
15432         * gst/base/gstbasetransform.c:
15433         * gst/base/gstbasetransform.h:
15434         Revert patch to gstbasetransform from 7-28 removing
15435         delay_configure.
15436
15437         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
15438         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
15439         Semantics changed, should return not the size of the output buffer
15440         but the byte size of a buffer with a given caps.
15441
15442         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
15443         debug object.
15444         (gst_base_transform_configure_caps): Don't set out_size here: (in,
15445         out) are not the pad caps until setcaps finishes.
15446         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
15447         not-in-place case as well. Deal with changing from in-place to
15448         not-in-place within calling pad_alloc_buffer. Still a bit
15449         concerned about the overhead here...
15450
15451 2005-08-03  Andy Wingo  <wingo@pobox.com>
15452
15453         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
15454         fixating is an error.
15455
15456 2005-08-04  Edward Hervey  <edward@fluendo.com>
15457
15458         * gst/base/gstadapter.h: 
15459         Added gst_adapter_get_type() to the header
15460
15461 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
15462
15463         * check/Makefile.am:
15464         * check/gst-libs/controller.c:
15465         * libs/gst/controller/gst-controller.c:
15466         (gst_controller_new_valist):
15467           added check test suite for the controller
15468         * gst/base/gstpushsrc.c:
15469           fixed a doc typo
15470
15471 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
15472
15473         * docs/gst/Makefile.am:
15474         * docs/gst/gstreamer-docs.sgml:
15475         * docs/gst/gstreamer-sections.txt:
15476         * docs/gst/gstreamer.types:
15477         * docs/gst/tmpl/gstfakesrc.sgml:
15478         * gst/base/README:
15479         * gst/base/gstbasesink.c:
15480         * gst/base/gstbasesink.h:
15481         * gst/base/gstbasesrc.c:
15482         * gst/base/gstbasesrc.h:
15483         * gst/base/gstbasetransform.c:
15484         * gst/base/gstpushsrc.c:
15485         * gst/base/gstpushsrc.h:
15486           add short/long description docs to base classes
15487           add pushsrc to the docs
15488           remove consolidated doc fragments
15489
15490 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
15491
15492         * configure.ac:
15493         * docs/libs/Makefile.am:
15494         * docs/libs/gstreamer-libs-docs.sgml:
15495         * docs/libs/gstreamer-libs-sections.txt:
15496         * docs/libs/gstreamer-libs.types:
15497         * examples/Makefile.am:
15498         * examples/controller/.cvsignore:
15499         * examples/controller/Makefile.am:
15500         * examples/controller/audio-example.c: (main):
15501         * libs/gst/Makefile.am:
15502         * libs/gst/controller/.cvsignore:
15503         * libs/gst/controller/Makefile.am:
15504         * libs/gst/controller/gst-controller.c:
15505         (on_object_controlled_property_changed), (gst_timed_value_compare),
15506         (gst_timed_value_find),
15507         (gst_controlled_property_set_interpolation_mode),
15508         (gst_controlled_property_new), (gst_controlled_property_free),
15509         (gst_controller_find_controlled_property),
15510         (gst_controller_new_valist), (gst_controller_new),
15511         (gst_controller_remove_properties_valist),
15512         (gst_controller_remove_properties), (gst_controller_set),
15513         (gst_controller_set_from_list), (gst_controller_unset),
15514         (gst_controller_get), (gst_controller_get_all),
15515         (gst_controller_sink_values), (gst_controller_get_value_arrays),
15516         (gst_controller_get_value_array),
15517         (gst_controller_set_interpolation_mode),
15518         (_gst_controller_finalize), (_gst_controller_init),
15519         (_gst_controller_class_init), (gst_controller_get_type):
15520         * libs/gst/controller/gst-controller.h:
15521         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
15522         (g_object_uncontrol_properties), (g_object_get_controller),
15523         (g_object_set_controller), (g_object_sink_values),
15524         (g_object_get_value_arrays), (g_object_get_value_array):
15525         * libs/gst/controller/gst-interpolation.c:
15526         (gst_controlled_property_find_timed_value_node),
15527         (interpolate_none_get), (interpolate_trigger_get),
15528         (interpolate_trigger_get_value_array):
15529         * libs/gst/controller/lib.c: (gst_controller_init):
15530         * pkgconfig/Makefile.am:
15531         * pkgconfig/gstreamer-control-uninstalled.pc.in:
15532         * pkgconfig/gstreamer-control.pc.in:
15533         * testsuite/Makefile.am:
15534         * testsuite/controller/.cvsignore:
15535         * testsuite/controller/Makefile.am:
15536         * testsuite/controller/interpolator.c: (main):
15537           added controller code
15538           removed dparam pc files
15539
15540 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
15541         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
15542         (gst_collectpads_stop):
15543           Broadcast the condition when shutting down, to make sure we wake all
15544           threads up. Shut down pads on finalize, for safety.
15545
15546 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
15547         * gst/base/gstbasetransform.c: (gst_base_transform_init),
15548         (gst_base_transform_handle_buffer),
15549         (gst_base_transform_change_state):
15550           Handle PAUSED->READY->PAUSED transition after negotiation
15551           occurred already.
15552         * gst/gstmessage.c: (gst_message_init):
15553           Extra piece of debug for new messages.
15554
15555 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
15556
15557         * configure.ac:
15558         * docs/gst/tmpl/gstbasesrc.sgml:
15559         * docs/gst/tmpl/gstelement.sgml:
15560         * docs/gst/tmpl/gstevent.sgml:
15561         * docs/gst/tmpl/gstfakesrc.sgml:
15562         * docs/gst/tmpl/gstformat.sgml:
15563         * docs/gst/tmpl/gstghostpad.sgml:
15564         * docs/gst/tmpl/gstpad.sgml:
15565         * docs/gst/tmpl/gstquery.sgml:
15566         * docs/gst/tmpl/gststructure.sgml:
15567         * docs/gst/tmpl/gsttaglist.sgml:
15568         * docs/gst/tmpl/gstvalue.sgml:
15569         * docs/libs/gstreamer-libs-docs.sgml:
15570         * docs/libs/gstreamer-libs-sections.txt:
15571         * docs/libs/gstreamer-libs.types:
15572         * libs/gst/Makefile.am:
15573         * libs/gst/control/.cvsignore:
15574         * libs/gst/control/Makefile.am:
15575         * libs/gst/control/control.c:
15576         * libs/gst/control/control.h:
15577         * libs/gst/control/dparam.c:
15578         * libs/gst/control/dparam.h:
15579         * libs/gst/control/dparam_smooth.c:
15580         * libs/gst/control/dparam_smooth.h:
15581         * libs/gst/control/dparamcommon.h:
15582         * libs/gst/control/dparammanager.c:
15583         * libs/gst/control/dparammanager.h:
15584         * libs/gst/control/dplinearinterp.c:
15585         * libs/gst/control/dplinearinterp.h:
15586         * libs/gst/control/unitconvert.c:
15587         * libs/gst/control/unitconvert.h:
15588         * testsuite/Makefile.am:
15589         * testsuite/dynparams/.cvsignore:
15590         * testsuite/dynparams/Makefile.am:
15591         * testsuite/dynparams/dparamstest.c:
15592         * tools/Makefile.am:
15593         * tools/gst-inspect.c: (print_element_info), (main):
15594         * tools/gst-xmlinspect.c: (print_element_info), (main):
15595           deactivate and remove dparams (libgstcontrol)
15596
15597 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
15598
15599         * gst/elements/gsttypefindelement.c:
15600         (gst_type_find_element_have_type), (gst_type_find_element_init),
15601         (stop_typefinding), (gst_type_find_element_handle_event),
15602         (gst_type_find_element_chain), (gst_type_find_element_getrange):
15603         * gst/elements/gsttypefindelement.h:
15604           Set caps on all outgoing buffers, not just the first one.
15605
15606 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
15607
15608         * gst/elements/gsttypefindelement.c:
15609         (gst_type_find_element_have_type),
15610         (gst_type_find_element_check_set_buffer_caps),
15611         (gst_type_find_element_init), (stop_typefinding),
15612         (gst_type_find_element_handle_event),
15613         (gst_type_find_element_chain), (gst_type_find_element_getrange):
15614         * gst/elements/gsttypefindelement.h:
15615           Set caps on first outgoing buffer when we've found the type.
15616
15617 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
15618
15619         * docs/gst/gstreamer-docs.sgml:
15620         * docs/gst/gstreamer-sections.txt:
15621         * docs/gst/tmpl/gstscheduler.sgml:
15622         * docs/gst/tmpl/gstschedulerfactory.sgml:
15623           Remove some old cruft from docs.
15624
15625 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
15626
15627         * gst/gstpad.h:
15628           Fix inline docs for GstPadLinkReturn.
15629           
15630         * gst/gststructure.c: (gst_structure_has_name):
15631         * gst/gststructure.h:
15632         * docs/gst/gstreamer-sections.txt:
15633           New API: gst_structure_has_name().
15634
15635 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
15636
15637         * configure.ac:
15638           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
15639           and _LARGEFILE_SOURCE in config.h as required. Do not 
15640           export those flags in our .pc files any longer (#142209).
15641
15642           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
15643
15644         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
15645         (gst_file_sink_do_seek), (gst_file_sink_event),
15646         (gst_file_sink_get_current_offset), (gst_file_sink_render):
15647           Redo seek/tell calls with large file support in mind; add some
15648           debugging messages; add log message that tells us when large
15649           file support is unavailable or not enabled for some reason.
15650
15651         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
15652           Add log message that tells us when large file support 
15653           is unavailable or not enabled for some reason.
15654
15655 2005-07-29  Wim Taymans  <wim@fluendo.com>
15656
15657         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
15658         Added test for removing an element with ghostpad from a bin.
15659         Fixed test as current implementation does the right thing.
15660
15661         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
15662         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
15663         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
15664         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
15665         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
15666         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
15667         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
15668         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
15669         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
15670         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
15671         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
15672         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
15673         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
15674         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
15675         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
15676         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
15677         * gst/gstghostpad.h:
15678         Clean up ghostpads, remove properties for internal stuff.
15679         Make threadsafe.
15680         Fix refcounting.
15681         Prepare for switching targets, not all use cases work yet.
15682
15683 2005-07-29  Wim Taymans  <wim@fluendo.com>
15684
15685         * docs/design/part-gstghostpad.txt:
15686         Small update.
15687
15688         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
15689         (gst_bin_remove_func):
15690         Unlinking pads while holding the bin LOCK is not a good
15691         idea.
15692
15693         * gst/gstpad.c: (gst_pad_class_init),
15694         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
15695         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
15696         No prob setting template after creating the pad.
15697
15698 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
15699
15700         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
15701         (gst_bus_peek), (gst_bus_source_dispatch),
15702         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
15703         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
15704           gst_bus_poll may be called from other threads. Handle
15705           this nicely by not making poll_data disappear off the
15706           stack once gst_bus_poll returns.
15707           gst_bus_peek now increments the refcount on the returned
15708           message.
15709
15710 2005-07-29  Wim Taymans  <wim@fluendo.com>
15711
15712         * docs/design/part-gstghostpad.txt:
15713         Overview of current GhostPad datastructures and use
15714         cases for changing the target.
15715
15716 2005-07-28  Wim Taymans  <wim@fluendo.com>
15717
15718         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15719         Added checks for hierarchy consistency whan adding linked
15720         elements to bins.
15721
15722         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
15723         Added check to test element scheduling without bin/pipeline.
15724
15725         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
15726         First add elements to bin, then link.
15727         
15728         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
15729         (gst_bin_remove_func):
15730         Unlink pads from elements added/removed from bin to maintain
15731         hierarchy consistency.
15732
15733 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15734
15735         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
15736         (gst_base_transform_handle_buffer):
15737         * gst/base/gstbasetransform.h:
15738           Remove broken delay_configure (fixes renegotiation of software
15739           scaling pipelines); remove some leftover printf()s.
15740
15741 2005-07-28  Wim Taymans  <wim@fluendo.com>
15742
15743         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
15744         Added some more tests for wrong hierarchy
15745
15746         * docs/design/part-overview.txt:
15747         Some updates.
15748
15749         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
15750         Cleanups.
15751
15752         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
15753         (gst_element_dispose):
15754         Some more cleanups.
15755
15756         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15757         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
15758         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15759         (gst_pad_set_caps), (gst_pad_send_event):
15760         Check for correct hierarchy when linking pads. Moving to
15761         strict requirement for ghostpads when linking elements in
15762         different bins.
15763
15764         * gst/gstpad.h:
15765         Clean ups. Added WRONG_HIERARCHY return value.
15766
15767 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15768
15769         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
15770           Better debug if no transform is possible.
15771
15772 2005-07-27  Wim Taymans  <wim@fluendo.com>
15773
15774         * docs/random/wtay/network-transp:
15775         Some old doc I had.
15776
15777 2005-07-27  Wim Taymans  <wim@fluendo.com>
15778
15779         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15780         (gst_dp_event_from_packet):
15781         Fix serialization of seek events.
15782
15783 2005-07-27  Wim Taymans  <wim@fluendo.com>
15784
15785         * check/gst-libs/gdp.c: (GST_START_TEST):
15786         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
15787         Fix compilation and fix event serialization.
15788
15789 2005-07-27  Wim Taymans  <wim@fluendo.com>
15790
15791         * CHANGES-0.9:
15792         * docs/design/part-TODO.txt:
15793         * docs/design/part-events.txt:
15794         Some docs updates
15795
15796         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15797         (gst_base_sink_event), (gst_base_sink_do_sync),
15798         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
15799         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
15800         (gst_base_src_do_seek), (gst_base_src_event_handler),
15801         (gst_base_src_loop):
15802         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
15803         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15804         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
15805         (gst_base_transform_event), (gst_base_transform_handle_buffer),
15806         (gst_base_transform_set_passthrough),
15807         (gst_base_transform_is_passthrough):
15808         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
15809         * gst/elements/gstfilesink.c: (gst_file_sink_event):
15810         Event updates.
15811
15812         * gst/gstbuffer.h:
15813         Use faster casts.
15814
15815         * gst/gstelement.c: (gst_element_seek):
15816         * gst/gstelement.h:
15817         Update gst_element_seek.
15818
15819         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
15820         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
15821         (gst_event_new_flush_start), (gst_event_new_flush_stop),
15822         (gst_event_new_eos), (gst_event_new_newsegment),
15823         (gst_event_parse_newsegment), (gst_event_new_tag),
15824         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
15825         (gst_event_parse_qos), (gst_event_new_seek),
15826         (gst_event_parse_seek), (gst_event_new_navigation):
15827         * gst/gstevent.h:
15828         Make GstEvent use GstStructure. Add parsing code, make sure the
15829         API is sufficiently generic.
15830         Mark possible directions of events and serialization.
15831
15832         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
15833         (_gst_message_copy), (gst_message_new_segment_start),
15834         (gst_message_new_segment_done), (gst_message_new_custom),
15835         (gst_message_parse_segment_start),
15836         (gst_message_parse_segment_done):
15837         Small cleanups.
15838
15839         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15840         (gst_pad_set_caps), (gst_pad_send_event):
15841         Update for new events. 
15842         Catch events sent in wrong directions.
15843
15844         * gst/gstqueue.c: (gst_queue_link_src),
15845         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15846         (gst_queue_handle_src_query):
15847         Event updates.
15848
15849         * gst/gsttag.c:
15850         * gst/gsttag.h:
15851         Remove event code from this file.
15852
15853         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15854         (gst_dp_event_from_packet):
15855         Event updates.
15856
15857 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15858
15859         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
15860         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15861         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
15862           Make debugging actually useful.
15863
15864 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15865
15866         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
15867         (gst_pad_fixate_caps):
15868           Implement default fixation once again, so that gst_pad_fixate()
15869           actually does anything at all. This probably needs to be some
15870           sort of a last resort, and use profile-based fixation first, but
15871           since that doesn't exist yet, this is the best we have. Fixes
15872           visualization in Totem.
15873
15874 2005-07-22  Wim Taymans  <wim@fluendo.com>
15875
15876         * docs/design/part-events.txt:
15877         Small update.
15878
15879         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15880         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
15881         (gst_base_sink_activate_pull):
15882         Some more comments.
15883
15884         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
15885         (gst_fake_src_create):
15886         Fix handoff marshall.
15887
15888         * gst/elements/gstidentity.c: (gst_identity_class_init),
15889         (gst_identity_transform_ip):
15890         We're a real inplace element.
15891
15892         * gst/gstbus.c: (gst_bus_post):
15893         Added some comments.
15894
15895         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
15896         * tests/muxing/case1.c: (main):
15897         * tests/sched/dynamic-pipeline.c: (main):
15898         * tests/sched/interrupt1.c: (main):
15899         * tests/sched/interrupt2.c: (main):
15900         * tests/sched/interrupt3.c: (main):
15901         * tests/sched/runxml.c: (main):
15902         * tests/sched/sched-stress.c: (main):
15903         * tests/seeking/seeking1.c: (event_received), (main):
15904         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15905         (main):
15906         * tests/threadstate/threadstate3.c: (main):
15907         * tests/threadstate/threadstate4.c: (main):
15908         * tests/threadstate/threadstate5.c: (main):
15909         Fix the tests.
15910
15911 2005-07-21  Wim Taymans  <wim@fluendo.com>
15912
15913         * docs/design/part-seeking.txt:
15914         Some small additions.
15915
15916         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15917         (gst_base_sink_get_times), (gst_base_sink_do_sync),
15918         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
15919         * gst/base/gstbasesink.h:
15920         discont values are gint64, handle the math correctly.
15921
15922         * gst/base/gstbasesrc.c: (gst_base_src_loop):
15923         Make the basesrc report error if the source pad is not linked.
15924
15925         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
15926         (gst_queue_loop), (gst_queue_handle_src_query),
15927         (gst_queue_src_activate_push):
15928         Make queue collect data even if the srcpad is not linked.
15929         Start pushing out data as soon as it is linked.
15930
15931         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
15932         * gst/gstutils.h:
15933         Added gst_flow_get_name() to ease error reporting.
15934
15935 2005-07-20  Wim Taymans  <wim@fluendo.com>
15936
15937         * gst/gstmessage.c: (gst_message_new_segment_start),
15938         (gst_message_new_segment_done), (gst_message_parse_segment_start),
15939         (gst_message_parse_segment_done):
15940         * gst/gstmessage.h:
15941         Added a bunch of messages for advanced seeking.
15942
15943         * gst/parse/grammar.y:
15944         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
15945         (gst_dpman_state_changed):
15946         Fix some new-pad -> pad-added signals
15947
15948 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15949
15950         * docs/manual/appendix-porting.xml:
15951         * docs/pwg/appendix-porting.xml:
15952           Document new-pad/state-change signal renames and the FixedList
15953           type rename.
15954
15955 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15956
15957         * docs/manual/advanced-autoplugging.xml:
15958         * docs/manual/basics-helloworld.xml:
15959         * docs/manual/basics-pads.xml:
15960         * docs/random/ds/0.9-suggested-changes:
15961         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
15962         * gst/gstelement.h:
15963         * gst/gstevent.h:
15964         * gst/gstformat.h:
15965         * gst/gstquery.h:
15966         * gst/gststructure.c: (gst_structure_value_get_generic_type),
15967         (gst_structure_parse_array), (gst_structure_parse_value):
15968         * gst/gstvalue.c: (gst_type_is_fixed),
15969         (gst_value_list_prepend_value), (gst_value_list_append_value),
15970         (gst_value_list_get_size), (gst_value_list_get_value),
15971         (gst_value_transform_array_string), (gst_value_serialize_array),
15972         (gst_value_deserialize_array), (gst_value_intersect_array),
15973         (gst_value_is_fixed), (_gst_value_initialize):
15974         * gst/gstvalue.h:
15975           GstElement::new-pad -> pad-added, GstElement::state-change ->
15976           state-changed, GstValueFixedList -> GstValueArray, add format and
15977           flags as their own arguments in gst_element_seek() (should improve
15978           "bindeability"), remove function generators since they don't work
15979           under a whole bunch of compilers (they were deprecated already
15980           anyway).
15981
15982 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15983
15984         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
15985         (_gst_debug_register_funcptr):
15986         * gst/gstinfo.h:
15987           Fix illegal cast on some platforms (#309253).
15988
15989 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15990
15991         * gst/gstmessage.c: (gst_message_new_custom):
15992         * gst/gstmessage.h:
15993           Add _new_custom, make _new_application a macro to _new_custom.
15994
15995 2005-07-20  Wim Taymans  <wim@fluendo.com>
15996
15997         * gst/base/gstbasesrc.c: (gst_base_src_init),
15998         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
15999         * gst/base/gstbasesrc.h:
16000         Add a gboolean to decide when to push out a discont.
16001
16002         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16003         (gst_queue_loop), (gst_queue_handle_src_query),
16004         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
16005         (gst_queue_set_property), (gst_queue_get_property):
16006         Some cleanups.
16007
16008         * tests/threadstate/threadstate1.c: (main):
16009         Make a thread test compile and run... very silly..
16010
16011
16012 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16013
16014         * docs/manual/appendix-porting.xml:
16015           Mention removal of libgstgconf-0.9.la and existence of gconf
16016           elements.
16017
16018 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16019
16020         * docs/pwg/advanced-clock.xml:
16021         * docs/pwg/appendix-porting.xml:
16022         * docs/pwg/intro-preface.xml:
16023         * docs/pwg/other-base.xml:
16024         * docs/pwg/other-manager.xml:
16025         * docs/pwg/other-nton.xml:
16026         * docs/pwg/other-ntoone.xml:
16027         * docs/pwg/other-oneton.xml:
16028         * docs/pwg/pwg.xml:
16029           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
16030           demuxer), remove n-to-n (was never written), fix some code examples
16031           and links and update the porting section to include all this.
16032
16033 2005-07-19  Wim Taymans  <wim@fluendo.com>
16034
16035         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
16036         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
16037         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
16038         (gst_queue_src_activate_push), (gst_queue_change_state),
16039         (gst_queue_get_property):
16040         * gst/gstqueue.h:
16041         Propagate GstFlowReturn more intelligently upstream and output
16042         an ERROR/EOS when streaming stopped due to fatal error.
16043
16044 2005-07-19  Wim Taymans  <wim@fluendo.com>
16045
16046         * tools/gst-launch.c: (check_intr), (event_loop), (main):
16047         Don't block forever for the state change to complete, the
16048         pipeline already did with a sensible timeout.
16049
16050 2005-07-19  Wim Taymans  <wim@fluendo.com>
16051
16052         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
16053         Make sure we never call the create function is we
16054         got deactivated.
16055
16056 2005-07-19  Andy Wingo  <wingo@pobox.com>
16057
16058         * gst/parse/parse.l: Attempt to solve bug #172815.
16059
16060 2005-07-19  Wim Taymans  <wim@fluendo.com>
16061
16062         * docs/design/part-clocks.txt:
16063         * docs/design/part-events.txt:
16064         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
16065         Small docs updates.
16066         Only update the seeking values when we are not
16067         busy streaming.
16068
16069 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
16070
16071         * gst/base/gstbasesrc.c: (gst_base_src_loop):
16072           Oops, ignore the result of gst_pad_push_event here.
16073
16074 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
16075
16076         * gst/base/gstbasesrc.c: (gst_base_src_loop),
16077         (gst_base_src_activate_push):
16078           Send discont event from the loop function, as pads
16079           aren't activated yet in the activate_push handler.
16080
16081         * gst/gstbin.c: (bin_bus_handler):
16082           Don't leak element name.
16083
16084 2005-07-18  Andy Wingo  <wingo@pobox.com>
16085
16086         * configure.ac: Use AS_LIBTOOL_TAGS.
16087
16088 2005-07-18  Wim Taymans  <wim@fluendo.com>
16089
16090         * docs/gst/gstreamer.types:
16091         Remove deleted types.
16092
16093 2005-07-18  Wim Taymans  <wim@fluendo.com>
16094
16095         * check/elements/gstfakesrc.c: (GST_START_TEST):
16096         * configure.ac:
16097         * gst/Makefile.am:
16098         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
16099         (init_popt_callback):
16100         * gst/gst.h:
16101         * gst/gst_private.h:
16102         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
16103         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
16104         * gst/gstbin.h:
16105         * gst/gstbus.h:
16106         * gst/gstconfig.h.in:
16107         * gst/gstelement.c: (gst_element_class_init),
16108         (gst_element_set_base_time), (gst_element_get_base_time),
16109         (iterator_fold_with_resync), (gst_element_change_state),
16110         (gst_element_dispose), (gst_element_get_bus):
16111         * gst/gstelement.h:
16112         * gst/gstelementfactory.h:
16113         * gst/gsterror.c: (_gst_core_errors_init):
16114         * gst/gsterror.h:
16115         * gst/gstevent.h:
16116         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
16117         * gst/gstindex.c:
16118         * gst/gstinfo.c: (_gst_debug_init):
16119         * gst/gstmessage.c: (_gst_message_copy):
16120         * gst/gstmessage.h:
16121         * gst/gstminiobject.h:
16122         * gst/gstobject.c:
16123         * gst/gstobject.h:
16124         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
16125         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
16126         * gst/gstpad.h:
16127         * gst/gstparse.h:
16128         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
16129         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
16130         (gst_pipeline_get_last_stream_time):
16131         * gst/gstpipeline.h:
16132         * gst/gstpluginfeature.h:
16133         * gst/gstquery.h:
16134         * gst/gstscheduler.c:
16135         * gst/gstscheduler.h:
16136         * gst/gststructure.h:
16137         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
16138         (gst_task_finalize), (gst_task_func), (gst_task_create),
16139         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
16140         (gst_task_stop), (gst_task_pause):
16141         * gst/gsttask.h:
16142         * gst/gsttypefind.h:
16143         * gst/gsttypes.h:
16144         * gst/registries/gstlibxmlregistry.c: (load_feature),
16145         (gst_xml_registry_load), (gst_xml_registry_save_feature):
16146         * gst/registries/gstxmlregistry.c:
16147         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
16148         * gst/schedulers/threadscheduler.c:
16149         * libs/gst/control/dparammanager.h:
16150         * tools/gst-inspect.c: (print_element_list),
16151         (print_plugin_features), (print_element_features):
16152         * tools/gst-xmlinspect.c: (print_element_list),
16153         (print_plugin_info), (main):
16154         Removed plugable schedulers.
16155         Removed Scheduler/Manager from elements.
16156         Removed gsttypes.h, rearranged includes.
16157         Removed dependency pad<->element, element<>pipeline, and
16158         various others,  fix includes.
16159         implement gst_pad_get_parent() with gst_object_get_parent()
16160         Make GstTask sefcontained.
16161         Fix _get_state() on GstBin, it did not return ASYNC with a 0
16162         timeout.
16163         Fix endless loop in iterator_fold_with_resync.
16164
16165
16166 2005-07-18  Wim Taymans  <wim@fluendo.com>
16167
16168         * gst/Makefile.am:
16169         * gst/gstarch.h:
16170         Remove old file.
16171
16172 2005-07-18  Wim Taymans  <wim@fluendo.com>
16173
16174         * gst/Makefile.am:
16175         No more cothreads.h
16176
16177 2005-07-18  Wim Taymans  <wim@fluendo.com>
16178
16179         * gst/cothreads.c:
16180         * gst/cothreads.h:
16181         Let's remove these.
16182
16183 2005-07-18  Wim Taymans  <wim@fluendo.com>
16184
16185         * docs/design/part-dynamic.txt:
16186         * docs/design/part-events.txt:
16187         * docs/design/part-seeking.txt:
16188         Some more docs in the works.
16189
16190         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
16191         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
16192         (gst_base_transform_setcaps), (gst_base_transform_get_size),
16193         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
16194         (gst_base_transform_handle_buffer),
16195         (gst_base_transform_sink_activate_push),
16196         (gst_base_transform_src_activate_pull),
16197         (gst_base_transform_set_passthrough),
16198         (gst_base_transform_is_passthrough):
16199         Refcounting fixes.
16200
16201         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
16202         Cleanups.
16203
16204         * gst/gstevent.c: (gst_event_finalize):
16205         Set SRC to NULL.
16206
16207         * gst/gstutils.c: (gst_element_unlink),
16208         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
16209         (gst_pad_proxy_setcaps):
16210         * gst/gstutils.h:
16211         Add _get_parent_element() to get a pads parent as an element.
16212
16213 2005-07-18  Wim Taymans  <wim@fluendo.com>
16214
16215         * check/gst/gstbin.c: (GST_START_TEST):
16216         Remove bogus test.
16217
16218 2005-07-18  Wim Taymans  <wim@fluendo.com>
16219
16220         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
16221         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
16222         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
16223         (gst_base_sink_event), (gst_base_sink_do_sync),
16224         (gst_base_sink_chain), (gst_base_sink_loop),
16225         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
16226         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
16227         Refcounting fixes.
16228         Fix logic for returning ASYNC when not prerolled.
16229
16230 2005-07-18  Wim Taymans  <wim@fluendo.com>
16231
16232         * gst/gstqueue.c: (gst_queue_handle_sink_event):
16233         Fix nasty refcount bug.
16234
16235 2005-07-16 Philippe Khalaf <burger@speedy.org>
16236
16237         * gst/elements/gstfdsrc.c:
16238         * gst/elements/gstfdsrc.h:
16239         * gst/elements/gstelements.c:
16240         * gst/elements/Makefile.am:
16241         Ported fdsrc to 0.9.
16242
16243 2005-07-16  Wim Taymans  <wim@fluendo.com>
16244
16245         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16246         (gst_base_sink_do_sync):
16247         Fix compile error.
16248
16249 2005-07-16  Wim Taymans  <wim@fluendo.com>
16250
16251         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16252         (gst_base_sink_event), (gst_base_sink_get_times),
16253         (gst_base_sink_do_sync), (gst_base_sink_change_state):
16254         * gst/base/gstbasesink.h:
16255         Store and use discont values when syncing buffers as described
16256         in design docs.
16257         
16258         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
16259         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
16260         (gst_base_src_activate_push):
16261         Push discont event when starting.
16262
16263         * gst/elements/gstidentity.c: (gst_identity_transform):
16264         Small cleanups.
16265
16266         * gst/gstbin.c: (gst_bin_change_state):
16267         Small cleanups in base_time  distribution.
16268
16269         * gst/gstelement.c: (gst_element_set_base_time),
16270         (gst_element_get_base_time), (gst_element_change_state):
16271         * gst/gstelement.h:
16272         Added methods for the base_time of the element.
16273         Some MT fixes.
16274
16275         * gst/gstpipeline.c: (gst_pipeline_send_event),
16276         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
16277         (gst_pipeline_get_last_stream_time):
16278         * gst/gstpipeline.h:
16279         MT fixes.
16280         Handle seeking as described in design doc, remove stream_time
16281         hack.
16282         Cleanups clock and stream_time selection code. Added accessors
16283         for the stream_time.
16284         
16285
16286 2005-07-16  Andy Wingo  <wingo@pobox.com>
16287
16288         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
16289         (#305291).
16290
16291 2005-07-16  Wim Taymans  <wim@fluendo.com>
16292
16293         * check/gst/gstbin.c: (GST_START_TEST):
16294         Make elements silent as the deep_notify refs the
16295         parent, which might make the test fail.
16296
16297         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
16298         Don't hold the lock for too long.
16299
16300 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
16301
16302         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
16303           Don't unref the caps we passed to gst_caps_make_writable() after
16304           passing them. gst_caps_make_writable() will do that for us.
16305
16306 2005-07-15  Andy Wingo  <wingo@pobox.com>
16307
16308         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
16309         (#157311).
16310
16311         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
16312         own marshalling function for the handoff signal. Properly type the
16313         buffer as a buffer. Fixes some warnings. Should do a more general
16314         solution.
16315         (gst_identity_class_init): Plug into the right marshaller.
16316
16317 2005-07-15  Wim Taymans  <wim@fluendo.com>
16318
16319         * docs/design/part-TODO.txt:
16320         * docs/design/part-clocks.txt:
16321         * docs/design/part-element-sink.txt:
16322         * docs/design/part-events.txt:
16323         * docs/design/part-gstpipeline.txt:
16324         Updated docs, mostly DISCONT related.
16325
16326 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
16327
16328         * docs/pwg/building-pads.xml:
16329           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
16330
16331 2005-07-15  Andy Wingo  <wingo@pobox.com>
16332
16333         * tools/gst-typefind.c: Update, add copyright block.
16334
16335         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
16336         Normalize and truncate caps before fixation.
16337
16338         * gst/gstcaps.h:
16339         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
16340         discards all but the first structure from its argument.
16341
16342 2005-07-15  Wim Taymans  <wim@fluendo.com>
16343
16344         * gst/base/gstbasetransform.c: (gst_base_transform_init),
16345         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
16346         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
16347         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
16348         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
16349         (gst_base_transform_chain), (gst_base_transform_change_state),
16350         (gst_base_transform_set_passthrough),
16351         (gst_base_transform_is_passthrough):
16352         * gst/base/gstbasetransform.h:
16353         Make passthrough work using the bufferpools.
16354         Changed API a bit, subclasses have to write into a buffer
16355         provided by the base class.
16356         More debug info in nego functions.
16357         
16358         * gst/elements/gstidentity.c: (gst_identity_init),
16359         (gst_identity_transform):
16360         Port to new base class.
16361
16362 2005-07-15  Wim Taymans  <wim@fluendo.com>
16363
16364         * gst/gstmessage.c: (gst_message_new_state_changed):
16365         * tools/gst-launch.c: (event_loop), (main):
16366         Totally dump messages in -launch with the -m option.
16367         Fix message name for State messages,
16368
16369 2005-07-14  Wim Taymans  <wim@fluendo.com>
16370
16371         * gst/base/gstbasesrc.c: (gst_base_src_loop):
16372         Post error messages on errors.
16373
16374 2005-07-14  Wim Taymans  <wim@fluendo.com>
16375
16376         * gst/gstcaps.c: (gst_caps_do_simplify):
16377         Remove debug info.
16378
16379         * gst/gsterror.h:
16380         Define error for stream stopped.
16381
16382         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
16383         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
16384         Do proper return values.
16385
16386         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
16387         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
16388         (gst_pad_get_range):
16389         Better return values.
16390
16391         * gst/gstpad.h:
16392         Reorganise return values, add macro to check for fatal errors.
16393
16394         * gst/gstqueue.c: (gst_queue_chain):
16395         Return proper GstFlowReturn values,
16396
16397 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
16398
16399         * docs/gst/gstreamer-sections.txt:
16400         * docs/gst/gstreamer.types:
16401         * docs/gst/tmpl/gst.sgml:
16402         * docs/gst/tmpl/gstbasesink.sgml:
16403         * docs/gst/tmpl/gstbasesrc.sgml:
16404         * docs/gst/tmpl/gstbasetransform.sgml:
16405         * docs/gst/tmpl/gstbin.sgml:
16406         * docs/gst/tmpl/gstbuffer.sgml:
16407         * docs/gst/tmpl/gstcaps.sgml:
16408         * docs/gst/tmpl/gstclock.sgml:
16409         * docs/gst/tmpl/gstcompat.sgml:
16410         * docs/gst/tmpl/gstconfig.sgml:
16411         * docs/gst/tmpl/gstelement.sgml:
16412         * docs/gst/tmpl/gstelementdetails.sgml:
16413         * docs/gst/tmpl/gstelementfactory.sgml:
16414         * docs/gst/tmpl/gstenumtypes.sgml:
16415         * docs/gst/tmpl/gsterror.sgml:
16416         * docs/gst/tmpl/gstevent.sgml:
16417         * docs/gst/tmpl/gstfakesink.sgml:
16418         * docs/gst/tmpl/gstfakesrc.sgml:
16419         * docs/gst/tmpl/gstfilesink.sgml:
16420         * docs/gst/tmpl/gstfilesrc.sgml:
16421         * docs/gst/tmpl/gstfilter.sgml:
16422         * docs/gst/tmpl/gstformat.sgml:
16423         * docs/gst/tmpl/gstghostpad.sgml:
16424         * docs/gst/tmpl/gstimplementsinterface.sgml:
16425         * docs/gst/tmpl/gstindex.sgml:
16426         * docs/gst/tmpl/gstindexfactory.sgml:
16427         * docs/gst/tmpl/gstinfo.sgml:
16428         * docs/gst/tmpl/gstiterator.sgml:
16429         * docs/gst/tmpl/gstmacros.sgml:
16430         * docs/gst/tmpl/gstmemchunk.sgml:
16431         * docs/gst/tmpl/gstminiobject.sgml:
16432         * docs/gst/tmpl/gstobject.sgml:
16433         * docs/gst/tmpl/gstpad.sgml:
16434         * docs/gst/tmpl/gstpadtemplate.sgml:
16435         * docs/gst/tmpl/gstparse.sgml:
16436         * docs/gst/tmpl/gstpipeline.sgml:
16437         * docs/gst/tmpl/gstplugin.sgml:
16438         * docs/gst/tmpl/gstpluginfeature.sgml:
16439         * docs/gst/tmpl/gstquery.sgml:
16440         * docs/gst/tmpl/gstqueue.sgml:
16441         * docs/gst/tmpl/gstregistry.sgml:
16442         * docs/gst/tmpl/gstregistrypool.sgml:
16443         * docs/gst/tmpl/gstscheduler.sgml:
16444         * docs/gst/tmpl/gstschedulerfactory.sgml:
16445         * docs/gst/tmpl/gststructure.sgml:
16446         * docs/gst/tmpl/gstsystemclock.sgml:
16447         * docs/gst/tmpl/gsttaglist.sgml:
16448         * docs/gst/tmpl/gsttagsetter.sgml:
16449         * docs/gst/tmpl/gsttrace.sgml:
16450         * docs/gst/tmpl/gsttrashstack.sgml:
16451         * docs/gst/tmpl/gsttypefind.sgml:
16452         * docs/gst/tmpl/gsttypefindfactory.sgml:
16453         * docs/gst/tmpl/gsttypes.sgml:
16454         * docs/gst/tmpl/gsturihandler.sgml:
16455         * docs/gst/tmpl/gsturitype.sgml:
16456         * docs/gst/tmpl/gstutils.sgml:
16457         * docs/gst/tmpl/gstvalue.sgml:
16458         * docs/gst/tmpl/gstversion.sgml:
16459         * docs/gst/tmpl/gstxml.sgml:
16460         * docs/libs/tmpl/gstcontrol.sgml:
16461         * docs/libs/tmpl/gstdataprotocol.sgml:
16462         * docs/libs/tmpl/gstdparam.sgml:
16463         * docs/libs/tmpl/gstdplinint.sgml:
16464         * docs/libs/tmpl/gstdpman.sgml:
16465         * docs/libs/tmpl/gstdpsmooth.sgml:
16466         * docs/libs/tmpl/gstgetbits.sgml:
16467         * docs/libs/tmpl/gstunitconvert.sgml:
16468         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
16469         (gst_push_src_base_init), (gst_push_src_class_init),
16470         (gst_push_src_init), (gst_push_src_create):
16471         * gst/base/gstpushsrc.h:
16472         * gst/elements/gstelements.c:
16473         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
16474         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
16475         (gst_fake_sink_init), (gst_fake_sink_set_property),
16476         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
16477         (gst_fake_sink_event), (gst_fake_sink_preroll),
16478         (gst_fake_sink_render), (gst_fake_sink_change_state):
16479         * gst/elements/gstfakesink.h:
16480         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
16481         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
16482         (gst_fake_src_base_init), (gst_fake_src_class_init),
16483         (gst_fake_src_init), (gst_fake_src_event_handler),
16484         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
16485         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
16486         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
16487         (gst_fake_src_create_buffer), (gst_fake_src_create),
16488         (gst_fake_src_start), (gst_fake_src_stop):
16489         * gst/elements/gstfakesrc.h:
16490         * gst/elements/gstfilesink.c: (_do_init),
16491         (gst_file_sink_base_init), (gst_file_sink_class_init),
16492         (gst_file_sink_init), (gst_file_sink_dispose),
16493         (gst_file_sink_set_location), (gst_file_sink_set_property),
16494         (gst_file_sink_get_property), (gst_file_sink_open_file),
16495         (gst_file_sink_close_file), (gst_file_sink_query),
16496         (gst_file_sink_event), (gst_file_sink_render),
16497         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
16498         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
16499         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
16500         * gst/elements/gstfilesink.h:
16501         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
16502         (gst_file_src_class_init), (gst_file_src_init),
16503         (gst_file_src_finalize), (gst_file_src_set_location),
16504         (gst_file_src_set_property), (gst_file_src_get_property),
16505         (gst_file_src_map_region), (gst_file_src_map_small_region),
16506         (gst_file_src_create_mmap), (gst_file_src_create_read),
16507         (gst_file_src_create), (gst_file_src_is_seekable),
16508         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
16509         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
16510         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
16511         (gst_file_src_uri_handler_init):
16512         * gst/elements/gstfilesrc.h:
16513           more autistic cleanliness in functions/names/defines
16514
16515 2005-07-13  Andy Wingo  <wingo@pobox.com>
16516
16517         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
16518         source couldn't negotiate.
16519
16520         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
16521         connections again.
16522
16523         * gst/gstutils.h:
16524         * gst/gstutils.c (gst_element_link_pads_filtered): New old
16525         function. I am channeling Hades. Put your boots on suckers!!!
16526
16527 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16528
16529         * testsuite/caps/Makefile.am:
16530         * testsuite/caps/value_compare.c:
16531         * testsuite/caps/value_intersect.c:
16532         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
16533           move two testsuite apps over to the check dir
16534
16535 2005-07-12  Wim Taymans  <wim@fluendo.com>
16536
16537         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
16538         Added more debug info in the negotiate process.
16539
16540         * gst/gstmessage.h:
16541         Prepare for segment playback.
16542
16543         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
16544         Better debugging.
16545
16546         * gst/gstutils.c:
16547         Some more docs.
16548
16549         * tools/gst-launch.c: (main):
16550         NULL pipeline on errors.
16551
16552 2005-07-12  Andy Wingo  <wingo@pobox.com>
16553
16554         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
16555         not it comes from a malloc region. Make sure our copy gets freed.
16556
16557 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16558
16559         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
16560         * check/gst/gstmessage.c: (GST_START_TEST):
16561         * check/gst/gststructure.c: (GST_START_TEST),
16562         (gst_structure_suite), (main):
16563           more testing
16564         * gst/gstelement.c: (gst_element_message_full):
16565           clean up GError and debug string now that they get copied
16566         * gst/gstmessage.c: (gst_message_new_error),
16567         (gst_message_new_warning), (gst_message_parse_error),
16568         (gst_message_parse_warning):
16569           use GST_TYPE_G_ERROR for structure_new, and take copies of
16570           arguments, so that we don't mess up refcounting
16571
16572 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16573
16574         * check/Makefile.am:
16575           add per-test valgrind targets
16576         * check/gst-libs/gdp.c: (GST_START_TEST),
16577         (gst_data_protocol_suite), (main):
16578           clean up
16579
16580 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16581
16582         * check/Makefile.am:
16583           instate more valgrindable tests
16584         * check/elements/gstfakesrc.c: (chain_func), (event_func),
16585         (GST_START_TEST), (fakesrc_suite):
16586         * check/gst/gstpad.c: (GST_START_TEST):
16587         * check/gst/gststructure.c: (GST_START_TEST):
16588           fix test leaks
16589         * docs/gst/tmpl/gstminiobject.sgml:
16590         * gst/gstpad.c: (gst_pad_finalize):
16591           fix the static mutex leak
16592
16593 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16594
16595         * check/Makefile.am:
16596           add two more tests for valgrinding
16597         * check/gst/gstvalue.c: (GST_START_TEST):
16598           test refcount of deserialized buffer, found a leak
16599         * docs/gst/gstreamer-docs.sgml:
16600         * docs/gst/gstreamer-sections.txt:
16601         * docs/gst/gstreamer.types:
16602         * docs/gst/tmpl/gstminiobject.sgml:
16603           add miniobject to docs
16604         * gst/gstminiobject.c:
16605           add some docs
16606         * gst/gstvalue.c: (gst_value_deserialize_buffer),
16607         (gst_string_unwrap):
16608           fix a hard-to-find invalid write for one of the tests
16609           fix a leak for deserialized buffers
16610
16611 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16612
16613         * docs/pwg/advanced-events.xml:
16614         * docs/pwg/advanced-request.xml:
16615         * docs/pwg/advanced-scheduling.xml:
16616         * docs/pwg/appendix-porting.xml:
16617         * docs/pwg/building-boiler.xml:
16618         * docs/pwg/intro-preface.xml:
16619         * docs/pwg/other-ntoone.xml:
16620           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
16621           of example code and explanation for pad activation, loop() and
16622           getrange() functions and a bit more. Remove old comments pointing
16623           to loop-functions.
16624         * examples/pwg/Makefile.am:
16625           Add loop/getrange examples.
16626
16627 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16628
16629         * configure.ac:
16630           check for valgrind binary + some fixes
16631         * check/gst.supp:
16632           valgrind suppressions for the tests
16633         * check/Makefile.am:
16634           add a valgrind: target that valgrinds the unit tests
16635         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
16636         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
16637         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16638         * check/gst/gstghostpad.c:
16639           added some cleanup
16640         * check/gst/gstdata.c:
16641           removed
16642         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
16643         (thread_unref), (gst_mini_object_suite), (main):
16644           added
16645         * gst/gst.c: (gst_deinit):
16646         * gst/gst.h:
16647           add a method to clean up.
16648         * gst/gstsystemclock.c: (gst_system_clock_dispose),
16649         (gst_system_clock_obtain):
16650           allow for disposing the system clock.
16651         * tools/gst-launch.c: (main):
16652           deinit
16653
16654 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16655
16656         * docs/gst/tmpl/gstbasesrc.sgml:
16657         * docs/gst/tmpl/gstfakesrc.sgml:
16658         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16659         (gst_base_src_init), (gst_base_src_set_property),
16660         (gst_base_src_get_property), (gst_base_src_get_range),
16661         (gst_base_src_start):
16662         * gst/base/gstbasesrc.h:
16663           add num-buffers property
16664         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16665         (gst_fakesrc_init), (gst_fakesrc_set_property),
16666         (gst_fakesrc_get_property), (gst_fakesrc_create),
16667         (gst_fakesrc_start):
16668           remove num-buffers property
16669
16670 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16671
16672         * docs/gst/gstreamer-sections.txt:
16673         * docs/gst/tmpl/gstbasesink.sgml:
16674         * docs/gst/tmpl/gstbasesrc.sgml:
16675         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
16676         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
16677         (gst_base_sink_finalize), (gst_base_sink_set_clock),
16678         (gst_base_sink_set_property), (gst_base_sink_get_property),
16679         (gst_base_sink_handle_object), (gst_base_sink_event),
16680         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
16681         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
16682         (gst_base_sink_loop), (gst_base_sink_deactivate),
16683         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
16684         (gst_base_sink_change_state):
16685         * gst/base/gstbasesink.h:
16686         * gst/base/gstbasesrc.h:
16687         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
16688         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16689         (gst_filesink_init):
16690           more macro splitting
16691
16692 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16693
16694         * gst/gstelement.c: (gst_element_get_bus):
16695           add debug
16696         * tools/gst-launch.c: (check_intr), (event_loop):
16697           fix bus leaks
16698
16699 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16700
16701         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
16702           fix a caps leak
16703
16704 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16705
16706         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16707         (gst_base_src_finalize):
16708           add finalize method and clean up properly
16709         * gst/gstpipeline.c: (gst_pipeline_dispose):
16710           add debug
16711
16712 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16713
16714         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
16715         (gst_bin_suite):
16716           add more things to check
16717         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
16718         * gst/gstelement.c:
16719           more debug
16720
16721 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16722
16723         * check/elements/gstfakesrc.c: (chain_func), (event_func),
16724         (GST_START_TEST), (fakesrc_suite):
16725         * check/gst-libs/gdp.c: (GST_START_TEST):
16726         * check/gst/gst.c: (GST_START_TEST):
16727         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
16728         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16729         * check/gst/gstbus.c: (GST_START_TEST):
16730         * check/gst/gstcaps.c: (GST_START_TEST):
16731         * check/gst/gstdata.c: (GST_START_TEST):
16732         * check/gst/gstelement.c: (GST_START_TEST):
16733         * check/gst/gstghostpad.c: (GST_START_TEST):
16734         * check/gst/gstiterator.c: (GST_START_TEST):
16735         * check/gst/gstmessage.c: (GST_START_TEST):
16736         * check/gst/gstobject.c: (GST_START_TEST):
16737         * check/gst/gstpad.c: (GST_START_TEST):
16738         * check/gst/gststructure.c: (GST_START_TEST):
16739         * check/gst/gstsystemclock.c: (GST_START_TEST),
16740         (gst_systemclock_suite):
16741         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
16742         * check/gst/gstvalue.c: (GST_START_TEST):
16743         * check/pipelines/cleanup.c: (GST_START_TEST):
16744         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
16745         * check/states/sinks.c: (GST_START_TEST):
16746         * check/gstcheck.c: (gst_check_init):
16747         * check/gstcheck.h:
16748           add debugging category
16749           use GST_START_TEST now, so we add a debug line
16750
16751 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16752
16753         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
16754           add test for state change message on a bin
16755         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
16756           add another test
16757         * gst/gstbin.c: (gst_bin_init):
16758         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
16759         * gst/gstelement.c: (gst_element_post_message),
16760         (gst_element_set_state):
16761         * gst/gstelementfactory.c: (gst_element_factory_create):
16762         * gst/gstmessage.c: (gst_message_new):
16763         * gst/gstscheduler.c:
16764           various debugging additions and cleanups
16765
16766 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16767
16768         * check/Makefile.am:
16769         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
16770         (main):
16771           adding tests for elements
16772         * gst/gstelement.c: (gst_element_dispose):
16773
16774 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16775
16776         * gst/registries/gstlibxmlregistry.c: (load_feature):
16777           plug more leaks.  A simple gst_init() now is leakfree, yay.
16778
16779 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16780
16781         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
16782         (gst_xml_registry_load):
16783           plug another memleak
16784
16785 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16786
16787         * configure.ac:
16788           use GST_SET_ERROR_CFLAGS
16789         * docs/faq/cvs.xml:
16790           change to ERROR_CFLAGS
16791
16792 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16793
16794         * configure.ac:
16795           make GST_ERROR_CFLAGS overridable and re-enable Werror
16796         * docs/faq/cvs.xml:
16797           add a note about error CFLAGS
16798         * docs/gst/tmpl/gstfakesrc.sgml:
16799         * gst/elements/gstfakesrc.c:
16800           comment out some unused code
16801         * gst/gst.c: (split_and_iterate):
16802         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
16803         (load_feature):
16804           plug some memleaks
16805
16806 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16807
16808         * common/Makefile.am:
16809         * common/gtk-doc.mak:
16810         * docs/gst/Makefile.am:
16811           factor out gtk-doc.mak
16812
16813 2005-07-07  Wim Taymans  <wim@fluendo.com>
16814
16815         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
16816         (gst_thread_scheduler_dispose):
16817         Unlock the STREAM_LOCK completely.
16818
16819 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16820
16821         * check/Makefile.am:
16822         * check/elements/.cvsignore:
16823         * check/elements/gstfakesrc.c: (chain_func), (event_func),
16824         (START_TEST), (fakesrc_suite), (main):
16825         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16826         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
16827         (gst_fakesrc_create), (gst_fakesrc_start):
16828         * gst/elements/gstfakesrc.h:
16829           adding a first element test
16830
16831 2005-07-07  Andy Wingo  <wingo@pobox.com>
16832
16833         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
16834         debug message.
16835
16836 2005-07-07  Wim Taymans  <wim@fluendo.com>
16837
16838         * gst/gstquery.c:
16839         * gst/gstquery.h:
16840         Remove old types
16841
16842 2005-07-07  Wim Taymans  <wim@fluendo.com>
16843
16844         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
16845         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
16846         Allow subclasses to implement their own negotiation.
16847
16848 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
16849
16850         * docs/design/part-gstbin.txt:
16851         * docs/design/part-gstpipeline.txt:
16852           Update design notes to reflect the movement of
16853           responsibility for bus handling from GstPipeline to
16854           GstBin
16855
16856 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
16857
16858         * configure.ac:
16859           Remove unnecessary queue2/3/4 examples.
16860
16861 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
16862
16863         * examples/Makefile.am:
16864         * examples/helloworld/helloworld.c: (event_loop), (main):
16865         * examples/queue/queue.c: (event_loop), (main):
16866         * examples/queue2/queue2.c: (main):
16867           Update a couple of the examples to work again.
16868
16869         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16870         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
16871          Spelling corrections and extra debug.
16872         
16873         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
16874         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
16875         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
16876         * gst/gstbin.h:
16877         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
16878         (gst_pipeline_change_state):
16879         * gst/gstpipeline.h:
16880           Move the bus handler for children to the GstBin, and create a
16881           separate bus for receiving messages from children to the one the
16882           bus sends 'upwards' on.
16883
16884 2005-07-06  Wim Taymans  <wim@fluendo.com>
16885
16886         * gst/base/README:
16887         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16888         (gst_base_sink_handle_object), (gst_base_sink_loop),
16889         (gst_base_sink_change_state):
16890         * gst/base/gstbasesink.h:
16891         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16892         (gst_base_src_init), (gst_base_src_setcaps),
16893         (gst_base_src_getcaps), (gst_base_src_loop),
16894         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
16895         (gst_base_src_start), (gst_base_src_change_state):
16896         * gst/base/gstbasesrc.h:
16897         Make basesrc negotiate.
16898         Handle the case where preroll fails in basesink.
16899         Update README.
16900
16901 2005-07-06  Wim Taymans  <wim@fluendo.com>
16902
16903         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
16904         Implement the fixate function.
16905         Clean up acceptcaps.
16906
16907 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16908
16909         * docs/pwg/building-filterfactory.xml:
16910         * docs/pwg/pwg.xml:
16911           Remove never-written filter-factory chapter; I'll add the various
16912           base classes to part 4 ("other element types") later on.
16913
16914 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16915
16916         * docs/pwg/advanced-negotiation.xml:
16917         * docs/pwg/building-boiler.xml:
16918         * docs/pwg/building-pads.xml:
16919         * docs/pwg/pwg.xml:
16920         * examples/pwg/Makefile.am:
16921           Add a chapter on caps negotiation, simplify the original code
16922           samples a bit w.r.t. caps negotiation, add link to the advanced
16923           section. Add a bunch of examples showing different use cases of
16924           different types of caps negotiation. Upstream renegotiation isn't
16925           fully documented yet since nobody knows how that works.
16926
16927 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16928
16929         * check/gst/gstpad.c:
16930         * check/gstcheck.c:
16931         * gst/gstpad.c: (gst_pad_get_internal_links_default):
16932           if pad has no parent, return NULL as list of internal links
16933
16934 2005-07-05  Andy Wingo  <wingo@pobox.com>
16935
16936         * gst/elements/gstfilesrc.c:
16937         * gst/elements/gstfakesrc.c: 
16938         * gst/base/gstpushsrc.c:
16939         * gst/base/gstbasesrc.h: 
16940         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
16941         
16942 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
16943
16944         * Makefile.am:
16945           better report generation target (lcov needs a patch)
16946
16947 2005-07-05  Andy Wingo  <wingo@pobox.com>
16948
16949         * gst/elements, testsuite: Null if we got it...
16950
16951 2005-07-05  Wim Taymans  <wim@fluendo.com>
16952
16953         * configure.ac:
16954         * libs/gst/dataprotocol/Makefile.am:
16955         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
16956         * libs/gst/dataprotocol/dataprotocol.h:
16957         * pkgconfig/Makefile.am:
16958         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
16959         * pkgconfig/gstreamer-dataprotocol.pc.in:
16960         Ported dataprotol to 0.9. 
16961         Added pkgconfig files.
16962
16963 2005-07-05  Andy Wingo  <wingo@pobox.com>
16964
16965         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
16966         Default to returning TRUE for the case when tranform_caps returns
16967         a fixed caps, like for identity or volume.
16968
16969         * check/gst/gstbus.c (pound_bus_with_messages): 
16970         * check/gst/gstmessage.c (START_TEST): 
16971         * check/pipelines/simple_launch_lines.c (got_handoff): Application
16972         message API change.
16973
16974         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
16975         logic weaks here: always run transform_caps, trying passthrough
16976         operation only if the original caps intersects with the transform.
16977
16978         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
16979         source and sink caps.
16980
16981         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
16982         Intersect the peer caps with the pad template before going into
16983         transform_caps.
16984         (gst_base_transform_transform_caps): More debugging.
16985
16986         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
16987         src argument.
16988
16989 2005-07-04  Edward Hervey  <edward@fluendo.com>
16990
16991         * gst/gstutils.c:
16992         * gst/gstutils.h:
16993         (gst_pad_add_*_probe): now returns the signal id for better wrapping
16994         in bindings.
16995
16996 2005-07-04  Andy Wingo  <wingo@pobox.com>
16997
16998         * check/gst/gstpad.c: Only set explicit caps on pads.
16999
17000 2005-07-01  Andy Wingo  <wingo@pobox.com>
17001
17002         * tests/network-clock.scm: Commentary update.
17003
17004         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
17005         Didn't really make sense, not implementable with basetransform,
17006         etc.
17007         (gst_identity_transform): Unref inbuf via make_writable. Feeble
17008         attempt at implementing the sync property, needs an unlock method.
17009
17010         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
17011         New func, by default returns the same caps (the identity
17012         transformation).
17013         (gst_base_transform_getcaps): Uses transform_caps to return
17014         something sensible.
17015         (gst_base_transform_setcaps): Complicated logic to get caps on
17016         both pads, even if they are different, and to call set_caps once
17017         for every time both pads get their caps set.
17018         (gst_base_transform_handle_buffer): Give the ref to the transform
17019         function. Allows in-place modification of the buffer.
17020
17021         * gst/base/gstbasetransform.h (transform_caps): New class method.
17022         Given caps on one side, what can I do on the other.
17023         (set_caps): Take two caps, one for each side of the element.
17024
17025         * gst/gstpad.h:
17026         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
17027         caps in place. This is safe because we can check the mutability of
17028         the caps, and a good idea because fixate functions are just called
17029         as a matter of last resort. (Not actually implemented.)
17030         (gst_pad_set_caps): If the caps we're setting is actually the same
17031         as the existing pad caps, just update the pointer without calling
17032         setcaps. Assert that caps is either NULL or fixed, as per the
17033         docs.
17034
17035         * gst/gstghostpad.c: Update for fixate changes.
17036
17037 2005-07-02  Andy Wingo  <wingo@pobox.com>
17038
17039         * gst/gstcaps.c:
17040         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
17041         two refcounts makes it immutable, which is enough. Doc more.
17042
17043 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
17044
17045         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
17046           Put the mini_object into GValue as a mini_object,
17047           not a gpointer, since that's how we declared
17048           the signal.
17049
17050 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17051
17052         * examples/pwg/Makefile.am:
17053           Fix buildbot again.
17054
17055 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17056
17057         * docs/pwg/building-testapp.xml:
17058           Add extra check.
17059         * examples/pwg/Makefile.am:
17060           Fix buildbot.
17061
17062 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17063
17064         * configure.ac:
17065         * examples/Makefile.am:
17066         * examples/pwg/Makefile.am:
17067         * examples/pwg/extract.pl:
17068           Enable building the PWG examples.
17069         * docs/pwg/advanced-interfaces.xml:
17070           Add URI interface stub.
17071         * docs/pwg/advanced-types.xml:
17072         * docs/pwg/other-autoplugger.xml:
17073         * docs/pwg/appendix-porting.xml:
17074         * docs/pwg/pwg.xml:
17075           Add porting guide (mostly stubs), remove autoplugging (see ADM).
17076         * docs/pwg/building-boiler.xml:
17077         * docs/pwg/building-chainfn.xml:
17078         * docs/pwg/building-pads.xml:
17079         * docs/pwg/building-props.xml:
17080         * docs/pwg/building-state.xml:
17081         * docs/pwg/building-testapp.xml:
17082           Update the building-*.xml parts for 0.9 changes. All examples
17083           code blocks compile in examples/pwg/*.
17084
17085 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17086
17087         * docs/manual/advanced-autoplugging.xml:
17088         * docs/manual/appendix-checklist.xml:
17089         * docs/manual/appendix-integration.xml:
17090         * docs/manual/highlevel-components.xml:
17091           Fix playbin/decodebin examples, update docs a bit, mention bus
17092           instead of signals in various places, mention kmplayer and
17093           kaffeine since they have a working GStreamer backend in the KDE
17094           section.
17095
17096 2005-06-30  Wim Taymans  <wim@fluendo.com>
17097
17098         * CHANGES-0.9:
17099         * docs/design/draft-ghostpads.txt:
17100         * docs/design/draft-push-pull.txt:
17101         * docs/design/draft-query.txt:
17102         * docs/design/part-TODO.txt:
17103         * docs/design/part-query.txt:
17104         Added CHANGES-0.9 doc, updated status of other docs.
17105         
17106         * gst/gstquery.h:
17107         Remove "hmm" macro
17108
17109 2005-06-30  Wim Taymans  <wim@fluendo.com>
17110
17111         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
17112         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
17113         (gst_base_sink_change_state):
17114         * gst/base/gstbasesink.h:
17115         Some tweaks, only EOS and a buffer complete a preroll.
17116
17117 2005-06-30  Andy Wingo  <wingo@pobox.com>
17118
17119         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
17120         activate_push down to the internal pad as well.
17121
17122 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
17123
17124         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17125
17126         * gst/gsttaginterface.c:
17127           Some documentation fixes (#307394 and #307397).
17128
17129 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
17130
17131         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17132
17133         * gst/gstvalue.c: (gst_value_intersect_list):
17134           Fix memleak (#309125).
17135
17136 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17137
17138         * docs/manual/advanced-dataaccess.xml:
17139           Fix fakesrc example to compile; doesn't work, bug somewhere...?
17140         * docs/manual/basics-pads.xml:
17141           Add reference for filtered caps to above chapter.
17142
17143 2005-06-30  Wim Taymans  <wim@fluendo.com>
17144
17145         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
17146         (gst_bin_change_state):
17147         Probes are gone.
17148         Lame attempt at making the state change function a bit
17149         more readable.
17150
17151 2005-06-30  Wim Taymans  <wim@fluendo.com>
17152
17153         * docs/design/part-clocks.txt:
17154         * docs/design/part-element-sink.txt:
17155         * docs/design/part-events.txt:
17156         * docs/design/part-preroll.txt:
17157         * docs/design/part-states.txt:
17158         Some more tweeks and additions to the docs.
17159
17160 2005-06-30  Wim Taymans  <wim@fluendo.com>
17161
17162         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
17163         (default_have_data), (gst_pad_class_init), (gst_pad_init),
17164         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
17165         (gst_pad_check_pull_range), (gst_pad_get_range),
17166         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
17167         * gst/gstpad.h:
17168         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
17169         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17170         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17171         (gst_pad_remove_buffer_probe):
17172         Removed atomic operations, use existing LOCK.
17173         Move exception handling out of main code path.
17174
17175 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17176
17177         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
17178         (silly_return_true_function), (gst_pad_class_init),
17179         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
17180         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
17181         (gst_pad_send_event):
17182           Fix accumulator, add default value by using _emitv() instead
17183           of _emit() for signal emission.
17184
17185 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17186
17187         * docs/manual/advanced-dataaccess.xml:
17188         * examples/manual/Makefile.am:
17189           Add probe example.
17190         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
17191           Make work (??).
17192
17193 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
17194
17195         * gst/elements/gstfilesink.c: (gst_filesink_render):
17196           Simplify code so that we don't have to handle short
17197           writes and return GST_FLOW_ERROR if an error occured.
17198
17199 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17200
17201         * docs/gst/gstreamer-docs.sgml:
17202           Remove probes more.
17203
17204 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17205
17206         * docs/gst/gstreamer-sections.txt:
17207         * docs/gst/tmpl/gstpad.sgml:
17208         * docs/gst/tmpl/gstprobe.sgml:
17209         * gst/Makefile.am:
17210         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
17211         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
17212         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
17213         (gst_pad_push_event), (gst_pad_send_event):
17214         * gst/gstpad.h:
17215         * gst/gstutils.c: (gst_pad_add_data_probe),
17216         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17217         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17218         (gst_pad_remove_buffer_probe):
17219         * gst/gstutils.h:
17220           Remove old probes, add new g-signal-based probes and some utility
17221           functions.
17222
17223 2005-06-29  Edward Hervey  <edward@fluendo.com>
17224
17225         * gst/gstelementfactory.c:
17226         * gst/gstutils.h:
17227         * gst/gstutils.c:
17228         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
17229         the definition to the header file.
17230
17231 2005-06-29  Andy Wingo  <wingo@pobox.com>
17232
17233         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
17234         plugins from the source directory.
17235
17236 2005-06-29  Wim Taymans  <wim@fluendo.com>
17237
17238         * docs/gst/tmpl/gstbuffer.sgml:
17239         * docs/gst/tmpl/gstclock.sgml:
17240         Some fixings for blantently wrong text.
17241
17242 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17243
17244         * check/Makefile.am:
17245         * gst/gst.c: (add_path_func), (init_pre):
17246         * gst/gstregistry.c: (gst_registry_add_path):
17247           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
17248           only scan the GST_PLUGIN_PATH locations, and not add
17249           system locations
17250
17251 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17252
17253         * docs/gst/gstreamer-sections.txt:
17254         * docs/gst/tmpl/gstbasesrc.sgml:
17255         * gst/gstelement.c:
17256         * gst/gstelement.h:
17257         * gst/gstevent.c:
17258         * gst/gstutils.c:
17259           doc fixes
17260
17261 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17262
17263         * docs/manual/advanced-autoplugging.xml:
17264           Fix autoplugging example.
17265
17266 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17267
17268         * docs/manual/advanced-autoplugging.xml:
17269         * docs/manual/mime-world.fig:
17270           Try to get autoplugging working, fix type detection. Fix text
17271           in hello-world image.
17272
17273 2005-06-29  Wim Taymans  <wim@fluendo.com>
17274
17275         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17276         (gst_base_sink_change_state):
17277         Small debug line.
17278
17279         * gst/gstclock.h:
17280         map SIGNAL and BROADCAST to the right function.
17281
17282         * gst/gstobject.h:
17283         Remove redundant braces.
17284
17285         * gst/gstpad.c: (gst_pad_set_caps):
17286         Don't call setcaps function when reseting caps to NULL.
17287
17288         * gst/gstsystemclock.c: (gst_system_clock_dispose),
17289         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
17290         (gst_system_clock_id_unschedule):
17291         Use BROADCAST as this is what we do.
17292
17293 2005-06-29  Wim Taymans  <wim@fluendo.com>
17294
17295         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17296         We are actually prerolling before commiting the state
17297         change. 
17298
17299 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17300
17301         * docs/manual/advanced-clocks.xml:
17302         * docs/manual/advanced-interfaces.xml:
17303         * docs/manual/advanced-metadata.xml:
17304         * docs/manual/advanced-position.xml:
17305         * docs/manual/advanced-schedulers.xml:
17306         * docs/manual/advanced-threads.xml:
17307         * docs/manual/appendix-porting.xml:
17308         * docs/manual/basics-bins.xml:
17309         * docs/manual/basics-bus.xml:
17310         * docs/manual/basics-elements.xml:
17311         * docs/manual/basics-helloworld.xml:
17312         * docs/manual/basics-pads.xml:
17313         * docs/manual/highlevel-components.xml:
17314         * docs/manual/manual.xml:
17315         * docs/manual/thread.fig:
17316           Update (until threads/scheduling) Application Development Manual;
17317           remove GstThread, add GstBus, add simple porting checklist, add
17318           documentation for tag writing, clocks, make all examples until this
17319           part compile and run.
17320         * examples/manual/Makefile.am:
17321           Update from changes to Application Development Manual; add bus
17322           example, remove thread example.
17323
17324 2005-06-28  Wim Taymans  <wim@fluendo.com>
17325
17326         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
17327         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
17328         (gst_bus_source_dispatch):
17329         Add debugging messages.
17330         Make internal methods static.
17331         Handle the case where the bus is flushed in the handler.
17332         
17333         * gst/gstelement.c: (gst_element_get_bus):
17334         Fix refcount in _get_bus();
17335
17336         * gst/gstpipeline.c: (gst_pipeline_change_state),
17337         (gst_pipeline_get_clock_func):
17338         Clock refcounting fixes.
17339         Handle the case where preroll timed out more gracefully.
17340         
17341         * gst/gstsystemclock.c: (gst_system_clock_dispose):
17342         Clean up the internal thread in dispose. This is needed
17343         for subclasses that actually get disposed.
17344         
17345         * gst/schedulers/threadscheduler.c:
17346         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
17347         (gst_thread_scheduler_dispose):
17348         Free thread pool in dispose.
17349
17350 2005-06-28  Andy Wingo  <wingo@pobox.com>
17351
17352         * tests/network-clock-utils.scm (debug, print-event): New utils.
17353
17354         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
17355         (*packet-loss*): Unified loss probability.
17356         (network-time): Report out-of-band events.
17357
17358         * tests/plot-data: Add support for out-of-band events. Hack it
17359         into this script instead of passing it down the pipe; should fix
17360         this later.
17361
17362 2005-06-28  Wim Taymans  <wim@fluendo.com>
17363
17364         * docs/gst/gstreamer.types:
17365         * docs/gst/tmpl/gstbasesrc.sgml:
17366         * docs/gst/tmpl/gstpad.sgml:
17367         Docs fixes.
17368
17369 2005-06-28  Wim Taymans  <wim@fluendo.com>
17370
17371         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
17372         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
17373         (gst_proxy_pad_do_fixatecaps):
17374         Correctly proxy the check_pull_range function.
17375
17376 2005-06-28  Andy Wingo  <wingo@pobox.com>
17377
17378         * tests/network-clock.scm: Removed need for slib.
17379         
17380 2005-06-28  Wim Taymans  <wim@fluendo.com>
17381
17382         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
17383         (gst_basesink_preroll_queue_flush):
17384         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
17385         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
17386         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
17387         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
17388         (gst_proxy_pad_set_property):
17389         * gst/gstpad.c:
17390         * gst/gstpad.h:
17391         * gst/gstqueue.c: (gst_queue_init):
17392         The deprecated pad loop function is removed now.
17393
17394 2005-06-28  Andy Wingo  <wingo@pobox.com>
17395
17396         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
17397         New parameters, simulate network packet loss.
17398
17399         * tests/network-clock-utils.scm: Initialize the RNG.
17400
17401 2005-06-28  Wim Taymans  <wim@fluendo.com>
17402
17403         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
17404         (gst_basesink_event), (gst_basesink_deactivate):
17405         Flushing the preroll queue always needs to unlock the waiters.
17406
17407 2005-06-28  Edward Hervey  <edward@fluendo.com>
17408
17409         * gst/gstpipeline.c: (gst_pipeline_send_event): 
17410         Wheen a seek was successful on a pipeline, set the stream_time to the
17411         seek offset in order to have a synchronized stream_time.
17412
17413 2005-06-28  Wim Taymans  <wim@fluendo.com>
17414
17415         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
17416         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
17417         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
17418         (gst_proxy_pad_do_fixatecaps):
17419         Call wrapper function instead of just calling the function
17420         pointers. This takes care of any locking and whatmore.
17421
17422 2005-06-28  Wim Taymans  <wim@fluendo.com>
17423
17424         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
17425         (gst_pad_pull_range):
17426         * gst/gstpad.h:
17427         CONNECTED -> LINKED.
17428
17429 2005-06-28  Andy Wingo  <wingo@pobox.com>
17430
17431         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
17432         source-munging commit!!!
17433
17434         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
17435         (gst_object_sink): Take gpointer arguments, not GstObject --
17436         avoids casts. Like GLib.
17437
17438         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
17439         activate.
17440
17441 2005-06-27  Andy Wingo  <wingo@pobox.com>
17442
17443         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
17444         remaining buffer.
17445
17446         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
17447         returns a sorted copy of the trace list.
17448         (gst_alloc_trace_print_live): New API, only prints traces with
17449         live objects. Sort the list.
17450         (gst_alloc_trace_print_all): Sort the list.
17451         (gst_alloc_trace_print): Align columns.
17452
17453         * gst/elements/gstttypefindelement.c:
17454         * gst/elements/gsttee.c:
17455         * gst/base/gstbasesrc.c:
17456         * gst/base/gstbasesink.c:
17457         * gst/base/gstbasetransform.c:
17458         * gst/gstqueue.c: Adapt for pad activation changes.
17459
17460         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
17461         sched.
17462         (gst_pipeline_dispose): Drop ref on sched.
17463
17464         * gst/gstpad.c (gst_pad_init): Set the default activate func.
17465         (gst_pad_activate_default): Push mode by default.
17466         (pre_activate_switch, post_activate_switch): New stubs, things to
17467         do before and after switching activation modes on pads.
17468         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
17469         the pad's activate function to choose which mode to activate.
17470         Shortcut on deactivation and call the right function directly.
17471         (gst_pad_activate_pull): New API, (de)activates a pad in pull
17472         mode.
17473         (gst_pad_activate_push): New API, same for push mode.
17474         (gst_pad_set_activate_function) 
17475         (gst_pad_set_activatepull_function) 
17476         (gst_pad_set_activatepush_function): Setters for new API.
17477
17478         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
17479         Trace all miniobjects.
17480         (gst_mini_object_make_writable): Unref the arg if we copy, like
17481         gst_caps_make_writable.
17482
17483         * gst/gstmessage.c (_gst_message_initialize): No trace init.
17484
17485         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
17486         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
17487         Adapt for new pad API.
17488
17489         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
17490
17491         * gst/gstelement.h:
17492         * gst/gstelement.c (gst_element_iterate_src_pads) 
17493         (gst_element_iterate_sink_pads): New API functions.
17494         
17495         * gst/gstelement.c (iterator_fold_with_resync): New utility,
17496         should fold into gstiterator.c in some form.
17497         (gst_element_pads_activate): Simplified via use of fold and
17498         delegation of decisions to gstpad->activate.
17499
17500         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
17501         help in debugging.
17502
17503         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
17504         class once in init, like gstmessage. Didn't run into this issue
17505         but it seems correct. Don't initialize a trace, gstminiobject does
17506         that.
17507
17508         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
17509         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
17510         to the bus.
17511         (assert_live_count): New util function, uses alloc traces to check
17512         cleanup.
17513
17514         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
17515         To be modified when unlink drops the internal pad.
17516
17517 2005-06-27  Wim Taymans  <wim@fluendo.com>
17518
17519         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
17520         (gst_bin_change_state):
17521         Cleanup the get_state() function a little, make sure it
17522         iterates the same set of elements.
17523         Added stub iterate_state_order().
17524
17525 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
17526
17527         * docs/gst/gstreamer-docs.sgml:
17528         * docs/gst/gstreamer-sections.txt:
17529         * docs/gst/gstreamer.types:
17530         * docs/gst/tmpl/gstbasesink.sgml:
17531         * docs/gst/tmpl/gstbasesrc.sgml:
17532         * docs/gst/tmpl/gstbasetransform.sgml:
17533         * docs/gst/tmpl/gstelement.sgml:
17534         * docs/gst/tmpl/gstiterator.sgml:
17535         * gst/base/gstbasesrc.c:
17536         * gst/base/gstbasesrc.h:
17537         * gst/base/gstbasetransform.h:
17538         * gst/gstelement.c:
17539         * gst/gstiterator.h:
17540           adding basetransform and iterator docs
17541
17542 2005-06-27  Andy Wingo  <wingo@pobox.com>
17543
17544         * docs/design/part-activation.txt: Notes on how activation should
17545         work -- not quite implemented yet.
17546
17547 2005-06-25  Wim Taymans  <wim@fluendo.com>
17548
17549         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
17550         At least get the chain function correct, needs more
17551         fixing.
17552
17553 2005-06-25  Wim Taymans  <wim@fluendo.com>
17554
17555         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
17556         (gst_basesink_handle_object), (gst_basesink_event),
17557         (gst_basesink_do_sync), (gst_basesink_handle_event),
17558         (gst_basesink_change_state):
17559         * gst/gsttask.h:
17560         Right, two problems here: ghostpads don't take locks and
17561         glib _rec_mutex_lock_full() with depth==0 still locks.
17562         Catch illegal locking and g_warn them.
17563
17564 2005-06-25  Wim Taymans  <wim@fluendo.com>
17565
17566         * check/states/sinks.c: (START_TEST), (gst_object_suite):
17567         Have to check for completion now...
17568
17569 2005-06-25  Wim Taymans  <wim@fluendo.com>
17570
17571         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
17572         (gst_basesink_handle_object), (gst_basesink_event),
17573         (gst_basesink_do_sync), (gst_basesink_handle_event),
17574         (gst_basesink_change_state):
17575         * gst/gstpad.h:
17576         Unlock STREAM_LOCK whatever the recursion was.
17577
17578 2005-06-25  Wim Taymans  <wim@fluendo.com>
17579
17580         * gst/base/gstbasesink.c: (gst_basesink_set_property),
17581         (gst_basesink_preroll_queue_empty),
17582         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
17583         (gst_basesink_event), (gst_basesink_do_sync),
17584         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
17585         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
17586         (gst_basesink_change_state):
17587         Reworked the base sink, handle event and buffer serialisation
17588         correctly and removed possible deadlock.
17589         Handle EOS correctly.
17590
17591 2005-06-25  Wim Taymans  <wim@fluendo.com>
17592
17593         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
17594         (gst_pipeline_change_state):
17595         * tools/gst-launch.c: (check_intr), (event_loop), (main):
17596         Allow elements to post EOS in the state change function.
17597         Fix up -launch, make it exit the poll loop when the
17598         pipeline actually changed state.
17599         Fix up warning parsing in -launch.
17600
17601 2005-06-25  Wim Taymans  <wim@fluendo.com>
17602
17603         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
17604         (gst_tee_sink_activate):
17605         Core takes STREAM_LOCK for us now.
17606
17607 2005-06-25  Wim Taymans  <wim@fluendo.com>
17608
17609         * gst/gstelement.c: (gst_element_get_state_func),
17610         (gst_element_set_state):
17611         * gst/gstelement.h:
17612         * gst/gstmessage.c: (gst_message_parse_error),
17613         (gst_message_parse_warning):
17614         Keep track of current target state while performing a state
17615         change so that subclasses can do something interesting.
17616         Fix parsing of warning/error messages when GError is NULL.
17617
17618 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17619
17620         * docs/gst/Makefile.am:
17621         * docs/gst/gstreamer-docs.sgml:
17622         * docs/gst/gstreamer-sections.txt:
17623         * docs/gst/gstreamer.types:
17624         * docs/gst/tmpl/gstbasesink.sgml:
17625         * docs/gst/tmpl/gstbasesrc.sgml:
17626         * docs/gst/tmpl/gstbin.sgml:
17627         * docs/gst/tmpl/gstcompat.sgml:
17628         * docs/gst/tmpl/gstfakesink.sgml:
17629         * docs/gst/tmpl/gstfakesrc.sgml:
17630         * docs/gst/tmpl/gstfilesink.sgml:
17631         * docs/gst/tmpl/gstfilesrc.sgml:
17632         * docs/gst/tmpl/gstindex.sgml:
17633         * docs/manual/appendix-quotes.xml:
17634         * gst/base/gstbasesrc.h:
17635         * gst/elements/gstfakesrc.h:
17636         * gst/gstmessage.h:
17637           start pulling in base classes and elements in our docs
17638
17639 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
17640
17641         * docs/gst/Makefile.am:
17642         * docs/libs/Makefile.am:
17643           fixed make distcheck with gtk-doc 1.3
17644
17645 2005-06-23  Wim Taymans  <wim@fluendo.com>
17646
17647         * gst/gstelement.c: (gst_element_get_state_func),
17648         (gst_element_set_state), (gst_element_change_state):
17649         When the state did not change, also report NO_PREROLL
17650         when it matters.
17651
17652 2005-06-23  Wim Taymans  <wim@fluendo.com>
17653
17654         * gst/gstpad.c: (gst_pad_event_default):
17655         * gst/gstqueue.c: (gst_queue_loop):
17656         No unsafe task pausing please.
17657
17658 2005-06-23  Wim Taymans  <wim@fluendo.com>
17659
17660         * gst/schedulers/threadscheduler.c:
17661         (gst_thread_scheduler_task_start),
17662         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
17663         Ref the task before pushing it on the threadpool. This
17664         makes sure that we have a ref when the threadfunction is
17665         actually called.
17666
17667 2005-06-23  Andy Wingo  <wingo@pobox.com>
17668
17669         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
17670         offset is greater than the file's size.
17671
17672         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
17673         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
17674         * gst/gstobject.c (gst_object_class_init): Make the class lock
17675         recursive. Wim won't let me drop deep_notify. Decodebin works
17676         again, whoopdy doo.
17677
17678         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
17679         internal pad, and hacks accordingly. Doesn't do it on the target
17680         pad because we change its caps. Probably catches all cases of
17681         interest tho.
17682         (gst_ghost_pad_set_property): Connect to notify::caps as
17683         appropritate.
17684
17685         * tests/network-clock.scm (plot-simulation): Pipe data to the
17686         elite python skript.
17687
17688         * tests/network-clock-utils.scm (define-parameter): New macro,
17689         defines a parameter that can be set via the command line.
17690         (set-parameter!, parse-parameter-arguments): Command line args
17691         parser.
17692
17693         * tests/plot-data: Simple matplotlib-based plotter, takes input on
17694         stdin.
17695
17696 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
17697
17698         * gst/elements/gsttypefindelement.c:
17699         (gst_type_find_element_handle_event):
17700           Don't restart typefinding on a discont.
17701         * gst/gstelement.c: (gst_element_set_state):
17702           Debug spelling fix.
17703         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
17704           Allow changing mode of an active pad.
17705           Debug output fixes.
17706         * gst/registries/gstlibxmlregistry.c: (load_feature):
17707           Don't cast a static pad template to a normal pad template.
17708
17709 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17710
17711         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17712         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
17713           remove gst_strtoll completely, since it didn't actually do
17714           anything more than what g_ascii_strtoull already does.
17715           check for range errors when deserializing
17716           do a cast for the unsigned cases; but further fixing needs
17717           a decision on what the interpretation of "(int)" and
17718           deserialization should be for values that fall outside the
17719           type's boundaries (ie, refuse, or interpret as casting)
17720
17721 2005-06-23  Wim Taymans  <wim@fluendo.com>
17722
17723         * check/Makefile.am:
17724         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
17725         * docs/design/part-live-source.txt:
17726         * docs/design/part-states.txt:
17727         * gst/base/gstbasesrc.c: (gst_basesrc_init),
17728         (gst_basesrc_set_live), (gst_basesrc_is_live),
17729         (gst_basesrc_get_range), (gst_basesrc_activate),
17730         (gst_basesrc_change_state):
17731         * gst/base/gstbasesrc.h:
17732         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17733         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
17734         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
17735         * gst/gstelement.c: (gst_element_get_state_func),
17736         (gst_element_set_state):
17737         * gst/gstelement.h:
17738         * gst/gsttypes.h:
17739         * tools/gst-launch.c: (event_loop), (main):
17740         Added support for live sources and other elements that
17741         cannot do preroll.
17742         Updated design docs, added live-source design doc.
17743         Implemented live source functionality in basesrc
17744         Fix error condition in _bin_get_state()
17745         Implement live source handling in -launch.
17746         Added check for live sources.
17747         Fixed case in GstBin where elements were changed state
17748         multiple times.
17749
17750
17751 2005-06-23  Andy Wingo  <wingo@pobox.com>
17752
17753         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
17754         borken refcounting.
17755
17756         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
17757         gst_caps_replace takes care of this for us.
17758
17759         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
17760         gst_pad_set_caps on the target, not just its setcaps() function.
17761
17762         * tests/network-clock.scm: 
17763         * tests/network-clock-utils.scm: A network clock simulator.
17764         Something of an algorithmic testbed before doing something in C.
17765
17766 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17767
17768         * check/Makefile.am:
17769         * check/gst/capslist.h:
17770           copy over from 0.8, and add two with bitmasks specified with
17771           (int) 0xFF...
17772         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
17773           add test to parse everything from capslist.h
17774         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
17775         (main):
17776           add test for structure deserialization
17777         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17778           add tests for deserialization of strings to int types
17779         * gst/gststructure.c: (gst_structure_nth_field_name):
17780         * gst/gststructure.h:
17781           add a way to get the name of a field referenced by index
17782         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
17783           instead of checking if the resulting long long lies between
17784           min and max, we check if the long long would fit into
17785           a number of bytes for the final type.
17786           This fixes cases where a string represents 2^32 - 1, which
17787           when cast to int would be the (valid) -1, but is bigger than
17788           G_MAXINT
17789
17790 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17791
17792         * gst/parse/grammar.y:
17793           add a log line for type deserialization
17794
17795 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17796
17797         * check/gst/gstvalue.c: (START_TEST):
17798         * gst/gstvalue.c: (gst_value_deserialize):
17799           return long long, not int, so gint64 deserialization actually
17800           works.  Is there any flag that makes the compiler check this ?
17801           Fixes #308559
17802
17803 2005-06-22  Wim Taymans  <wim@fluendo.com>
17804
17805         * gst/gstbuffer.h:
17806         Added convenience macros for setting buffers in GValue.
17807
17808 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17809
17810         * check/gst/.cvsignore:
17811         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17812           add a test deserializing int64, and comment part out because
17813           it fails, yay !
17814
17815 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17816
17817         * check/Makefile.am:
17818         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
17819         * testsuite/Makefile.am:
17820         * testsuite/caps/Makefile.am:
17821         * testsuite/caps/value_serialize.c:
17822         * testsuite/test_gst_init.c:
17823           move a value_serialize test over
17824
17825 2005-06-20  Wim Taymans  <wim@fluendo.com>
17826
17827         * gst/gstpad.c:
17828         Small doc updates.
17829         
17830         * gst/gstvalue.c: (gst_value_compare_buffer),
17831         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
17832         (gst_value_compare_flags), (gst_value_serialize_flags),
17833         (gst_value_deserialize_flags), (_gst_value_initialize):
17834         Fix serialisation of buffers, they are not boxed types anymore
17835
17836 2005-06-20  Wim Taymans  <wim@fluendo.com>
17837
17838         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
17839         Testcase to show error in buffer-on-caps serialisation.
17840
17841 2005-06-20  Andy Wingo  <wingo@pobox.com>
17842
17843         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
17844         will be adding to later.
17845
17846         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
17847         if its socks fill with rocks.
17848         (gst_system_clock_obtain): Set the name on object construction.
17849         Avoid double-checked locking.
17850
17851 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
17852
17853         * gst/gsturi.c: (gst_element_make_from_uri):
17854           Fix potential endless loop.
17855
17856 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17857
17858         * check/Makefile.am:
17859           add gsttag
17860         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
17861         (main):
17862           move over from testsuite dir and clean up
17863         * configure.ac:
17864         * gst/gsttag.c:
17865         * testsuite/Makefile.am:
17866         * testsuite/tags/.cvsignore:
17867         * testsuite/tags/Makefile.am:
17868         * testsuite/tags/merge.c:
17869           remove testsuite/tags
17870
17871 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17872
17873         * docs/gst/gstreamer-sections.txt:
17874         * docs/gst/tmpl/gstenumtypes.sgml:
17875         * win32/gstenumtypes.c:
17876           clean up documentation build a little
17877
17878 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17879
17880         * check/gstcheck.h:
17881           add macros for checking refcounts on objects and caps
17882         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
17883           add some more unit tests
17884         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17885         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
17886           fix leaked refcounts (I hope :)) so unittest works
17887         * gst/gstpad.h:
17888           whitespace removal
17889
17890 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17891
17892         * configure.ac: back to HEAD
17893
17894 === release 0.9.1 ===
17895
17896 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
17897
17898         * NEWS:
17899         * RELEASE:
17900           updated
17901
17902 2005-06-17  Andy Wingo  <wingo@pobox.com>
17903
17904         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
17905         assert; it's always possible that the pad gets deactivated in
17906         between the checks in gstpad.c and the implementation. Rely on
17907         finish_preroll() to return a FLUSHING or similar instead of on the
17908         assert.
17909         
17910         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
17911         clock and post an EOS message if we come out of finish_preroll in
17912         the playing state.
17913
17914 2005-06-16  David Schleef  <ds@schleef.org>
17915
17916         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
17917         (gst_capsfilter_set_property): Allow NULL as possible value
17918         for filter_caps property, indicating GST_CAPS_ANY.
17919
17920 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17921
17922         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
17923           fix debug output
17924         * gst/schedulers/Makefile.am:
17925           use libgst prefix
17926         * gstreamer.spec.in:
17927           fix spec for it
17928
17929 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17930
17931         * gstreamer.spec.in:
17932           clean up
17933
17934 2005-06-08  Andy Wingo  <wingo@pobox.com>
17935
17936         * gst/gstutils.c: RPAD fixes all around.
17937         (gst_element_link_pads): Refcounting fixes.
17938
17939         * tools/gst-inspect.c:
17940         * tools/gst-xmlinspect.c:
17941         * parse/grammar.y:
17942         * gst/base/gsttypefindhelper.c:
17943         * gst/base/gstbasesink.c:
17944         * gst/gstqueue.c: RPAD fixes.
17945
17946         * gst/gstghostpad.h:
17947         * gst/gstghostpad.c: New ghost pad implementation as full proxy
17948         pads. The tricky thing is they provide both source and sink
17949         interfaces, since they proxy the internal pad for the external
17950         pad, and vice versa. Implement with lower-level ProxyPad objects,
17951         with the interior proxy pad as a child of the exterior ghost pad.
17952         Should write a doc on this.
17953         
17954         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
17955         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
17956         gst_object API.
17957         
17958         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
17959         pads are real pads. No ghost pads in this file. Not documenting
17960         the myriad s/RPAD/PAD/ and REALIZE fixes.
17961         (gst_pad_class_init): Add properties for "direction" and
17962         "template". Both are construct-only, so they can't change during
17963         the life of the pad. Fixes properly deriving from GstPad.
17964         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
17965         derived objects, just set properties when creating the objects via
17966         g_object_new.
17967         (gst_pad_get_parent): Implement as a function, return NULL if the
17968         parent is not an element.
17969         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
17970         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
17971         
17972         * gst/gstobject.c (gst_object_class_init): Make name a construct
17973         property. Don't set it in the object init.
17974
17975         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
17976         with UNKNOWN direction.
17977         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
17978         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
17979         (gst_element_remove_pad): Remove ghost-pad special cases.
17980         (gst_element_pads_activate): Remove rpad cruft.
17981
17982         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
17983         catch the pad's-parent-not-an-element case.
17984
17985         * gst/gst.h: Include gstghostpad.h.
17986
17987         * gst/gst.c (init_post): No more real, ghost pads.
17988
17989         * gst/Makefile.am: Add gstghostpad.[ch].
17990
17991         * check/Makefile.am:
17992         * check/gst/gstbin.c:
17993         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
17994         into a bin creates ghost pads, and that the refcounts are right.
17995         Partly moved from gstbin.c.
17996
17997 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17998
17999         * check/gst-libs/.cvsignore:
18000         * check/gst/.cvsignore:
18001         * check/pipelines/.cvsignore:
18002           ignore more
18003         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
18004         (START_TEST), (cleanup_suite), (main):
18005           add some tests related to cleanup after running pipelines
18006
18007 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
18008
18009         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
18010           add a testsuite for GstBuffer
18011
18012 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
18013
18014         * gst/gstminiobject.h:
18015           add defines for accessing the refcount
18016
18017 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
18018
18019         * Makefile.am: added support for html unit test coverage reports
18020
18021 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
18022
18023         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
18024           Free existing caps if the capsfilter changes. Add a FIXME about
18025           setting those caps on the pads.
18026
18027         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
18028           Before adding a ghost pad to a parent bin, check that there isn't
18029           already one for the element on the bin. Prevents infinite recursion
18030           when using decodebin in parse pipelines. Andy says he'll rewrite the
18031           way this works anyway, so ignore the hack.
18032
18033 2005-06-02  Andy Wingo  <wingo@pobox.com>
18034
18035         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
18036         file size, pass it on to the type find helper.
18037
18038         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
18039         segment_start and segment_end properly according to the seek
18040         method. Segment_end is still a bit flaky because offset can be
18041         negative for CUR and END cases, but it takes -1 as an "unset"
18042         value.
18043
18044 2005-06-02  Wim Taymans  <wim@fluendo.com>
18045
18046         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
18047         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
18048         (gst_basesink_activate):
18049         * gst/base/gstbasesink.h:
18050         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
18051         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
18052         (gst_pad_query), (gst_pad_start_task):
18053         * gst/gstpad.h:
18054         * gst/gstqueue.c: (gst_queue_bufferalloc),
18055         (gst_queue_handle_sink_event), (gst_queue_chain):
18056         Bufferalloc: return GstFlowReturn to more accuratly report
18057         why allocation failed.
18058
18059 2005-06-02  Wim Taymans  <wim@fluendo.com>
18060
18061         * gst/gstpipeline.c: (gst_pipeline_send_event):
18062         Take snapshot of state without blocking.
18063
18064 2005-06-02  Wim Taymans  <wim@fluendo.com>
18065
18066         * docs/design/part-TODO.txt:
18067         * docs/design/part-caps.txt:
18068         * docs/design/part-clocks.txt:
18069         * docs/design/part-negotiation.txt:
18070         * docs/design/part-preroll.txt:
18071         Small doc updates 
18072
18073 2005-05-30  Wim Taymans  <wim@fluendo.com>
18074
18075         * gst/elements/gstidentity.c: (gst_identity_event),
18076         (gst_identity_transform), (gst_identity_get_property):
18077         Protect last_message property as it is accessed from
18078         multiple threads.
18079
18080 2005-05-30  Wim Taymans  <wim@fluendo.com>
18081
18082         * gst/gstelement.c: (gst_element_init),
18083         (gst_element_pads_activate), (gst_element_change_state):
18084         Slicker pad activation code.
18085
18086 2005-05-30  Wim Taymans  <wim@fluendo.com>
18087
18088         * gst/Makefile.am:
18089         * gst/gstelement.h:
18090         * gst/gstelementfactory.h:
18091         * gst/gsttypes.h:
18092         Move elementfactory methods to separate .h file.
18093
18094 2005-05-30  Wim Taymans  <wim@fluendo.com>
18095
18096         * docs/design/part-overview.txt:
18097         * gst/gstsystemclock.h:
18098         Small typo fixes, doc updates.
18099
18100 2005-05-30  Wim Taymans  <wim@fluendo.com>
18101
18102         * gst/gst.c: (gst_init_get_popt_table), (init_post),
18103         (init_popt_callback):
18104         Remove cpu-opt flag.
18105
18106 2005-05-30  Wim Taymans  <wim@fluendo.com>
18107
18108         * gst/gstbuffer.c: (gst_subbuffer_finalize),
18109         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
18110         * gst/gstbuffer.h:
18111         Avoid typechecking in places where not needed.
18112         Added accessor for malloc_data.
18113
18114 2005-05-30  Wim Taymans  <wim@fluendo.com>
18115
18116         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
18117         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
18118         (gst_pad_configure_sink), (gst_pad_configure_src),
18119         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
18120         (gst_pad_start_task):
18121         Propagate errors from _set_caps() in configure_src/sink
18122         functions instead of returning TRUE.
18123         FLUSH events can travel up and downstream
18124
18125
18126 2005-05-30  Wim Taymans  <wim@fluendo.com>
18127
18128         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
18129         (gst_basesink_activate):
18130         Handle EOS in preroll.
18131
18132 2005-05-30  Wim Taymans  <wim@fluendo.com>
18133
18134         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18135         (gst_queue_loop), (gst_queue_handle_src_event):
18136         Remove old pieces of code
18137         Flushing the queue in an upstream event is a very bad idea.
18138
18139 2005-05-26  Andy Wingo  <wingo@pobox.com>
18140
18141         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
18142         gst_value_set_mini_object so as to add a ref on the object (which
18143         will be removed when the value is unset).
18144
18145         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
18146         arg type in ::handoff.
18147
18148         * gst/gstelement.c (gst_element_change_state): Also deactivate
18149         pads in READY->NULL, just in case the element didn't make it to
18150         PAUSED. Wingo tested, Wim approved.
18151
18152 2005-05-26  Wim Taymans  <wim@fluendo.com>
18153
18154         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
18155         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
18156         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
18157         A flushing pad cannot be used to alloc_buffer from.
18158
18159 2005-05-26  Wim Taymans  <wim@fluendo.com>
18160
18161         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
18162         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
18163         (gst_bus_source_dispatch), (gst_bus_source_finalize),
18164         (gst_bus_create_watch), (gst_bus_add_watch_full):
18165         * gst/gstbus.h:
18166         Implement a real GSource and use g_main_context_wakeup() to
18167         signal new messages instead of the socketpair.
18168
18169 2005-05-25  Wim Taymans  <wim@fluendo.com>
18170
18171         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
18172         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
18173         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
18174         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
18175         (gst_pad_send_event), (gst_pad_start_task):
18176         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
18177         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
18178         (gst_queue_sink_activate), (gst_queue_src_activate),
18179         (gst_queue_change_state):
18180         * gst/gstqueue.h:
18181         Fix state changes for non sinks. We now change sinks, then elements
18182         with unconnected srcpads, then the rest.
18183         More efficient queue unlocking in flush and state changes.
18184         Set the pad activate mode even if it does not have an activate
18185         function.
18186
18187 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18188
18189         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
18190           Don't go in pull mode for non-seekable sources.
18191         * gst/elements/gsttypefindelement.h:
18192         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
18193         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
18194         (free_entry), (stop_typefinding),
18195         (gst_type_find_element_handle_event), (find_peek),
18196         (gst_type_find_element_chain), (do_pull_typefind),
18197         (gst_type_find_element_change_state):
18198           Allow typefinding (w/o seeking) in push-mode, simplified version
18199           of what was in 0.8.
18200         * gst/gstutils.c: (gst_buffer_join):
18201         * gst/gstutils.h:
18202           gst_buffer_join() from 0.8.
18203
18204 2005-05-25  Wim Taymans  <wim@fluendo.com>
18205
18206         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
18207         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
18208         (gst_pad_send_event), (gst_pad_start_task):
18209         Disable attempt at mode switching until it is figured out.
18210
18211 2005-05-25  Wim Taymans  <wim@fluendo.com>
18212
18213         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
18214         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
18215         (gst_basesink_finish_preroll), (gst_basesink_chain),
18216         (gst_basesink_loop), (gst_basesink_activate),
18217         (gst_basesink_change_state):
18218         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
18219         (gst_basesrc_get_range), (gst_basesrc_loop),
18220         (gst_basesrc_activate):
18221         * gst/elements/gsttee.c: (gst_tee_sink_activate):
18222         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
18223         (gst_real_pad_init), (gst_real_pad_set_property),
18224         (gst_real_pad_get_property), (gst_pad_set_active),
18225         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
18226         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
18227         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
18228         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
18229         (gst_pad_event_default_dispatch), (gst_pad_event_default),
18230         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
18231         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
18232         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
18233         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
18234         (gst_pad_stop_task):
18235         * gst/gstpad.h:
18236         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18237         (gst_queue_loop), (gst_queue_src_activate):
18238         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
18239         (gst_task_get_state):
18240         * gst/gsttask.h:
18241         * gst/schedulers/threadscheduler.c:
18242         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
18243         Implement gst_pad_pause/start/stop_task(), take STREAM lock
18244         in task function.
18245         Remove ACTIVE pad flag, use FLUSHING everywhere
18246         Added _pad_chain(), _pad_get_range() to call chain/getrange 
18247         functions.
18248         Add locks around IS_FLUSHING when reading.
18249         Take STREAM lock in chain(), get_range() functions so plugins
18250         don't need to take it anymore.
18251         
18252
18253
18254 2005-05-25  Wim Taymans  <wim@fluendo.com>
18255
18256         * tools/gst-launch.c: (event_loop):
18257         Unref message after using its contents instead of
18258         before.
18259
18260 2005-05-24  Wim Taymans  <wim@fluendo.com>
18261
18262         * docs/design/draft-ghostpads.txt:
18263         * docs/design/draft-push-pull.txt:
18264         * docs/design/draft-query.txt:
18265         * docs/design/part-overview.txt:
18266         Docs updates, added general overview doc.
18267
18268 2005-05-21  David Schleef  <ds@schleef.org>
18269
18270         * docs/gst/tmpl/old/GstBin.sgml:
18271         * docs/gst/tmpl/old/GstBuffer.sgml:
18272         * docs/gst/tmpl/old/GstCaps.sgml:
18273         * docs/gst/tmpl/old/GstClock.sgml:
18274         * docs/gst/tmpl/old/GstCompat.sgml:
18275         * docs/gst/tmpl/old/GstData.sgml:
18276         * docs/gst/tmpl/old/GstElement.sgml:
18277         * docs/gst/tmpl/old/GstEvent.sgml:
18278         * docs/gst/tmpl/old/GstIndex.sgml:
18279         * docs/gst/tmpl/old/GstStructure.sgml:
18280         * docs/gst/tmpl/old/GstTag.sgml:
18281         * docs/gst/tmpl/old/cothreads.sgml:
18282         * docs/gst/tmpl/old/cothreads_compat.sgml:
18283         * docs/gst/tmpl/old/gettext.sgml:
18284         * docs/gst/tmpl/old/gobject2gtk.sgml:
18285         * docs/gst/tmpl/old/grammar.tab.sgml:
18286         * docs/gst/tmpl/old/gst-i18n-app.sgml:
18287         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
18288         * docs/gst/tmpl/old/gst_private.sgml:
18289         * docs/gst/tmpl/old/gstaggregator.sgml:
18290         * docs/gst/tmpl/old/gstarch.sgml:
18291         * docs/gst/tmpl/old/gstatomic_impl.sgml:
18292         * docs/gst/tmpl/old/gstbufferstore.sgml:
18293         * docs/gst/tmpl/old/gstdata_private.sgml:
18294         * docs/gst/tmpl/old/gstdisksink.sgml:
18295         * docs/gst/tmpl/old/gstdisksrc.sgml:
18296         * docs/gst/tmpl/old/gstelementfactory.sgml:
18297         * docs/gst/tmpl/old/gstextratypes.sgml:
18298         * docs/gst/tmpl/old/gstfakesink.sgml:
18299         * docs/gst/tmpl/old/gstfakesrc.sgml:
18300         * docs/gst/tmpl/old/gstfdsink.sgml:
18301         * docs/gst/tmpl/old/gstfdsrc.sgml:
18302         * docs/gst/tmpl/old/gstfilesink.sgml:
18303         * docs/gst/tmpl/old/gstfilesrc.sgml:
18304         * docs/gst/tmpl/old/gsthttpsrc.sgml:
18305         * docs/gst/tmpl/old/gstidentity.sgml:
18306         * docs/gst/tmpl/old/gstindexfactory.sgml:
18307         * docs/gst/tmpl/old/gstmarshal.sgml:
18308         * docs/gst/tmpl/old/gstmd5sink.sgml:
18309         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
18310         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
18311         * docs/gst/tmpl/old/gstpadtemplate.sgml:
18312         * docs/gst/tmpl/old/gstpipefilter.sgml:
18313         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
18314         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
18315         * docs/gst/tmpl/old/gstshaper.sgml:
18316         * docs/gst/tmpl/old/gstspider.sgml:
18317         * docs/gst/tmpl/old/gstspideridentity.sgml:
18318         * docs/gst/tmpl/old/gststatistics.sgml:
18319         * docs/gst/tmpl/old/gsttee.sgml:
18320         * docs/gst/tmpl/old/gsttimecache.sgml:
18321         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
18322         * docs/gst/tmpl/old/gstxmlregistry.sgml:
18323         * docs/gst/tmpl/old/gthread-cothreads.sgml:
18324         * docs/gst/tmpl/old/types.sgml:
18325           I didn't intend to add these or check them in.
18326
18327 2005-05-19  David Schleef  <ds@schleef.org>
18328
18329         * configure.ac: Use -no-common everywhere.  In a sane world, it
18330           would be the default in libtool, because without it, you can't
18331           build DLLs on Windows.
18332         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
18333         * docs/gst/gstreamer-sections.txt:
18334         * docs/gst/tmpl/gstcpu.sgml:
18335         * docs/gst/tmpl/gstdata.sgml:
18336         * docs/gst/tmpl/gstthread.sgml:
18337
18338 2005-05-19  David Schleef  <ds@schleef.org>
18339
18340         * gst/gstminiobject.c: (gst_value_set_mini_object),
18341         (gst_value_take_mini_object), (gst_value_get_mini_object):
18342         * gst/gstminiobject.h: Add GValue set/get functions.
18343
18344 2005-05-19  Wim Taymans  <wim@fluendo.com>
18345
18346         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
18347         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
18348         (gst_subbuffer_init), (gst_buffer_is_span_fast):
18349         * gst/gstbuffer.h:
18350         * gst/gstbus.c: (gst_bus_post):
18351         * gst/gstelement.c: (gst_element_get_random_pad):
18352         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
18353         Make subbufer unref the parent in finalize.
18354         some more debugging info.
18355
18356
18357 2005-05-19  Wim Taymans  <wim@fluendo.com>
18358
18359         * gst/base/gstbasesink.c: (gst_basesink_class_init),
18360         (gst_basesink_init), (gst_basesink_finalize),
18361         (gst_basesink_activate), (gst_basesink_change_state):
18362         Don't free preroll queue too early.
18363
18364 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18365
18366         * gst/Makefile.am:
18367         * gst/ROADMAP:
18368           Hi, I'm outdated. Please shoot me.
18369
18370 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18371
18372         * gst/gstpipeline.c: (gst_pipeline_send_event):
18373           Do not access variables after they have been deleted.
18374
18375 2005-05-19  Wim Taymans  <wim@fluendo.com>
18376
18377         * tools/gst-inspect.c: (print_plugin_features):
18378         A plugin feature does unfortunatly not use the
18379         object name yet...
18380
18381 2005-05-18  Wim Taymans  <wim@fluendo.com>
18382
18383         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
18384         Port _span() functions to new subbuffers.
18385
18386 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18387
18388         * gst/gstbin.c: (gst_bin_add_func):
18389           Fix clock settery in bins when adding kids after the clock has
18390           been selected.
18391
18392 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18393
18394         * gst/elements/gstidentity.c: (gst_identity_class_init):
18395           Workaround until signals support GstMiniObject.
18396
18397 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
18398
18399         * gst/gstbuffer.c:
18400         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
18401
18402 2005-05-18  Wim Taymans  <wim@fluendo.com>
18403
18404         * gst/base/Makefile.am:
18405         * gst/base/gstadapter.c: (gst_adapter_base_init),
18406         (gst_adapter_class_init), (gst_adapter_init),
18407         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
18408         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
18409         (gst_adapter_flush), (gst_adapter_available),
18410         (gst_adapter_available_fast):
18411         * gst/base/gstadapter.h:
18412         Ported and added adapter to the base classes.
18413
18414 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18415
18416         * gst/gst.c:
18417         * gst/gstmessage.c:
18418           Make sure the class is reffed/unreffed once before threads can be
18419           used.  Fixes #304551.
18420
18421 2005-05-17  Wim Taymans  <wim@fluendo.com>
18422
18423         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
18424         (gst_basesink_chain_unlocked), (gst_basesink_activate):
18425         * gst/gstminiobject.c: (gst_mini_object_get_type),
18426         (gst_mini_object_free):
18427         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
18428         (gst_pad_push), (gst_pad_push_event):
18429         * gst/gstqueue.c: (gst_queue_change_state):
18430         Don't queue buffers in basesink when we are flushing.
18431         Unref buffer when flushing in basesink.
18432         Flush queue when going to READY
18433         Unref buffer when _push() returns an error.
18434         Don't free MiniObject instance when refcount is incremented
18435         in _finalize() so that we can recover objects.
18436
18437 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
18438
18439         * docs/manual/advanced-schedulers.xml:
18440         * docs/manual/appendix-checklist.xml:
18441         * docs/pwg/advanced-clock.xml:
18442         * docs/pwg/advanced-interfaces.xml:
18443         * docs/pwg/advanced-request.xml:
18444         * docs/pwg/advanced-types.xml:
18445         * docs/pwg/intro-preface.xml:
18446         * examples/plugins/example.c: (gst_example_get_type),
18447         (gst_example_class_init), (gst_example_chain),
18448         (gst_example_set_property), (gst_example_get_property),
18449         (gst_example_change_state), (plugin_init):
18450         * examples/plugins/example.h:
18451           small doc fixes
18452
18453 2005-05-17  Wim Taymans  <wim@fluendo.com>
18454
18455         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
18456         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
18457         * gst/gstqueue.c: (gst_queue_change_state):
18458         Clear queue when going to READY.
18459         Remove IN_SETCAPS flag too.
18460
18461 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
18462
18463         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
18464           Remove implicit cast from gboolean to GstElementStateReturn;
18465           make sure we still return failure in paused => ready case if
18466           the parent class fails to change state and our own stop 
18467           vfunc succeeds.
18468
18469 2005-05-17  Wim Taymans  <wim@fluendo.com>
18470
18471         * tools/gst-launch.c: (event_loop):
18472         Message was unreffed too soon.
18473
18474 2005-05-16  Andy Wingo  <wingo@pobox.com>
18475
18476         * gst/gstbin.c (sink_iterator_filter): Err... um...
18477
18478         * check/gst/gstbin.c (test_ghost_pads): New test for the
18479         ghosting-if-elements-not-in-same-bin behavior.
18480
18481 2005-05-16  David Schleef  <ds@schleef.org>
18482
18483         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
18484         accessing refcount directly.
18485
18486 2005-05-15  David Schleef  <ds@schleef.org>
18487
18488         * check/Makefile.am: remove GstData checks
18489         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
18490         * gst/Makefile.am: add miniobject, remove data
18491         * gst/gst.h: add miniobject, remove data
18492         * gst/gstdata.c: remove
18493         * gst/gstdata.h: remove
18494         * gst/gstdata_private.h: remove
18495         * gst/gsttypes.h: remove GstEvent and GstMessage
18496         * gst/gstelement.c: (gst_element_post_message): fix for API changes
18497         * gst/gstmarshal.list: change BOXED -> OBJECT
18498
18499         Implement GstMiniObject.
18500         * gst/gstminiobject.c:
18501         * gst/gstminiobject.h:
18502
18503         Modify to be subclasses of GstMiniObject.
18504         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
18505         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
18506         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
18507         (gst_subbuffer_get_type), (gst_subbuffer_init),
18508         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
18509         (gst_buffer_span):
18510         * gst/gstbuffer.h:
18511         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
18512         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
18513         (_gst_event_copy), (gst_event_new):
18514         * gst/gstevent.h:
18515         * gst/gstmessage.c: (_gst_message_initialize),
18516         (gst_message_get_type), (gst_message_class_init),
18517         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
18518         (gst_message_new), (gst_message_new_error),
18519         (gst_message_new_warning), (gst_message_new_tag),
18520         (gst_message_new_state_changed), (gst_message_new_application):
18521         * gst/gstmessage.h:
18522         * gst/gstprobe.c: (gst_probe_perform),
18523         (gst_probe_dispatcher_dispatch):
18524         * gst/gstprobe.h:
18525         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
18526         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
18527         (_gst_query_copy), (gst_query_new):
18528
18529         Update elements for GstData -> GstMiniObject changes
18530         * gst/gstquery.h:
18531         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
18532         (gst_queue_chain), (gst_queue_loop):
18533         * gst/elements/gstbufferstore.c:
18534         (gst_buffer_store_add_buffer_func),
18535         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
18536         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
18537         (gst_fakesink_render):
18538         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
18539         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
18540         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
18541         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
18542         (gst_filesrc_create_read):
18543         * gst/elements/gstidentity.c: (gst_identity_class_init):
18544         * gst/elements/gsttypefindelement.c:
18545         (gst_type_find_element_src_event), (free_entry_buffers),
18546         (gst_type_find_element_handle_event):
18547         * libs/gst/dataprotocol/dataprotocol.c:
18548         (gst_dp_header_from_buffer):
18549         * libs/gst/dataprotocol/dataprotocol.h:
18550         * libs/gst/dataprotocol/dp-private.h:
18551
18552 2005-05-15  David Schleef  <ds@schleef.org>
18553
18554         * gst/elements/gstelements.c: Don't include headers that were
18555         just removed.
18556
18557 2005-05-15  David Schleef  <ds@schleef.org>
18558
18559         * gst/elements/Makefile.am: Remove some elements that don't
18560         need to be in the core (or even exist at all).
18561         * gst/elements/gstaggregator.c:
18562         * gst/elements/gstaggregator.h:
18563         * gst/elements/gstmd5sink.c:
18564         * gst/elements/gstmd5sink.h:
18565         * gst/elements/gstmultifilesrc.c:
18566         * gst/elements/gstmultifilesrc.h:
18567         * gst/elements/gstpipefilter.c:
18568         * gst/elements/gstpipefilter.h:
18569         * gst/elements/gstshaper.c:
18570         * gst/elements/gstshaper.h:
18571         * gst/elements/gststatistics.c:
18572         * gst/elements/gststatistics.h:
18573         * po/POTFILES.in: Remove above files.
18574
18575 2005-05-14  Andy Wingo  <wingo@pobox.com>
18576
18577         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
18578         so as to get the refs right.
18579         (sink_iterator_filter): New function, wraps bin_element_is_sink,
18580         unreffing objects that don't pass the filter.
18581
18582         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
18583         gst_element_set_bus.
18584         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
18585         normal cases, this will destroy the bus.
18586
18587         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
18588         object.
18589
18590         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
18591         has no sinks.
18592
18593 2005-05-13  Andy Wingo  <wingo@pobox.com>
18594
18595         * gst/gstutils.c (gst_element_link_pads): Instead of calling
18596         gst_pad_link, call pad_link_maybe_ghosting,
18597         (pad_link_maybe_ghosting): Links pads, making sure that the
18598         elements being linked are in the same bin.
18599         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
18600         Helpers for pad_link_maybe_ghosting.
18601
18602 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
18603
18604         * configure.ac:
18605           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
18606
18607 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
18608
18609         * docs/design/part-element-source.txt:
18610           Mention GstPushSrc
18611
18612 2005-05-12  Wim Taymans  <wim@fluendo.com>
18613
18614         * gst/base/gstbasesink.c: (gst_basesink_init),
18615         (gst_basesink_activate):
18616         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
18617         (gst_basesrc_is_seekable):
18618         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
18619         (bin_element_is_sink), (gst_bin_change_state):
18620         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
18621         * gst/gstelement.h:
18622         Identify sinks by their flag to avoid overly complicated
18623         checks (fow now).
18624         Do state changes even for elements not reachable from the
18625         sinks.
18626         BaseSink is a sink now :)
18627         Some more debugging info in the basesrc.
18628
18629
18630 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18631
18632         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
18633           Implement _query on a bin, similar to _send_event.
18634
18635 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
18636
18637         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
18638           Discont event offset format should be GST_FORMAT_BYTES,
18639           not GST_FORMAT_TIME.
18640
18641 2005-05-12  Wim Taymans  <wim@fluendo.com>
18642
18643         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
18644         Same fix as Ronald's but without the signal. 
18645
18646 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18647
18648         * gst/gstutils.c: (gst_element_query_position):
18649           No, an element is not a pad.
18650
18651 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18652
18653         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
18654         (gst_bin_get_state):
18655           If a child is removed from a bin while we remove the child from
18656           the bin and while we're retrieving its state, signal this to the
18657           get_state function so we abort the wait (instead of waiting for
18658           a timeout) and can immediately re-iterate over all other elements.
18659
18660 2005-05-12  Wim Taymans  <wim@fluendo.com>
18661
18662         * gst/base/Makefile.am:
18663         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
18664         (gst_basesrc_start):
18665         * gst/base/gstbasesrc.h:
18666         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
18667         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
18668         (gst_pushsrc_init), (gst_pushsrc_create):
18669         * gst/base/gstpushsrc.h:
18670         Added is_seekable to BaseSrc
18671         Added simple PushSrc.
18672
18673 2005-05-11  Wim Taymans  <wim@fluendo.com>
18674
18675         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
18676         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18677         (gst_element_link_pads), (gst_element_query_position),
18678         (gst_element_query_convert), (intersect_caps_func),
18679         (gst_pad_query_position), (gst_pad_query_convert):
18680         Fix refcounting in utils function.
18681         No point in trying to activate a pad when it's added, it could
18682         be added from the state change function and then we deadlock, the
18683         element has to decide what to do.
18684
18685 2005-05-10  Andy Wingo  <wingo@pobox.com>
18686
18687         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
18688         *all* the arguments.
18689
18690         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
18691         stream lock if it's a FLUSH_DONE; normal flushes don't get the
18692         lock (according to the docs -- if this is wrong change the docs).
18693
18694         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
18695         flush messages in the NULL state.
18696
18697         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
18698         message immediately and return.
18699         (gst_bus_set_flushing): New function. If a bus is flushing, it
18700         flushes out any queued messages and immediately unrefs new
18701         messages. This is so when an element goes to NULL, all of the
18702         unhandled messages coming from it can be freed, and their
18703         references to the element dropped. In other words: message source
18704         ref considered harmful :P
18705
18706         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
18707         we're finished with it.
18708
18709         * gst/gstmessage.c (gst_message_new_state_changed): 
18710
18711 2005-05-10  Wim Taymans  <wim@fluendo.com>
18712
18713         * gst/gstvalue.c: (gst_value_compare_flags),
18714         (gst_value_serialize_flags), (gst_value_deserialize_flags),
18715         (_gst_value_initialize):
18716         Added flags serialize/deserialize/compare code.
18717
18718 2005-05-09  Andy Wingo  <wingo@pobox.com>
18719
18720         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
18721         Intersect the peer's caps with our caps.
18722
18723 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18724
18725         * gst/base/gsttypefindhelper.c: (helper_find_peek):
18726         * gst/elements/gsttypefindelement.c: (find_peek):
18727           Handle negative offsets better. Fixes decodebin.
18728
18729 2005-05-09  Wim Taymans  <wim@fluendo.com>
18730
18731         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
18732         (gst_base_transform_event):
18733         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
18734         Implement accept_caps.
18735         Fix silly lock/unlock mismatch in base class.
18736
18737 2005-05-09  Wim Taymans  <wim@fluendo.com>
18738
18739         * docs/design/draft-push-pull.txt:
18740         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
18741         * gst/elements/gstfilesink.c: (gst_filesink_init),
18742         (gst_filesink_query):
18743         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
18744         (gst_type_find_handle_src_query), (find_element_get_length):
18745         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
18746         * gst/gstelement.h:
18747         * gst/gstmessage.c:
18748         * gst/gstmessage.h:
18749         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
18750         (gst_real_pad_get_caps_unlocked),
18751         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
18752         (gst_pad_event_default_dispatch), (gst_pad_event_default),
18753         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
18754         (gst_real_pad_dispose), (gst_real_pad_finalize),
18755         (gst_pad_load_and_link), (gst_pad_save_thyself),
18756         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
18757         (gst_pad_check_pull_range), (gst_pad_pull_range),
18758         (gst_pad_template_get_type), (gst_pad_template_class_init),
18759         (gst_pad_template_init), (gst_pad_template_dispose),
18760         (name_is_valid), (gst_static_pad_template_get),
18761         (gst_pad_template_new), (gst_static_pad_template_get_caps),
18762         (gst_pad_template_get_caps), (gst_pad_set_element_private),
18763         (gst_pad_get_element_private), (gst_pad_start_task),
18764         (gst_pad_pause_task), (gst_pad_stop_task),
18765         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
18766         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
18767         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
18768         (gst_ghost_pad_new):
18769         * gst/gstpad.h:
18770         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
18771         (gst_query_new_position), (gst_query_set_position),
18772         (gst_query_parse_position), (gst_query_new_convert),
18773         (gst_query_set_convert), (gst_query_parse_convert):
18774         * gst/gstquery.h:
18775         * gst/gstqueryutils.c:
18776         * gst/gstqueryutils.h:
18777         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
18778         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
18779         (gst_queue_handle_src_query):
18780         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18781         (gst_element_query_position), (gst_element_query_convert),
18782         (intersect_caps_func), (gst_pad_query_position),
18783         (gst_pad_query_convert):
18784         * gst/gstutils.h:
18785         * tools/gst-inspect.c: (print_pad_info):
18786         * tools/gst-xmlinspect.c: (print_element_info):
18787         Remove old query functions. Ported old code.
18788         Added position/convert helper functions to gstutils.
18789         Reordered gstpad.c code, grouping relevant things.
18790         Remove gst_message_new(), always need to speficy a specific
18791         message.
18792
18793
18794 2005-05-09  Andy Wingo  <wingo@pobox.com>
18795
18796         * gst/gstiterator.h: Add some includes.
18797
18798         * gst/gstqueryutils.h: Include more headers.
18799
18800         * gst/gstpad.h:
18801         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
18802         some uses of gst_pad_query.
18803
18804         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
18805         NULL out parameters.
18806         (gst_query_new_position): New proc, allocates a new position
18807         query.
18808
18809         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
18810         gstqueryutils.c to the build.
18811
18812         * gst/gststructure.c (gst_structure_set_valist): Implement with
18813         the generic G_VALUE_COLLECT.
18814         
18815 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
18816
18817         * gst/Makefile.am: (gst_headers):
18818         Added gstqueryutils.h to the list of headers to install, that was
18819         a 'nachty' move wingo :)
18820
18821 2005-05-06  Andy Wingo  <wingo@pobox.com>
18822
18823         * gst/gstquery.h
18824         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
18825         GstData, init a memchunk.
18826         (standard_definitions): Add a few query types, deprecate a few.
18827         (gst_query_get_type): New proc.
18828         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
18829         implementation.
18830         (gst_query_new_application, gst_query_get_structure): New public
18831         procs.
18832
18833         * docs/design/draft-query.txt: Removed LINKS from the query types,
18834         because all the rest can be dispatched to other pads -- seemed
18835         ugly to have a query that couldn't be dispatched. internal_links
18836         is fine as a pad method.
18837
18838         * gst/gstpad.h: Add query2 as a pad method, add the new functions
18839         in gstpad.c, but maintain binary compatibility for the moment.
18840         Will fix before 0.9 is out.
18841
18842         * gst/gstqueryutils.c: 
18843         * gst/gstqueryutils.h: New files, implement 3 methods for each
18844         query type: parse_query, parse_response, and set. Probably need an
18845         allocator as well.
18846
18847         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
18848
18849         * gst/elements/gstfilesink.c (gst_filesink_query2):
18850         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
18851         query_types, and formats methods.
18852
18853         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
18854         (gst_pad_set_query2_function): New functions.
18855         (gst_real_pad_init): Set query2_default as the default query2
18856         function. Basically just dispatches to internally linked pads.
18857
18858         Needs review!
18859         
18860         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
18861         without using the atomic operations. Only one thread can possibly
18862         be accessing the data at this point. Changed so as to avoid
18863         gst_atomic operations.
18864
18865 2005-05-06  Wim Taymans  <wim@fluendo.com>
18866
18867         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
18868         Also set caps if we use the fallback buffer alloc.
18869
18870 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
18871
18872         * docs/gst/Makefile.am:
18873         * docs/gst/gstreamer-docs.sgml:
18874         * docs/gst/gstreamer-sections.txt:
18875         * docs/gst/tmpl/gstatomic.sgml:
18876         * docs/gst/tmpl/gstmemchunk.sgml:
18877         * testsuite/elements/struct_i386.h:
18878         * win32/GStreamer.vcproj:
18879         * win32/Makefile:
18880           Purge GstAtomic stuff from docs and win32 makefiles as well
18881
18882 2005-05-06  Wim Taymans  <wim@fluendo.com>
18883
18884         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
18885         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
18886         * gst/gstpad.c: (gst_pad_peer_get_caps):
18887         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
18888         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
18889         (gst_queue_src_activate), (gst_queue_change_state):
18890         * gst/gstqueue.h:
18891         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18892         (intersect_caps_func):
18893         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
18894         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
18895         Some fixes for the peer_get_caps() change.
18896
18897 2005-05-06  Wim Taymans  <wim@fluendo.com>
18898
18899         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
18900         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
18901         (gst_basesink_activate):
18902         Actually do something with error codes returned from the push
18903         functions.
18904
18905 2005-05-06  Wim Taymans  <wim@fluendo.com>
18906
18907         * docs/design/part-element-sink.txt:
18908         * docs/design/part-element-source.txt:
18909         * gst/base/gstbasesink.c: (gst_basesink_class_init),
18910         (gst_basesink_event), (gst_basesink_activate):
18911         * gst/base/gstbasesink.h:
18912         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
18913         (gst_basesrc_activate):
18914         * gst/base/gstbasesrc.h:
18915         * gst/gstelement.c: (gst_element_pads_activate):
18916         Some more documentation.
18917         Fixed scheduling decision in _pads_activate().
18918
18919 2005-05-05  Andy Wingo  <wingo@pobox.com>
18920
18921         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
18922         the test suite.
18923
18924 2005-05-05  Wim Taymans  <wim@fluendo.com>
18925
18926         * gst/base/Makefile.am:
18927         * gst/base/gstbasesink.h:
18928         * gst/base/gstbasesrc.c: (gst_basesrc_init),
18929         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
18930         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
18931         (gst_collectpads_class_init), (gst_collectpads_init),
18932         (gst_collectpads_finalize), (gst_collectpads_new),
18933         (gst_collectpads_set_function), (gst_collectpads_add_pad),
18934         (find_pad), (gst_collectpads_remove_pad),
18935         (gst_collectpads_is_active), (gst_collectpads_collect),
18936         (gst_collectpads_collect_range), (gst_collectpads_start),
18937         (gst_collectpads_stop), (gst_collectpads_peek),
18938         (gst_collectpads_pop), (gst_collectpads_available),
18939         (gst_collectpads_read), (gst_collectpads_flush),
18940         (gst_collectpads_chain):
18941         * gst/base/gstcollectpads.h:
18942         * gst/elements/Makefile.am:
18943         * gst/elements/gstelements.c:
18944         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
18945         (gst_fakesink_get_times), (gst_fakesink_event),
18946         (gst_fakesink_preroll), (gst_fakesink_render):
18947         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
18948         (gst_filesink_init), (gst_filesink_set_location),
18949         (gst_filesink_open_file), (gst_filesink_close_file),
18950         (gst_filesink_pad_query), (gst_filesink_event),
18951         (gst_filesink_render), (gst_filesink_change_state):
18952         * gst/elements/gstfilesink.h:
18953         Added object to help in making collect pad based elements.
18954         Ported filesink.
18955         Make event function in sink baseclass return gboolean.
18956
18957 2005-05-05  Wim Taymans  <wim@fluendo.com>
18958
18959         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
18960         (gst_bin_get_by_name):
18961         * gst/gstbuffer.h:
18962         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
18963         (gst_clock_finalize):
18964         * gst/gstdata.c: (gst_data_replace):
18965         * gst/gstdata.h:
18966         * gst/gstelement.c: (gst_element_request_pad),
18967         (gst_element_pads_activate):
18968         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
18969         (gst_object_unref):
18970         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18971         (gst_pad_set_checkgetrange_function),
18972         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
18973         (gst_pad_check_pull_range), (gst_pad_pull_range),
18974         (gst_static_pad_template_get_caps), (gst_pad_start_task),
18975         (gst_pad_pause_task), (gst_pad_stop_task):
18976         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18977         (gst_element_request_pad), (gst_pad_proxy_getcaps):
18978         Fix name lookup in GstBin.
18979         Added _data_replace() function and _buffer_replace()
18980         Use finalize method to clean up clock.
18981         Fix refcounting on request pads.
18982         Fix pad schedule mode error.
18983         Some more object refcounting debug info,
18984
18985
18986 2005-05-04  Andy Wingo <wingo@pobox.com>
18987
18988         * check/Makefile.am:
18989         * docs/gst/tmpl/gstatomic.sgml:
18990         * docs/gst/tmpl/gstplugin.sgml:
18991         * gst/base/gstbasesink.c: (gst_basesink_activate):
18992         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
18993         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
18994         (gst_basesrc_query), (gst_basesrc_set_property),
18995         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
18996         (gst_basesrc_activate):
18997         * gst/base/gstbasesrc.h:
18998         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
18999         (gst_base_transform_src_activate):
19000         * gst/elements/gstelements.c:
19001         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19002         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
19003         * gst/elements/gsttee.c: (gst_tee_sink_activate):
19004         * gst/elements/gsttypefindelement.c: (find_element_get_length),
19005         (gst_type_find_element_checkgetrange),
19006         (gst_type_find_element_activate):
19007         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
19008         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
19009         (gst_caps_load_thyself):
19010         * gst/gstelement.c: (gst_element_pads_activate),
19011         (gst_element_save_thyself), (gst_element_restore_thyself):
19012         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
19013         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
19014         * gst/gstpad.h:
19015         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
19016         (gst_xml_parse_file), (gst_xml_parse_memory),
19017         (gst_xml_get_element), (gst_xml_make_element):
19018         * gst/indexers/gstfileindex.c: (gst_file_index_load),
19019         (_file_index_id_save_xml), (gst_file_index_commit):
19020         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
19021         (read_enum), (load_pad_template), (load_feature), (load_plugin),
19022         (load_paths):
19023         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
19024         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
19025         * tools/gst-complete.c: (main):
19026         * tools/gst-compprep.c: (main):
19027         * tools/gst-inspect.c: (print_element_properties_info):
19028         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
19029         * tools/gst-xmlinspect.c: (print_element_properties):
19030         GCC 4 fixen.
19031         
19032 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
19033
19034         * gst/gstplugin.c: (gst_plugin_check_module),
19035         (gst_plugin_check_file), (gst_plugin_load_file):
19036             apply patch from #172526 to make register work on MacOSX
19037
19038 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19039
19040         * docs/gst/tmpl/gstconfig.sgml:
19041         * gst/gstconfig.h.in:
19042           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
19043         * testsuite/debug/printf_extension.c: (main):
19044           Do not use GST_PTR_FORMAT on pointers to types with
19045           sizeof < sizeof(gpointer).  Fixes test on 64-bit
19046         * testsuite/elements/property.h:
19047           use correct printf format
19048
19049 2005-05-02  Wim Taymans  <wim@fluendo.com>
19050
19051         * docs/design/draft-push-pull.txt:
19052         * docs/design/draft-query.txt:
19053         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
19054         (gst_basesrc_start):
19055         Added draft for new query API.
19056         Added draft for better selecting scheduling methods.
19057         Make basesrc ignore length if the subclass does not support
19058         it.
19059
19060 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19061
19062         * gst/Makefile.am:
19063           possible fixes for automake-1.5 - _LIBADD is reserved
19064
19065 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19066
19067         * docs/faq/Makefile.am:
19068         * docs/manual/Makefile.am:
19069         * docs/manuals.mak:
19070         * docs/pwg/Makefile.am:
19071         * gst/Makefile.am:
19072           possible fixes for automake-1.5
19073
19074 2005-04-28  Wim Taymans  <wim@fluendo.com>
19075
19076         * gst/base/gstbasesink.c: (gst_basesink_base_init),
19077         (gst_basesink_pad_getcaps), (gst_basesink_init),
19078         (gst_basesink_do_sync):
19079         * gst/gstclock.c: (gst_clock_entry_new):
19080         * gst/gstevent.c: (gst_event_discont_get_value):
19081         * gst/gstpipeline.c: (pipeline_bus_handler),
19082         (gst_pipeline_change_state):
19083         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
19084         Better debugging of clocking info.
19085         Allow NULL values when getting discont values.
19086
19087 2005-04-27  Wim Taymans  <wim@fluendo.com>
19088
19089         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
19090         * check/gst/gstpad.c: (gst_pad_suite):
19091         Increase timeout for checks.
19092
19093 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19094
19095         * check/Makefile.am:
19096           fix the broken rule for cleanup.  Apparently this rule is
19097           only needed on FC2, so maybe this warrants further autotool
19098           inspection.
19099
19100 2005-04-26  Wim Taymans  <wim@fluendo.com>
19101
19102         * gst/gsttrashstack.h:
19103         Ooohh. a nasty one! After having a failed pop() from the stack,
19104         it's possible that the stack is empty. In that case, don't
19105         follow the NULL pointer.
19106
19107 2005-04-25  Wim Taymans  <wim@fluendo.com>
19108
19109         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19110         (gst_pad_set_checkgetrange_function),
19111         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
19112         (gst_pad_check_pull_range), (gst_pad_pull_range),
19113         (gst_static_pad_template_get_caps), (gst_pad_start_task),
19114         (gst_pad_pause_task), (gst_pad_stop_task):
19115         * gst/gstplugin.c: (gst_plugin_load):
19116         * gst/gstplugin.h:
19117         Remove gst_library_load as it does more harm than good with
19118         the new g_module flags.
19119         Revert bogus caps template check in pad linking, pad caps
19120         are important when linking not the template, which is more
19121         general than the current caps.
19122
19123 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19124
19125         * gst/autoplug/.cvsignore:
19126         * gst/autoplug/Makefile.am:
19127         * gst/autoplug/gstsearchfuncs.c:
19128         * gst/autoplug/gstsearchfuncs.h:
19129         * gst/autoplug/gstspider.c:
19130         * gst/autoplug/gstspider.h:
19131         * gst/autoplug/gstspideridentity.c:
19132         * gst/autoplug/gstspideridentity.h:
19133         * gst/autoplug/spidertest.c:
19134           Die, spider, die.
19135
19136 2005-04-25  Wim Taymans  <wim@fluendo.com>
19137
19138         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19139         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
19140         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
19141         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
19142         * gst/gstpad.h:
19143         Added stubs for unimplemented functions. 
19144
19145 2005-04-24  David Schleef  <ds@schleef.org>
19146
19147         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
19148         please fix.
19149
19150 2005-04-24  David Schleef  <ds@schleef.org>
19151
19152         Convert everything from GstAtomicInt to g_atomic_int_*, and
19153         remove gstatomic.
19154         * gst/Makefile.am:
19155         * gst/gstatomic.c:
19156         * gst/gstatomic.h:
19157         * gst/gstatomic_impl.h:
19158         * gst/gstbuffer.c:
19159         * gst/gstcaps.c:
19160         * gst/gstcaps.h:
19161         * gst/gstclock.c:
19162         * gst/gstclock.h:
19163         * gst/gstdata.c:
19164         * gst/gstdata.h:
19165         * gst/gstdata_private.h:
19166         * gst/gstevent.c:
19167         * gst/gstinfo.c:
19168         * gst/gstinfo.h:
19169         * gst/gstmessage.c:
19170         * gst/gstobject.c:
19171         * gst/gstobject.h:
19172         * gst/gststructure.c:
19173         * gst/gststructure.h:
19174         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
19175         * gst/gstutils.h:
19176
19177 2005-04-24  David Schleef  <ds@schleef.org>
19178
19179         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
19180         make the regressions tests work.  Remove some code that is no
19181         longer true.
19182         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
19183         Disable warning for pads without templates.
19184
19185 2005-04-24  David Schleef  <ds@schleef.org>
19186
19187         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
19188         functions that handle filtered links.
19189         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
19190         removed functions.
19191         * gst/gstutils.c: Fix/remove utility functions that handle
19192         filtered caps.
19193         * gst/gstutils.h:
19194         * gst/gstvalue.c: Add serialization/deserialization of caps
19195         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
19196         requires fixing so that the filter caps notation creates
19197         a capsfilter element and sets the filter_caps property.  I
19198         think everyone probably wants to keep the shorthand notation.
19199         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
19200         * docs/gst/tmpl/gstpad.sgml:
19201
19202         * gst/elements/gstelements.c: Register capsfilter element.
19203         * gst/Makefile.am: fix spacing
19204         * docs/random/ds/0.9-suggested-changes: random
19205
19206 2005-04-23  David Schleef  <ds@schleef.org>
19207
19208         * gst/elements/Makefile.am:
19209         * gst/elements/gstcapsfilter.c: New element that acts like an
19210         identity, but filters caps.  Will eventually replace filtered
19211         caps in pad linking.
19212         * gst/gstutils.c: (gst_element_create_all_pads): New function
19213         to create all the ALWAYS pads that are registered with an
19214         element class.  This functionality should eventually be
19215         merged in with GstElement initialization.
19216         * gst/gstutils.h:
19217         * testsuite/trigger/README: part of trigger test code that should
19218         have been checked in a long time ago.
19219
19220 2005-04-23  David Schleef  <ds@schleef.org>
19221
19222         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
19223         needed with new versions of libtool (nobody will confirm this),
19224         and hard to carry around.
19225         * gst/autoplug/Makefile.am:
19226         * gst/base/Makefile.am:
19227         * gst/elements/Makefile.am:
19228         * gst/indexers/Makefile.am:
19229         * gst/schedulers/Makefile.am:
19230         * libs/gst/bytestream/Makefile.am:
19231         * libs/gst/control/Makefile.am:
19232         * libs/gst/dataprotocol/Makefile.am:
19233         * libs/gst/getbits/Makefile.am:
19234
19235 2005-04-21  Wim Taymans  <wim@fluendo.com>
19236
19237         * docs/design/draft-push-pull.txt:
19238         * docs/design/part-MT-refcounting.txt:
19239         * docs/design/part-TODO.txt:
19240         * docs/design/part-caps.txt:
19241         * docs/design/part-events.txt:
19242         * docs/design/part-gstbus.txt:
19243         * docs/design/part-gstpipeline.txt:
19244         * docs/design/part-messages.txt:
19245         * docs/design/part-push-pull.txt:
19246         * docs/design/part-query.txt:
19247         Some more docs.
19248
19249 2005-04-21  Wim Taymans  <wim@fluendo.com>
19250
19251         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
19252         (gst_message_new), (gst_message_new_error),
19253         (gst_message_new_warning), (gst_message_new_tag),
19254         (gst_message_new_state_changed), (gst_message_new_application),
19255         (gst_message_get_structure):
19256         * gst/gstmessage.h:
19257         * gst/gststructure.c: (gst_structure_set_parent_refcount),
19258         (gst_structure_copy_conditional):
19259         Use parent refcount in GstMessage to ensure GstStructure
19260         consistency.
19261         Cleaned up headers a bit.
19262         
19263
19264 2005-04-20  Wim Taymans  <wim@fluendo.com>
19265
19266         * gst/base/gstbasesink.c: (gst_basesink_base_init),
19267         (gst_basesink_pad_getcaps), (gst_basesink_init),
19268         (gst_basesink_chain_unlocked):
19269         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
19270         (gst_type_find_helper):
19271         * gst/elements/gsttypefindelement.c:
19272         (gst_type_find_element_have_type), (gst_type_find_element_init),
19273         (stop_typefinding), (gst_type_find_element_handle_event),
19274         (find_suggest), (gst_type_find_element_chain),
19275         (gst_type_find_element_checkgetrange),
19276         (gst_type_find_element_getrange), (do_typefind),
19277         (gst_type_find_element_activate):
19278         * gst/gstbuffer.c: (_gst_buffer_sub_free),
19279         (gst_buffer_default_free), (gst_buffer_default_copy),
19280         (gst_buffer_set_caps):
19281         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
19282         (gst_caps_replace):
19283         * gst/gstmessage.c: (gst_message_new),
19284         (gst_message_new_state_changed):
19285         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19286         (gst_pad_set_checkgetrange_function),
19287         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
19288         (gst_pad_set_caps), (gst_pad_check_pull_range),
19289         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
19290         * gst/gstpad.h:
19291         * gst/gsttypefind.c: (gst_type_find_register):
19292         Make gst_caps_replace() work like other _replace() functions.
19293         Use _caps_replace() where possible.
19294         Make sure _message_new() initialises its field.
19295         Add gst_static_pad_template_get_caps()
19296
19297
19298 2005-04-18  Andy Wingo  <wingo@pobox.com>
19299
19300         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
19301         on the peer, not the pad. I think that was a typo. Pass an extra
19302         arg to see if random access is possible. Activate the pads as
19303         PULL_RANGE if possible.
19304
19305         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
19306
19307         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
19308         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
19309         to PROP_....
19310
19311 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19312
19313         * docs/faq/using.xml:
19314           Add note on gstreamer-properties (#154996).
19315
19316 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19317
19318         * docs/random/bbb/optional-properties:
19319           Some analysis on optional properties.
19320
19321 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19322
19323         * docs/gst/tmpl/gstelementfactory.sgml:
19324         * gst/gstelement.h:
19325         * gst/gstelementfactory.c: (gst_element_factory_init),
19326         (gst_element_factory_cleanup), (gst_element_register),
19327         (__gst_element_factory_add_static_pad_template),
19328         (gst_element_factory_get_static_pad_templates),
19329         (gst_element_factory_can_src_caps),
19330         (gst_element_factory_can_sink_caps):
19331         * gst/registries/Makefile.am:
19332         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
19333         (gst_xml_registry_class_init), (gst_xml_registry_init),
19334         (gst_xml_registry_new), (gst_xml_registry_set_property),
19335         (gst_xml_registry_get_property), (get_time), (make_dir),
19336         (gst_xml_registry_get_perms_func),
19337         (plugin_times_older_than_recurse), (plugin_times_older_than),
19338         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
19339         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
19340         (add_to_char_array), (read_string), (read_uint), (read_enum),
19341         (load_pad_template), (load_feature), (load_plugin), (load_paths),
19342         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
19343         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
19344         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
19345         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
19346         (gst_xml_registry_rebuild):
19347         * gst/registries/gstlibxmlregistry.h:
19348         * tools/gst-compprep.c: (main):
19349         * tools/gst-inspect.c: (print_pad_templates_info):
19350         * tools/gst-xmlinspect.c: (print_element_info):
19351           Use libxml2 for registry parsing, use staticpadtemplates in
19352           elementfactories. Makes gst_init() +/- 10x faster.
19353
19354 2005-04-12  Wim Taymans  <wim@fluendo.com>
19355
19356         * gst/base/Makefile.am:
19357         * gst/base/gstbasesink.c: (gst_basesink_base_init),
19358         (gst_basesink_pad_getcaps), (gst_basesink_init),
19359         (gst_basesink_event), (gst_basesink_change_state):
19360         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
19361         (gst_basesrc_init), (gst_basesrc_query),
19362         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
19363         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
19364         (gst_basesrc_check_get_range), (gst_basesrc_loop),
19365         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
19366         (gst_basesrc_stop), (gst_basesrc_activate),
19367         (gst_basesrc_change_state):
19368         * gst/base/gsttypefindhelper.c: (helper_find_peek),
19369         (helper_find_suggest), (gst_type_find_helper):
19370         * gst/base/gsttypefindhelper.h:
19371         * gst/elements/Makefile.am:
19372         * gst/elements/gstelements.c:
19373         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
19374         (gst_fakesink_get_times), (gst_fakesink_event),
19375         (gst_fakesink_preroll), (gst_fakesink_render):
19376         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19377         (gst_fakesrc_init), (gst_fakesrc_event_handler),
19378         (gst_fakesrc_get_property), (gst_fakesrc_create),
19379         (gst_fakesrc_start), (gst_fakesrc_stop):
19380         * gst/elements/gstfakesrc.h:
19381         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
19382         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
19383         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
19384         (gst_filesrc_create_read), (gst_filesrc_create),
19385         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
19386         (gst_filesrc_start):
19387         * gst/elements/gsttypefindelement.c:
19388         (gst_type_find_element_have_type), (gst_type_find_element_init),
19389         (start_typefinding), (stop_typefinding), (push_buffer_store),
19390         (gst_type_find_element_handle_event),
19391         (gst_type_find_element_chain),
19392         (gst_type_find_element_checkgetrange),
19393         (gst_type_find_element_getrange), (do_typefind),
19394         (gst_type_find_element_activate),
19395         (gst_type_find_element_change_state):
19396         * gst/elements/gsttypefindelement.h:
19397         * gst/gstpipeline.c: (pipeline_bus_handler):
19398         Added typefind helper.
19399         Small preroll fix in the base sink.
19400         Disable typefind code in basesrc.
19401         Crude port of typefindelement.
19402         Fakesrc cleanups.
19403
19404
19405 2005-04-11  Wim Taymans  <wim@fluendo.com>
19406
19407         * check/gst/gstbus.c: (gstbus_suite):
19408         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
19409         * check/gstcheck.h:
19410           Fix up the timeout so that the test does not fail.
19411
19412 2005-04-06  Wim Taymans  <wim@fluendo.com>
19413
19414         * gst/base/README:
19415         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
19416         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
19417         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
19418         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
19419         (gst_basesrc_check_get_range), (gst_basesrc_loop),
19420         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
19421         (gst_basesrc_stop), (gst_basesrc_activate),
19422         (gst_basesrc_change_state), (basesrc_find_peek),
19423         (basesrc_find_suggest), (gst_basesrc_type_find):
19424         * gst/base/gstbasesrc.h:
19425         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
19426         (gst_filesrc_class_init), (gst_filesrc_init),
19427         (gst_filesrc_finalize), (gst_filesrc_set_location),
19428         (gst_filesrc_set_property), (gst_filesrc_get_property),
19429         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
19430         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
19431         (gst_filesrc_create_read), (gst_filesrc_create),
19432         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
19433         * gst/elements/gstfilesrc.h:
19434         * gst/gstelement.c: (gst_element_get_state_func),
19435         (gst_element_lost_state), (gst_element_pads_activate):
19436         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19437         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
19438         (gst_pad_pull_range):
19439         * gst/gstpad.h:
19440         More work on the generic source base class, implement seeking,
19441         query.
19442         Make filesrc extend the base source class.
19443         Added gst_pad_set_checkgetrange_function to GstPad.
19444
19445 2005-04-06  Andy Wingo  <wingo@pobox.com>
19446
19447         * pkgconfig/gstreamer-base.pc.in:
19448         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
19449
19450         * pkgconfig/Makefile.am:
19451         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
19452
19453 2005-04-04  Wim Taymans  <wim@fluendo.com>
19454
19455         * gst/base/Makefile.am:
19456         * gst/base/README:
19457         * gst/base/gstbasesink.c: (gst_basesink_base_init),
19458         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
19459         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
19460         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
19461         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
19462         (gst_basesrc_base_init), (gst_basesrc_class_init),
19463         (gst_basesrc_init), (gst_basesrc_get_formats),
19464         (gst_basesrc_get_query_types), (gst_basesrc_query),
19465         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
19466         (gst_basesrc_set_property), (gst_basesrc_get_property),
19467         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
19468         (gst_basesrc_loop), (gst_basesrc_activate),
19469         (gst_basesrc_change_state):
19470         * gst/base/gstbasesrc.h:
19471         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
19472         (gst_fakesrc_class_init), (gst_fakesrc_init),
19473         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
19474         (gst_fakesrc_get_property), (gst_fakesrc_create):
19475         * gst/elements/gstfakesrc.h:
19476         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
19477         (gst_filesrc_open_file), (gst_filesrc_loop),
19478         (gst_filesrc_activate), (filesrc_find_peek),
19479         (gst_filesrc_type_find):
19480         Made base source class, make fakesrc extend it.
19481         Add comments to basesink class.
19482         Some filesrc cleanup.
19483
19484 2005-03-31  David Schleef  <ds@schleef.org>
19485
19486         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
19487         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
19488         expected to link against libgstreamer.
19489         * gst/base/Makefile.am: link against libgstreamer
19490         * gst/elements/Makefile.am: same
19491
19492 2005-03-31  Andy Wingo  <wingo@pobox.com>
19493
19494         * tests/instantiate/Makefile.am:
19495         * tests/instantiate/caps.c: Add test to test speed of caps copy
19496         and free.
19497
19498         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
19499         GMemChunk to be fair.
19500
19501         * gst/gsttrashstack.h: Remove warning about using the fallback
19502         trash stack implementation, it's still faster than malloc.
19503
19504 2005-03-30  Andy Wingo  <wingo@pobox.com>
19505
19506         * tests/complexity.c: Add a copyright.
19507
19508 2005-03-31  Wim Taymans  <wim@fluendo.com>
19509
19510         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
19511         (gst_base_transform_class_init), (gst_base_transform_init),
19512         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
19513         (gst_base_transform_get_property),
19514         (gst_base_transform_sink_activate),
19515         (gst_base_transform_src_activate),
19516         (gst_base_transform_change_state):
19517         * gst/base/gstbasetransform.h:
19518         * gst/elements/gstidentity.c: (gst_identity_class_init),
19519         (gst_identity_event), (gst_identity_check_perfect),
19520         (gst_identity_transform), (gst_identity_start),
19521         (gst_identity_stop):
19522         Added start/stop methods to transform base class so subclasses 
19523         don't need to deal with state changes even.
19524
19525 2005-03-31  Wim Taymans  <wim@fluendo.com>
19526
19527         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
19528         (gst_event_new_discontinuous), (gst_event_discont_get_value):
19529         * gst/gstevent.h:
19530         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19531         (gst_pad_pull_range):
19532         Added rate to the discont event to prepare for variable speed
19533         and reverse playback.
19534
19535 2005-03-29  David Schleef  <ds@schleef.org>
19536
19537         * configure.ac:
19538         * testsuite/trigger/Makefile.am:
19539         * testsuite/trigger/trigger.c: A little example program to show
19540         how trigger-based elements can work.
19541
19542 2005-03-29  Wim Taymans  <wim@fluendo.com>
19543
19544         * gst/base/Makefile.am:
19545         * gst/base/README:
19546         * gst/base/gstbasesink.c: (gst_basesink_get_type),
19547         (gst_basesink_base_init), (gst_basesink_class_init),
19548         (gst_basesink_pad_getcaps), (gst_basesink_init),
19549         (gst_basesink_activate), (gst_basesink_change_state):
19550         * gst/base/gstbasesink.h:
19551         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
19552         (gst_base_transform_base_init), (gst_base_transform_finalize),
19553         (gst_base_transform_class_init), (gst_base_transform_init),
19554         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
19555         (gst_base_transform_event), (gst_base_transform_getrange),
19556         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
19557         (gst_base_transform_set_property),
19558         (gst_base_transform_get_property),
19559         (gst_base_transform_sink_activate),
19560         (gst_base_transform_src_activate),
19561         (gst_base_transform_change_state):
19562         * gst/base/gstbasetransform.h:
19563         * gst/elements/gstidentity.c: (gst_identity_finalize),
19564         (gst_identity_class_init), (gst_identity_init),
19565         (gst_identity_event), (gst_identity_check_perfect),
19566         (gst_identity_transform), (gst_identity_set_property),
19567         (gst_identity_get_property), (gst_identity_change_state):
19568         * gst/elements/gstidentity.h:
19569         * gst/gstelement.c: (gst_element_get_state_func),
19570         (gst_element_lost_state), (gst_element_pads_activate):
19571         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19572         (gst_pad_check_pull_range), (gst_pad_pull_range):
19573         * gst/gstpad.h:
19574         Simplify pad activation.
19575         Added function to check if pull_range can be performed.
19576         Error out when pulling inactive or flushing pads.
19577         Removed const from refcounted types as it does not make sense.
19578         Simplify pad templates in basesink
19579         Added base class for simple 1-to-1 transforms.
19580         Make identity subclass the base transform.
19581
19582 2005-03-29  Andy Wingo  <wingo@pobox.com>
19583
19584         * docs/libs/gstreamer-libs-overrides.txt: 
19585         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
19586         really don't understand what's going on, but like whatever. I want
19587         green buildbot!
19588
19589         * docs/gst/Makefile.am:
19590         * docs/libs/Makefile.am: Dist the overrides files.
19591
19592         * check/Makefile.am (clean-local): Remove .libs directories.
19593
19594         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
19595         elements to EXTRA_DIST, so po/ files are happy.
19596
19597         * po/POTFILES.in: Er, remove it here.
19598
19599         * po/POTFILES: Remove gstspider.c.
19600
19601         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
19602
19603         * docs/libs/gstreamer-libs-docs.sgml: 
19604         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
19605         bytestream.
19606
19607         * tests/complexity.c (main): Set the length of the preroll queue
19608         on the sinks to prevent a lockup.
19609
19610         * libs/gst/dataprotocol/Makefile.am: 
19611         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
19612         the same as the one in check/gst-libs/gdp.c.
19613
19614         * po/, docs/gst/: Commit automatic changes to docs and po files.
19615
19616         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
19617         the versioned libgstbase.
19618
19619         * check/Makefile.am: Depend on an unversioned gst-register, seems
19620         to make autoconf happier.
19621
19622         * gst/base/Makefile.am: Make libgstbase a versioned lib.
19623
19624 2005-03-28  Wim Taymans  <wim@fluendo.com>
19625
19626         * configure.ac:
19627         * docs/design/part-gstelement.txt:
19628         * docs/design/part-negotiation.txt:
19629         * docs/design/part-preroll.txt:
19630         * docs/design/part-scheduling.txt:
19631         * docs/design/part-states.txt:
19632         * gst/Makefile.am:
19633         * gst/base/Makefile.am:
19634         * gst/base/README:
19635         * gst/base/gstbasesink.c: (gst_basesink_get_template),
19636         (gst_basesink_base_init), (gst_basesink_class_init),
19637         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
19638         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
19639         (gst_basesink_set_pad_functions),
19640         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
19641         (gst_basesink_set_property), (gst_basesink_get_property),
19642         (gst_base_sink_get_template), (gst_base_sink_get_caps),
19643         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
19644         (gst_basesink_preroll_queue_push),
19645         (gst_basesink_preroll_queue_empty),
19646         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
19647         (gst_basesink_event), (gst_basesink_get_times),
19648         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
19649         (gst_basesink_chain_unlocked), (gst_basesink_chain),
19650         (gst_basesink_loop), (gst_basesink_activate),
19651         (gst_basesink_change_state):
19652         * gst/base/gstbasesink.h:
19653         * gst/elements/Makefile.am:
19654         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
19655         (gst_fakesink_class_init), (gst_fakesink_init),
19656         (gst_fakesink_set_property), (gst_fakesink_get_property),
19657         (gst_fakesink_get_times), (gst_fakesink_event),
19658         (gst_fakesink_preroll), (gst_fakesink_render),
19659         (gst_fakesink_change_state):
19660         * gst/elements/gstfakesink.h:
19661         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
19662         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
19663         * gst/gstelement.c: (gst_element_add_pad),
19664         (gst_element_get_state_func), (gst_element_abort_state),
19665         (gst_element_commit_state), (gst_element_lost_state),
19666         (gst_element_set_state), (gst_element_pads_activate):
19667         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
19668         * gst/gstpipeline.c: (gst_pipeline_send_event),
19669         (gst_pipeline_change_state):
19670         Added state change code.
19671         Added/updated docs.
19672         Added sink base class, make fakesink extend the base class.
19673         Small cleanups in GstPipeline.
19674
19675 2005-03-26  David Schleef  <ds@schleef.org>
19676
19677         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
19678         is broken and should be implemented in a different library.
19679         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
19680         * gst/gst.h: remove gstcpu.h
19681         * gst/gstcpu.c: remove
19682         * gst/gstcpu.h: remove
19683         * gst/Makefile.am.future: Remove this file.  It's ancient.
19684
19685 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19686
19687         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
19688         (gst_bin_send_event):
19689           Add default event/set_manager handlers. The set_manager handler
19690           takes care that the manager is distributed over kids that were
19691           already in the bin before the manager was set. The event handler
19692           is a utility virtual function that sends the event over all sinks,
19693           so that gst_element_send_event (bin, event); has the expected
19694           behaviour.
19695         * gst/gstpad.c: (gst_pad_event_default):
19696           Re-install default event handling for discontinuities, so that
19697           seeking works without requiring hacks in applications or extra
19698           code in sinks.
19699         * gst/gstpipeline.c: (gst_pipeline_class_init),
19700         (gst_pipeline_send_event):
19701           Half hack, half utility: set a pipeline to PAUSED for seek events,
19702           since that is the only way we can guarantee a/v sync. Means that
19703           you can do gst_element_seek (pipeline, method, pos); on a pipeline
19704           and it "just works".
19705
19706 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19707
19708         * gst/gstpipeline.c: (gst_pipeline_use_clock):
19709           Lock/unlock mismatch.
19710
19711 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
19712
19713         * docs/faq/gst-uninstalled:
19714           add gst-plugins-base
19715         * docs/gst/Makefile.am:
19716           don't error out until docs are fixed
19717         * docs/gst/gstreamer.types:
19718           remove thread
19719
19720 2005-03-22  Wim Taymans  <wim@fluendo.com>
19721
19722         * check/Makefile.am:
19723         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
19724         * gst/gststructure.c: (gst_structure_set_valist),
19725         (gst_structure_copy_conditional):
19726         Activated more tests.
19727         Added message test.
19728         Added G_TYPE_POINTER to GstStructure.
19729         
19730
19731 2005-03-22  Wim Taymans  <wim@fluendo.com>
19732
19733         * docs/design/part-TODO.txt:
19734         * docs/design/part-events.txt:
19735         * docs/design/part-gstbin.txt:
19736         * docs/design/part-gstbus.txt:
19737         * docs/design/part-gstpipeline.txt:
19738         * docs/design/part-messages.txt:
19739         * gst/gstbus.c:
19740         * gst/gstmessage.c:
19741         Docs updates
19742
19743 2005-03-21  Wim Taymans  <wim@fluendo.com>
19744
19745         * gst/gstbus.c: (gst_bus_post):
19746         Fix copy-and-paste error.
19747
19748 2005-03-21  Wim Taymans  <wim@fluendo.com>
19749
19750         * check/Makefile.am:
19751         * gst/Makefile.am:
19752         * gst/elements/Makefile.am:
19753         * gst/elements/gstelements.c:
19754         * gst/elements/gstfakesink.c: (gst_fakesink_init),
19755         (gst_fakesink_event), (gst_fakesink_chain):
19756         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19757         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
19758         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
19759         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
19760         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
19761         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
19762         (gst_fakesrc_loop), (gst_fakesrc_activate),
19763         (gst_fakesrc_change_state):
19764         * gst/elements/gstfakesrc.h:
19765         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
19766         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
19767         (gst_filesrc_open_file), (gst_filesrc_loop),
19768         (gst_filesrc_activate), (gst_filesrc_change_state),
19769         (filesrc_find_peek), (filesrc_find_suggest),
19770         (gst_filesrc_type_find):
19771         * gst/elements/gstidentity.c: (gst_identity_finalize),
19772         (gst_identity_class_init), (gst_identity_init),
19773         (gst_identity_proxy_getcaps), (identity_queue_push),
19774         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
19775         (gst_identity_getrange), (gst_identity_chain),
19776         (gst_identity_sink_loop), (gst_identity_src_loop),
19777         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
19778         (gst_identity_set_property), (gst_identity_get_property),
19779         (gst_identity_change_state):
19780         * gst/elements/gstidentity.h:
19781         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
19782         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
19783         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
19784         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
19785         (gst_tee_sink_activate):
19786         * gst/elements/gsttee.h:
19787         * gst/gst.c: (gst_register_core_elements), (init_post):
19788         * gst/gst.h:
19789         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
19790         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
19791         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
19792         (gst_bin_change_state):
19793         * gst/gstbin.h:
19794         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
19795         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
19796         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
19797         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
19798         (gst_bus_set_sync_handler), (gst_bus_create_watch),
19799         (bus_watch_callback), (bus_watch_destroy),
19800         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
19801         (poll_timeout), (gst_bus_poll):
19802         * gst/gstbus.h:
19803         * gst/gstcaps.h:
19804         * gst/gstdata.h:
19805         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
19806         (gst_element_post_message), (gst_element_message_full),
19807         (gst_element_get_state_func), (gst_element_get_state),
19808         (gst_element_abort_state), (gst_element_commit_state),
19809         (gst_element_lost_state), (gst_element_set_state),
19810         (gst_element_pads_activate), (gst_element_change_state),
19811         (gst_element_dispose), (gst_element_set_manager_func),
19812         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
19813         (gst_element_set_manager), (gst_element_get_manager),
19814         (gst_element_set_bus), (gst_element_get_bus),
19815         (gst_element_set_scheduler), (gst_element_get_scheduler):
19816         * gst/gstelement.h:
19817         * gst/gstevent.c: (gst_event_new_segment_seek),
19818         (gst_event_new_flush):
19819         * gst/gstevent.h:
19820         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
19821         (_gst_message_free), (gst_message_get_type), (gst_message_new),
19822         (gst_message_new_eos), (gst_message_new_error),
19823         (gst_message_new_warning), (gst_message_new_tag),
19824         (gst_message_new_state_changed), (gst_message_new_application),
19825         (gst_message_get_structure), (gst_message_parse_tag),
19826         (gst_message_parse_state_changed), (gst_message_parse_error),
19827         (gst_message_parse_warning):
19828         * gst/gstmessage.h:
19829         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
19830         (gst_real_pad_set_property), (gst_pad_set_active),
19831         (gst_pad_is_active), (gst_pad_set_blocked_async),
19832         (gst_pad_set_blocked), (gst_pad_is_blocked),
19833         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
19834         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
19835         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
19836         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
19837         (gst_pad_link_filtered), (gst_pad_relink_filtered),
19838         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
19839         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
19840         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
19841         (gst_pad_set_caps), (gst_pad_configure_sink),
19842         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
19843         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
19844         (gst_real_pad_dispose), (gst_real_pad_finalize),
19845         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
19846         (gst_pad_event_default_dispatch), (gst_pad_event_default),
19847         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
19848         * gst/gstpad.h:
19849         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
19850         (pipeline_bus_handler), (gst_pipeline_change_state),
19851         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
19852         * gst/gstpipeline.h:
19853         * gst/gstprobe.h:
19854         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
19855         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
19856         (gst_queue_link_src), (gst_queue_bufferalloc),
19857         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
19858         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
19859         (gst_queue_loop), (gst_queue_handle_src_event),
19860         (gst_queue_handle_src_query), (gst_queue_src_activate),
19861         (gst_queue_change_state):
19862         * gst/gstqueue.h:
19863         * gst/gstscheduler.c: (gst_scheduler_init),
19864         (gst_scheduler_dispose), (gst_scheduler_create_task),
19865         (gst_scheduler_factory_create):
19866         * gst/gstscheduler.h:
19867         * gst/gststructure.c: (gst_structure_get_type),
19868         (gst_structure_copy_conditional):
19869         * gst/gststructure.h:
19870         * gst/gsttaginterface.h:
19871         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
19872         (gst_task_init), (gst_task_dispose), (gst_task_create),
19873         (gst_task_get_state), (gst_task_start), (gst_task_stop),
19874         (gst_task_pause):
19875         * gst/gsttask.h:
19876         * gst/gstthread.c:
19877         * gst/gstthread.h:
19878         * gst/gsttypes.h:
19879         * gst/schedulers/Makefile.am:
19880         * gst/schedulers/cothreads_compat.h:
19881         * gst/schedulers/entryscheduler.c:
19882         * gst/schedulers/faircothreads.c:
19883         * gst/schedulers/faircothreads.h:
19884         * gst/schedulers/fairscheduler.c:
19885         * gst/schedulers/gstbasicscheduler.c:
19886         * gst/schedulers/gstoptimalscheduler.c:
19887         * gst/schedulers/gthread-cothreads.h:
19888         * gst/schedulers/threadscheduler.c:
19889         (gst_thread_scheduler_task_get_type),
19890         (gst_thread_scheduler_task_class_init),
19891         (gst_thread_scheduler_task_init),
19892         (gst_thread_scheduler_task_start),
19893         (gst_thread_scheduler_task_stop),
19894         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
19895         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
19896         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
19897         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
19898         (plugin_init):
19899         * libs/gst/Makefile.am:
19900         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
19901         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
19902         (gst_file_pad_parent_set):
19903         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
19904         (gst_dp_event_from_packet):
19905         * tests/complexity.c: (main):
19906         * tests/mass_elements.c: (main):
19907         * testsuite/states/locked.c: (message_received), (main):
19908         * testsuite/states/parent.c: (main):
19909         * tools/gst-inspect.c: (print_element_flag_info),
19910         (print_implementation_info), (print_pad_info):
19911         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
19912         (main):
19913         * tools/gst-md5sum.c: (event_loop), (main):
19914         * tools/gst-typefind.c: (main):
19915         * tools/gst-xmlinspect.c: (print_element_info):
19916         Next big merge.
19917         Added GstBus for mainloop integration.
19918         Added GstMessage for sending notifications on the bus.
19919         Added GstTask as an abstraction for pipeline entry points.
19920         Removed GstThread.
19921         Removed Schedulers.
19922         Simplified GstQueue for multithreaded core.
19923         Made _link threadsafe, removed old capsnego.
19924         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
19925         Added pad blocking functions.
19926         Reworked scheduling functions in GstPad to prepare for
19927         scheduling updates soon.
19928         Moved events out of data stream.
19929         Simplified GstEvent types.
19930         Added return values to push/pull.
19931         Removed clocking from GstElement.
19932         Added prototypes for state change function for next merge.
19933         Removed iterate from bins and state change management.
19934         Fixed some elements, disabled others for now.
19935         Fixed -inspect and -launch.
19936         Added check for GstBus.
19937
19938 2005-03-10  Wim Taymans  <wim@fluendo.com>
19939
19940         * docs/design/part-MT-refcounting.txt:
19941         * docs/design/part-clocks.txt:
19942         * docs/design/part-gstelement.txt:
19943         * docs/design/part-gstobject.txt:
19944         * docs/design/part-standards.txt:
19945         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19946         (gst_bin_remove_func), (gst_bin_remove):
19947         * gst/gstbin.h:
19948         * gst/gstbuffer.c:
19949         * gst/gstcaps.h:
19950         * testsuite/clock/clock1.c: (main):
19951         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
19952         (main):
19953         * testsuite/dlopen/loadgst.c: (do_test):
19954         * testsuite/refcounting/bin.c: (add_remove_test1),
19955         (add_remove_test2), (main):
19956         * testsuite/refcounting/element.c: (main):
19957         * testsuite/refcounting/element_pad.c: (main):
19958         * testsuite/refcounting/pad.c: (main):
19959         * tools/gst-launch.c: (sigint_handler_sighandler):
19960         * tools/gst-typefind.c: (main):
19961         Doc updates.
19962         Added doc about clock.
19963         removed gst_bin_iterate_recurse_up(), marked methods
19964         for removal.
19965         Fix more testsuites.
19966
19967 2005-03-09  Wim Taymans  <wim@fluendo.com>
19968
19969         * gst/gstpad.c: (gst_pad_get_direction),
19970         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
19971         (gst_pad_collect_valist):
19972         * testsuite/bins/interface.c: (main):
19973         * testsuite/caps/audioscale.c: (test_caps):
19974         * testsuite/caps/caps.c: (test1), (test2), (test3):
19975         * testsuite/caps/deserialize.c: (main):
19976         * testsuite/caps/enumcaps.c: (main):
19977         * testsuite/caps/filtercaps.c: (main):
19978         * testsuite/caps/intersect2.c: (main):
19979         * testsuite/caps/random.c: (main):
19980         * testsuite/caps/renegotiate.c: (my_fixate), (main):
19981         * testsuite/caps/sets.c: (check_caps):
19982         * testsuite/caps/simplify.c: (check_caps), (main):
19983         * testsuite/caps/subtract.c: (check_caps):
19984         Fix _pad_get_direction wrt ghostpads.
19985         Fix caps testsuite.
19986
19987 2005-03-09  Wim Taymans  <wim@fluendo.com>
19988
19989         * check/Makefile.am:
19990         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
19991         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
19992         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
19993         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
19994         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
19995         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
19996         (gst_bin_remove), (gst_bin_iterate_recurse_up),
19997         (bin_element_is_sink), (gst_bin_iterate_sinks),
19998         (gst_bin_iterate_all_by_interface):
19999         * gst/gstbin.h:
20000         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
20001         (gst_element_change_state), (gst_element_dispose),
20002         (gst_element_finalize), (gst_element_set_loop_function):
20003         * gst/gstelement.h:
20004         * gst/gstiterator.c: (find_custom_fold_func):
20005         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
20006         (gst_pad_collectv), (gst_pad_collect_valist),
20007         (gst_pad_template_new):
20008         * gst/gstpipeline.c: (gst_pipeline_class_init),
20009         (gst_pipeline_dispose), (gst_pipeline_set_property),
20010         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
20011         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
20012         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
20013         * gst/gstutils.h:
20014         * gst/schedulers/entryscheduler.c:
20015         * gst/schedulers/gstbasicscheduler.c:
20016         (gst_basic_scheduler_cothreaded_chain),
20017         (gst_basic_scheduler_chain_add_element):
20018         * testsuite/bins/interface.c: (main):
20019         Added GstBin test.
20020         Added GstSystemClock test.
20021         Implemented clock distribution code in GstBin.
20022         Implemented iterate sinks method for future use.
20023         Rearranged gstelement.h
20024         Fix GstIterator comparison bug.
20025         Moved some code to GstPipeline, mostly clocking related.
20026
20027 2005-03-09  Wim Taymans  <wim@fluendo.com>
20028
20029         * configure.ac:
20030         * gst/gst_private.h:
20031         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
20032         (gst_bin_remove_func), (gst_bin_remove),
20033         (gst_bin_get_by_name_recurse_up):
20034         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
20035         (gst_clock_id_compare_func), (gst_clock_id_wait),
20036         (gst_clock_id_wait_async), (gst_clock_init),
20037         (gst_clock_adjust_unlocked), (gst_clock_get_time):
20038         * gst/gstelement.h:
20039         * gst/gstinfo.c: (_gst_debug_init):
20040         * gst/gstobject.h:
20041         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
20042         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
20043         * gst/gstpad.h:
20044         Bump version number, we're now 0.9.0
20045         Add future debugging category.
20046         Fix NULL _unref() in _get_by_name_recurse_up
20047         Rearrange gstpad.h.
20048         Update some docs.
20049
20050 2005-03-08  Wim Taymans  <wim@fluendo.com>
20051
20052         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
20053         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
20054         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
20055         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
20056         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
20057         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
20058         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
20059         * gst/elements/gstidentity.c: (gst_identity_class_init):
20060         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
20061         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
20062         * gst/elements/gstshaper.c: (gst_shaper_class_init):
20063         * gst/elements/gststatistics.c: (gst_statistics_class_init):
20064         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
20065         (gst_tee_link):
20066         * gst/gstelement.c: (gst_element_class_init),
20067         (gst_element_base_class_init), (gst_element_init),
20068         (gst_element_get_random_pad), (gst_element_wait_state_change),
20069         (gst_element_change_state), (gst_element_dispose),
20070         (gst_element_finalize), (gst_element_set_loop_function):
20071         * gst/gstelement.h:
20072         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
20073         * gst/gstthread.c: (gst_thread_class_init),
20074         (gst_thread_release_children_locks), (gst_thread_change_state):
20075         * gst/schedulers/gstbasicscheduler.c:
20076         (gst_basic_scheduler_loopfunc_wrapper),
20077         (gst_basic_scheduler_chain_wrapper),
20078         (gst_basic_scheduler_src_wrapper),
20079         (gst_basic_scheduler_remove_element):
20080         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
20081         Remove threadsafe properties. Fix elements because GObject
20082         complains when installing a property before declaring a
20083         set/get_property handler.
20084         Rearrange gstelement.h file, use STATE macros for state locks.
20085         Free mutexes in the finalize method instead of dispose.
20086
20087 2005-03-08  Wim Taymans  <wim@fluendo.com>
20088
20089         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
20090         * gst/gstthread.c: (gst_thread_release_children_locks):
20091         Added parentage check.
20092         Fix build og GstThread again.
20093
20094 2005-03-08  Wim Taymans  <wim@fluendo.com>
20095
20096         * docs/design/part-MT-refcounting.txt:
20097         * docs/design/part-conventions.txt:
20098         * docs/design/part-gstobject.txt:
20099         * docs/design/part-relations.txt:
20100         * docs/design/part-standards.txt:
20101         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
20102         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
20103         (gst_bin_get_by_name), (gst_bin_get_by_interface),
20104         (gst_bin_iterate_all_by_interface):
20105         * gst/gstbuffer.h:
20106         * gst/gstclock.h:
20107         * gst/gstelement.c: (gst_element_class_init),
20108         (gst_element_change_state), (gst_element_set_loop_function):
20109         * gst/gstelement.h:
20110         * gst/gstiterator.c:
20111         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
20112         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
20113         (gst_object_dispatch_properties_changed), (gst_object_set_name),
20114         (gst_object_set_parent), (gst_object_unparent),
20115         (gst_object_check_uniqueness):
20116         * gst/gstobject.h:
20117         Docs updates, clean up some headers.
20118
20119 2005-03-07  Wim Taymans  <wim@fluendo.com>
20120
20121         * check/.cvsignore:
20122         * check/Makefile.am:
20123         * check/gst-libs/.cvsignore:
20124         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
20125         * check/gst/.cvsignore:
20126         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
20127         (START_TEST), (gstbus_suite), (main):
20128         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
20129         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
20130         (gst_data_suite), (main):
20131         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
20132         (add_fold_func), (gstiterator_suite), (main):
20133         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
20134         (thread_name_object), (thread_name_object_default),
20135         (gst_object_name_compare), (gst_object_suite), (main):
20136         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
20137         (gst_pad_suite), (main):
20138         * check/gstcheck.c: (gst_check_log_message_func),
20139         (gst_check_log_critical_func), (gst_check_init):
20140         * check/gstcheck.h:
20141         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
20142         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
20143         Added checks.
20144
20145 2005-03-07  Wim Taymans  <wim@fluendo.com>
20146
20147         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
20148         (gst_list_iterator_next), (gst_list_iterator_resync),
20149         (gst_list_iterator_free), (gst_iterator_new_list),
20150         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
20151         (gst_iterator_free), (gst_iterator_push), (filter_next),
20152         (filter_resync), (filter_uninit), (filter_free),
20153         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
20154         (gst_iterator_foreach), (find_custom_fold_func),
20155         (gst_iterator_find_custom):
20156         * gst/gstiterator.h:
20157         Added missing files.
20158
20159 2005-03-07  Wim Taymans  <wim@fluendo.com>
20160
20161         * Makefile.am:
20162         * configure.ac:
20163         * docs/design/part-MT-refcounting.txt:
20164         * docs/design/part-conventions.txt:
20165         * docs/design/part-gstobject.txt:
20166         * docs/design/part-relations.txt:
20167         * examples/mixer/mixer.c: (main):
20168         * examples/thread/thread.c: (eos), (main):
20169         * gst/Makefile.am:
20170         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
20171         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
20172         (gst_spider_plug_from_srcpad):
20173         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
20174         (gst_spider_identity_change_state),
20175         (gst_spider_identity_sink_loop_type_finding):
20176         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
20177         * gst/elements/gstidentity.c: (gst_identity_init):
20178         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
20179         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
20180         * gst/elements/gsttypefindelement.c: (free_entry):
20181         * gst/gst.c:
20182         * gst/gst.h:
20183         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
20184         (gst_bin_set_clock_func), (gst_bin_auto_clock),
20185         (gst_bin_set_index), (gst_bin_set_element_sched),
20186         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
20187         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
20188         (gst_bin_iterate_elements), (iterate_child_recurse),
20189         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
20190         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
20191         (compare_interface), (gst_bin_get_by_interface),
20192         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
20193         * gst/gstbin.h:
20194         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
20195         (gst_buffer_default_free), (gst_buffer_default_copy),
20196         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
20197         (gst_buffer_create_sub):
20198         * gst/gstbuffer.h:
20199         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
20200         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
20201         (gst_caps_unref), (gst_static_caps_get),
20202         (gst_caps_remove_and_get_structure), (gst_caps_append),
20203         (gst_caps_append_structure), (gst_caps_remove_structure),
20204         (gst_caps_copy_nth), (gst_caps_set_simple),
20205         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
20206         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
20207         (gst_caps_structure_intersect_field), (gst_caps_intersect),
20208         (gst_caps_structure_subtract_field), (gst_caps_subtract),
20209         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
20210         (gst_caps_structure_figure_out_union),
20211         (gst_caps_switch_structures), (gst_caps_do_simplify),
20212         (gst_caps_replace), (gst_caps_from_string),
20213         (gst_caps_copy_conditional):
20214         * gst/gstcaps.h:
20215         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
20216         (_gst_clock_id_free), (gst_clock_id_unref),
20217         (gst_clock_id_compare_func), (gst_clock_id_wait),
20218         (gst_clock_id_wait_async), (gst_clock_class_init),
20219         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
20220         (gst_clock_get_time), (gst_clock_set_time_adjust),
20221         (gst_clock_set_property), (gst_clock_get_property):
20222         * gst/gstclock.h:
20223         * gst/gstcompat.h:
20224         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
20225         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
20226         * gst/gstdata.h:
20227         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
20228         (gst_element_requires_clock), (gst_element_provides_clock),
20229         (gst_element_set_clock), (gst_element_clock_wait),
20230         (gst_element_wait), (gst_element_set_time_delay),
20231         (gst_element_is_indexable), (gst_element_add_pad),
20232         (gst_element_add_ghost_pad), (gst_element_remove_pad),
20233         (pad_compare_name), (gst_element_get_static_pad),
20234         (gst_element_request_pad), (gst_element_get_request_pad),
20235         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
20236         (gst_element_class_get_pad_template_list),
20237         (gst_element_class_get_pad_template), (gst_element_error_func),
20238         (gst_element_get_random_pad), (gst_element_get_event_masks),
20239         (gst_element_send_event), (gst_element_seek),
20240         (gst_element_get_query_types), (gst_element_query),
20241         (gst_element_get_formats), (gst_element_convert),
20242         (gst_element_is_locked_state), (gst_element_set_locked_state),
20243         (gst_element_sync_state_with_parent), (gst_element_change_state),
20244         (gst_element_finalize), (gst_element_yield),
20245         (gst_element_interrupt), (gst_element_set_scheduler),
20246         (gst_element_get_scheduler), (gst_element_set_loop_function):
20247         * gst/gstelement.h:
20248         * gst/gstevent.h:
20249         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
20250         (gst_format_get_by_nick), (gst_format_get_details),
20251         (gst_format_iterate_definitions):
20252         * gst/gstformat.h:
20253         * gst/gstindex.c: (gst_index_gtype_resolver):
20254         * gst/gstinfo.c:
20255         * gst/gstinfo.h:
20256         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
20257         (gst_mem_chunk_free):
20258         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
20259         (gst_object_ref), (gst_object_unref), (gst_object_sink),
20260         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
20261         (gst_object_dispatch_properties_changed),
20262         (gst_object_set_name_default), (gst_object_set_name),
20263         (gst_object_get_name), (gst_object_set_name_prefix),
20264         (gst_object_get_name_prefix), (gst_object_set_parent),
20265         (gst_object_get_parent), (gst_object_unparent),
20266         (gst_object_check_uniqueness), (gst_object_save_thyself),
20267         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
20268         (gst_object_set_property), (gst_object_get_property),
20269         (gst_object_get_path_string):
20270         * gst/gstobject.h:
20271         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
20272         (gst_real_pad_init), (gst_real_pad_get_property),
20273         (gst_pad_custom_new), (gst_pad_get_direction),
20274         (gst_pad_set_active), (gst_pad_is_active),
20275         (gst_pad_set_event_function), (gst_pad_is_linked),
20276         (gst_pad_link_free), (gst_pad_link_intersect),
20277         (gst_pad_link_fixate), (gst_pad_set_caps),
20278         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
20279         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
20280         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
20281         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
20282         (gst_pad_get_caps), (gst_pad_peer_get_caps),
20283         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
20284         (gst_pad_realize), (gst_pad_get_allowed_caps),
20285         (gst_real_pad_dispose), (gst_real_pad_finalize),
20286         (gst_pad_collectv), (gst_pad_collect_valist),
20287         (gst_pad_template_dispose), (gst_pad_template_new),
20288         (gst_pad_get_internal_links):
20289         * gst/gstpad.h:
20290         * gst/gstpipeline.c: (gst_pipeline_dispose),
20291         (gst_pipeline_change_state):
20292         * gst/gstpipeline.h:
20293         * gst/gstplugin.c:
20294         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
20295         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
20296         * gst/gstpluginfeature.h:
20297         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
20298         * gst/gstquery.c: (_gst_query_type_initialize),
20299         (gst_query_type_register), (gst_query_type_get_by_nick),
20300         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
20301         * gst/gstquery.h:
20302         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
20303         * gst/gstscheduler.c: (gst_scheduler_add_element),
20304         (gst_scheduler_factory_create):
20305         * gst/gststructure.c: (gst_structure_set_parent_refcount),
20306         (gst_structure_free), (gst_structure_set_name),
20307         (gst_structure_id_set_value), (gst_structure_set_value),
20308         (gst_structure_set_valist), (gst_structure_remove_field),
20309         (gst_structure_remove_fields),
20310         (gst_structure_remove_fields_valist),
20311         (gst_structure_remove_all_fields), (gst_structure_foreach),
20312         (gst_structure_map_in_place),
20313         (gst_caps_structure_fixate_field_nearest_int),
20314         (gst_caps_structure_fixate_field_nearest_double):
20315         * gst/gststructure.h:
20316         * gst/gstsystemclock.c: (gst_system_clock_class_init),
20317         (gst_system_clock_init), (gst_system_clock_dispose),
20318         (gst_system_clock_async_thread),
20319         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
20320         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
20321         * gst/gstsystemclock.h:
20322         * gst/gsttag.c: (gst_tag_list_add_value_internal),
20323         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
20324         * gst/gsttaginterface.c:
20325         * gst/gstthread.c: (gst_thread_dispose),
20326         (gst_thread_release_children_locks), (gst_thread_change_state),
20327         (gst_thread_main_loop):
20328         * gst/gsttrashstack.h:
20329         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
20330         * gst/gsttypes.h:
20331         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
20332         (gst_element_request_pad), (gst_element_get_pad_from_template),
20333         (gst_element_request_compatible_pad),
20334         (gst_element_get_compatible_pad_filtered),
20335         (gst_element_get_compatible_pad), (gst_element_state_get_name),
20336         (gst_element_link_pads_filtered), (gst_element_link_filtered),
20337         (gst_element_link_many), (gst_element_link),
20338         (gst_element_link_pads), (gst_element_unlink_pads),
20339         (gst_element_unlink_many), (gst_element_unlink),
20340         (gst_pad_can_link_filtered), (gst_pad_can_link),
20341         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
20342         (gst_object_default_error), (gst_bin_add_many),
20343         (gst_bin_remove_many), (gst_element_populate_std_props),
20344         (gst_element_class_install_std_props), (gst_buffer_merge),
20345         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
20346         (link_fold_func), (gst_pad_proxy_setcaps):
20347         * gst/gstutils.h:
20348         * gst/gstvalue.c: (gst_value_deserialize_string):
20349         * gst/parse/grammar.y:
20350         * gst/schedulers/gstbasicscheduler.c:
20351         (gst_basic_scheduler_cothreaded_chain),
20352         (gst_basic_scheduler_chain_recursive_add),
20353         (gst_basic_scheduler_pad_link):
20354         * gst/schedulers/gstoptimalscheduler.c:
20355         (get_group_schedule_function),
20356         (gst_opt_scheduler_state_transition),
20357         (gst_opt_scheduler_add_element), (element_get_reachables_func):
20358         * libs/gst/bytestream/bytestream.c:
20359         * libs/gst/dataprotocol/dataprotocol.c:
20360         (gst_dp_header_from_buffer):
20361         * po/nb.po:
20362         * po/ru.po:
20363         * tests/threadstate/threadstate2.c: (eos):
20364         * tools/gst-compprep.c: (main):
20365         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
20366         (print_pad_info), (print_children_info):
20367         * tools/gst-launch.c: (idle_func), (main):
20368         * tools/gst-md5sum.c: (idle_func), (main):
20369         * tools/gst-xmlinspect.c: (print_element_info):
20370         First THREADED backport attempt, focusing on adding locks and
20371         making sure the API is threadsafe. Needs more work. More docs
20372         follow this week.
20373
20374 2005-02-24  Andy Wingo  <wingo@pobox.com>
20375
20376         * tests/bench-complexity.scm:
20377         * tests/complexity.gnuplot: New files, good for running complexity
20378         benchmarks.
20379
20380         * tests/Makefile.am:
20381         * tests/complexity.c: New test, sets up N elements, at each level
20382         teeing into M streams per element. Eeeenteresting.
20383
20384         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
20385         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
20386         running bench-mass_elements.scm.
20387
20388         * tests/bench-mass_elements.scm: New script, runs mass_elements
20389         for various numbers of identities, outputting the results to a
20390         file. Requires guile 1.6. Just for testing.
20391
20392 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20393
20394         * gst/schedulers/fairscheduler.c:
20395           compile with debug disabled
20396
20397 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20398
20399         * configure.ac:
20400           hunting season on 0.9 is now OPEN