gst/gstbuffer.h: Fix gst_buffer_replace() macro to avoid gst_mini_object_replace...
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * gst/gstbuffer.h:
4           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
5           type-punned pointer warnings.
6
7 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
8
9         * gst/gstelement.h:
10           Add casts to the correct return type to state <=> state transition
11           macros.
12
13 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
14
15         * docs/design/part-live-source.txt:
16           describe howto handle latency
17         
18         * docs/random/ensonic/profiling.txt:
19           more ideas
20
21         * tools/gst-plot-timeline.py:
22           fix log parsing for solaris, remove unused function
23
24 2006-10-16  Wim Taymans  <wim@fluendo.com>
25
26         * docs/design/part-trickmodes.txt:
27         * gst/gstevent.c:
28         Update some docs regarding reverse playback.
29
30 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
31
32         Patch by: Marcus Granado  <mrc dot gran at gmail com>
33
34         * win32/vs8/grammar.vcproj:
35           Error out with a warning if glib-genmarshal.exe is not in path,
36           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
37
38 2006-10-13  Wim Taymans  <wim@fluendo.com>
39
40         * gst/gstsegment.c: (gst_segment_set_seek):
41         When seeking to stop -1, set last_stop (current position) to the
42         duration of the segment.
43
44 2006-10-13  Wim Taymans  <wim@fluendo.com>
45
46         * gst/gstelement.h:
47         Clarify _NO_PREROLL a bit more.
48
49         * gst/gstevent.c:
50         Fix docs.
51
52         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
53         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
54         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
55         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
56         due to wrong locking order. Fixes #361769.
57         Remove some redundant/misplaced checks in pad_block.
58
59         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
60         For negative rates, count backwards from the duration.
61
62 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
63
64         * gst/gsterror.c: (_gst_library_errors_init):
65           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
66           up with something better).
67
68 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
69
70         * win32/vs6/libgstreamer.dsp:
71         * win32/vs7/libgstreamer.vcproj:
72         * win32/vs8/libgstreamer.vcproj:
73           Don't reference glib-compat.c which is currently not used and not
74           disted; add gstquark.c which was recently added. Fixes #361730.
75
76 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
77
78         * win32/common/libgstbase.def:
79         * win32/common/libgstcontroller.def:
80         * win32/common/libgstreamer.def:
81           Add gst_caps_merge() and a bunch of other recently-added functions.
82           Fixes #361732.
83
84 2006-10-11  Wim Taymans  <wim@fluendo.com>
85
86         * docs/plugins/gstreamer-plugins.args:
87         * docs/plugins/inspect/plugin-coreelements.xml:
88         * docs/plugins/inspect/plugin-coreindexers.xml:
89         Update element args.
90
91         * gst/gstsystemclock.c:
92         Small comment update.
93
94         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
95         (gst_tee_request_new_pad), (gst_tee_release_pad),
96         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
97         (gst_tee_sink_activate_pull):
98         * plugins/elements/gsttee.h:
99         Some tee loving:
100         Add default property defines.
101         Implement release pad function.
102         Give properties better blubs etc.
103         Activate pads before adding them to a running tee.
104         Do simple buffer_alloc on the first requested pad.
105         Post error when activation fails.
106
107 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
108
109         * gst/gst.c: (ensure_current_registry_forking):
110           Check return value of write() to make compiler happy.
111
112 2006-10-11  Wim Taymans  <wim@fluendo.com>
113
114         Patch by: Sjoerd Simons <sjoerd at luon dot net>
115
116         * plugins/elements/gstqueue.c: (gst_queue_chain):
117         Recheck queue filledness after signalling the overrun when we're about
118         to leak downstream because we released the lock when emitting the signal
119         and the queue could be empty again. Fixes #352345.
120
121 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
122
123         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
124           Fix refcounting here too, just like we did for _new_valist() a few
125           days ago (#357180) (thanks to René Stadler). Also remove all those
126           'Since: 0.9' from the gtk-doc blobs.
127
128         * tests/check/libs/controller.c: (controller_refcount_new_list),
129         (gst_controller_suite):
130           Unit test for the above.
131
132 2006-10-10  Wim Taymans  <wim@fluendo.com>
133
134         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
135
136         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
137         (gst_pad_save_thyself):
138         Update some docs.
139         Write pad direction in XML output. Fixes #345496.
140
141 2006-10-10  Wim Taymans  <wim@fluendo.com>
142
143         Patch by: René Stadler <mail at renestadler dot de>
144
145         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
146         (gst_controller_new_list), (_gst_controller_dispose),
147         (_gst_controller_finalize), (_gst_controller_class_init):
148         Take ref to controlled object so that it cannot disappear. 
149         Fixes #357432.
150
151 2006-10-10  Wim Taymans  <wim@fluendo.com>
152
153         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
154         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
155         (gst_check_teardown_sink_pad):
156         Activate/deactivate pads in setup/teardown respectively.
157
158 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
159
160         Patch by: Josep Torre Valles <josep@fluendo.com>
161
162         * gst/Makefile.am:
163         Cast values when making gstenumtypes.h.  This pacifies Forte
164         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
165         in the enumeration.
166
167 2006-10-09  Wim Taymans  <wim@fluendo.com>
168
169         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
170         Rename some more @cur to @start to fix docs. 
171
172         * gst/gstsegment.c: (gst_segment_set_seek):
173         Fix typo.
174         time and start must always stay in sync as defined in design doc.
175
176         * gst/gsttaglist.c: (gst_tag_list_is_empty):
177         Rename param to fix docs.
178
179         * tests/check/gst/gstsegment.c: (GST_START_TEST):
180         Check that start and time are in sync.
181
182         * tests/check/pipelines/parse-launch.c:
183         (gst_parse_test_element_change_state):
184         Activate pad before adding to the element.
185
186 2006-10-09  Wim Taymans  <wim@fluendo.com>
187
188         * docs/design/part-qos.txt:
189         Fix typo.
190
191         * gst/gstevent.c:
192         * gst/gstevent.h:
193         Update seek event docs regarding negative rates.
194         Rename @cur to @start. 
195
196         * gst/gstsegment.c: (gst_segment_set_seek):
197         * gst/gstsegment.h:
198         Update set_seek docs regarding negative rates.
199         Correctly update last_stop to @stop when dealing with negative
200         rates.
201         Rename @cur to @start. 
202
203         * tests/check/gst/gstpad.c: (GST_START_TEST):
204         Activate pads before trying to use them.
205
206         * tests/check/gst/gstsegment.c: (GST_START_TEST),
207         (gst_segment_suite):
208         Add simple check for segments and negative rates.
209
210 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
211
212         * gst/gsttaglist.c: (gst_tag_list_is_empty):
213         * gst/gsttaglist.h:
214         * docs/gst/gstreamer-sections.txt:
215           API: add gst_tag_list_is_empty() (#360467).
216
217         * tests/check/gst/gsttag.c: (GST_START_TEST):
218           And a test case.
219
220 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
221
222         * gst/gstmessage.h:
223         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
224         a value that doesn't fit on enumeration.
225
226 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
227
228         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
229         Remove local debugging system and use Gstreamer's instead.
230
231 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
232
233         Patch by: Josep Torre Valles <josep@fluendo.com>
234
235         * common/m4/gst-error.m4:
236         Disable warning of statement not reached on Forte.
237         * gst/gstmessage.h:
238         Fix warning on Forte (value doesn't fit on enumeration).
239         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
240         Fix warning on Forte (value doesn't fit on enumeration).
241         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
242         DEBUG macro says it takes minimum of 2 args and so Forte
243         complains about the use with just 1 arg.
244         * plugins/elements/gstfdsink.c:
245         * plugins/elements/gstfdsrc.c:
246         * plugins/elements/gstfilesink.c:
247         * plugins/elements/gstfilesrc.c:
248         Use correct return type for the uri handler implementations.
249
250         All these fix warnings in Forte.  Fixes bug #360860.
251
252 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
253
254         * gst/gstelement.h:
255           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
256           format string, so don't use G_GNUC_PRINTF for those versions.
257
258 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
259
260         * gst/gsttaglist.c: (gst_is_tag_list):
261         * gst/gsttaglist.h:
262           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
263
264         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
265           Small test for the above.
266
267 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
268
269         * gst/gsttaglist.h:
270           Less tabs, more spaces.
271
272 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
273
274         * gst/gstinfo.h:
275           Those two function declarations do actually belong there, revert
276           commit from yesterday that turned them intro macros.
277
278 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
279
280         Patch by: Josep Torre Valles <josep@fluendo.com>
281
282         * gst/gst.c: (gst_init_get_option_group):
283         Fix empty declaration and type mismatch.
284         * gst/gstbin.c: (gst_bin_change_state_func):
285         Fix type mismatch.
286         * gst/gstelement.c: (gst_element_continue_state),
287         (gst_element_set_state_func), (gst_element_change_state),
288         (gst_element_change_state_func):
289         Fix type mismatches.
290         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
291         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
292         Cast as appropriate.
293         * gst/gstobject.c: (gst_class_signal_connect):
294         Cast as appropriate.  The function pointer parameter really
295         has the wrong type but would break API if we change it.
296         * gst/gstquery.c:
297         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
298         order of including string.h.
299         * gst/gstutils.c: (gst_element_state_get_name):
300         Remove unreachable line.
301         * gst/gstxml.c: (gst_xml_parse_doc):
302         Fix type mismatch.
303         All these caught by Forte.
304
305 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
306
307         Patch by: Josep Torre Valles <josep@fluendo.com>
308
309         * common/m4/gst-error.m4:
310         Fixed bug #360151.
311         We need to disable warnings on Forte for empty declarations
312         due to gst-indent adding ;s to lines that just use macros
313         where the macro actually doesn't need a ; at end to end
314         statement.
315
316 2006-10-06  Wim Taymans  <wim@fluendo.com>
317
318         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
319         (gst_file_sink_close_file), (gst_file_sink_event),
320         (gst_file_sink_render):
321         Add some FIXME for the NEWSEGMENT handling.
322
323 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
324
325         * gst/parse/grammar.y:
326         Remove static function gst_parse_element_lock as all it does
327         is return.  Looks like cruft from 0.8.
328
329 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
330
331         Patch by: Josep Torre Valles <josep@fluendo.com>
332
333         * common/m4/gst-error.m4:
334         * configure.ac:
335         * libs/gst/net/Makefile.am:
336         Fix a compilation issue with Forte on Solaris.  inet_aton is in
337         libresolv.
338
339 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
340
341         * gst/gstpad.c: (pre_activate):
342         * gst/gstregistry.c: (gst_registry_scan_path_level):
343         * gst/gstregistryxml.c: (load_plugin):
344         * libs/gst/controller/gstcontroller.c:
345         (gst_controlled_property_set_interpolation_mode):
346         * libs/gst/dataprotocol/dataprotocol.c:
347         (gst_dp_packet_from_event_1_0):
348         * libs/gst/net/gstnetclientclock.c:
349         (gst_net_client_clock_observe_times):
350         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
351           Printf fixes.
352
353 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
354
355         * configure.ac:
356         * docs/gst/gstreamer-sections.txt:
357         * gst/gstconfig.h.in:
358         * gst/gstelement.h:
359         * gst/gstinfo.h:
360           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
361           whether we can use G_GNUC_PRINTF in other header files and at
362           least check the printf format/arguments of debug messages and
363           GST_ELEMENT_ERROR messages when the printf extension is not
364           being used.
365           Replace more tabs with spaces in gstinfo.h and remove two spurious
366           function declarations in GST_DISABLE_DEBUG part with macros.
367
368 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
369
370         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
371           More docs for the sync-message signal (mention that it is not
372           emitted by default); log message structures of messages posted on
373           the bus as well.
374
375 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
376
377         * gst/gst.c: (ensure_current_registry_forking):
378         Use a pipe pair to receive status results from the forked child, and
379         ignore the result from waitpid. Fixes #355499
380
381 2006-10-02  Wim Taymans  <wim@fluendo.com>
382
383         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
384         (gst_ghost_pad_suite):
385         Fix leak in check.
386
387 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
388
389         * gst/gstpad.c:
390           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
391
392 2006-10-02  Edward Hervey  <edward@fluendo.com>
393
394         * docs/design/part-block.txt:
395         Further explain the use of flushing on blocked pads.
396         * docs/gst/gstreamer-sections.txt:
397         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
398         (gst_pad_push_event):
399         * gst/gstpad.h:
400         Added new GstPadFlag : GST_PAD_BLOCKING.
401         Adds the notion of pads really blocking, which enables to properly
402         handle FLUSH_START/FLUSH_STOP events on blocked pads.
403         Fixes #358999
404         API: gst_pad_is_blocking()
405         API: GST_PAD_IS_BLOCKING() macro
406         API: GST_PAD_BLOCKING GstPadFlag
407         
408 2006-10-02  Wim Taymans  <wim@fluendo.com>
409
410         Patch by: mrcgran <mrc.gran at gmail dot com>
411
412         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
413         Filter the proxied caps against the padtemplate if we have one.
414
415         * gst/gstquery.c: (gst_query_new_segment):
416         Add include for gstinfo.h so that compilation with
417         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
418
419 2006-10-02  Wim Taymans  <wim@fluendo.com>
420
421         Patch by: Alessandro Decina  <alessandro at nnva org>
422
423         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
424         (gst_file_sink_set_location), (gst_file_sink_open_file),
425         (gst_file_sink_close_file), (gst_file_sink_event),
426         (gst_file_sink_render):
427         Set file to NULL when closing filesink so that we can set a new filename
428         in READY. Fixes #358613.
429
430 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
431
432         Patch by: Alessandro Decina  <alessandro at nnva org>
433
434         * gst/gstevent.c: (_gst_event_copy):
435           Fix gst_mini_object_make_writable() and gst_event_copy() for events
436           with event structures by setting the parent refcount address of the
437           copied structure to the address of the refcount member of the newly
438           copied event rather than the address of the refcount member of the
439           original event. Fixes #358737.
440
441         * tests/check/gst/gstevent.c: (GST_START_TEST):
442           Unit test for the above.
443
444 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
445
446         * docs/design/Makefile.am:
447           Dist some more files.
448
449 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
450
451         * tests/check/libs/controller.c: (GST_START_TEST),
452         (gst_controller_suite):
453           Add test for the previous fix; add some more tests
454           for correct refcounting behaviour; fix a few leaks
455           in test cases; call gst_controller_init() at start
456           of all tests.
457
458 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
459
460         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
461         (gst_controller_set_from_list):
462           Don't g_return_val_if_fail() on timed values with invalid timestamps
463           inside a critical section without unlocking the mutex. Spotted by
464           René Stadler. (#357617)
465           Also, fix up refcounting properly: when returning an existing
466           controller, we should increase the reference only once and not
467           once per property and when trying to control a property again
468           we should also increase the refcount.
469
470 2006-09-29  Wim Taymans  <wim@fluendo.com>
471
472         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
473         * libs/gst/net/gstnettimeprovider.c:
474         (gst_net_time_provider_thread):
475         Stop reading commands when EOF as well.
476
477         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
478         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
479         * plugins/elements/gstidentity.c: (gst_identity_class_init):
480         Unify description of the dump property.
481
482 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
483
484         * tests/examples/manual/.cvsignore:
485         OK, so it's actually cvsignore that needs changing. Stop laughing.
486
487 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
488
489         * tests/examples/manual/Makefile.am:
490         Gah, declare vars *before* using them
491
492 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
493
494         * gst/gst.c: (init_pre), (scan_and_update_registry),
495         (ensure_current_registry_nonforking),
496         (ensure_current_registry_forking), (ensure_current_registry),
497         (init_post), (gst_debug_help), (gst_deinit):
498         * gst/gst_private.h:
499         * gst/gstregistry.c: (gst_registry_finalize),
500         (gst_registry_remove_features_for_plugin_unlocked),
501         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
502         (gst_registry_scan_path),
503         (_priv_gst_registry_remove_cache_plugins),
504         (_priv_gst_registry_cleanup):
505         * gst/gstregistry.h:
506         Re-commit the registry changes, along with an extra fix:
507           When a cached plugin is encountered at a different file path,
508           update the stored path in the registry cache so that the parent
509           process knows where it actually is now when it re-reads the registry
510           cache. Fixes the thing that broke distcheck with the previous commit.
511
512         * tests/check/Makefile.am:
513         Clean up files named 'core' too when running make clean.
514
515         * tests/examples/manual/Makefile.am:
516         Set up a registry path for running these tests, and clean it properly
517         for distcheck.
518
519 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
520
521         * configure.ac:
522         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
523         want gmodule-no-export-2.0.pc instead so that we don't drag in
524         --export-dynamic on every project that links to GStreamer.
525
526         Also, make our export regex only match the start of symbols, rather 
527         than any symbol that contains '_gst' somewhere.
528
529         * libs/gst/check/Makefile.am:
530         The libgstcheck we build does however need export-dynamic, as it
531         produces some symbols that don't match our _gst... style regex.
532         Fixes: #318031
533
534 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
535
536         * gst/gst.c: (init_pre), (scan_and_update_registry),
537         (ensure_current_registry_nonforking),
538         (ensure_current_registry_forking), (ensure_current_registry),
539         (init_post), (gst_debug_help), (gst_deinit):
540         * gst/gst_private.h:
541         * gst/gstregistry.c: (gst_registry_finalize),
542         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
543         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
544         (_gst_registry_cleanup):
545         * gst/gstregistry.h:
546           Revert previous change until I figure out why it breaks distcheck.
547
548 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
549
550         * gst/gst.c: (init_pre), (scan_and_update_registry),
551         (ensure_current_registry_nonforking),
552         (ensure_current_registry_forking), (ensure_current_registry),
553         (init_post), (gst_debug_help), (gst_deinit):
554
555           Make init_pre and init_post take the full complement of GOptionFunc
556           args so they can return useful GErrors. Make the registry updating
557           functions do so.
558
559           Call _priv_gst_registry_remove_cache_plugins after scanning files to
560           ensure that the registry we're about to write out doesn't contain
561           stale information about old-deleted plugin files.
562
563           Make _priv_gst_registry_remove_cache_plugins return a boolean so
564           that deletion of plugin files is considered a registry change.
565
566         * gst/gst_private.h:
567         * gst/gstregistry.c: (gst_registry_finalize),
568         (gst_registry_remove_features_for_plugin_unlocked),
569         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
570         (gst_registry_scan_path),
571         (_priv_gst_registry_remove_cache_plugins),
572         (_priv_gst_registry_cleanup):
573         * gst/gstregistry.h:
574         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
575         by adding _priv prefix, so that they won't appear in the global
576         symbol table. They still do atm though because of #318031. Move the
577         prototypes to gst_private.h
578
579         When removing a plugin, remove all features for that plugin too. 
580         Fixes #340878.
581
582 2006-09-27  Wim Taymans  <wim@fluendo.com>
583
584         * docs/random/moving-plugins:
585         Make it clear that the "compiled-in descriptions" really mean
586         the element details.
587
588         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
589         (gst_base_sink_wait_preroll):
590         Update docs.
591
592         * docs/libs/gstreamer-libs-sections.txt:
593         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
594         (gst_base_src_get_range), (gst_base_src_activate_push):
595         * libs/gst/base/gstbasesrc.h:
596         Added function to block while waiting for PLAYING, this function
597         is used by live sources that block on the clock.
598         API: gst_base_src_wait_playing()
599
600 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
601
602         Patch by: Peter Kjellerstedt <pkj at axis com>
603
604         * Makefile.am:
605           gst-element-check.m4 is generated and should therefore be
606           copied from the build dir rather than the source dir (#357593).
607           'make distcheck' hasn't noticed this because we were disting
608           the file as well, so stop doing that.
609
610 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
611
612         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
613           Add some tests for gst_caps_intersect().
614
615         * tools/gst-launch.c: (event_loop):
616           Print all buffering percentages we get, even the 100% one.
617
618 2006-09-26  Wim Taymans  <wim@fluendo.com>
619
620         * tools/gst-inspect.c: (print_element_properties_info),
621         (print_signal_info):
622         Fix printing of flags to match the look of enums.
623
624 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
625
626         * gst/gstelementfactory.c:
627           Fix typo in docs blurb.
628
629 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
630
631         * gst/gsturi.c: (search_by_entry):
632           Don't assert/crash here if a uri handler doesn't return any
633           supported protocols. The list of protocols could be generated
634           dynamically at runtime or at plugin registration, and an error
635           in the underlying library shouldn't be fatal (#353301).
636
637 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
638
639         * gst/gstinfo.c:
640           Fix warning if HAVE_PRINTF_EXTENSION is undefined
641           (spotted by Peter Kjellerstedt).
642
643 2006-09-23  Wim Taymans  <wim@fluendo.com>
644
645         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
646
647         * libs/gst/base/gstbasesrc.c:
648         (gst_base_src_default_check_get_range), (gst_base_src_start),
649         (gst_base_src_activate_push), (gst_base_src_activate_pull),
650         (gst_base_src_change_state):
651         Match _start/_stop calls in the activate functions. Remove redundant
652         _stop call from the state change function. Fixes #356910.
653         Turn failure DEBUG into ERROR. 
654
655 2006-09-22  Wim Taymans  <wim@fluendo.com>
656
657         * docs/design/part-buffering.txt:
658         * gst/gstmessage.c: (gst_message_new_buffering),
659         (gst_message_parse_buffering):
660         Update docs about buffering.
661
662         * docs/design/part-trickmodes.txt:
663         Fix typo.
664
665 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
666
667         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
668         (gst_controller_new_list):
669           Ref instances when returning them again (fixes #357180)
670
671 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
672
673         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
674           Don't forget to release proxy lock when there's an error.
675
676 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
677
678         * gst/gstcaps.h:
679           Add extra initialisers for Caps things, to fix some plugin warnings
680           when using -Wextra
681
682 2006-09-18  Wim Taymans  <wim@fluendo.com>
683
684         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
685           Also set template on the internal pad so that a getcaps from the 
686           target pad returns the template caps.
687
688 2006-09-18  Wim Taymans  <wim@fluendo.com>
689
690         * gst/gstelement.c: (gst_element_post_message),
691         (gst_element_dispose):
692         Use _DEBUG_OBJECT some more.
693
694         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
695         Avoid typechecks.
696
697         * tools/gst-launch.c: (main):
698         If the toplevel element is not a GstPipeline, it must be put in a
699         pipeline so that a bus and clock is selected.
700
701 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
702
703         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
704           JITTER, RATE, and LATENCY query should be handled by the
705           default case and not by the CONVERT query code.
706
707 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
708
709         * gst/gstformat.c: (gst_format_register):
710           Fix locking order (must take lock before using n_values).
711
712         * gst/gstvalue.c: (gst_value_serialize_enum),
713         (gst_value_deserialize_enum_iter_cmp),
714         (gst_value_deserialize_enum):
715           Fix serialisation/deserialisation of custom registered GstFormats.
716
717         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
718           Unit test for custom format serialisation/deserialisation.
719
720 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
721
722         * docs/pwg/building-boiler.xml:
723         * plugins/elements/gstcapsfilter.c:
724         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
725         section.
726
727 2006-09-16  Edward Hervey  <edward@fluendo.com>
728
729         * libs/gst/base/gstbasetransform.c:
730         (gst_base_transform_buffer_alloc):
731         Check if requested caps are the same as the sinks caps IF
732         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
733         is FALSE.
734         This fixes the renegotiation issues stated in #352827.
735
736 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
737
738         * configure.ac:
739         * docs/manual/advanced-autoplugging.xml:
740         * tests/examples/Makefile.am:
741         * tests/examples/manual/.cvsignore:
742         * tests/examples/manual/Makefile.am:
743         * tests/examples/manual/extract.pl:
744           Extract the manual examples again like we used to do.
745           Fix one of them.
746
747 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
748
749         * win32/common/config.h:
750           update for version
751
752 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
753
754         * gst/gsterror.c:
755           Documents how to receive errors.
756
757 2006-09-15  Wim Taymans  <wim@fluendo.com>
758
759         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
760         (event_loop), (main):
761         Added some comments here and there.
762         Post an application message when an interrupt is caught instead of doing
763         an uncontrolled state change.
764         Clean up the event loop.
765         Handle buffering messages, pause/resume the pipeline.
766         Make shutdown because of an interrupt more reliable.
767
768 2006-09-15  Wim Taymans  <wim@fluendo.com>
769
770         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
771         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
772         (gst_base_sink_preroll_object):
773         Make sure that our internal state is correct when we commit our state
774         asynchronously. This solves a race where a state change to PLAYING
775         could cause the sink to remain blocked in preroll in some situations.
776
777 2006-09-15  Wim Taymans  <wim@fluendo.com>
778
779         * tools/gst-inspect.c: (print_element_properties_info),
780         (print_signal_info):
781         List flags as hex so it's easier to deal with.
782
783 2006-09-15  Wim Taymans  <wim@fluendo.com>
784
785         * docs/libs/gstreamer-libs-sections.txt:
786         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
787         (gst_base_sink_do_sync):
788         * libs/gst/base/gstbasesink.h:
789         Expose logic to wait for preroll so that subclasses such as audiosink
790         can also use this method.
791         API: gst_base_sink_wait_preroll()
792
793 2006-09-15  Wim Taymans  <wim@fluendo.com>
794
795         * gst/gstobject.c: (gst_object_set_parent):
796         * gst/gstpipeline.c: (do_pipeline_seek):
797         Small cleanups in docs and code.
798
799         * gst/gstsegment.c: (gst_segment_clip):
800         * tests/check/gst/gstsegment.c: (GST_START_TEST):
801         if stop == start and start is in the segment, no clipping should be
802         done. Also add a test for this.
803
804 2006-09-15  Wim Taymans  <wim@fluendo.com>
805
806         * docs/design/part-buffering.txt:
807         * docs/gst/gstreamer-sections.txt:
808         * gst/gstmessage.c: (gst_message_new_buffering),
809         (gst_message_parse_buffering):
810         * gst/gstmessage.h:
811         Added methods to create and parse BUFFERING messages.
812         Added preliminary docs about buffering.
813         API: gst_message_new_buffering
814         API: gst_message_parse_buffering
815
816 2006-09-06  Wim Taymans  <wim@fluendo.com>
817
818         * gst/gstbin.c:
819         Update documentation.
820
821         * gst/gstelement.c: (gst_element_class_init),
822         (gst_element_release_request_pad), (gst_element_set_clock),
823         (gst_element_get_index), (gst_element_add_pad),
824         (gst_element_remove_pad), (gst_element_get_random_pad),
825         (gst_element_send_event), (gst_element_get_query_types),
826         (gst_element_query), (gst_element_post_message),
827         (gst_element_message_full), (gst_element_continue_state),
828         (gst_element_lost_state), (gst_element_save_thyself),
829         (gst_element_restore_thyself):
830         Documentation updates.
831         Rename last bit of the new-pad -> pad-added signal rename.
832         Fix the case where an element query would only work if the source
833         pad was linked.
834         Avoid some useless type checking in message handling.
835
836         * gst/gstevent.c:
837         * gst/gstevent.h:
838         * gst/gstutils.c:
839         Documentation updates.
840
841 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
842
843         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
844           add an INFO line for when we actually update the fd
845
846 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
847
848         * configure.ac:
849           back to TRUNK
850
851 === release 0.10.10 ===
852
853 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
854
855         * configure.ac:
856           releasing 0.10.10, "Pais"
857
858 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
859
860         * docs/manual/advanced-position.xml:
861           Fix typo in sample code.
862
863 2006-09-05  Wim Taymans  <wim@fluendo.com>
864
865         * libs/gst/net/gstnetclientclock.c: (inet_aton),
866         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
867         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
868         * libs/gst/net/gstnetclientclock.h:
869         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
870         * libs/gst/net/gstnettimepacket.h:
871         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
872         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
873         (gst_net_time_provider_thread), (gst_net_time_provider_new):
874         * libs/gst/net/gstnettimeprovider.h:
875         Make stuff compile on windows. Fixes #345295.
876
877 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
878
879         * gst/gst.c: (ensure_current_registry_forking):
880           Print better details when child was terminated by signal.
881
882 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
883
884         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
885           Print a warning rather than g_assert() if a plugin feature
886           is a URI handler but returns no protocols (#353976).
887
888 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
889
890         * docs/random/moving-plugins:
891         Fix two typos.         
892
893 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
894
895         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
896           Fix locking order, handle NULL function values properly.
897
898         * gst/gstinfo.h:
899           Fix docs.
900
901         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
902           Initialise variable before using it and fix debug statement to
903           print the address of the function rather than the address of the
904           variable on the stack holding the address of the function.
905
906 2006-09-01  Wim Taymans  <wim@fluendo.com>
907
908         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
909         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
910         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
911         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
912         (gst_ghost_pad_parent_unset),
913         (gst_ghost_pad_internal_do_activate_push),
914         (gst_ghost_pad_internal_do_activate_pull),
915         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
916         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
917         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
918         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
919         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
920         (gst_ghost_pad_new_no_target_from_template),
921         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
922         More cleanups.
923         Avoid needless typechecking in macros.
924         Since the internal pad is always present and never changes, there is
925         no need to locking or ref when retrieving it.
926         Improve debugging a bit.
927         Handle link errors when setting the target. Fixes #341029.
928
929 2006-09-01  Wim Taymans  <wim@fluendo.com>
930
931         * docs/libs/gstreamer-libs-sections.txt:
932         * docs/plugins/gstreamer-plugins-sections.txt:
933         Fix docs some more.
934
935         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
936         (gst_collect_pads_event):
937         * libs/gst/base/gstcollectpads.h:
938         Documentation updates.
939         Free queued buffer when removing a pad.
940
941 2006-08-31  Michael Smith  <msmith@fluendo.com>
942
943         * gst/gstutils.c: (gst_element_link_pads),
944         (gst_element_link_pads_filtered):
945           Ensure that we set a capsfilter to NULL if we failed to link it
946           when doing filtered linking, to avoid criticals.
947
948           No need to check for unreffing srcpad, which is explicly NULLed
949           above (a trivial code cleanup).
950
951 2006-08-31  Wim Taymans  <wim@fluendo.com>
952
953         * docs/design/part-gstghostpad.txt:
954         Update ascii art in documentation.
955
956         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
957         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
958         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
959         (gst_ghost_pad_internal_do_activate_push),
960         (gst_ghost_pad_internal_do_activate_pull),
961         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
962         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
963         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
964         (gst_ghost_pad_set_target):
965         Small cleanups and leak fixes.
966         Remove some checks now that the internal pad is never NULL.
967         Fix the case where linking pads without a target would create nasty
968         criticals. Fixes #341029.
969         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
970         value of _set_target().
971
972         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
973         (gst_ghost_pad_suite):
974         Some more tests for creating and linking untargeted ghostpads.
975
976 2006-08-31  Edward Hervey  <edward@fluendo.com>
977
978         * docs/gst/gstreamer-sections.txt:
979         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
980         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
981         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
982         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
983         (gst_ghost_pad_new_from_template),
984         (gst_ghost_pad_new_no_target_from_template):
985         * gst/gstghostpad.h:
986         Refactored *_new() functions.
987         Templates are now used as a g_object_new() parameter.
988         Use template in _do_getcaps() if we don't have a target.
989         Small documentation cleanups.
990         Added two new constructors:
991         gst_ghost_pad_new_from_template()
992         gst_ghost_pad_new_no_target_from_template()
993         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
994         (gst_ghost_pad_suite):
995         Added tests for new ghostpad instanciation functions.
996
997         API additions: gst_ghost_pad_new_from_template,
998         gst_ghost_pad_new_no_target_from_template
999
1000 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
1001
1002         * docs/random/ensonic/profiling.txt:
1003           Ideas about qos profiling.
1004
1005 2006-08-29  Wim Taymans  <wim@fluendo.com>
1006
1007         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1008         Code cleanups.
1009         Fix memleak.
1010
1011 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
1012
1013         * gst/gstxml.c:
1014           Improve and detypofy docs.
1015
1016         * tests/check/Makefile.am:
1017         * tests/check/gst/.cvsignore:
1018         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
1019           Add a basic test suite for GstXML.
1020
1021 2006-08-29  Wim Taymans  <wim@fluendo.com>
1022
1023         * gst/gstelement.c: (activate_pads), (clear_caps),
1024         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
1025         Clear the pad caps when the element shut down all of the pads and
1026         is not streaming data that could modify the caps. 
1027         Fixes #352958.
1028
1029 2006-08-28  Michael Smith  <msmith@fluendo.com>
1030
1031         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1032           Revert previous change; I misunderstood single-segment mode.
1033
1034 2006-08-28  Michael Smith  <msmith@fluendo.com>
1035
1036         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1037           Unset DISCONT on buffers when using single-segment mode.
1038
1039 2006-08-28  Wim Taymans  <wim@fluendo.com>
1040
1041         * gst/gstcaps.c: (gst_caps_merge_structure):
1042         * gst/gstcaps.h:
1043         Fix docs and indentation again.
1044
1045         * tests/check/gst/gstquery.c: (GST_START_TEST):
1046         Fix leak in tests and add some more tests.
1047
1048 2006-08-28  Edward Hervey  <edward@fluendo.com>
1049
1050         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1051         Inform GstSegment of the last stop position in order for the current
1052         segment to have a proper duration if it doesn't have a specific stop
1053         position from which a duration could be calculated.
1054         This bug was noticeable when a non-flushing, non-update new segment was
1055         followed by another segment (all buffers from the new segment were being
1056         dropped).
1057
1058 2006-08-28  Wim Taymans  <wim@fluendo.com>
1059
1060         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1061         Small comment update.
1062
1063         * plugins/elements/gstidentity.c: (gst_identity_class_init),
1064         (gst_identity_transform_ip):
1065         Drop-probability is broken, mention this in the code with a 
1066         FIXME and also in the property description.
1067         Make silent also be silent about the drop messages.
1068
1069 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
1070
1071         * docs/manual/appendix-win32.xml:
1072           Remove mention of popt, we don't depend on that any
1073           longer (#353136). Add some comments pointing out that
1074           this section is slightly outdated.
1075
1076 2006-08-28  Wim Taymans  <wim@fluendo.com>
1077
1078         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
1079
1080         * gst/gstquery.c: (gst_query_new_segment):
1081         * tests/check/gst/gstquery.c: (GST_START_TEST):
1082         Initialize variables when creating a new segment query.
1083         Fixes #353121.
1084
1085 2006-08-28  Wim Taymans  <wim@fluendo.com>
1086
1087         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
1088
1089         * gst/gstelement.c: (gst_element_get_bus):
1090         * tests/check/gst/gstelement.c: (GST_START_TEST):
1091         Check for NULL before _reffing the bus. Fixes #353122.
1092
1093 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
1094
1095         * docs/manual/basics-bus.xml:
1096           Docs update: fix wrong callback return value explanation; add
1097           some lines about the implicit relationship between main loop
1098           and main context; remove duplicate main loop variable declaration.
1099
1100 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
1101
1102         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1103           Don't leak caps in unit test; add a few more simple
1104           checks. 
1105
1106 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
1107
1108         * docs/gst/gstreamer-sections.txt:
1109         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
1110         (gst_caps_structure_is_subset), (gst_caps_merge),
1111         (gst_caps_merge_structure):
1112         * gst/gstcaps.h:
1113         * libs/gst/base/gstbasetransform.c:
1114         (gst_base_transform_transform_caps):
1115         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
1116           implement caps merging (fixes #352580)
1117
1118 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
1119
1120         * tools/Makefile.am:
1121         * tools/gst-plot-timeline.py:
1122           add debug-log plotting developer tool (#340674)
1123
1124 2006-08-23  Wim Taymans  <wim@fluendo.com>
1125
1126         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
1127         (gst_pad_stop_task):
1128         Improve debugging for task functions.
1129
1130         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
1131         (gst_task_start), (gst_task_pause), (gst_task_join):
1132         Make sure that the task function started and finished after a 
1133         join(). 
1134         Don't try to push the task function on the threadpool multiple
1135         times.
1136         Improve the g_warning message with some useful suggestions
1137         about how to fix the problem. 
1138
1139 2006-08-23  Wim Taymans  <wim@fluendo.com>
1140
1141         * gst/gstutils.c: (gst_pad_proxy_getcaps):
1142         Handle RESYNC correctly in _proxy_getcaps.
1143
1144 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
1145
1146         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
1147         (gst_xml_parse_memory), (gst_xml_get_element):
1148           Chain up to parent class in dispose function and also
1149           unref the elements in the toplevel_elements GList.
1150           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
1151           Always return a reference in gst_xml_get_element() rather
1152           than only sometimes.
1153
1154         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
1155           Don't leak GstXml object.
1156
1157 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
1158
1159         * docs/gst/gstreamer-sections.txt:
1160         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
1161         (gst_caps_merge):
1162         * gst/gstcaps.h:
1163         * libs/gst/base/gstbasetransform.c:
1164         (gst_base_transform_transform_caps):
1165           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
1166           in a better way
1167
1168 2006-08-21  Edward Hervey  <edward@fluendo.com>
1169
1170         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
1171         Implement GObject::dispose virtual method in GstXML so we can free the
1172         top_elements GList.
1173
1174 2006-08-21  Wim Taymans  <wim@fluendo.com>
1175
1176         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
1177         (gst_buffer_create_sub):
1178         Copy duration/offset_end/caps when creating a subbuffer of the
1179         complete parent.
1180         Make the subbuffer read-only when we make the metadata writable for
1181         now. Fixes #351768.
1182
1183         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1184         Added check for metadata copy when creating subbuffers.
1185
1186 2006-08-21  Edward Hervey  <edward@fluendo.com>
1187
1188         * libs/gst/base/gstbasetransform.c:
1189         (gst_base_transform_buffer_alloc):
1190         Only call downstream buffer_alloc if transform element is passthrough
1191         or always_in_place. Closes #350449.
1192
1193 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
1194
1195         * ChangeLog:
1196           ChangeLog surgery to add comments to previous changes
1197
1198 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
1199
1200         * gst/gst.c:
1201           Add comments
1202
1203         * gst/gstpad.c: (gst_pad_set_active):
1204           Be more verbose in the log
1205
1206         * libs/gst/base/gstbasetransform.c:
1207         (gst_base_transform_transform_caps):
1208           Simplify caps to get rid of duplicates, fixes #345444
1209
1210 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
1211
1212         * gst/gstvalue.c:
1213         * gst/gstvalue.h:
1214           Use these optimizations only internally.
1215
1216 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
1217
1218         * gst/gstvalue.c: (gst_value_compare_list),
1219         (gst_value_compare_fraction_range),
1220         (gst_value_intersect_fraction_fraction_range),
1221         (gst_value_intersect_fraction_range_fraction_range),
1222         (gst_value_subtract_fraction_fraction_range),
1223         (gst_value_subtract_fraction_range_fraction_range),
1224         (gst_value_get_compare_func), (gst_value_compare),
1225         (gst_value_compare_with_func):
1226         * gst/gstvalue.h:
1227           Saves the expensive lookup of the compare function in many cases
1228          (#345444)
1229
1230 2006-08-18  Edward Hervey  <edward@fluendo.com>
1231
1232         * tests/check/gst/gstinfo.c: (gst_info_suite):
1233         Disable test that require gstdebug if it wasn't built in core.
1234
1235 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
1236
1237         * docs/random/ensonic/logging.txt:
1238           update ideas
1239           
1240         * gst/gstinfo.c: (gst_debug_log_default):
1241           reorder fields, save some columns, add optional color codes for log
1242           levels
1243
1244 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
1245
1246         * docs/random/ensonic/logging.txt:
1247           add ideas about making the logs a bit more useful
1248
1249 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
1250
1251         * docs/pwg/advanced-events.xml:
1252         * docs/pwg/titlepage.xml:
1253           Update for 0.10 API (#340627). Add myself
1254           to authors list.
1255
1256 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
1257
1258         * docs/libs/gstreamer-libs-docs.sgml:
1259         * docs/libs/gstreamer-libs-sections.txt:
1260         * libs/gst/check/gstbufferstraw.c:
1261           Make gstcheck stuff show up in docs (still needs to
1262           be documented properly though).
1263
1264 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
1265
1266         * docs/gst/gstreamer-sections.txt:
1267         * gst/Makefile.am:
1268         * gst/gst.c: (init_post):
1269         * gst/gst_private.h:
1270         * gst/gstquark.c: (_priv_gst_quarks_initialize):
1271         * gst/gstquark.h:
1272         * gst/gstquery.c: (gst_query_new_position),
1273         (gst_query_set_position), (gst_query_parse_position),
1274         (gst_query_new_duration), (gst_query_set_duration),
1275         (gst_query_parse_duration), (gst_query_new_convert),
1276         (gst_query_set_convert), (gst_query_parse_convert),
1277         (gst_query_new_segment), (gst_query_set_segment),
1278         (gst_query_parse_segment), (gst_query_new_seeking),
1279         (gst_query_set_seeking), (gst_query_parse_seeking):
1280         Add internal helpers for pre-registering quarks from static strings
1281         and using the quark values directly instead of looking them up when
1282         creating and parsing queries. Can be used for event construction too.
1283         Closes #350432.
1284
1285 2006-08-16  Wim Taymans  <wim@fluendo.com>
1286
1287         * gst/gstbin.c:
1288         Fix bogus docs.
1289
1290 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
1291
1292         * gst/gstutils.c: (gst_util_set_value_from_string):
1293           Fix memleak (#351502).
1294
1295         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1296           Add unit test for most of gst_util_set_value_from_string()
1297           (not that one would want to encourage use of this function).
1298
1299 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
1300
1301         * libs/gst/check/gstcheck.h:
1302           Use const gchar * variables in fail_unless_equals_string
1303           macro to avoid compiler warnings (and don't use tabs for
1304           indenting).
1305
1306 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
1307
1308         * tools/gst-launch.c: (print_tag):
1309           More space on the left for the tag names, to cater
1310           for the 'extended comment' tag (not touching the
1311           string for the first line since it's translated).
1312
1313 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
1314
1315         * libs/gst/check/gstcheck.h:
1316           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
1317           print something when they fail.
1318
1319 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
1320
1321         * docs/gst/gstreamer-sections.txt:
1322         * gst/gsttaglist.c: (_gst_tag_initialize):
1323         * gst/gsttaglist.h:
1324           API: add GST_TAG_EXTENDED_COMMENT (#350935).
1325           Also change merge function for GST_TAG_COMMENT to
1326           use_first.
1327
1328 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
1329
1330         * gst/gstinfo.c: (gst_debug_print_object):
1331           Make GST_PTR_FORMAT print messages as well.
1332
1333         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
1334         (GST_START_TEST), (gst_info_suite):
1335           More tests.
1336
1337 2006-08-14  Edward Hervey  <edward@fluendo.com>
1338
1339         * gst/gstelementfactory.c: (gst_element_register):
1340         If the GstElementClass doesn't have a GstElementDetails with all fields
1341         filled up correctly (longname, description AND author), then error out
1342         nicely instead of crashing.
1343
1344 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
1345
1346         * gst/gststructure.c:
1347           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
1348
1349         * gst/gstvalue.h:
1350           Expand on the difference between arrays and lists as we use them.
1351           
1352 2006-08-14  Wim Taymans  <wim@fluendo.com>
1353
1354         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
1355         If the parent state change function failed, don't assume we can safely
1356         stop the source, this will be done when the pads are deactivated.
1357
1358 2006-08-14  Wim Taymans  <wim@fluendo.com>
1359
1360         * gst/gstbuffer.c:
1361         * gst/gsttask.c: (gst_task_join):
1362         Small doc updates.
1363
1364         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
1365         (gst_pad_stop_task):
1366         When pad (de)activation failed for some reason, restore the old
1367         activation mode and set the pad to flushing instead of assuming the
1368         pad is deactivated.
1369         If the _task_join() failed, reinstall the task on the pad so that it can
1370         be stopped later and return an error.
1371
1372 2006-08-11  Andy Wingo  <wingo@pobox.com>
1373
1374         * configure.ac:
1375         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
1376         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
1377         is only for users of API that don't want to see deprecated
1378         functions in the headers; people that want to compile out
1379         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
1380         CFLAGS. Fixes the build of multifdsink, or will soon..
1381
1382 2006-08-11  Wim Taymans  <wim@fluendo.com>
1383
1384         * docs/gst/gstreamer-sections.txt:
1385         Add GstClockClass vmethod docs.
1386
1387         * gst/gstcaps.h:
1388         Mark #endif with comment for associated #if
1389
1390         * gst/gstclock.c: (gst_clock_id_wait):
1391         * gst/gstclock.h:
1392         Add vmethod wait_jitter to avoid an unneeded _get_time() for
1393         most clock implementations.
1394         Document vmethods.
1395         Flesh out docs about resolution methods.
1396         API: GstClockClass::wait_jitter
1397
1398         * gst/gstsystemclock.c: (gst_system_clock_class_init),
1399         (gst_system_clock_async_thread),
1400         (gst_system_clock_id_wait_jitter_unlocked),
1401         (gst_system_clock_id_wait_jitter):
1402         Use base class wait_jitter variant for improved performance
1403         due to less clock polling.
1404
1405 2006-08-11  Edward Hervey  <edward@fluendo.com>
1406
1407         * gst/gst.c: (gst_init_check), (init_post):
1408         Set gst as being initialized before scanning/updating the registry,
1409         since there might be my python plugin loader that calls gst_init() and
1410         we don't want to loop back in.
1411         Closes #350879
1412
1413 2006-08-11  Wim Taymans  <wim@fluendo.com>
1414
1415         * docs/design/part-qos.txt:
1416         Bring docs in line with the code. Mostly the sign of the jitter was
1417         wrong in the docs. Fixes #349943.
1418
1419         * gst/gstclock.c:
1420         Fix the docs for the jitter.
1421
1422         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
1423         (gst_event_parse_tag), (gst_event_new_buffer_size),
1424         (gst_event_parse_buffer_size), (gst_event_parse_qos),
1425         (gst_event_new_seek), (gst_event_parse_seek),
1426         (gst_event_new_navigation):
1427         Make sure the GstStructure has no parent when creating custom
1428         events.
1429         Add some more argument checking so that we avoid 0.0 rates.
1430         Flesh out the docs for the QoS event some more.
1431
1432 2006-08-11  Wim Taymans  <wim@fluendo.com>
1433
1434         * docs/gst/gstreamer-sections.txt:
1435         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
1436         (ensure_current_registry_forking), (ensure_current_registry),
1437         (parse_one_option), (parse_goption_arg), (gst_deinit),
1438         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
1439         * gst/gst.h:
1440         Doc updates.
1441         Added API and command line option to disable registry forking in
1442         addition to the environment variable.
1443         Constify some static arrays.
1444         Added some more debug.
1445         Don't deinit twice.
1446         API: gst_registry_fork_is_enabled()
1447         API: gst_registry_fork_set_enabled()
1448         API: --gst-disable-registry-fork command line option
1449         Fixes #348918.
1450
1451 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
1452
1453         * gst/gst.c: (gst_init):
1454           Fix typo in error message.
1455
1456 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
1457
1458         * libs/gst/controller/gstcontroller.h:
1459           fix ABI size-correction
1460
1461         * tests/check/libs/gdp.c: (gst_dp_suite):
1462           make tests that use deprecated API conditional
1463
1464 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
1465
1466         * docs/libs/gstreamer-libs-sections.txt:
1467         * libs/gst/controller/gstcontroller.c:
1468         (_gst_controller_get_property), (_gst_controller_set_property),
1469         (_gst_controller_init), (_gst_controller_class_init):
1470         * libs/gst/controller/gstcontroller.h:
1471         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
1472         (gst_object_set_control_rate):
1473           API: add gst_object_{s,g}et_control_rate(), add private data section,
1474           fix docs
1475
1476         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
1477         * libs/gst/dataprotocol/dataprotocol.h:
1478           add deprecation guards to make gtk-doc happy and allow disabling cruft
1479
1480 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
1481
1482         * tests/check/Makefile.am:
1483         * tests/check/gst/.cvsignore:
1484           Let's enable the new unit test as well.
1485
1486 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
1487
1488         * configure.ac:
1489         * docs/gst/gstreamer-sections.txt:
1490         * gst/gstconfig.h.in:
1491         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
1492         (_gst_info_printf_extension_ptr),
1493         (_gst_info_printf_extension_segment):
1494           API: add GST_SEGMENT_FORMAT, which is a printf extension we
1495           register that lets us easily dump GstSegments into debug
1496           logs (#350419).
1497
1498         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
1499         (info_segment_format_printf_extension), (gst_info_suite):
1500           Add simple unit test that logs a bunch of different segments (not
1501           valgrinded at the moment because of leaks in
1502           gst_debug_add_log_function).
1503
1504 2006-08-09  Edward Hervey  <edward@fluendo.com>
1505
1506         * libs/gst/base/gstbasetransform.c:
1507         (gst_base_transform_buffer_alloc):
1508         Even if we can't figure out the proper format to request downstream,
1509         call buffer_alloc() downstream with the input parameters without setting
1510         the caps on the srcpad. This will force negotiation in the chain
1511         function.
1512         Closes #350449
1513
1514 2006-08-08  Edward Hervey  <edward@fluendo.com>
1515
1516         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
1517         Unlinking from a pad without a target is now a perfectly valid case
1518         which should NOT raise an assertion.
1519         This case would happen if a linked ghostpad its target set to NULL after
1520         it was previously linked.
1521
1522 2006-08-08  Edward Hervey  <edward@fluendo.com>
1523
1524         * tests/check/libs/gdp.c:
1525         Also comment out the test (see below).
1526
1527 2006-08-08  Edward Hervey  <edward@fluendo.com>
1528
1529         * tests/check/libs/gdp.c: (gst_dp_suite):
1530         Use the architecture information from config.h and not gcc macros
1531         in order to properly disable a test that fails on PPC64.
1532
1533 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
1534
1535         * gst/gstelement.c: (gst_element_remove_pad):
1536           Don't crash printing the warning if the pad has no parent.
1537
1538 2006-08-02  Wim Taymans  <wim@fluendo.com>
1539
1540         * libs/gst/dataprotocol/dataprotocol.c:
1541         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
1542         (gst_dp_crc), (gst_dp_header_payload_length),
1543         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
1544         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
1545         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
1546         (gst_dp_event_from_packet), (gst_dp_validate_header),
1547         (gst_dp_validate_payload):
1548         Make debug category static
1549         Constify the crc table.
1550         Do some more arg checking in public functions.
1551         Fix some docs and do some small cleanups.
1552
1553         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
1554         Add some more checks to see if GDP deals with bogus input.
1555
1556 2006-07-31  Wim Taymans  <wim@fluendo.com>
1557
1558         * gst/gstvalue.c: (gst_value_compare_list):
1559         Fix GstValueList comparison code. Fixes #347293.
1560
1561         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1562         Check to test GstValueList comparison.
1563
1564 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
1565
1566         * gst/gstelementfactory.c: (gst_element_factory_create):
1567         Remove unnecessary ref/unref pair
1568
1569         * gst/parse/grammar.y:
1570         Make sure to free the parse buffer on all code paths.
1571         Move a g_free up to the error handler where it's easier to see.
1572
1573         * tests/check/gst/gstevent.c: (test_event):
1574         Extending timeout for downstream travelling events to 10 seconds to
1575         hopefully avoid intermittent failure on the buildbots.
1576
1577         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
1578         Don't manually set the state of the src element - it will happen as a
1579         natural consequence of the pipeline changing state, and that way it
1580         will do it in the right order too.
1581
1582 2006-07-31  Wim Taymans  <wim@fluendo.com>
1583
1584         * libs/gst/base/gstbasetransform.c:
1585         (gst_base_transform_buffer_alloc):
1586         Use OBJECT_LOCK and refcounting to get the pad caps in the
1587         buffer_alloc function because the caps could change while we are
1588         busy with them. Fixes #349105
1589
1590 2006-07-31  Wim Taymans  <wim@fluendo.com>
1591
1592         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
1593         Protect _PAD_CAPS with OBJECT_LOCK.
1594
1595 2006-07-31  Wim Taymans  <wim@fluendo.com>
1596
1597         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
1598         (gst_pad_get_property), (gst_pad_activate_pull),
1599         (gst_pad_activate_push), (gst_pad_set_blocked_async),
1600         (gst_pad_set_activate_function),
1601         (gst_pad_set_activatepull_function),
1602         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
1603         (gst_pad_set_getrange_function),
1604         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
1605         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
1606         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
1607         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
1608         (gst_pad_set_acceptcaps_function),
1609         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
1610         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
1611         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
1612         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
1613         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
1614         (gst_pad_configure_sink), (gst_pad_configure_src),
1615         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
1616         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
1617         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
1618         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
1619         (gst_pad_send_event):
1620         Use _DEBUG_OBJECT when it makes sense.
1621         Protect GST_PAD_CAPS with the OBJECT_LOCK.
1622         Small cleanups and code reflows.
1623         Avoid caps refcounting in _accept_caps.
1624         Refactor alloc_buffer so that the code performed on the peer is in a
1625         separate function. Also if the pad does not implement a buffer alloc
1626         function, we should still check if the pad is flushing before falling
1627         back to the default allocator.
1628
1629 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
1630
1631         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1632         Make all uses of identity and fakesink have silent=true to avoid
1633         serialising every passing data structure, which is breaking tests
1634         on FC4 for some unknown reason.
1635
1636 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
1637
1638         * gst/parse/Makefile.am:
1639         * gst/parse/grammar.y:
1640         * gst/parse/parse.l:
1641           Reverted previous patch as it required to bump the flex dependency to
1642           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
1643
1644 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
1645
1646         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
1647
1648         * gst/parse/Makefile.am:
1649         * gst/parse/grammar.y:
1650         * gst/parse/parse.l:
1651           push & pop the state of the lexer for reentrant use case
1652           Fixes #349180
1653
1654 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
1655
1656         * libs/gst/base/gstbasesrc.h:
1657           Note in the docs that the ::newsegment vfunc is not actually used by
1658           GstBaseSrc.
1659
1660 2006-07-28  Wim Taymans  <wim@fluendo.com>
1661
1662         * libs/gst/base/gstcollectpads.c:
1663         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
1664         (gst_collect_pads_clear), (gst_collect_pads_flush),
1665         (gst_collect_pads_event), (gst_collect_pads_chain):
1666         When flushing a pad, also clear the queued buffer so that we don't
1667         accidentally use it when we shouldn't.
1668         Fix leaks by inreffing incomming buffer.
1669         Flush out queued buffers in case of errors.
1670         Fixes #347452.
1671
1672 2006-07-28  Wim Taymans  <wim@fluendo.com>
1673
1674         * docs/random/phonon-gst:
1675         Random notes about a Phonon backend.
1676
1677 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
1678
1679         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1680         Extra debug output
1681         * tests/check/libs/gdp.c: (gst_dp_suite):
1682         Take a whack at fixing the ppc compile using a different define to
1683         disable the broken test.
1684
1685         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1686         Remove excess g_print()
1687
1688 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
1689
1690         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
1691         Oops, meant to uncomment this line too to dampen the noise a bit.
1692
1693 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
1694
1695         * gst/parse/grammar.y:
1696         * gst/parse/parse.l:
1697         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
1698         (GST_START_TEST), (parse_suite):
1699         Fix some of the leaks exposed by extending the parse-launch testsuite,
1700         and move the 3 I can't figure out into a separate test that won't run
1701         the pipelines unless the appropriate line is uncommented.
1702
1703 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
1704
1705         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1706           Requesting 0 bytes before the end of the file should result in
1707           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
1708           unit test.
1709
1710 2006-07-27  Wim Taymans  <wim@fluendo.com>
1711
1712         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
1713         Fix useless assert, a uint is always positive.
1714
1715         * gst/gststructure.c: (gst_structure_nth_field_name),
1716         (gst_structure_foreach), (gst_structure_map_in_place):
1717         Check input arguments for public functions to avoid obvious crashes.
1718
1719         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
1720         * plugins/elements/gstfakesink.h:
1721         Do less useless typechecking.
1722
1723 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
1724
1725         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1726           Do not use mmap() by default since there are a number of error
1727           conditions that we would like to handle in a non-fatal way that
1728           will result in a SIGBUS if we use mmap(). Examples: external
1729           devices (USB harddrive, portable music player) being unplugged
1730           while in use; file on mounted CD/DVD that can't be read because
1731           the medium is partly damaged. Fixes #348455 and #348475.
1732
1733 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
1734
1735         * gst/gstquery.h:
1736         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
1737         rates are a gdouble
1738
1739 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
1740
1741         * gst/gstregistry.c:
1742           Move big documentation comment into class section header, so that it
1743           appears in the API docs.
1744
1745 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1746
1747         * docs/gst/gstreamer-sections.txt:
1748         Oops. Commit the docs additions too for new API.
1749         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
1750
1751 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1752
1753         * gst/gststructure.c: (gst_structure_id_set),
1754         (gst_structure_id_set_valist):
1755         * gst/gststructure.h:
1756         Add API for setting values into structures without performing
1757         a quark lookup, if the appropriate quark is already known.
1758
1759         API: gst_structure_id_set
1760         API: gst_structure_id_set_valist
1761
1762         * gst/parse/grammar.y:
1763         * gst/parse/parse.l:
1764         Remove some dead code shown by the coverage information.
1765         Don't throw a critical g_warning when encountering a syntax error,
1766         just warn and let the normal error path handle it.
1767
1768         * plugins/elements/gstelements.c:
1769         Bump the rank of filesink up to PRIMARY so that it is preferred over
1770         gnomevfssink for file:// sink uri's
1771
1772         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
1773         (GST_START_TEST), (run_delayed_test),
1774         (gst_parse_test_element_base_init),
1775         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
1776         (gst_parse_test_element_change_state),
1777         (gst_register_parse_element), (parse_suite):
1778         Beef up the tests for parse syntax to check that more error cases
1779         fail as they are supposed to. Increases the test coverage a bit.
1780
1781 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
1782
1783         * docs/manual/basics-elements.xml:
1784           Fix gst_element_link() example.
1785
1786         * gst/gstutils.c:
1787           Mention in API docs that one should usually gst_bin_add()
1788           elements to a bin or pipeline before doing the linking.
1789           
1790 2006-07-26  Wim Taymans  <wim@fluendo.com>
1791
1792         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
1793         (gst_subbuffer_get_type), (gst_buffer_create_sub):
1794         Avoid function call for known types by keeping the buffer and
1795         subbuffer GType global.
1796
1797         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1798         Random silly optimisations in read() path.
1799
1800 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1801
1802         * tools/gst-launch.c: (main):
1803           If the top-level of the parse is a normal bin, it doesn't do the
1804           right logic to run as a top-level element, so place it inside a
1805           pipeline.
1806
1807 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
1808
1809         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
1810           Remove superfluous g_object_notify() calls, GObject does
1811           that for us automatically.
1812
1813 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
1814
1815         * gst/gstinfo.h:
1816           on Win32, use dllspec to export the debug category symbols
1817
1818 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
1819
1820         * gst/gsttaglist.c: (_gst_tag_initialize):
1821           Allow more than one GST_TAG_IMAGE per taglist.
1822
1823 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1824
1825         * gst/gstminiobject.c:
1826           update docs
1827         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
1828         (gst_fd_src_create):
1829           log recurring events at LOG level
1830           add more debug for when the fd gets set
1831
1832 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
1833
1834         * gst/gstparse.c: (gst_parse_launch):
1835           Also remove reentrance checks if flex is MT safe (#348179)
1836          Fix my empty ChangeLog entry below
1837
1838 2006-07-21  Andy Wingo  <wingo@pobox.com>
1839
1840         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
1841
1842         * libs/gst/check/Makefile.am
1843         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
1844         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
1845         * libs/gst/check/gstbufferstraw.h:
1846         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
1847         functions, thus proving I am still a GStreamer haxor. OK I wrote
1848         them a long time ago, but anyways.
1849
1850 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
1851
1852         * configure.ac:
1853         * gst/gstparse.c: (gst_parse_launch):
1854           Check for flex version and omit mutex if we have a MT save flex
1855           (fixes #348179)
1856
1857 2006-07-21  Wim Taymans  <wim@fluendo.com>
1858
1859         * gst/gstparse.c: (gst_parse_launch):
1860         Protect recursive calls to _parse with a recursive mutex
1861         and busy flag.
1862
1863 2006-07-21  Wim Taymans  <wim@fluendo.com>
1864
1865         * tests/check/gst/gstpad.c: (GST_START_TEST):
1866         Fix leak in test.
1867
1868 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
1869
1870         * gst/gstparse.c: (gst_parse_launch):
1871           Do not hang on recursive usage of gst_parse_launch()
1872
1873 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
1874
1875         * gst/gsttaglist.c:
1876           Add some more docs, comments and FIXME 0.11s here and there
1877           and also fix some typos.
1878
1879 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
1880
1881         * gst/gstsegment.h:
1882           Convert tabs to spaces for better readability. 
1883
1884 2006-07-20  Edward Hervey  <edward@fluendo.com>
1885
1886         * tests/check/libs/gdp.c: (gst_dp_suite):
1887         the test_buffer test fails at line 140 on ppc64 at the following
1888         check:
1889         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
1890                 GST_BUFFER_FLAG_IN_CAPS),
1891                 "GST_BUFFER_IN_CAPS flag should have been copied !");
1892         See bug #348114 for more details.
1893
1894 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
1895
1896         * docs/pwg/advanced-scheduling.xml:
1897         * gst/gstpad.c:
1898           Fix typos (#348000).
1899
1900 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
1901
1902         * docs/pwg/intro-basics.xml:
1903           Fix wrong links (#347927).
1904
1905 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
1906
1907         * gst/gstregistry.h:
1908         * gst/gstregistryxml.c: (load_feature),
1909         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1910         * win32/common/config.h:
1911           make --disable-index work (#342564)
1912
1913 2006-07-18  Wim Taymans  <wim@fluendo.com>
1914
1915         Patch by: Peter Kjellerstedt <pkj at axis dot com>
1916
1917         * gst/Makefile.am:
1918         * gst/gsttrace.h:
1919         The attached patch adds two missing defines to gsttrace.h when tracing
1920         is disabled.  It also corrects one existing define.
1921         Fixes #347756.
1922
1923 2006-07-17  Wim Taymans  <wim@fluendo.com>
1924
1925         * docs/gst/gstreamer-sections.txt:
1926         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
1927         * gst/gst.h:
1928         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
1929         Add two functions to check and change the SIGSEGV behaviour
1930         when loading plugins.
1931         Don't mess with the SIGSEGV handler when we were told not to.
1932         Fixes #347794.
1933         API: gst_segtrap_is_enabled
1934         API: gst_segtrap_set_enabled
1935
1936 2006-07-14  Wim Taymans  <wim@fluendo.com>
1937
1938         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
1939         * tests/check/elements/filesrc.c: (GST_START_TEST):
1940         Revert fix for regression in #347408 after release.
1941
1942 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
1943
1944         Patch by: Antoine Tremblay <hexa00 at gmail com>
1945
1946         * gst/gstutils.c: (gst_element_unlink):
1947           Free iterator when done (#347311).
1948
1949         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1950           And add a test case for this.
1951
1952 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
1953
1954         * configure.ac:
1955         Bump nano back to CVS
1956
1957 === release 0.10.9 ===
1958
1959 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
1960
1961         * configure.ac:
1962           releasing 0.10.9, "On the road again"
1963
1964 2006-07-13  Wim Taymans  <wim@fluendo.com>
1965
1966         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
1967         * tests/check/elements/filesrc.c: (GST_START_TEST):
1968         Revert pull-0 fix for release. Disable check. Fixes #347408.
1969
1970 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1971
1972         * libs/gst/dataprotocol/dataprotocol.c:
1973         (gst_dp_event_from_packet_1_0):
1974           Fixes #347337: failure to deserialize event packets with
1975           empty payload (only event type)
1976
1977 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1978
1979         * gst/Makefile.am:
1980           do not install a .c file in the header directory
1981
1982 2006-07-13  Edward Hervey  <edward@fluendo.com>
1983
1984         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
1985         GhostPad no longer implicitely use the padtemplates of the targets.
1986         Fixes #347384
1987
1988 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
1989
1990         * gst/gstvalue.c: (gst_value_compare_list),
1991         (gst_value_compare_array), (_gst_value_initialize):
1992         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1993         Make GstValueArray comparison be order dependent as designed.
1994         Add checks for value lists and value array comparisons.
1995         Fixes #347221
1996
1997 2006-07-11  Edward Hervey  <edward@fluendo.com>
1998
1999         * gst/gstbin.c: (activate_pads),
2000         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
2001         (gst_bin_change_state_func):
2002         (de)activate src pads before calling state_change on the childs.
2003         This is to avoid the case where a src ghostpad is blocked (holding the
2004         stream lock), which would block the deactivation of the ghostpad's
2005         target pad.
2006         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
2007         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
2008         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
2009         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
2010         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
2011         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
2012         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
2013         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
2014         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
2015         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
2016         (gst_ghost_pad_class_init),
2017         (gst_ghost_pad_internal_do_activate_push),
2018         (gst_ghost_pad_internal_do_activate_pull),
2019         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
2020         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
2021         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
2022         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
2023         GhostPads now create their internal GstProxyPad at creation (and not
2024         when they're linked, as it was being done previously).
2025         The internal and target pads are linked straight away.
2026         The data will also travel through the other pad in order to make
2027         pad blocking and probes non-hackish (the probe/block now really happens
2028         on the GhostPad and not on the target).
2029         * gst/gstpad.c: (gst_pad_set_blocked_async),
2030         (gst_pad_link_prepare), (gst_pad_push_event):
2031         Remove previous ghostpad cruft.
2032         * gst/gstutils.c: (gst_pad_add_data_probe),
2033         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2034         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2035         (gst_pad_remove_buffer_probe):
2036         Remove previous ghost pad cruft.
2037         Added more detailed debug statements.
2038         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2039         Fix the testsuite for refcounting changes.
2040         The comments about who has references were correct, but the refcount
2041         being checked wasn't the same (!?!).
2042
2043         Fixes #341029
2044
2045 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
2046
2047         * docs/gst/gstreamer-sections.txt:
2048         * gst/gstconfig.h.in:
2049         More docs for configuration options, add docs to gtk-doc.
2050
2051 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
2052
2053         * gst/Makefile.am:
2054         * gst/gstconfig.h.in:
2055         * win32/common/config.h:
2056         Fix build when disabling tracing (fixes #344016). Also start to document
2057         the defines that disable the sub-systems.
2058
2059 2006-07-10  Edward Hervey  <edward@fluendo.com>
2060
2061         * gst/gst.c: (ensure_current_registry_forking):
2062         let's make valgrind happy...
2063
2064 2006-07-09  Wim Taymans  <wim@fluendo.com>
2065
2066         * gst/gstelement.c: (activate_pads),
2067         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
2068         Better pad activation code: Reset the collect value too on resync.
2069         Add some comments.
2070
2071 2006-07-09  Wim Taymans  <wim@fluendo.com>
2072
2073         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
2074         (gst_pad_activate_push):
2075         Use some more macros where it makes sense.
2076         Allow pad mode switching instead of asserting. When a pad
2077         is activated in one mode and we activate it in another, 
2078         deactivate it first before activating it in a different mode.
2079         Fixes #329198.
2080
2081 2006-07-08  Andy Wingo  <wingo@pobox.com>
2082
2083         * tools/gst-launch.c (main): Handle err == NULL.
2084
2085         * gst/gst.c (init_post, ensure_current_registry)
2086         (ensure_current_registry_forking)
2087         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
2088         factoring out the registry scanning into separate functions. Don't
2089         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
2090         Better environment var name/interface suggestions accepted.
2091
2092 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
2093
2094         * gst/gstobject.c: (gst_object_set_name_default),
2095         (gst_object_set_name):
2096           Random micro-optimisation: don't use a hash table
2097           with strings as keys and the usual strdup/strcmp
2098           involved, but rather just use the GQuark of the
2099           type name as key, since it needs to be looked up
2100           anyway to get the type name string.
2101
2102         * tests/check/gst/gstobject.c: (GST_START_TEST):
2103           Fix various leaks.
2104
2105 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
2106
2107         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
2108         (gst_bin_iterate_all_by_interface):
2109           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
2110           GTypes are gulongs and thus the top 4 bytes might be cut
2111           off on some platforms when doing GPOINTER_TO_INT, leading
2112           to invalid GTypes and bad things happening (see RH bug #179654).
2113           Also add a check to make sure the type passed in is really
2114           an interface type.
2115
2116 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
2117
2118         * .cvsignore:
2119           Ignore more.
2120
2121 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
2122
2123         * Makefile.am:
2124         * configure.ac:
2125         * gst-element-check.m4:
2126         * gst-element-check.m4.in:
2127           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
2128           instead of the unversioned gst-inspect (#324176, #168659).
2129
2130 2006-07-06  Wim Taymans  <wim@fluendo.com>
2131
2132         * gst/gstmessage.h:
2133         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
2134         warnings.
2135
2136 2006-07-06  Wim Taymans  <wim@fluendo.com>
2137
2138         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2139         (gst_base_src_wait), (gst_base_src_update_length),
2140         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
2141         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
2142         (gst_base_src_loop), (gst_base_src_start),
2143         (gst_base_src_activate_pull):
2144         Update docs.
2145         blocksize == 0 now means the default blocksize when working in push
2146         based mode.
2147         Remove some pointless asserts in _wait function.
2148         Fix offset/length calculations and EOS handling. We can now pull 0
2149         bytes as well, which is allowed.
2150         use _check_get_range() to decide if we can operate in _pull based
2151         mode.
2152         Fix refcounting leak when check_get_range function was not 
2153         implemented.
2154         API GstBaseSrc::blocksize range can be 0 too now (default)
2155
2156         * tests/check/elements/filesrc.c: (GST_START_TEST),
2157         (filesrc_suite):
2158         Added check to test _get_range() behaviour.
2159
2160 2006-07-06  Wim Taymans  <wim@fluendo.com>
2161
2162         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
2163         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
2164         (gst_pad_pull_range):
2165         * gst/gstpad.h:
2166         Lots of comments and docs added to the pad functions.
2167         Flesh out the expected behaviour of the get_range() functions.
2168
2169 2006-07-06  Wim Taymans  <wim@fluendo.com>
2170
2171         * gst/gstbus.h:
2172         * gst/gstclock.h:
2173         * gst/gstevent.h:
2174         * gst/gstiterator.h:
2175         * gst/gstpad.h:
2176         * gst/gstplugin.h:
2177         * gst/gsttask.h:
2178         Remove comma at end of enumerator list. 
2179
2180 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
2181
2182         * win32/common/libgstbase.def:
2183         * win32/common/libgstdataprotocol.def:
2184         * win32/common/libsgtreamer.def:
2185         Add new exported functions.
2186
2187 2006-07-05  Wim Taymans  <wim@fluendo.com>
2188
2189         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
2190         Add some more docs here and there.
2191
2192 2006-07-05  Wim Taymans  <wim@fluendo.com>
2193
2194         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
2195         (gst_base_sink_loop), (gst_base_sink_get_position):
2196         When operating in pull mode update the offset so that we
2197         read sequentially.
2198
2199 2006-07-05  Wim Taymans  <wim@fluendo.com>
2200
2201         * gst/gstregistryxml.c: (read_string):
2202         Avoid strdup. (will happen in libxml, but hey!)
2203
2204         * gst/gsturi.c:
2205         Add some more docs.
2206
2207 2006-07-05  Wim Taymans  <wim@fluendo.com>
2208
2209         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
2210         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
2211         (gst_buffer_suite):
2212         No point in checking if the size of the subbuffer > 0, the
2213         code handles it correclty as demonstrated by unit test.
2214         Also add a unit test for the zero sized _new_and_alloc and
2215         _copy. Fixes #346663.
2216
2217 2006-07-05  Wim Taymans  <wim@fluendo.com>
2218
2219         * libs/gst/base/gstbasetransform.c:
2220         (gst_base_transform_prepare_output_buffer),
2221         (gst_base_transform_buffer_alloc),
2222         (gst_base_transform_handle_buffer):
2223         Make sure the buffer we pass to transform_ip has a refcount of
2224         1 and thus is writable. Fixes #343196
2225
2226 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
2227
2228         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2229         (gst_file_src_init), (gst_file_src_set_property),
2230         (gst_file_src_get_property), (gst_file_src_map_region):
2231         * plugins/elements/gstfilesrc.h:
2232         Add "sequential" property, off by default, to use madvise and hint
2233         to the kernel that sequential access is desired.
2234         Touch all retrieved pages by default to ensure they are pulled
2235         into memory. (Closes #345720)
2236
2237 2006-07-03  Wim Taymans  <wim@fluendo.com>
2238
2239         * docs/design/part-block.txt:
2240         * docs/design/part-dynamic.txt:
2241         Small docs updates.
2242
2243 2006-07-03  Wim Taymans  <wim@fluendo.com>
2244
2245         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
2246         (gst_caps_unref), (gst_static_caps_get),
2247         (gst_caps_append_structure):
2248         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
2249         Use GSlice when the glib we build against is >= 2.10
2250
2251 2006-07-03  Wim Taymans  <wim@fluendo.com>
2252
2253         * gst/gstelement.c: (gst_element_pads_activate):
2254         Small cleanup in pad activation code.
2255
2256 2006-07-03  Wim Taymans  <wim@fluendo.com>
2257
2258         Patch by: Peter Kjellerstedt <pkj at axis dot com>
2259
2260         * gst/gst-i18n-app.h:
2261         * gst/gst-i18n-lib.h:
2262         * tools/gst-inspect.c: (print_signal_info):
2263         The attached patch will make the inclusion of gettext.h unconditional in
2264         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
2265         libintl.h in tools/gst-inspect.c.
2266         This allows use of --disable-nls again and fixes #344642.
2267
2268 2006-07-03  Edward Hervey  <edward@fluendo.com>
2269
2270         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
2271         Implement pad blocking on events according to part-block.txt.
2272         More comments on behaviour.
2273         * tests/check/gst/gstevent.c: (test_event):
2274         Send event to peer pad of blocked pad (else it will block).
2275
2276 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2277
2278         * libs/gst/check/gstcheck.c: (gst_check_message_error),
2279         (gst_check_run_suite):
2280           if we get the wrong message, give us the types as string
2281         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2282           Fix a translatable
2283         * tests/check/elements/filesrc.c: (GST_START_TEST):
2284           add a test for trying to open a non-existing file
2285
2286 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2287
2288         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
2289           add a test for adding self
2290
2291 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2292
2293         * libs/gst/check/gstcheck.h:
2294           add some assert_ as alias for fail_unless_*
2295         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
2296           increase test coverage
2297
2298 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2299
2300         * Makefile.am:
2301           include lcov.mak for lcov coverage generation
2302         * tools/Makefile.am:
2303           add to CLEANFILES
2304
2305 2006-07-02  Edward Hervey  <edward@fluendo.com>
2306
2307         * tests/check/elements/.cvsignore:
2308         moaping
2309
2310 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2311
2312         * configure.ac:
2313           don't set CFLAGS and friends for gcov, done from GST_GCOV now
2314         * tests/check/Makefile.am:
2315           clean up gcov files
2316
2317 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2318
2319         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
2320           remove gst_caps_simplify; it was not declared and not used
2321           and deprecated in 0.8
2322
2323 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2324
2325         * docs/faq/gst-uninstalled:
2326           don't put empty paths on PYTHONPATH
2327         * docs/gst/gstreamer-sections.txt:
2328           remove some symbols that are not there
2329
2330 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2331
2332         * gst/gstcaps.c: (gst_caps_compare_structures):
2333           whitespace fixes
2334         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
2335         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
2336           add more tests
2337
2338 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2339
2340         * libs/gst/dataprotocol/Makefile.am:
2341           build dataprotocol test by linking to the lib, instead of
2342           compiling the source, so we get coverage
2343         * tests/check/Makefile.am:
2344         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
2345         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
2346           add a test for filesrc
2347
2348 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2349
2350         * tests/check/gst/gststructure.c: (GST_START_TEST),
2351         (gst_structure_suite):
2352           Push coverage from 59.04% to 70.00%
2353
2354 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2355
2356         * tests/check/Makefile.am:
2357           gst-inspect every element; this makes sure that we also get
2358           coverage on element's get/set functions
2359
2360 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2361
2362         * configure.ac:
2363           set CFLAGS and friends to -O0 if gcov is being used
2364           add GCOV LIBS
2365         * gst/Makefile.am:
2366         * libs/gst/base/Makefile.am:
2367         * libs/gst/check/Makefile.am:
2368         * libs/gst/controller/Makefile.am:
2369         * libs/gst/dataprotocol/Makefile.am:
2370         * libs/gst/net/Makefile.am:
2371         * plugins/elements/Makefile.am:
2372         * plugins/indexers/Makefile.am:
2373           add makefile rules to generate gcov data and clean up
2374         * tests/check/Makefile.am:
2375           add a coverage target that generates an html overview
2376           of coverage data
2377
2378 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2379
2380         * tests/check/elements/fakesink.c:
2381         * tests/check/elements/fakesrc.c:
2382         * tests/check/elements/fdsrc.c:
2383         * tests/check/elements/identity.c:
2384         * tests/check/generic/sinks.c: (gst_sinks_suite):
2385         * tests/check/generic/states.c:
2386         * tests/check/gst/gst.c:
2387         * tests/check/gst/gstabi.c:
2388         * tests/check/gst/gstbin.c:
2389         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
2390         * tests/check/gst/gstbus.c: (gst_bus_suite):
2391         * tests/check/gst/gstcaps.c: (GST_START_TEST):
2392         * tests/check/gst/gstelement.c:
2393         * tests/check/gst/gstevent.c: (gst_event_suite):
2394         * tests/check/gst/gstghostpad.c:
2395         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
2396         * tests/check/gst/gstmessage.c: (gst_message_suite):
2397         * tests/check/gst/gstminiobject.c:
2398         * tests/check/gst/gstobject.c:
2399         * tests/check/gst/gstpad.c:
2400         * tests/check/gst/gstpipeline.c:
2401         * tests/check/gst/gstplugin.c:
2402         * tests/check/gst/gstquery.c: (gst_query_suite):
2403         * tests/check/gst/gstsegment.c: (gst_segment_suite):
2404         * tests/check/gst/gststructure.c:
2405         * tests/check/gst/gstsystemclock.c:
2406         * tests/check/gst/gsttag.c:
2407         * tests/check/gst/gsttask.c: (gst_task_suite):
2408         * tests/check/gst/gstutils.c:
2409         * tests/check/gst/gstvalue.c:
2410         * tests/check/libs/adapter.c:
2411         * tests/check/libs/basesrc.c:
2412         * tests/check/libs/collectpads.c:
2413         * tests/check/libs/controller.c:
2414         * tests/check/libs/gdp.c: (gst_dp_suite):
2415         * tests/check/libs/gstnetclientclock.c:
2416         * tests/check/libs/gstnettimeprovider.c:
2417         * tests/check/libs/libsabi.c: (libsabi_suite):
2418         * tests/check/libs/typefindhelper.c:
2419         * tests/check/pipelines/cleanup.c:
2420         * tests/check/pipelines/parse-launch.c:
2421         * tests/check/pipelines/simple-launch-lines.c:
2422         * tests/check/pipelines/stress.c: (stress_suite):
2423           use the new macro
2424
2425 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2426
2427         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
2428         * libs/gst/check/gstcheck.h:
2429           create a macro and function so that the simple unit test
2430           case can be just one macro to create main()
2431
2432 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
2433
2434         * gst/gstbin.c: (gst_bin_restore_thyself):
2435         * gst/gstxml.c: (gst_xml_make_element):
2436           Fix deserialisation from XML. Set parent manually
2437           instead of using gst_bin_add(), since gst_bin_add()
2438           will unlink all pads of the element being added.
2439           Fixes #341667.
2440
2441 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
2442
2443         Patch by: Peter Kjellerstedt <pkj at axis com>
2444
2445         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
2446           Fix missing g_strdup() and double free when using the
2447           --gst-plugin-load command line option (#346097).
2448
2449 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
2450
2451         * gst/gstinfo.c:
2452           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
2453
2454         * libs/gst/net/gstnetclientclock.c:
2455         * libs/gst/net/gstnettimeprovider.c:
2456           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
2457
2458 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
2459
2460         * docs/manual/advanced-dataaccess.xml:
2461           Fix buffer probe example compilation in
2462           ADM (#345708).
2463         
2464 2006-06-22  Edward Hervey  <edward@fluendo.com>
2465
2466         * gst/gstelement.c: (gst_element_pads_activate):
2467         We need to deactivate src pads first and then sink pads.
2468         The reason is the src pads might be blocking while holding the streaming
2469         lock, so we need to deactivate them first so that deactivating the sink
2470         pads doesn't block (since it will require the streaming lock).
2471
2472 2006-06-22  Wim Taymans  <wim@fluendo.com>
2473
2474         * libs/gst/base/gstbasetransform.c:
2475         (gst_base_transform_buffer_alloc):
2476         Forgot to remove two unneeded unrefs.
2477         Simplify a check _is_equal allready checks the obvious case.
2478
2479 2006-06-22  Wim Taymans  <wim@fluendo.com>
2480
2481         * docs/design/part-block.txt:
2482         Some docs about what pad_block should do.
2483
2484 2006-06-22  Wim Taymans  <wim@fluendo.com>
2485
2486         * gst/gstcaps.c: (gst_caps_replace):
2487         Fix crasher when passed NULL. Doc clarification.
2488         Optimize for the trivial case.
2489
2490         * gst/gstpipeline.c: (gst_pipeline_change_state):
2491         Small cleanups.
2492
2493         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
2494         Small documentation cleanup.
2495
2496         * libs/gst/base/gstbasetransform.c:
2497         (gst_base_transform_buffer_alloc):
2498         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
2499         is what we need and it avoids a whole lot of redundant 
2500         refcount operations.
2501
2502 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
2503
2504         Patch by: Philip Jägenstedt  <philip at lysator liu se>
2505
2506         * docs/manual/advanced-dataaccess.xml:
2507           Fix 'Embedding static elements' section to use
2508           GST_PLUGIN_DEFINE_STATIC (#345607).
2509
2510 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
2511
2512         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
2513           Attempt to 'fix' spuriously failing test case: it seems like the
2514           timeout of half a second is simply too small when the system is under
2515           load otherwise, and the timeout doesn't really seem to serve any
2516           particular purpose here. Give the pipeline a few seconds to preroll
2517           first, and then give it another half a second to go from PAUSED to
2518           PLAYING and marshal the message into the main thread.
2519
2520 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
2521
2522         * tools/gst-feedback-m.m:
2523           Don't only use unversioned tools, try versioned tools as well
2524           (#345086).
2525
2526 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
2527
2528         * gst/gstbus.c: (gst_bus_class_init):
2529           Fix some typos, make docs more explicit.
2530
2531 2006-06-20  Wim Taymans  <wim@fluendo.com>
2532
2533         * tests/check/gst/gstghostpad.c: (block_callback),
2534         (GST_START_TEST), (gst_ghost_pad_suite):
2535         Added some more ghostpad tests, mainly blocking
2536         and probes.
2537
2538 2006-06-16  Wim Taymans  <wim@fluendo.com>
2539
2540         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2541         (gst_file_sink_close_file), (gst_file_sink_do_seek),
2542         (gst_file_sink_event), (gst_file_sink_render):
2543         * plugins/elements/gstfilesink.h:
2544         Check if we can seek in the file instead of assuming
2545         we always can. Post an error when we are asked to seek in a
2546         non-seekable file (like a fifo). Fixes #343312.
2547         Some cleanups.
2548
2549 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
2550
2551         * tools/gst-launch.1.in:
2552           Un-garble (fourcc) bit in filtered caps section.
2553
2554 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
2555
2556         * docs/manual/advanced-autoplugging.xml:
2557         * docs/manual/basics-helloworld.xml:
2558         * docs/manual/highlevel-components.xml:
2559           Don't leak bus reference in sample code.
2560
2561 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
2562
2563         * autogen.sh:
2564           Add default for new --enable-plugin-docs switch.
2565
2566         * configure.ac:
2567           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
2568           Fixes #344039.
2569
2570         * docs/Makefile.am:
2571           Use new ENABLE_PLUGIN_DOCS conditional.
2572
2573 2006-06-14  Wim Taymans  <wim@fluendo.com>
2574
2575         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
2576         Make it clear with a FIXME and a real define what the #if 0
2577         previously disabled.
2578
2579 2006-06-14  Wim Taymans  <wim@fluendo.com>
2580
2581         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2582         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
2583         * libs/gst/base/gstbasetransform.c:
2584         (gst_base_transform_sink_eventfunc):
2585         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
2586         Don't randomly and silently reset a segment when the format 
2587         changes as this is a bug somewhere upstream. Fixes #330379.
2588
2589 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2590
2591         Patch by: Wouter Paesen  <wouter at kangaroot net>
2592
2593         * libs/gst/controller/gstcontroller.c:
2594         (gst_controlled_property_new):
2595           Fix controlling of float properties (#344849).
2596
2597         * tests/check/libs/controller.c:
2598         (gst_test_mono_source_get_property),
2599         (gst_test_mono_source_set_property),
2600         (gst_test_mono_source_class_init), (GST_START_TEST):
2601           While we're at it, add some float stuff to unit test.
2602
2603 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2604
2605         * docs/README:
2606         * docs/images/gdp-header.svg:
2607           add a gdp image
2608         * docs/libs/Makefile.am:
2609         * docs/libs/gdp-header.png:
2610         * libs/gst/dataprotocol/dataprotocol.c:
2611           add it to the API docs
2612         * docs/manual/intro-motivation.xml:
2613           fix typo
2614
2615 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
2616
2617         * gst/gst.c: (scan_and_update_registry), (init_post):
2618           If the fork()'ed child process can't write the updated registry cache
2619           file to disk for some reason, make it exit with a failure exit code,
2620           so that the parent can then re-scan the plugins itself and update the
2621           registry structures in memory and work with that (rather than failing
2622           when creating elements because seemingly no plugins are available).
2623           Refactor registry scanning code into separate function for this and
2624           also separate fork() and non-fork() code paths. Fixes #344748.
2625
2626 2006-06-13  Wim Taymans  <wim@fluendo.com>
2627
2628         * docs/manual/advanced-dataaccess.xml:
2629         Fix wrong PluginDesc. Fixes #344755.
2630
2631 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
2632
2633         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
2634           Fix silly bug that prevented us from creating
2635           ~/.gstreamer-0.10 and writing the registry in one
2636           go (the first call to g_mkstemp() would overwrite the
2637           placeholder in the template string, so the second call
2638           to g_mkstemp() after creating the missing directory
2639           would then error out with 'invalid argument').
2640
2641 2006-06-13  Edward Hervey  <edward@fluendo.com>
2642
2643         * gst/gst.c: (init_post):
2644         Free string.
2645
2646 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2647
2648         * gst/glib-compat-private.h:
2649         * gst/glib-compat.c:
2650         * gst/glib-compat.h:
2651         * gst/gstvalue.c: (gst_value_serialize_flags):
2652           remove GLib 2.6 compatibility code
2653
2654 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
2655
2656         * gst/parse/Makefile.am:
2657           Fix build with 'make -j N' even more (#340016).
2658
2659 2006-06-12  Wim Taymans  <wim@fluendo.com>
2660
2661         * docs/gst/gstreamer-sections.txt:
2662         Fix docs.
2663
2664 2006-06-12  Wim Taymans  <wim@fluendo.com>
2665
2666         * gst/gstsegment.c: (gst_segment_set_duration),
2667         (gst_segment_set_last_stop), (gst_segment_set_seek),
2668         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
2669         (gst_segment_to_running_time), (gst_segment_clip):
2670         Use G_UNLIKELY to help the compiler a bit.
2671
2672 2006-06-12  Wim Taymans  <wim@fluendo.com>
2673
2674         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
2675
2676         * gst/gstevent.c: (gst_event_get_type):
2677         * gst/gstmessage.c:
2678         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
2679         (gst_pad_push):
2680         constify quark registration strings. Fixes #344115
2681         Avoid unneeded type checking is _pad_push() by internally
2682         calling gst_pad_chain_unchecked().
2683
2684 2006-06-12  Wim Taymans  <wim@fluendo.com>
2685
2686         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
2687         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
2688         (gst_subbuffer_finalize), (gst_buffer_create_sub),
2689         (gst_buffer_is_span_fast), (gst_buffer_span):
2690         Init _type for consistency.
2691         Use _FLAGS macro to avoid type check.
2692         Avoid unneeded type checks in subbufer code.
2693
2694 2006-06-12  Wim Taymans  <wim@fluendo.com>
2695
2696         * gst/gst.c: (gst_debug_help):
2697         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
2698         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
2699         (gst_plugin_feature_list_free):
2700         * gst/gstregistry.c: (gst_registry_add_plugin),
2701         (gst_registry_add_feature), (gst_registry_plugin_filter),
2702         (gst_registry_feature_filter), (gst_registry_find_plugin),
2703         (gst_registry_find_feature), (gst_registry_get_plugin_list),
2704         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
2705         * gst/gstregistryxml.c: (load_feature),
2706         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
2707         * gst/gstminiobject.c: (gst_mini_object_unref),
2708         (gst_mini_object_replace), (gst_value_mini_object_free),
2709         (gst_value_mini_object_copy):
2710         Use _CAST macros to avoid unneeded type checking.
2711         Added some more G_UNLIKELY.
2712
2713 2006-06-12  Wim Taymans  <wim@fluendo.com>
2714
2715         * gst/gstbuffer.h:
2716         Avoid unneeded type checking.
2717         API: GST_BUFFER_IS_DISCONT
2718
2719         * gst/gstminiobject.h:
2720         Avoid type check in flag accessor.
2721
2722         * gst/gstelementfactory.h:
2723         * gst/gstplugin.h:
2724         * gst/gstpluginfeature.h:
2725         Add _CAST macros.
2726         API: GST_ELEMENT_FACTORY_CAST
2727         API: GST_PLUGIN_CAST
2728         API: GST_PLUGIN_FEATURE_CAST
2729
2730 2006-06-12  Wim Taymans  <wim@fluendo.com>
2731
2732         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
2733         (gst_object_unref):
2734         Add G_UNLIKELY in type registration.
2735         Avoid type check in _ref/_unref since that is also
2736         done in glib.
2737
2738 2006-06-12  Wim Taymans  <wim@fluendo.com>
2739
2740         * gst/gsterror.c: (gst_g_error_get_type):
2741         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
2742         (gst_static_pad_template_get_type):
2743         * gst/gsttaglist.c: (gst_tag_list_get_type):
2744         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
2745         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
2746         * gst/gsturi.c: (gst_uri_handler_get_type):
2747         * gst/gstvalue.c: (gst_date_get_type):
2748         * gst/gstxml.c: (gst_xml_get_type):
2749         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
2750         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
2751         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
2752         Add G_UNLIKELY in type registration.
2753
2754 2006-06-12  Wim Taymans  <wim@fluendo.com>
2755
2756         * tools/gst-inspect.c: (print_signal_info):
2757         Properly print enum values.
2758
2759 2006-06-12  Wim Taymans  <wim@fluendo.com>
2760
2761         * gst/gstinfo.c: (gst_debug_set_active),
2762         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
2763         * gst/gstinfo.h:
2764         Add some G_[UN]LIKELY.
2765         Maintain __gst_debug_min to avoid formatting the arguments of
2766         debug messages that will be dropped anyway to avoid a lot of 
2767         overhead from the debugging system.
2768
2769 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
2770
2771         * po/POTFILES.in:
2772         * po/POTFILES.skip:
2773           add missing files containing translatable strings, tell intltool about
2774           one exception
2775
2776 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
2777
2778         * tests/check/libs/.cvsignore:
2779         add test-binary to ignore list
2780
2781 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
2782
2783         * docs/libs/gstreamer-libs-docs.sgml:
2784         reorder (put dp into a chapter) and indent
2785
2786 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2787
2788         * configure.ac:
2789           back to HEAD
2790
2791 === release 0.10.8 ===
2792
2793 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
2794
2795         * configure.ac:
2796           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
2797
2798 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2799
2800         * gst/gst.c: (init_post):
2801           move pid declaration to declaration block
2802
2803 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2804
2805         * gst/gst.c: (init_post):
2806           use _exit() instead of exit() in our forked child; this ensures
2807           that none of the registered exit handlers from whatever is using
2808           GStreamer get executed.  This fixes gnome-mixer-applet failing
2809           to load, because ORBit would shut down.
2810           Spotted by: Edward Hervey  <edward@fluendo.com>
2811           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
2812           Fixes #344474
2813
2814 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2815
2816         * configure.ac:
2817           back to TRUNK
2818
2819 === release 0.10.7 ===
2820
2821 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
2822
2823         * configure.ac:
2824           releasing 0.10.7, "Soepeke, ik zie ou"
2825
2826 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2827
2828         * configure.ac:
2829         * po/af.po:
2830         * po/az.po:
2831         * po/bg.po:
2832         * po/ca.po:
2833         * po/cs.po:
2834         * po/de.po:
2835         * po/en_GB.po:
2836         * po/fr.po:
2837         * po/it.po:
2838         * po/nb.po:
2839         * po/nl.po:
2840         * po/ru.po:
2841         * po/sq.po:
2842         * po/sr.po:
2843         * po/sv.po:
2844         * po/tr.po:
2845         * po/uk.po:
2846         * po/vi.po:
2847         * po/zh_CN.po:
2848         * po/zh_TW.po:
2849         * win32/common/config.h:
2850           0.10.6.2 prerelease
2851
2852 2006-06-07  Wim Taymans  <wim@fluendo.com>
2853
2854         * gst/gstindex.c: (gst_index_gtype_resolver):
2855         * tools/gst-xmlinspect.c: (print_plugin_info):
2856         Fix leak spotted by coverity checker. Fixes #343827
2857         Fix another other leak found by paolo borelli.
2858
2859 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2860
2861         * libs/gst/dataprotocol/dataprotocol.c:
2862         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
2863         (gst_dp_version_get_type), (gst_dp_init),
2864         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
2865         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
2866         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
2867         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
2868         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
2869         (gst_dp_packetizer_free):
2870         * libs/gst/dataprotocol/dataprotocol.h:
2871           API: add a GstDPPacketizer object, and create/free functions
2872           API: add GstDPVersion enum
2873           Add 1.0 event function that uses the string serialization
2874           Serialize more useful buffer flags
2875           Fixes #343988
2876
2877 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2878
2879         * tests/check/Makefile.am:
2880         * tests/check/gst/gstabi.c:
2881         * tests/check/gst/struct_ppc64.h:
2882         * tests/check/libs/libsabi.c:
2883         * tests/check/libs/struct_ppc64.h:
2884           add ppc64 structure sizes
2885
2886 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2887
2888         * tests/check/Makefile.am:
2889         * tests/check/gst/gstabi.c:
2890         * tests/check/gst/struct_x86_64.h:
2891         * tests/check/libs/libsabi.c:
2892         * tests/check/libs/struct_x86_64.h:
2893           generate and add structure size lists for x86_64
2894
2895 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2896
2897         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
2898         * libs/gst/check/gstcheck.h:
2899           factor out the method from tests that checks size of structures,
2900           and add code to generate the header containing these sizes
2901         * tests/check/gst/gstabi.c: (GST_START_TEST):
2902         * tests/check/gst/struct_i386.h:
2903         * tests/check/libs/libsabi.c: (GST_START_TEST):
2904         * tests/check/libs/struct_i386.h:
2905           use it
2906
2907 2006-06-06  Michael Smith  <msmith@fluendo.com>
2908
2909         * gst/gstsegment.h:
2910           Don't use c++-style comments, fixes #343929
2911
2912 2006-06-05  Edward Hervey  <edward@fluendo.com>
2913
2914         * gst/gst.c:
2915         plugin_paths is not used if we build without registry support.
2916
2917         * gst/gstsegment.c: (gst_segment_copy): 
2918         _copy() was always returning NULL...
2919
2920 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2921
2922         * libs/gst/dataprotocol/dataprotocol.c:
2923         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2924         (gst_dp_packet_from_event):
2925           factor out CRC code
2926
2927 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2928
2929         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
2930           make sure we unset caps
2931
2932 2006-06-02  Michael Smith  <msmith@fluendo.com>
2933
2934         * libs/gst/check/gstcheck.c: (gst_check_init),
2935         (gst_check_chain_func):
2936         * libs/gst/check/gstcheck.h:
2937           Add a cond/mutex to the check support lib, signal this whenever we
2938           add to the buffers list. This will allow tests to not busy-wait on
2939           the buffer-list.
2940
2941 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2942
2943         * libs/gst/dataprotocol/dataprotocol.c:
2944         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2945         (gst_dp_packet_from_event):
2946           factor out some common header init code
2947
2948 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2949
2950         * docs/libs/gstreamer-libs-sections.txt:
2951         * docs/libs/tmpl/gstdataprotocol.sgml:
2952         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
2953         * libs/gst/dataprotocol/dataprotocol.h:
2954           API: make gst_dp_crc() public
2955
2956 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
2957
2958         * plugins/indexers/gstindexers.c: (plugin_init):
2959         conditionally register fileindexer (fixes #343598)
2960
2961 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
2962
2963         * gst/gsttagsetter.h:
2964         Can't cast ifaces to a class
2965
2966         * libs/gst/net/gstnetclientclock.h:
2967         * libs/gst/net/gstnettimeprovider.h:
2968         * plugins/elements/gstfakesink.h:
2969         * plugins/elements/gstfakesrc.h:
2970         * plugins/elements/gstfdsink.h:
2971         * plugins/elements/gstfdsrc.h:
2972         * plugins/elements/gstfilesink.h:
2973         * plugins/elements/gstfilesrc.h:
2974         * plugins/elements/gstidentity.h:
2975         * plugins/elements/gstqueue.h:
2976         * plugins/elements/gsttee.h:
2977         * plugins/indexers/gstfileindex.c:
2978         * plugins/indexers/gstmemindex.c:
2979         * tests/old/examples/plugins/example.h:
2980         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
2981
2982 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2983
2984         * libs/gst/dataprotocol/dataprotocol.c:
2985         (gst_dp_header_from_buffer):
2986           make sure we zero the whole ABI-compatible area
2987
2988 2006-06-01  Wim Taymans  <wim@fluendo.com>
2989
2990         Patch by: Alessandro Decina <alessandro at nnva dot org>
2991
2992         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
2993         Make sure the EOS flag is cleared from pads after a flush
2994         or stop. Fixes #343538.
2995
2996         * tests/check/libs/collectpads.c: (GST_START_TEST),
2997         (gst_collect_pads_suite):
2998         Added test for collectpads reusage after EOS.
2999
3000 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
3001
3002         * gst/gst.c:
3003          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
3004         * win32/common/libgstbase.def:
3005          export gst_collect_pads_set_flushing
3006         * win32/common/libgstreamer.def:
3007          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
3008          gst_value_fraction_multiply
3009         * win32/vs6/gst_inspect.dsp:
3010          add a link to intl.lib
3011
3012 2006-05-30  Wim Taymans  <wim@fluendo.com>
3013
3014         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
3015         (gst_collect_pads_chain):
3016         Handle the case where a pad is removed from the collection
3017         that could cause the other pads to become collectable.
3018
3019 2006-05-30  Wim Taymans  <wim@fluendo.com>
3020
3021         * gst/gstelement.c:
3022         Clarify the use of _release_request_pad() and
3023         _get_request_pad() a bit better.
3024
3025         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
3026         (gst_adapter_take_buffer):
3027         Fix some doc and comment typos.
3028
3029 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3030
3031         * docs/gst/gstreamer-sections.txt:
3032         * docs/libs/gstreamer-libs-sections.txt:
3033           add declared symbols
3034
3035 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
3036
3037         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3038         Add debug that can be enabled using a #define at the top of the file,
3039         for dumping stats about how late/early we were when waking up from
3040         waiting on the clock.
3041
3042 2006-05-30  Wim Taymans  <wim@fluendo.com>
3043
3044         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
3045         When rebuilding the pad list, don't leak the previous list.
3046
3047 2006-05-30  Wim Taymans  <wim@fluendo.com>
3048
3049         Patch by: Lutz Mueller <lutz at topfrose dot de>
3050
3051         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3052         (gst_base_src_get_query_types), (gst_base_src_update_length):
3053         Publish supported query types.
3054         Update last_stop field in get_range mode so the position
3055         query works. Fixes #342321.
3056
3057 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
3058
3059         * docs/gst/gstreamer-sections.txt:
3060         * gst/gsttaglist.c: (_gst_tag_initialize):
3061         * gst/gsttaglist.h:
3062           API: add GST_TAG_PREVIEW_IMAGE (#343341).
3063
3064 2006-05-30  Wim Taymans  <wim@fluendo.com>
3065
3066         Patch by: Alessandro Decina <alessandro at nnva dot org>
3067
3068         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
3069         Unlock mutex when removing an unknown pad.
3070         Fixes #343334.
3071
3072         * tests/check/Makefile.am:
3073         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
3074         (push_event), (setup), (teardown), (GST_START_TEST),
3075         (gst_collect_pads_suite), (main):
3076         Added collecpads check, disabled for now as check crashes for
3077         some reason.
3078
3079 2006-05-29  Wim Taymans  <wim@fluendo.com>
3080
3081         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
3082         Don't leak pads lists.
3083
3084 2006-05-29  Wim Taymans  <wim@fluendo.com>
3085
3086         * docs/libs/gstreamer-libs-sections.txt:
3087         * libs/gst/base/gstcollectpads.c:
3088         (gst_collect_pads_set_flushing_unlocked),
3089         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
3090         (gst_collect_pads_stop):
3091         * libs/gst/base/gstcollectpads.h:
3092         API: gst_collect_pads_set_flushing()
3093         Added api to set the pads to flushing, useful for seeking
3094         code in elements using collectpads.
3095         Clear segment when receiving a flush.
3096
3097 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
3098
3099         * gst/gst.c: (add_path_func), (init_post):
3100           Don't scan registry paths passed via --gst-plugin-path immediately
3101           (will crash, because absolutely nothing is set up and no types are
3102           registered etc.); do this later in init_post(). Fixes #343057.
3103
3104 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3105
3106         * gst/gst.c: (init_post):
3107           if we have fork, fork while reading/rebuilding the registry
3108           so the parent doesn't take the hit of having all plugins loaded
3109           in memory.  Fixes #342777.
3110         * configure.ac:
3111           Check if we have fork()
3112         * win32/common/config.h.in:
3113           no fork() on win32
3114
3115 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
3116
3117         * plugins/elements/gstelements.c:
3118         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
3119         (gst_file_src_init), (gst_file_src_set_property),
3120         (gst_file_src_get_property), (gst_file_src_start):
3121         * plugins/elements/gstfilesrc.h:
3122           API: GstFileSrc::use-mmap
3123
3124         Add a use-mmap property to enable easier testing of all code paths.
3125         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
3126         in the absence of gnomevfssrc. (Closes #340501)
3127
3128 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3129
3130         * tools/gst-inspect.c:
3131         Add missing include, removes warning of ngettext not being defined on
3132         some arches.
3133
3134 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
3135
3136         * gst/gstvalue.c: (gst_value_deserialize_fraction):
3137         Handle NULL input and output pointers silently as a failed conversion,
3138         rather than g_warnings.
3139
3140 2006-05-25  Wim Taymans  <wim@fluendo.com>
3141
3142         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
3143         Initialize variable before using. Fixes #342820.
3144
3145 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
3146
3147         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
3148           Fix off-by-one bug that would only allow peeks of N-1 bytes
3149           from the start even if the buffer to typefind on contains
3150           in fact N bytes of data (makes vorbis typefinding from a
3151           vorbis identification header buffer work).
3152
3153         * tests/check/Makefile.am:
3154         * tests/check/libs/.cvsignore:
3155         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
3156         (gst_typefindhelper_suite), (main), (foobar_typefind),
3157         (plugin_init):
3158           Add very basic unit test for gst_type_find_helper_for_buffer()
3159           that checks for the problem fixed above.
3160
3161 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3162
3163         * tools/gst-inspect.c: (print_interfaces),
3164         (print_element_properties_info), (print_element_list), (main):
3165           add more translatable strings
3166
3167 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
3168
3169         Patch by: Julien Moutte  <julien at moutte net>
3170
3171         * docs/gst/gstreamer-sections.txt:
3172           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
3173           
3174         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
3175         (gst_fake_sink_preroll):
3176         * plugins/elements/gstfakesink.h:
3177           API: Add new GstFakeSink::preroll-handoff signal (#337100).
3178
3179 2006-05-23  Wim Taymans  <wim@fluendo.com>
3180
3181         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
3182         * gst/gstpad.h:
3183         Added _CUSTOM error and success GstFlowReturn that can be
3184         used be elements internally. 
3185         Added macro to check for SUCCESS flowreturns.
3186         API: GST_FLOW_CUSTOM_SUCCESS
3187         API: GST_FLOW_CUSTOM_ERROR
3188         API: GST_FLOW_IS_SUCCESS
3189
3190         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
3191         Added check for GstFlowReturn sanity.
3192
3193 2006-05-23  Wim Taymans  <wim@fluendo.com>
3194
3195         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
3196
3197         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
3198         (gst_collect_pads_event):
3199         clear/reset segment info in FLUSH_STOP.
3200         Fixes #336929.
3201
3202 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
3203
3204         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
3205         (gst_collect_pads_check_collected):
3206         Flush queued buffer on _stop(), fixes playing again (#342454)
3207
3208 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3209
3210         * tests/check/gst/gststructure.c: (GST_START_TEST),
3211         (gst_structure_suite):
3212           add a test for a complete structure
3213
3214 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
3215
3216         * docs/faq/developing.xml:
3217         * docs/faq/faq.xml:
3218         * docs/faq/troubleshooting.xml:
3219         * docs/faq/using.xml:
3220           Some minor FAQ updates that won't change the fact that
3221           our FAQ is badly structured, full of information hardly
3222           anyone new to GStreamer needs to know and lacking lots
3223           of information people constantly ask for.
3224           
3225 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
3226
3227         * gst/gstpad.c: (gst_pad_set_caps):
3228           Short-circuit gst_pad_set_caps if setting the existing
3229           caps pointer again, and avoid printing debug and 
3230           reffing/unreffing the caps.
3231
3232         * plugins/elements/gstqueue.c: (gst_queue_push_one):
3233           There's actually no need to set the caps before pushing -
3234           the acceptcaps method will handle it anyway.
3235
3236 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
3237
3238         * docs/gst/gstreamer-sections.txt:
3239         * win32/common/libgstreamer.def:
3240         * gst/gstutils.c: (gst_element_seek_simple):
3241         * gst/gstutils.h:
3242           API: add gst_element_seek_simple() (#342238).
3243
3244 2006-05-18  Edward Hervey  <edward@fluendo.com>
3245
3246         * gst/gsttypefind.c: (gst_type_find_get_type):
3247         * gst/gsttypefind.h:
3248         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
3249         registered for GstTypeFind pointers. This allows wrapping the structure
3250         in bindings (i.e. gst-python).
3251
3252 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
3253
3254         * gst/gsttagsetter.c:
3255           Docs additions and fixes (see #339918).
3256
3257 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
3258
3259         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3260         The caps intersection algorithm can produce multiple copies of the
3261         caps. Until that is fixed, we need to simplify the result to be
3262         sure whether the allowed caps are fixed or not.
3263
3264         * plugins/elements/gstqueue.c: (gst_queue_init),
3265         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
3266         (gst_queue_push_one):
3267         Proxied buffer alloc should not set the caps on the source pad.
3268         When pushing buffers, we always accept the caps change that triggers.
3269         This prevents negotiation errors caused by caps changing mid-stream 
3270         and then being refused on our source pad (because upstream is now
3271         refusing those caps).
3272
3273 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
3274
3275         * tests/examples/helloworld/helloworld.c: (main):
3276           Must plug audioconvert and audioresample between decoder
3277           and audio sink.
3278
3279 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
3280
3281         * gst/gstregistryxml.c: (read_string), (load_pad_template),
3282         (load_feature), (load_plugin):
3283         Allow empty strings for some of the plugin fields so we don't 
3284         drop valid plugin entries that were written out correctly
3285         (Fixes #341479)
3286
3287 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
3288         
3289         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
3290           Use g_remove and g_rename instead of remove and rename that don't 
3291           handle utf8 characters. rename was failing for users who had specific
3292           characters in their name then the registry was built at each 
3293           gstreamer init.
3294         * win32/vs6/gst_inspect.dsp:
3295         * win32/vs6/gst_launch.dsp:
3296         * win32/vs6/libgstbase.dsp:
3297         * win32/vs6/libgstcoreelements.dsp:
3298         * win32/vs6/libgstreamer.dsp:
3299           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
3300           build of libgstreamer and clean unused libraries in projects link 
3301           settings.
3302
3303 2006-05-17  Edward Hervey  <edward@fluendo.com>
3304
3305         * plugins/elements/gstqueue.c: (gst_queue_push_one):
3306         The queue is not responsible for pushing an EOS when receiving a fatal
3307         flow error. It's up to the real element driving the pipeline to do that.
3308
3309 2006-05-16  Edward Hervey  <edward@fluendo.com>
3310
3311         * plugins/elements/gstqueue.c: (gst_queue_push_one):
3312         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
3313         buffer returned a fatal error. It should just send an EOS and stop
3314         its task.
3315         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
3316         when pushing buffers on the queue and will be able to handle the event.
3317
3318 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
3319
3320         * docs/manual/basics-bins.xml:
3321         * docs/manual/basics-init.xml:
3322           Fix typos and minor errors in sample code (#341856).
3323
3324 2006-05-16  Wim Taymans  <wim@fluendo.com>
3325
3326         * docs/design/part-qos.txt:
3327         Fix indexes in formulas to make more sense.
3328
3329 2006-05-15  Wim Taymans  <wim@fluendo.com>
3330
3331         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3332         Don't report POSITION based on clock time if sync is
3333         disabled in a sink.
3334
3335 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
3336
3337         * gst/gstobject.h:
3338           Add cast to make compiler happy - refcount variable was a gint
3339           in GstObject but is a guint in GObject and g_atomic_int_get()
3340           wants a gint *.
3341
3342 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3343
3344         * gst/parse/Makefile.am:
3345           chain commands using &&, which also makes parallel make work
3346
3347 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
3348
3349         * docs/gst/gstreamer-sections.txt:
3350         * gst/gstevent.c:
3351         * gst/gstevent.h:
3352         * gst/gstmessage.h:
3353           Minor docs fixes.
3354
3355 === release 0.10.6 ===
3356
3357 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
3358
3359         * configure.ac:
3360           releasing 0.10.6, "Take the cannoli"
3361
3362 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3363
3364         * tools/gst-launch.c: (print_tag):
3365           Fix use of uninitialized variable in the hypothetical
3366           case that some broken plugin creates a GST_TAG_IMAGE
3367           tag containing a NULL buffer (#341667).
3368
3369 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
3370
3371         * tools/gst-launch.c: (print_tag):
3372           Print something more intelligible for image tags when
3373           using the -t switch (#341556).
3374
3375 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3376
3377         * Makefile.am:
3378           updates for win32
3379         * configure.ac:
3380           define GST_MAJORMINOR so we have it available in win32/common/config.h
3381           Possibly remove it from our Makefile.am files later
3382         * win32/common/config.h:
3383         * win32/common/config.h.in:
3384           added GST_MAJORMINOR
3385         * win32/common/gstenumtypes.c: (register_gst_resource_error):
3386         * win32/common/gstversion.h:
3387           updated
3388
3389 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
3390
3391         * win32/MANIFEST:
3392           Update win32 files listing.
3393         * win32/common/gstversion.h:
3394           Add GST_MAJORMINOR definition.
3395         * win32/common/libgstreamer.def:
3396           Add new exported functions.
3397           
3398 2006-05-12  Michael Smith  <msmith@fluendo.com>
3399
3400         * gst/gstplugin.c: (gst_plugin_load_file):
3401           If an so file has no plugin entry point, unload the module.
3402
3403 2006-05-11  Wim Taymans  <wim@fluendo.com>
3404
3405         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
3406         (gst_queue_set_property):
3407         Don't forget to signal the _chain or _loop function 
3408         when the queue size or thresholds change since that might
3409         cause them to make progres again.
3410
3411 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
3412
3413         * gst/gstclock.c: (gst_clock_class_init):
3414         * gst/gstindex.c: (gst_index_class_init):
3415         * gst/gstobject.c: (gst_object_class_init):
3416         * gst/gstpad.c: (gst_pad_class_init):
3417         * gst/gstpipeline.c: (gst_pipeline_class_init):
3418         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3419         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
3420         * libs/gst/base/gstbasetransform.c:
3421         (gst_base_transform_class_init):
3422         * libs/gst/net/gstnetclientclock.c:
3423         (gst_net_client_clock_class_init):
3424         * libs/gst/net/gstnettimeprovider.c:
3425         (gst_net_time_provider_class_init):
3426         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
3427         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3428         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3429         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
3430         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3431         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3432         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
3433         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3434         * plugins/elements/gsttee.c: (gst_tee_class_init):
3435         * tests/old/examples/plugins/example.c: (gst_example_class_init):
3436         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
3437           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
3438
3439 2006-05-11  Wim Taymans  <wim@fluendo.com>
3440
3441         * gst/gstbuffer.c: (_gst_buffer_initialize):
3442         Register subbufer along with the buffer type so that
3443         it does not accidentally gets registered from N
3444         different streaming threads in a non threadsafe way.
3445
3446 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
3447
3448         * gst/gstbuffer.h:
3449         * gst/gstevent.h:
3450         * gst/gstmessage.h:
3451           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
3452           gst_event_ref() and gst_message_ref() functions again
3453           (ugly hack, please do fix if there's a better way besides
3454           overrides.txt, which doesn't seem to work).
3455
3456 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3457
3458         * libs/gst/check/gstcheck.h:
3459           add an assert for setting state to avoid lots of repetitive code
3460           in the future
3461
3462 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3463
3464         * gst/gstvalue.c: (gst_value_serialize_flags):
3465           fix a leak if no flags are set
3466         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3467           fix leak in tests
3468
3469 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
3470
3471         * docs/manual/basics-pads.xml:
3472           Expand a bit on caps and filtered links and update
3473           examples that were still using the no longer existing
3474           gst_pad_link_filtered() (#338206).
3475
3476 2006-05-10  Wim Taymans  <wim@fluendo.com>
3477
3478         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3479         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3480         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
3481         (gst_collect_pads_stop):
3482         * libs/gst/base/gstcollectpads.h:
3483         No need to call _stop in _finalize.
3484         Iterate the main pad list in _finalize.
3485         Added some more debug.
3486         Free lists and data in the right order.
3487         Also free data whem doing _remove_pad when stopped for
3488         backward compatibility protect ::started with PAD_LOCK as
3489         well.
3490
3491 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3492
3493         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
3494         (gst_structure_parse_value):
3495           add some comments
3496           rename a method so that it actually says what it does better
3497
3498 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3499
3500         * gst/gstevent.c: (_gst_event_initialize):
3501         * gst/gstformat.c: (_gst_format_initialize):
3502           make sure some essential types used by events are registered
3503           as part of gst_init()
3504         * gst/gstvalue.c: (gst_value_serialize_flags):
3505           if no flags are set, serialize them to a value that represents NONE
3506           so that deserializing them works
3507         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3508           add tests for serialization and deserialization of flags
3509
3510 2006-05-10  Wim Taymans  <wim@fluendo.com>
3511
3512         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
3513         (gst_collect_pads_collect_range), (gst_collect_pads_available),
3514         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
3515         (gst_collect_pads_event), (gst_collect_pads_chain):
3516         Update docs.
3517         Better debug info.
3518         Catch and return errors from the collect function
3519         Refuse data on eos pads.
3520
3521 2006-05-10  Edward Hervey  <edward@fluendo.com>
3522
3523         * gst/gstinterface.h:
3524         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
3525         GInterface type checking.
3526         They were previously using non-defined macros.
3527
3528 2006-05-09  Wim Taymans  <wim@fluendo.com>
3529
3530         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
3531         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
3532         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
3533         (gst_collect_pads_start), (gst_collect_pads_stop),
3534         (gst_collect_pads_peek), (gst_collect_pads_pop),
3535         (gst_collect_pads_available), (gst_collect_pads_read),
3536         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
3537         (gst_collect_pads_is_collected), (gst_collect_pads_event),
3538         (gst_collect_pads_chain):
3539         * libs/gst/base/gstcollectpads.h:
3540         Clean up the mess that is collectpads, add comments and
3541         FIXMEs where needed.
3542         Maintain a separate pad list so we can add pads while
3543         collecting the other ones. For this we need a new separate 
3544         lock (see comics).
3545         Fix memory leak in finalize.
3546         Refactor some weird code to set/unset pad flushing flags, mark
3547         with comments.
3548         Don't crash in _available, _read, _flush when we're EOS.
3549
3550         * tests/check/libs/.cvsignore:
3551         Ignore adapter check binary.
3552
3553 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3554
3555         * gst/gstindex.c: (gst_index_resolver_get_type):
3556         * plugins/elements/gstfakesink.c:
3557         (gst_fake_sink_state_error_get_type):
3558         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
3559         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
3560         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
3561           Const-ify GEnumValue arrays.
3562
3563 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3564
3565         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
3566           Add test case for flags + gst_buffer_make_metadata_writable().
3567
3568 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3569
3570         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
3571           gst_buffer_make_metadata_writable() should maintain the
3572           buffer flags (those that make sense at least) (see #340859).
3573
3574 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3575
3576         * tools/gst-inspect.c:
3577         * tools/gst-launch.c:
3578         * tools/gst-typefind.c:
3579         * tools/gst-xmlinspect.c:
3580         * tools/tools.h:
3581           Fix up includes: need to include stdlib.h in tools.h for exit().
3582
3583 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3584
3585         * gst/gsttaglist.c: (_gst_tag_initialize):
3586         * gst/gsttaglist.h:
3587           API: add GST_TAG_IMAGE tag (#340721).
3588
3589 2006-05-08  Wim Taymans  <wim@fluendo.com>
3590
3591         * gst/gstquery.c:
3592         Added some docs for the segment query.
3593
3594 2006-05-08  Wim Taymans  <wim@fluendo.com>
3595
3596         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3597         (gst_base_src_loop), (gst_base_src_change_state):
3598         Always push non-flushing serialized events in the streaming 
3599         thread.
3600
3601 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3602
3603         * gst/gsterror.c: (_gst_stream_errors_init):
3604           Add a missing error string.
3605
3606 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
3607
3608         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
3609         Add applied_rate to the debug
3610
3611         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3612         Copy applied_rate into the outgoing NEWSEGMENT event
3613
3614 2006-05-08  Wim Taymans  <wim@fluendo.com>
3615
3616         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
3617
3618         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
3619         (gst_base_sink_change_state):
3620         call ::unlock before taking the PREROLL_LOCK so we can safely
3621         handle elements that lock in ::render.
3622         Fixes #340174.
3623
3624 2006-05-08  Edward Hervey  <edward@fluendo.com>
3625
3626         * autogen.sh: (CONFIGURE_DEF_OPT): 
3627         Darwin's libtoolize is in fact called glibtoolize.
3628         Adding glibtoolize to the list of accepted names for libtoolize.
3629
3630 2006-05-08  Wim Taymans  <wim@fluendo.com>
3631
3632         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3633         Unify error handling, don't post an error message
3634         when a push() returns EOS but perform our normal EOS
3635         handling code. Fixes #340772.
3636
3637 2006-05-08  Wim Taymans  <wim@fluendo.com>
3638
3639         * docs/design/part-overview.txt:
3640         Make upsteam/downstream concepts more clear.
3641         Give an example of serialized/non-serialized events.
3642
3643         * docs/design/part-events.txt:
3644         * docs/design/part-streams.txt:
3645         Mention applied_rate.
3646
3647         * docs/design/part-trickmodes.txt:
3648         Mention applied rate, flesh out some more use cases.
3649
3650         * gst/gstevent.c: (gst_event_new_new_segment),
3651         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
3652         (gst_event_parse_new_segment_full), (gst_event_new_tag),
3653         (gst_event_parse_tag), (gst_event_new_buffer_size),
3654         (gst_event_parse_buffer_size), (gst_event_new_qos),
3655         (gst_event_parse_qos), (gst_event_parse_seek),
3656         (gst_event_new_navigation):
3657         * gst/gstevent.h:
3658         Add applied_rate field to NEWSEGMENT event.
3659         API: gst_event_new_new_segment_full()
3660         API: gst_event_parse_new_segment_full()
3661
3662         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
3663         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
3664         (gst_segment_to_stream_time), (gst_segment_to_running_time):
3665         * gst/gstsegment.h:
3666         Add applied_rate to GstSegment structure.
3667         Make calculation of stream_time and running_time more correct
3668         wrt rate/applied_rate.
3669         Add some more docs.
3670         API: GstSegment::applied_rate field
3671         API: gst_segment_set_newsegment_full();
3672
3673         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
3674         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
3675         * libs/gst/base/gstbasetransform.c:
3676         (gst_base_transform_sink_eventfunc),
3677         (gst_base_transform_handle_buffer):
3678         Parse and use applied_rate in the GstSegment field.
3679
3680         * tests/check/gst/gstevent.c: (GST_START_TEST):
3681         Add check for applied_rate field.
3682
3683         * tests/check/gst/gstsegment.c: (GST_START_TEST),
3684         (gstsegments_suite):
3685         Add more checks for various GstSegment operations.
3686
3687 2006-05-08  Wim Taymans  <wim@fluendo.com>
3688
3689         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
3690         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
3691         (gst_base_sink_get_position), (gst_base_sink_change_state):
3692         Store the sync time of the buffer end position separatly in a
3693         new variable eos_rtime so we can properly sync the EOS event.
3694         Fixes #340697.
3695         Fix the docs for gst_base_sink_set_qos_enabled().
3696         Don't set segment start to invalid value when we receive a 
3697         non TIME newsegment.
3698         get closer to handling position reporting for negative rates 
3699         correctly.
3700
3701 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
3702
3703         * gst/gstcaps.c:
3704         Docs about how to print caps for debug purposes.
3705
3706         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
3707         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
3708
3709 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
3710
3711         * gst/gstelement.c:
3712           use full enum names and preprend a '%' in docs strings to make recent 
3713           gtk-doc turn that into a link
3714
3715 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3716
3717         * docs/manual/basics-bins.xml:
3718         * docs/manual/basics-bus.xml:
3719         * docs/manual/basics-pads.xml:
3720           Some typo fixes, some additions, some clarifications. 
3721
3722 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3723
3724         * tools/gst-inspect.c: (main):
3725         * tools/gst-launch.c: (main):
3726         * tools/gst-run.c: (main):
3727         * tools/gst-typefind.c: (main):
3728         * tools/gst-xmlinspect.c: (main):
3729           Use the string passed to g_option_context_new() for
3730           what it's intended for - the program name is already
3731           printed elsewhere.
3732
3733 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3734
3735         * tools/Makefile.am:
3736         * tools/gst-inspect.c: (main):
3737         * tools/gst-launch.c: (main):
3738         * tools/gst-xmlinspect.c: (main):
3739         * tools/tools.h:
3740           Add back --version command line option (#340460).
3741
3742         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
3743           Add --version option and use GOption for argument parsing; refactor a
3744           bit; accept directories as arguments and recurse into them; lastly,
3745           print a decent error message when things go wrong.
3746
3747 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3748
3749         * docs/manual/basics-bins.xml:
3750         Don't mention GstThread (#340611)
3751         * docs/manual/basics-elements.xml:
3752         Update link to GObject tutorial (#340607)
3753         
3754 2006-05-05  Wim Taymans  <wim@fluendo.com>
3755
3756         * gst/gstbuffer.h:
3757         * gst/gstminiobject.c:
3758         Add note about refcounting and miniobject/buffer writeability
3759         to docs. Fixes #340604
3760
3761         * gst/gstelementfactory.h:
3762         Added some explanation about @klass.
3763
3764 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3765
3766         * docs/manual/intro-motivation.xml:
3767         * docs/manual/manual.xml:
3768         Avoid CORBA & Bonobo references (#340598)
3769
3770 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3771
3772         * docs/manual/basics-bus.xml:
3773         * docs/manual/basics-pads.xml:
3774         Fix up some inaccuracies and omissions (#340609)
3775         
3776 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3777
3778         * gst/gstghostpad.c:
3779           Small typo in docs (#340625)
3780
3781 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3782
3783         * gst/parse/Makefile.am:
3784           Make 'make -j' proof (see #340698).
3785
3786 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3787
3788         * configure.ac:
3789           Require GLib-2.8 here as well.
3790
3791 2006-05-05  Wim Taymans  <wim@fluendo.com>
3792
3793         * gst/glib-compat.c:
3794         * gst/gst.c: (init_pre):
3795         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
3796         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
3797         (gst_object_dispatch_properties_changed):
3798         * gst/gstobject.h:
3799         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
3800         * gst/gststructure.c: (gst_structure_set_valist):
3801         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3802         Remove pre glib2.8 compatibility, fixes #340508
3803
3804 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
3805
3806         * gst/gsttaglist.h:
3807           Mention type of tags in doc blurbs.
3808
3809 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
3810
3811         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
3812         (gst_pad_configure_src), (gst_pad_push):
3813         Restore acceptcaps checking behaviour now that good plugins have
3814         been released.
3815
3816 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
3817
3818         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
3819
3820         * gst/gst.c:
3821         * gst/gstbus.c:
3822         * gst/gstclock.c:
3823         * gst/gstevent.c:
3824         * gst/gstformat.c:
3825         * gst/gstmessage.c:
3826         * gst/gstparse.c:
3827         * gst/gstquery.c:
3828         * gst/gstutils.c:
3829         * gst/parse/Makefile.am:
3830         * libs/gst/base/gstadapter.c:
3831         * libs/gst/base/gstbasesrc.c:
3832         * libs/gst/base/gstpushsrc.c:
3833         * libs/gst/base/gsttypefindhelper.c:
3834         * plugins/elements/gstfakesrc.c:
3835         * plugins/elements/gstidentity.c:
3836           Make sure gstprivate.h and/or config.h are
3837           always included first, otherwise some of our
3838           defines (like _FILE_OFFSET_BITS) might be
3839           redefined in the system headers. Fixes build
3840           on opensolaris (#340016).
3841
3842 2006-05-04  Wim Taymans  <wim@fluendo.com>
3843
3844         * docs/libs/gstreamer-libs-sections.txt:
3845         API: addition: gst_adapter_take_buffer()
3846         
3847         * libs/gst/base/gstadapter.c: (gst_adapter_push),
3848         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
3849         (gst_adapter_available_fast):
3850         * libs/gst/base/gstadapter.h:
3851         Prepare for optimizing the hell out of this hugely inefficient
3852         piece of code. 
3853         Added gst_adapter_take_buffer() so we can at least start thinking
3854         about subbuffering and merging.
3855         Added some comments.
3856
3857         * tests/check/Makefile.am:
3858         * tests/check/libs/adapter.c: (GST_START_TEST),
3859         (gst_adapter_suite), (main):
3860         Added GstAdapter check.
3861
3862 2006-05-04  Wim Taymans  <wim@fluendo.com>
3863
3864         * docs/design/part-overview.txt:
3865         Fix some typos, add blurb about buffer flags.
3866
3867 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3868
3869         * docs/libs/gstreamer-libs-sections.txt:
3870           make sure GstBaseTransformClass shows up in the docs
3871         * libs/gst/base/gstbasetransform.c:
3872         * libs/gst/base/gstbasetransform.h:
3873           move docs so gtk-doc picks it up now
3874
3875 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
3876
3877         * docs/libs/gstreamer-libs-sections.txt:
3878           add missing symbols to docs
3879
3880 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
3881
3882         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
3883           back out the newsegment handling change, see #340060 for ongoing
3884           discussion
3885
3886 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
3887
3888         * tools/gst-run.c: (get_candidates), (main):
3889           Fix wrong g_file_test() usage (see glib docs for why it doesn't
3890           work); fix typo in error message. Fixes #340079.
3891
3892 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3893
3894         * common/Makefile.am:
3895         * docs/Makefile.am:
3896         * docs/faq/Makefile.am:
3897         * docs/gst/Makefile.am:
3898         * docs/libs/Makefile.am:
3899         * docs/manual/Makefile.am:
3900         * docs/plugins/Makefile.am:
3901         * docs/pwg/Makefile.am:
3902         * docs/slides/Makefile.am:
3903         * docs/upload.mak:
3904         * common/upload.mak:
3905           move upload.mak to common
3906
3907 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3908
3909         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3910           add more asserts on refcounts
3911           do more cleanup at end of tests
3912           fix test leaks showing in FC5
3913
3914 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
3915
3916         * plugins/elements/gsttypefindelement.c:
3917         (gst_type_find_element_handle_event):
3918         reverted wrong change and reflowed code to avoid others falling into
3919         this trap
3920
3921 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3922
3923         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
3924           fix changelog entry about last collectpads change,
3925           add notes about proper fix
3926
3927 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3928
3929         * gst/gst.c:
3930         * gst/gstregistry.c: (gst_registry_scan_path_level),
3931         (gst_registry_scan_path):
3932         * gst/gstregistry.h:
3933           only write out registry if it has changed, fixes #338339
3934
3935 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3936
3937         * gst/gstbin.c:
3938         * gst/gstpipeline.c:
3939         * plugins/elements/gstcapsfilter.c:
3940         * plugins/elements/gstfakesink.c:
3941         * plugins/elements/gstfakesrc.c:
3942         * plugins/elements/gstfdsink.c:
3943         * plugins/elements/gstfdsrc.c:
3944         * plugins/elements/gstfilesink.c:
3945         * plugins/elements/gstfilesrc.c:
3946         * plugins/elements/gstidentity.c:
3947         * plugins/elements/gstqueue.c:
3948         * plugins/elements/gsttee.c:
3949         * plugins/elements/gsttypefindelement.c:
3950         (gst_type_find_element_handle_event):
3951           make GstElementDetails const
3952
3953 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3954
3955         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
3956         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3957         (gst_collect_pads_is_collected), (gst_collect_pads_event):
3958           more detailed debug and formatting cleanup,
3959           forward newsegments to src-pad (so that e.g. adder not eats them)
3960
3961 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3962
3963         * gst/gstutils.c: (gst_element_link_pads):
3964           cleanup double code
3965
3966 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3967
3968         * libs/gst/controller/gstcontroller.c:
3969         (gst_controller_sync_values):
3970           some little tuning
3971         * tests/check/libs/controller.c: (GST_START_TEST),
3972         (gst_controller_suite):
3973           a new test for live value handling
3974
3975 2006-04-28  Wim Taymans  <wim@fluendo.com>
3976
3977         * gst/gstutils.c: (push_and_ref):
3978         Added some more docs.
3979         Fix refcount issue whith gst_element_found_tags() helper 
3980         function. Fixes #338335
3981
3982         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3983         Added testsuite for gst_element_found_tags().
3984
3985 2006-04-28  Michael Smith  <msmith@fluendo.com>
3986
3987         * gst/gstvalue.c: (gst_value_serialize_flags):
3988           Avoid NULL dereference when trying to serialize flags containing
3989           invalid values.
3990
3991 2006-04-28  Michael Smith  <msmith@fluendo.com>
3992
3993         * plugins/elements/gsttypefindelement.c:
3994         (gst_type_find_element_handle_event):
3995           If we get EOS before any data is accumulated, don't use
3996           uninitialised local variables.
3997
3998 2006-04-28  Michael Smith  <msmith@fluendo.com>
3999
4000         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
4001         (gst_dp_event_from_packet):
4002           Fixes in reading/writing events over GDP (not currently used?) - 
4003           dereferencing NULL events for unknown/invalid event types, memory
4004           leak, and change g_warning to GST_WARNING.
4005
4006 2006-04-28  Wim Taymans  <wim@fluendo.com>
4007
4008         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
4009         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
4010         (gst_base_sink_get_position), (gst_base_sink_change_state):
4011         When frame dropping is enabled, we should not ignore frames
4012         without a duration.
4013         Update some documentation.
4014
4015 2006-04-28  Wim Taymans  <wim@fluendo.com>
4016
4017         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
4018         (gst_base_src_send_event), (gst_base_src_change_state):
4019         Documentation updates.
4020
4021 2006-04-28  Wim Taymans  <wim@fluendo.com>
4022
4023         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4024         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
4025         handle EAGAIN, EINTR and short writes correctly. Also clean
4026         up some error cases, avoid a deadlock on bad file descriptors and
4027         use GST_DEBUG_OBJECT.
4028         Fixes #339843
4029
4030 2006-04-28  Wim Taymans  <wim@fluendo.com>
4031
4032         * gst/gstvalue.c: (gst_value_serialize_buffer),
4033         (gst_value_deserialize_buffer):
4034         Don't try to serialize a GValue with a NULL buffer. 
4035         Fixes #339821.
4036
4037         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4038         Added check for serialisation of NULL buffers.
4039
4040 2006-04-28  Wim Taymans  <wim@fluendo.com>
4041
4042         * gst/gstminiobject.c: (gst_value_take_mini_object):
4043         Taking a NULL miniobject is valid, fix the case where
4044         we try to unref the NULL miniobject.
4045
4046 2006-04-28  Wim Taymans  <wim@fluendo.com>
4047
4048         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
4049
4050         * gst/gstbin.c: (gst_bin_handle_message_func):
4051         Update docs.
4052         Don't leak bin refcount when a state recalc is
4053         in progress and we delay another one #339808.
4054
4055 2006-04-28  Wim Taymans  <wim@fluendo.com>
4056
4057         * docs/design/part-TODO.txt:
4058         Mention QoS as an ongoing work item.
4059
4060         * docs/design/part-buffering.txt:
4061         New doc about buffering that needs to be fleshed out
4062         at some point.
4063
4064         * docs/design/part-qos.txt:
4065         More QoS policy for decoders/demuxers/transforms
4066
4067         * docs/design/part-trickmodes.txt:
4068         Small update.
4069
4070 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4071
4072         * configure.ac:
4073           back to HEAD
4074
4075 === release 0.10.5 ===
4076
4077 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
4078
4079         * configure.ac:
4080           releasing 0.10.5, "Fogo"
4081
4082 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4083
4084         patch by: Wim Taymans
4085
4086         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
4087         (gst_pad_configure_src), (gst_pad_push):
4088         * gst/gstpipeline.c: (gst_pipeline_init):
4089           Fix internal data flow errors.  Fixes #338711.
4090
4091 2006-04-12  Wim Taymans  <wim@fluendo.com>
4092
4093         * tests/check/gst/gstelement.c: (GST_START_TEST):
4094         Don't leak the factory.
4095
4096 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4097
4098         * configure.ac:
4099         * win32/common/config.h:
4100           prerelease
4101
4102 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
4103
4104         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
4105         (gst_controller_unset_all):
4106           Free allocated GstTimedValues when freeing list nodes.
4107           Should fix leaks 'make check-valgrind' complains about.
4108
4109         * win32/common/libgstcontroller.def:
4110           Add gst_controller_unset_all.
4111
4112 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
4113
4114         * docs/libs/gstreamer-libs-sections.txt:
4115         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
4116         (gst_controller_unset_all):
4117         * libs/gst/controller/gstcontroller.h:
4118         API: Added new method gst_controller_unset_all()
4119         fixed gst_controller_unset()
4120         * tests/check/libs/controller.c: (GST_START_TEST),
4121         (gst_controller_suite):
4122         Added two testcases for new and fixed method
4123
4124 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
4125
4126         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
4127           MSG_DONTWAIT is not defined on Cygwin, so work
4128           around that (fixes #317048).
4129           
4130 2006-04-11  Wim Taymans  <wim@fluendo.com>
4131
4132         * gst/gstelementfactory.c: (gst_element_register),
4133         (gst_element_factory_create), (gst_element_factory_make):
4134         Some cleanups.
4135         Fixed a FIXME.
4136         Updated docs (Fixes #131079)
4137
4138         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4139         Small cleanups.
4140
4141         * tests/check/gst/gstelement.c: (GST_START_TEST),
4142         (gst_element_suite):
4143         Added testcase for elementfactory class field.
4144
4145 2006-04-10  Wim Taymans  <wim@fluendo.com>
4146
4147         * gst/gstsegment.c:
4148         Added some more docs.
4149
4150         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
4151         (gst_base_sink_reset_qos):
4152         Calculate more accurate rate values.
4153
4154 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
4155
4156         * gst/gst_private.h:
4157           add a new #ifdef to use __declspec(dllimport) only for
4158           other modules and not for gstreamer core
4159         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
4160           use gst_guint64_to_gdouble for conversion
4161         * win32/common/libgstreamer.def:
4162           add new exported functions
4163         * win32/vs6/gst_inspect.dsp:
4164         * win32/vs6/gst_launch.dsp:
4165         * win32/vs6/libgstbase.dsp:
4166         * win32/vs6/libgstcontroller.dsp:
4167         * win32/vs6/libgstcoreelements.dsp:
4168         * win32/vs6/libgstdataprotocol.dsp:
4169         * win32/vs6/libgstnet.dsp:
4170           update project files
4171
4172 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
4173
4174         * gst/gstbuffer.c: (gst_subbuffer_class_init):
4175         * gst/gstclock.c: (gst_clock_class_init):
4176         * gst/gstelement.c: (gst_element_class_init):
4177         * gst/gstindex.c: (gst_index_class_init):
4178         * gst/gstindexfactory.c: (gst_index_factory_class_init):
4179         * gst/gstobject.c: (gst_object_class_init),
4180         (gst_signal_object_class_init):
4181         * gst/gstpad.c: (gst_pad_class_init):
4182         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
4183         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
4184         * gst/gstregistry.c: (gst_registry_class_init):
4185         * gst/gstsystemclock.c: (gst_system_clock_class_init):
4186         * gst/gsttask.c: (gst_task_class_init):
4187         * gst/gstxml.c: (gst_xml_class_init):
4188         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4189         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4190         (gst_base_src_loop):
4191         * libs/gst/controller/gstcontroller.c:/
4192         (_gst_controller_class_init):
4193         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
4194         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
4195         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
4196         * tests/old/examples/plugins/example.c: (gst_example_class_init):
4197         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
4198         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
4199
4200 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
4201
4202         * gst/gstpad.c: (gst_pad_link):
4203           Must set peer pads before calling the link function, otherwise
4204           a task started from a link function might get a flow-not-linked
4205           result when trying to push because the other thread where the
4206           linking happens hasn't had a chance to set the peers yet. This
4207           might happen for example when a queue gets linked to a downstream
4208           element, as queue starts a streaming task when its source pad
4209           gets linked. Happens in real life when playing back flac/musepack
4210           files in playbin (#332390).
4211           
4212 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
4213
4214         * gst/gstindex.h:
4215         * gst/gstxml.h:
4216         * libs/gst/base/gstadapter.h:
4217         * libs/gst/base/gstbasesink.h:
4218         * libs/gst/base/gstbasesrc.h:
4219         * libs/gst/base/gstbasetransform.h:
4220         * libs/gst/base/gstcollectpads.h:
4221         * libs/gst/base/gstpushsrc.h:
4222         Fix broken GObject macros
4223
4224 2006-04-07  Wim Taymans  <wim@fluendo.com>
4225
4226         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4227         Initialize start and stop times, thanks valgrind.
4228
4229 2006-04-07  Wim Taymans  <wim@fluendo.com>
4230
4231         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4232         Be a bit nicer to badly behaving upstream elements that expect
4233         us to deal with non TIME segments and timestamps (such as fakesrc
4234         in the testsuite).
4235
4236 2006-04-07  Wim Taymans  <wim@fluendo.com>
4237
4238         * gst/gstbus.c:
4239         Small documentation clarification about the signal watch.
4240
4241         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
4242         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
4243         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
4244         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
4245         (gst_base_sink_get_position_last),
4246         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
4247         Convert and store timestamps in stream time and running time, the
4248         raw timestamps are not usefull, also document this better.
4249         Use different window sizes for good and bad QoS observations so
4250         we react to badness a little quicker.
4251         Keep track of the amount of rendered and dropped buffers.
4252         Send QoS timestamps in running time.
4253
4254         * libs/gst/base/gstbasetransform.c:
4255         (gst_base_transform_sink_eventfunc),
4256         (gst_base_transform_handle_buffer):
4257         Compare QoS timestamps against running time.
4258
4259 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
4260
4261         * gst/gstpad.c:
4262           Typo fixes in docs.
4263
4264 2006-04-06  Michael Smith  <msmith@fluendo.com>
4265
4266         * gst/gstpad.c: (gst_pad_set_property):
4267           Use g_value_get_object() instead of g_value_dup_gst_object(),
4268           to avoid double-reffing the pad template (which we then sink,
4269           so this worked previously if (and only if) the pad template
4270           was floating.
4271
4272         * gst/gstpadtemplate.c: (gst_pad_template_init),
4273         (gst_pad_template_pad_created):
4274           Never return floating references to pad templates, create
4275           them as initially-sunken.
4276
4277           Document an extra function (and make this stop sinking our
4278           pad template, since that is now guaranteed to do nothing,
4279           since we created it sunken).
4280
4281         * gst/gstghostpad.c:
4282           Fix docs typo.
4283
4284 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
4285
4286         * gst/gstinfo.c: (__gst_in_valgrind):
4287           Add some newlines.
4288
4289         * plugins/elements/gsttypefindelement.c:
4290         (gst_type_find_element_chain):
4291           Don't leak buffer caps.
4292
4293 2006-04-06  Michael Smith  <msmith@fluendo.com>
4294
4295         * gst/parse/grammar.y:
4296           Fix a leak in parse-launch for any source-or-sink named element 
4297           references used.
4298
4299         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
4300           Unref the pipeline if it exists after we've failed parsing.
4301
4302 2006-04-05  Michael Smith  <msmith@fluendo.com>
4303
4304         * gst/gstpipeline.c: (gst_pipeline_init):
4305           When we create a pipeline bus, initially create it in flushing mode.
4306           Fixes leaks in at least one test, and makes a new pipeline work the
4307           same as one that has gone to READY and then back to NULL.
4308
4309         * gst/gstelement.c:
4310           Typo fix in docs.
4311
4312 2006-04-05  Michael Smith  <msmith@fluendo.com>
4313
4314         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4315           Unref a pad we reffed.
4316         * tests/check/gst/gstutils.c: (GST_START_TEST):
4317           Unref bins
4318
4319 2006-04-05  Michael Smith  <msmith@fluendo.com>
4320
4321         * gst/gstquery.c: (gst_query_set_formats),
4322         (gst_query_set_formatsv):
4323           Fix leaking GValues in queries, as shown by valgrind/testsuite.
4324
4325 2006-04-05  Michael Smith  <msmith@fluendo.com>
4326
4327         * tests/check/generic/sinks.c: (GST_START_TEST):
4328           Fix a variety of memleaks in sinks check, which are only sometimes 
4329           shown by running the tests under valgrind (weird?).
4330
4331 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
4332
4333         * docs/version.entities.in:
4334           Fix the substituted entity name after thomas' changes on the
4335           weekend.
4336
4337 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4338
4339         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
4340         VALGRIND_PRINTF
4341         
4342 2006-04-05  Andy Wingo  <wingo@pobox.com>
4343
4344         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
4345
4346         * libs/gst/base/gstbasetransform.c
4347         (gst_base_transform_sink_eventfunc): When resetting our segment on
4348         FLUSH_STOP, also update the flag saying we haven't seen a
4349         newsegment.
4350
4351 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
4352
4353         Patch by: Paolo Borelli  <pborelli at katamail dot com>
4354
4355         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
4356         (gst_plugin_check_license):
4357           minor clean-ups: G_DEFINE_TYPE already takes care of the
4358           parent_class stuff, no need to do it twice. Mark array of
4359           license strings as constant. (#337103)
4360           
4361 2006-04-04  Michael Smith  <msmith@fluendo.com>
4362
4363         * tools/gst-inspect.c: (print_element_list):
4364           Free the right plugin list; fixes a memory leak.
4365
4366 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
4367
4368         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
4369
4370         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
4371           Don't error out on empty buffers (#336945).
4372           
4373 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
4374
4375         * docs/libs/gstreamer-libs-sections.txt:
4376         * gst/gsttaglist.c:
4377         * libs/gst/base/gstbasesink.c:
4378         * libs/gst/base/gstbasesink.h:
4379         * libs/gst/base/gstbasesrc.c:
4380         * libs/gst/base/gstbasesrc.h:
4381           Documentation updates. Make BaseSink and BaseSrc docs contain the
4382           class structure so that people can actually see the prototypes for
4383           virtual functions they're supposed to be overriding.
4384
4385 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
4386
4387         * plugins/elements/gsttypefindelement.c:
4388         (gst_type_find_element_chain):
4389           More debug info; when skipping typefinding, send cached
4390           events in all cases.
4391
4392 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4393
4394         * configure.ac:
4395           use new AS_VERSION and AS_NANO macros
4396         * gst/gst-i18n-lib.h:
4397         * gst/gst.c:
4398         * gst/gsterror.c:
4399         * gst/gstversion.h.in:
4400         * win32/common/config.h:
4401         * win32/common/config.h.in:
4402           update accordingly
4403
4404 2006-03-31  Michael Smith  <msmith@fluendo.com>
4405
4406         * plugins/elements/gsttypefindelement.c:
4407         (gst_type_find_element_chain):
4408           Do not typefind content if the buffers already have caps.
4409           Neccesary for icydemux (#333657), and the right thing to do anyway.
4410
4411 2006-03-30  Wim Taymans  <wim@fluendo.com>
4412
4413         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4414         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
4415         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
4416         (gst_base_sink_record_qos_observation),
4417         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
4418         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
4419         (gst_base_sink_change_state):
4420         More QoS measurements as described in the design doc.
4421         Get rid of ringbuffer with observations, running average is
4422         more simple and equally good.
4423         Calculates valid proportion now.
4424         Added beginning of flood measurement.
4425
4426 2006-03-29  Wim Taymans  <wim@fluendo.com>
4427
4428         * docs/design/part-qos.txt:
4429         * gst/gstclock.c:
4430         Small documentation updates and additions.
4431
4432 2006-03-29  Wim Taymans  <wim@fluendo.com>
4433
4434         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
4435         (gst_base_src_send_event), (gst_base_src_loop),
4436         (gst_base_src_change_state):
4437         Perform the EOS logic when we reach the segment stop position.
4438         Fix compilation on gcc4.1
4439
4440 2006-03-29  Wim Taymans  <wim@fluendo.com>
4441
4442         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
4443
4444         * plugins/elements/gstqueue.c: (gst_queue_init),
4445         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
4446         (gst_queue_set_property):
4447         * plugins/elements/gstqueue.h:
4448         In queue, when EOS is received, if minimum threshold > max_size -
4449         current_level, there is chance that queue blocks forever in conditional
4450         item del wait. This is because the queue is not emptied completely due
4451         to minimum threshold.  Here is another approach. Instead of setting
4452         cur_levels to max in EOS, just zero all minimum threshold levels. This
4453         should make sure that queue gives out all data. When going to READY
4454         (stop) state, just reset the original minimum threshold levels.
4455         Fixes #336336.
4456
4457 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
4458
4459         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
4460         (gst_type_find_element_handle_event),
4461         (gst_type_find_element_send_cached_events),
4462         (gst_type_find_element_change_state):
4463         * plugins/elements/gsttypefindelement.h:
4464           When typefinding is done in push mode, we should cache
4465           events we receive during typefinding instead of just
4466           dropping them (e.g. newsegment, custom events from
4467           dvdreadsrc etc.) and then send them out once we've
4468           determined the type of the stream (and decodebin
4469           has had a chance to plug in a decoder/demuxer).
4470           
4471 2006-03-27  Wim Taymans  <wim@fluendo.com>
4472
4473         * docs/design/part-qos.txt:
4474         First QoS ideas.
4475
4476 2006-03-27  Wim Taymans  <wim@fluendo.com>
4477
4478         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
4479
4480         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
4481         (gst_base_src_send_event), (gst_base_src_change_state):
4482         Handle element seek correctly when we are streaming.
4483         Fixes #326998.
4484
4485 2006-03-24  Michael Smith  <msmith@fluendo.com>
4486
4487         * docs/faq/gst-uninstalled:
4488           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
4489           allow you to correctly run intalled applications built against old 
4490           core, using plugins that require updated core (e.g. running
4491           installed totem against a full uninstalled gstreamer stack)
4492
4493 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
4494
4495         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
4496         more debug details
4497
4498 2006-03-24  Wim Taymans  <wim@fluendo.com>
4499
4500         * docs/gst/gstreamer-sections.txt:
4501         Rearrange the order of the methods so that related methods
4502         are grouped together in sections.
4503
4504 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
4505
4506         * gst/gstelement.c:
4507           Little clarification in the docs
4508
4509 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
4510
4511         * docs/README:
4512         formatting fix
4513         * plugins/elements/gstidentity.c:
4514         * plugins/elements/gstqueue.c:
4515         * plugins/elements/gsttee.c:
4516         * plugins/elements/gsttypefindelement.c:
4517         GST_ELEMENT_DETAILS formatting
4518
4519 2006-03-24  Wim Taymans  <wim@fluendo.com>
4520
4521         * libs/gst/base/gstbasesink.h:
4522         Only add fields, not insert or we break ABI.
4523
4524 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
4525
4526         * win32/common/libgstbase.def:
4527         * win32/common/libgstreamer.def:
4528           Update, add recently added functions.
4529
4530 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
4531
4532         * docs/gst/gstreamer-sections.txt:
4533         * gst/gstutils.c: (gst_pad_query_peer_position),
4534         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
4535         * gst/gstutils.h:
4536           API: add some new utility functions:
4537            - gst_pad_query_peer_position()
4538            - gst_pad_query_peer_duration()
4539            - gst_pad_query_peer_convert()
4540           
4541 2006-03-23  Wim Taymans  <wim@fluendo.com>
4542
4543         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4544         (gst_base_sink_init), (gst_base_sink_finalize),
4545         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
4546         (gst_base_sink_set_property), (gst_base_sink_get_property),
4547         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
4548         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
4549         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
4550         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
4551         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
4552         (gst_base_sink_preroll_object), (gst_base_sink_event),
4553         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
4554         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
4555         (gst_base_sink_query), (gst_base_sink_change_state):
4556         Decouple max-lateness and the fact that QoS messages are generated
4557         with a new property (qos).
4558         added API: GstBaseSink::async_play()
4559         Add vmethod so subclasses can be notified of ASYNC playing
4560         state changes.
4561         Collect timestamp start and stop to report better current
4562         position in EOS/PLAYING/PAUSED/READY/NULL.
4563         Refactor QoS/frame dropping and other measurements.
4564         API: GstBaseSrc::qos
4565         Fixes #326311
4566
4567         * libs/gst/base/gstbasesink.h:
4568         Added Private struct.
4569         API: gst_base_sink_set_qos_enabled()
4570         API: gst_base_sink_is_qos_enabled()
4571
4572 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
4573
4574         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
4575           If compiling against GLib-2.8 or newer, try to read the
4576           registry file using GMappedFile first before falling back
4577           to fopen() + fread() (#332151).
4578
4579 2006-03-22  Wim Taymans  <wim@fluendo.com>
4580
4581         * gst/gstinfo.c: (gst_debug_set_active),
4582         (gst_debug_category_set_threshold):
4583         Disable debugging unless explicitly activated.
4584         Fixes #335480.
4585
4586 2006-03-22  Wim Taymans  <wim@fluendo.com>
4587
4588         * gst/gstelement.c: (gst_element_set_locked_state),
4589         (gst_element_dispose):
4590         Cleanup the error case.
4591
4592         * gst/gstobject.c: (gst_object_dispose):
4593         print a critical when some object was disposed with
4594         a parent, also revive the object since it might
4595         crash the parent.
4596
4597 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
4598
4599         * tools/gst-launch.1.in:
4600           Fix another typo.
4601
4602 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4603
4604         * configure.ac:
4605         * tests/check/Makefile.am:
4606           disable some tests when we don't have a registry
4607         * tests/check/gst/gstutils.c: (gst_utils_suite):
4608           don't build the part that needs parsing
4609
4610 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4611
4612         * gst/Makefile.am
4613         * tests/examples/Makefile.am:
4614           fix --disable-parse build
4615
4616 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4617
4618         * tools/gst-feedback.1.in:
4619           Fix typo: s/feeback/feedback/ (#133494).
4620
4621 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4622
4623         * tools/Makefile.am:
4624         * tools/gst-launch.1.in:
4625           Add FILES section and correct entry about GST_REGISTRY_PATH
4626           environment variable (#133495; #133494).
4627
4628 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4629
4630         * tools/Makefile.am:
4631         * tools/gst-md5sum.1.in:
4632         * tools/gst-md5sum.c:
4633           Remove gst-md5sum and man page (the md5sink element
4634           required was removed ages ago)
4635
4636 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4637
4638         * gst/gststructure.c: (gst_structure_id_set_value):
4639           Make sure that string fields in structures/taglists
4640           contain valid UTF-8 - we don't want to pass rubbish to
4641           applications because of a buggy plugin (cp. #334167).
4642
4643 2006-03-21  Edward Hervey  <edward@fluendo.com>
4644
4645         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
4646         (gst_bin_handle_message_func):
4647         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
4648         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
4649         (gst_element_set_bus_func):
4650         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
4651         * gst/gstminiobject.c: (gst_value_set_mini_object),
4652         (gst_value_take_mini_object):
4653         * gst/gstpad.c: (gst_pad_set_pad_template):
4654         * gst/gstpipeline.c: (gst_pipeline_dispose),
4655         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4656         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
4657         (gst_collect_pads_chain):
4658         * libs/gst/net/gstnettimeprovider.c:
4659         (gst_net_time_provider_set_property):
4660         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
4661         It's in fact all issues with gst_*object_replace().
4662
4663 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4664
4665         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
4666         
4667         * pkgconfig/gstreamer-check-uninstalled.pc.in:
4668         * pkgconfig/gstreamer-check.pc.in:
4669           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
4670
4671 2006-03-21  Edward Hervey  <edward@fluendo.com>
4672
4673         * gst/gstbuffer.h:
4674         * gst/gstevent.h:
4675         * gst/gstmessage.h:
4676         gst_[buffer|event|message]_ref() macros are replaced by a static
4677         inline functions because gcc-4.1 will about if the return value
4678         isn't used.
4679         * tests/check/gst/gstevent.c: (event_probe):
4680         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
4681
4682 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
4683
4684         * gst/gstutils.h:
4685         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
4686         the type' case. (Closes: #335195 for now). In the future, when we
4687         depend on GLib 2.10, we could also intern the type name using
4688         g_intern_static_string()
4689
4690 2006-03-20  Wim Taymans  <wim@fluendo.com>
4691
4692         * gst/gstbin.c: (gst_bin_handle_message_func),
4693         (bin_query_max_init), (bin_query_position_fold),
4694         (bin_query_position_done), (gst_bin_query):
4695         Position query should also take max of all streams.
4696
4697 2006-03-20  Wim Taymans  <wim@fluendo.com>
4698
4699         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4700         (gst_fake_src_finalize):
4701         Fix leaks in fakesrc.
4702
4703         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4704         Fix leaks in the testcase.
4705
4706 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
4707
4708         * gst/gst_private.h:
4709           add win32 specific import decoration(__declspec(dllimport)) 
4710           for all extern GstDebugCategory * variables
4711         * win32/common/libgstbase.def:
4712         * win32/common/libgstcontroller.def:
4713         * win32/common/libgstreamer.def:
4714           Add some exports, remove empty lines
4715         * win32/common/libgstdataprotocol.def:
4716         * win32/common/libgstdataprotocol.dsp:
4717         * win32/common/libgstnet.def:
4718         * win32/common/libgstnet.dsp:
4719           new project files and exportation files added
4720         
4721 2006-03-19  Wim Taymans  <wim@fluendo.com>
4722
4723         * tests/check/libs/basesrc.c: (eos_event_counter):
4724         Use proper return value for probe.
4725
4726 2006-03-17  Wim Taymans  <wim@fluendo.com>
4727
4728         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
4729         (gst_pad_push):
4730         Don't leak buffers, caps and pads on negotiation errors.
4731
4732 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
4733
4734         * docs/faq/cvs.xml:
4735         * docs/faq/dependencies.xml:
4736         * docs/faq/developing.xml:
4737         * docs/faq/faq.xml:
4738         * docs/faq/general.xml:
4739         * docs/faq/getting.xml:
4740         * docs/faq/legal.xml:
4741         * docs/faq/troubleshooting.xml:
4742         * docs/faq/using.xml:
4743         Faq review and update.
4744
4745 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
4746
4747         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
4748         (gst_pad_push):
4749         Don't pound the cpu to pieces by checking get_caps when accept_caps
4750         is called with the same caps as the pad already has.
4751         Use GST_DEBUG_OBJECT when outputting caps change information.
4752
4753 2006-03-15  Wim Taymans  <wim@fluendo.com>
4754
4755         * gst/gstclock.c: (gst_clock_class_init):
4756         Fix docs.
4757
4758 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
4759
4760         * gst/gstbuffer.h:
4761         Documentation fix.
4762
4763         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
4764         (gst_pad_accept_caps), (gst_pad_configure_sink),
4765         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
4766         Make the default acceptcaps behaviour be to check the requested 
4767         caps against the gst_pad_get_caps output. 
4768
4769         Ensure that gst_pad_accept_caps is used to check caps when a pad
4770         doesn't have a setcaps function, so that pads automatically refuse 
4771         caps that they don't allow in their pad template. (Fixes #332986)
4772
4773         When a buffer with attached caps is pushed, ensure that the source 
4774         pad receives those caps even if the element didn't call
4775         gst_pad_set_caps first.
4776
4777 2006-03-15  Wim Taymans  <wim@fluendo.com>
4778
4779         * libs/gst/base/gstadapter.c:
4780         Add some docs.
4781
4782 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
4783
4784         * win32/common/libgstbase.def:
4785         * win32/common/libgstcontroller.def:
4786         * win32/common/libgstreamer.def:
4787           Add a whole bunch of missing functions (#334434).
4788
4789 2006-03-14  Wim Taymans  <wim@fluendo.com>
4790
4791         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
4792         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
4793         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
4794         Better debug info when we receive a segment event.
4795         Reorganize a bit so we can pass the get_times() results around.
4796         Use the segment format when calculating the running time.
4797         Don't do QoS is sync is disabled or we have no clock or the
4798         element does not want us to sync to the clock.
4799         Don't drop buffers if QoS is disabled for now.
4800
4801 2006-03-14  Wim Taymans  <wim@fluendo.com>
4802
4803         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
4804         Marked the stats property as unimplemented so people don't get
4805         wild ideas.
4806         Add debug message when regression goes wrong.
4807         Added some more docs.
4808
4809 2006-03-14  Wim Taymans  <wim@fluendo.com>
4810
4811         * gst/gstsegment.c: (gst_segment_to_stream_time):
4812         Return correct return type in case of errors.
4813
4814 2006-03-14  Wim Taymans  <wim@fluendo.com>
4815
4816         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
4817           Don't segfault on invalid formats.
4818
4819 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
4820
4821         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4822           Can't use gst_segment_to_running_time() when the segment
4823           is not in GST_TIME_FORMAT (like with filesink, for example).
4824           Stops flac encoding pipelines from spewing critical warnings
4825           at EOS (#331248).
4826           
4827 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
4828
4829         * gst/gstpipeline.c: (gst_pipeline_class_init):
4830           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
4831
4832         * plugins/elements/gsttypefindelement.c:
4833         (gst_type_find_element_handle_event):
4834           Don't try to typefind empty streams.
4835
4836 2006-03-14  Wim Taymans  <wim@fluendo.com>
4837
4838         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
4839         (gst_base_sink_do_qos):
4840         Separate QoS calculation.
4841         Only drop buffers when lateness is bigger than the 
4842         duration of the buffer.
4843
4844 2006-03-13  Wim Taymans  <wim@fluendo.com>
4845
4846         * gst/gstpipeline.c: (gst_pipeline_set_property),
4847         (gst_pipeline_get_property), (do_pipeline_seek),
4848         (gst_pipeline_change_state), (gst_pipeline_set_delay),
4849         (gst_pipeline_get_delay):
4850         Don't deadlock when reading properties.
4851
4852 2006-03-13  Wim Taymans  <wim@fluendo.com>
4853
4854         * libs/gst/base/gstbasetransform.c:
4855         (gst_base_transform_class_init), (gst_base_transform_init),
4856         (gst_base_transform_sink_event),
4857         (gst_base_transform_sink_eventfunc),
4858         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
4859         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
4860         (gst_base_transform_set_property),
4861         (gst_base_transform_get_property),
4862         (gst_base_transform_change_state), (gst_base_transform_update_qos),
4863         (gst_base_transform_set_qos_enabled),
4864         (gst_base_transform_is_qos_enabled):
4865         * libs/gst/base/gstbasetransform.h:
4866         Make basetransform virtual method for src events too.
4867         Handle QOS in basetransform.
4868         API: gst_base_transform_update_qos()
4869         API: gst_base_transform_set_qos_enabled()
4870         API: gst_base_transform_is_qos_enabled()
4871
4872 2006-03-13  Wim Taymans  <wim@fluendo.com>
4873
4874         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4875         (gst_base_sink_do_sync):
4876         Small cleanups.
4877         Use QOS debug category.
4878
4879 2006-03-13  Wim Taymans  <wim@fluendo.com>
4880
4881         * plugins/elements/gstqueue.c:
4882         Very small doc update.
4883
4884 2006-03-13  Wim Taymans  <wim@fluendo.com>
4885
4886         * gst/gst_private.h:
4887         * gst/gstinfo.c: (_gst_debug_init):
4888         Added QOS debug category
4889
4890 2006-03-13  Wim Taymans  <wim@fluendo.com>
4891
4892         * docs/gst/gstreamer-sections.txt:
4893         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
4894         * gst/gstbin.h:
4895         * gst/gstbus.c: (gst_bus_class_init):
4896         * gst/gstbus.h:
4897         * gst/gstclock.c:
4898         * gst/gstelement.c: (gst_element_set_locked_state):
4899         * gst/gstsegment.c:
4900         Documentation updates.
4901
4902         * gst/gstpipeline.c: (gst_pipeline_get_type),
4903         (gst_pipeline_class_init), (gst_pipeline_init),
4904         (gst_pipeline_dispose), (gst_pipeline_set_property),
4905         (gst_pipeline_get_property), (do_pipeline_seek),
4906         (gst_pipeline_send_event), (gst_pipeline_change_state),
4907         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
4908         (gst_pipeline_get_delay):
4909         * gst/gstpipeline.h:
4910         Added methods for setting the delay.
4911         API: gst_pipeline_set_delay()
4912         API: gst_pipeline_get_delay()
4913         Add pipeline debug category
4914         Various cleanups.
4915         Updated docs.
4916         Don't reset stream time when seek failed.
4917
4918 2006-03-13  Wim Taymans  <wim@fluendo.com>
4919
4920         * docs/design/draft-klass.txt:
4921         * docs/design/part-clocks.txt:
4922         * docs/design/part-events.txt:
4923         * docs/design/part-gstbin.txt:
4924         * docs/design/part-gstpipeline.txt:
4925         * docs/design/part-messages.txt:
4926         * docs/design/part-negotiation.txt:
4927         * docs/design/part-overview.txt:
4928         * docs/design/part-preroll.txt:
4929         * docs/design/part-seeking.txt:
4930         * docs/design/part-states.txt:
4931         * docs/design/part-streams.txt:
4932         Documentation updates.
4933
4934 2006-03-12  Julien MOUTTE  <julien@moutte.net>
4935
4936         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
4937         us to leak strings...
4938
4939 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4940
4941         * libs/gst/net/gstnettimeprovider.c:
4942           fix docs
4943         * win32/common/config.h:
4944           update
4945
4946 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
4947
4948         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
4949
4950         * configure.ac:
4951           Don't check for libgnomeui (leftover from old examples
4952           that aren't built or disted any longer) (#334303).
4953           
4954 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
4955
4956         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
4957         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
4958           Emit RESOURCE_NO_SPACE_LEFT error here as well when
4959           there's no space left on the device.
4960
4961 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
4962
4963         * gst/gstclock.h:
4964           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
4965           to cast the input to GstClockTime before comparing with
4966           another GstClockTime value.
4967
4968 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4969
4970         * configure.ac:
4971           back to trunk
4972
4973 === release 0.10.4 ===
4974
4975 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
4976
4977         * configure.ac:
4978           releasing 0.10.4, "Light"
4979
4980 2006-03-10  Michael Smith  <msmith@fluendo.com>
4981
4982         * libs/gst/dataprotocol/dataprotocol.c:
4983           Fix docs for dataprocotol to not get the return types completely
4984           wrong for a few functions.
4985
4986 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
4987
4988         * docs/gst/gstreamer-sections.txt:
4989         * gst/gstpipeline.c: (gst_pipeline_class_init),
4990         (gst_pipeline_init), (gst_pipeline_set_property),
4991         (gst_pipeline_get_property), (gst_pipeline_change_state),
4992         (gst_pipeline_set_auto_flush_bus),
4993         (gst_pipeline_get_auto_flush_bus):
4994         * gst/gstpipeline.h:
4995           Add new API: gst_pipeline_set_auto_flush_bus() and
4996           gst_pipeline_get_auto_flush_bus() to disable automatic
4997           flushing of the pipeline's GstBus when going from READY
4998           to NULL state (#332045).
4999
5000 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
5001
5002         * docs/gst/gstreamer-sections.txt:
5003         * gst/gsturi.c: (gst_uri_has_protocol):
5004         * gst/gsturi.h:
5005            Add new API: gst_uri_has_protocol() (#333779).
5006
5007 2006-03-09  Wim Taymans  <wim@fluendo.com>
5008
5009         * gst/gstclock.c: (gst_clock_entry_new),
5010         (gst_clock_id_compare_func), (gst_clock_id_wait),
5011         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
5012         (gst_clock_init), (gst_clock_get_internal_time),
5013         (gst_clock_set_master), (do_linear_regression),
5014         (gst_clock_add_observation), (gst_clock_set_property):
5015         * gst/gstclock.h:
5016         Review docs.
5017         Small cleanups.
5018         Fix a possible segfault when the window-size is made smaller.
5019         Calculate jitter before performing the clock wait. Ideally
5020         the clock implementation should calculate jitter but we need
5021         API breakage for that.
5022
5023         * gst/gstsystemclock.c: (gst_system_clock_init):
5024         Docs review.
5025         
5026         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5027         Remove leftover else
5028
5029         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5030         (gst_systemclock_suite):
5031         Added check to test GST_CLOCK_DIFF.
5032
5033 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
5034
5035         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
5036         (gst_type_find_helper_get_range):
5037           If we are provided with the size, we should implement
5038           GstTypeFind::get_length, so that typefind functions who
5039           want to can actually peek at the middle of a file.
5040
5041 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
5042
5043         * docs/manual/advanced-dataaccess.xml:
5044           Add some very very basic error checking.
5045
5046         * docs/pwg/appendix-checklist.xml:
5047           Some updates to the list of things to check when writing an element.
5048
5049 2006-03-08  Wim Taymans  <wim@fluendo.com>
5050
5051         * docs/design/part-element-transform.txt:
5052         Added some docs about the design of tranform elements.
5053
5054         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5055         (gst_base_src_loop), (gst_base_src_change_state):
5056         Mark buffers with the DISCONT flag.
5057
5058 2006-03-08  Michael Smith  <msmith@fluendo.com>
5059
5060         * gst/gstregistry.h:
5061         * gst/gstregistryxml.c: (gst_registry_save),
5062         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
5063         (gst_registry_xml_save_pad_template),
5064         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
5065         (gst_registry_xml_write_cache):
5066           Rewrite registry-saving to avoid race conditions and check for
5067           failed writes.
5068
5069 2006-03-08  Wim Taymans  <wim@fluendo.com>
5070
5071         * libs/gst/base/gstbasetransform.c:
5072         (gst_base_transform_transform_caps),
5073         (gst_base_transform_transform_size),
5074         (gst_base_transform_prepare_output_buffer),
5075         (gst_base_transform_get_unit_size),
5076         (gst_base_transform_buffer_alloc),
5077         (gst_base_transform_handle_buffer),
5078         (gst_base_transform_change_state):
5079         Cleanups, separate normal flow from errors, add sensible
5080         DEBUG lines.
5081         Don't try to renegotiate when allocating an output buffer.
5082         Also copy DISCONT buffer flag when copying a buffer.
5083         Reset the transform after we finish streaming, not during.
5084
5085 2006-03-08  Wim Taymans  <wim@fluendo.com>
5086
5087         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5088         Use last buffer timestamp in qos message.
5089
5090 2006-03-07  Wim Taymans  <wim@fluendo.com>
5091
5092         Patch by: Christophe Fergeau
5093
5094         * docs/pwg/advanced-tagging.xml:
5095         * docs/pwg/building-pads.xml:
5096           fixes #333416
5097
5098 2006-03-07  Wim Taymans  <wim@fluendo.com>
5099
5100         * docs/libs/gstreamer-libs-sections.txt:
5101         Added basesink new methods.
5102
5103         * gst/gstevent.c:
5104         * gst/gstevent.h:
5105         Docs updates. Flesh out the QoS docs.
5106
5107         * libs/gst/base/gstadapter.c:
5108         Small doc clarification about ownership and flushing.
5109
5110         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
5111         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
5112         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
5113         (gst_base_sink_get_property), (gst_base_sink_do_sync):
5114         * libs/gst/base/gstbasesink.h:
5115         API additions: 
5116         Added new methods to allow subclass to control max-lateness 
5117         and sync.
5118         Generate very basic QoS events based on last sync observation.
5119         Updated docs, fix typo, added some QoS blurb.
5120
5121         * libs/gst/base/gstbasesrc.c:
5122         Remove obsolete _get_state() calls from docs.
5123
5124 2006-03-07  Wim Taymans  <wim@fluendo.com>
5125
5126         * docs/libs/gstreamer-libs-sections.txt:
5127         * libs/gst/base/gstbasetransform.h:
5128         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
5129         Fix docs for GstBaseSrc.
5130
5131 2006-03-07  Wim Taymans  <wim@fluendo.com>
5132
5133         * docs/gst/gstreamer-sections.txt:
5134         * gst/gstbuffer.h:
5135         * gst/gstvalue.c:
5136         * libs/gst/base/gstbasetransform.h:
5137         Small documentation fixes.
5138
5139 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
5140
5141         * gst/gstvalue.c:
5142           Document thread-unsafety of gst_value_register_foo_func()
5143           when used at the same time as gst_value_foo() (#322628).
5144
5145 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
5146
5147         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
5148         (gst_push_src_check_get_range):
5149           Push sources don't support pull mode by default.
5150
5151 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
5152
5153         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5154         (gst_base_src_init), (gst_base_src_pad_check_get_range),
5155         (gst_base_src_default_check_get_range):
5156         * libs/gst/base/gstbasesrc.h:
5157           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
5158           provide default implementation, and rename
5159           gst_base_src_check_get_range() to
5160           gst_base_src_pad_check_get_range() for clarity.
5161
5162 2006-03-06  Wim Taymans  <wim@fluendo.com>
5163
5164         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
5165         Make property overridable.
5166
5167 2006-03-06  Wim Taymans  <wim@fluendo.com>
5168
5169         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5170         (gst_base_sink_init), (gst_base_sink_set_property),
5171         (gst_base_sink_get_property), (gst_base_sink_do_sync):
5172         * libs/gst/base/gstbasesink.h:
5173         API addition: Make max-lateness a property.
5174
5175 2006-03-06  Wim Taymans  <wim@fluendo.com>
5176
5177         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
5178         (gst_base_sink_do_sync), (gst_base_sink_render_object):
5179         Don't ever draw a frame that is >10ms late.
5180
5181 2006-03-06  Michael Smith  <msmith@fluendo.com>
5182
5183         * gst/gstmessage.c: (_gst_message_copy):
5184           When copying a message, set the parent_refcount of the enclosed
5185           structure to point at the copy, not the original message.
5186
5187 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
5188
5189         Patch by: Christophe Fergeau
5190
5191         * gst/gstutils.h:
5192           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
5193           usable in c++ code (#333417)
5194
5195 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5196
5197         * gst/gstclock.h:
5198           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
5199
5200 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
5201
5202         * libs/gst/base/gstbasetransform.c:
5203         (gst_base_transform_transform_caps):
5204           Make sure caps are writable before passing them to
5205           gst_caps_append().
5206
5207 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
5208
5209         * gst/gsterror.h:
5210           Fix some minor docs errors.
5211
5212 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
5213
5214           Patch by: Ross Burton <ross at burtonini dot com>
5215
5216         * gst/gsterror.c: (_gst_resource_errors_init):
5217         * gst/gsterror.h:
5218           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
5219
5220 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
5221
5222         * gst/gst.c:
5223         Add a check and output a g_warning when GStreamer is built
5224         against GLib 2.6 but running against 2.8 or higher, and vice 
5225         versa. (Closes: #323542)
5226
5227 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
5228
5229         * gst/parse/parse.l:
5230           Commit patch for parse_launch syntax from #331255. Removes 
5231           support for quoted strings and mimetypes when writing filtered 
5232           caps. See the bug report for more details - I'm pretty sure this
5233           obscure feature is not in use by _anyone_ anywhere.
5234
5235           With this simple change, the size of the gstreamer.so here 
5236           drops from 2193KB to 1565KB.
5237
5238 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
5239
5240         * plugins/elements/gsttypefindelement.h:
5241         * plugins/elements/gsttypefindelement.c:
5242         (gst_type_find_element_src_event), (start_typefinding),
5243         (stop_typefinding), (gst_type_find_element_handle_event),
5244         (gst_type_find_element_chain),
5245         (gst_type_find_element_chain_do_typefinding):
5246           Use gst_type_find_helper_for_buffer() for chain-based
5247           typefinding.
5248
5249 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
5250
5251         * plugins/elements/gsttypefindelement.c:
5252         (gst_type_find_element_class_init),
5253         (gst_type_find_element_set_property),
5254         (gst_type_find_element_get_property):
5255           Deprecate "maximum" property (not only was it only taken into
5256           account for typefinding in push-mode anyway, it also was never
5257           actually possible to set it in the first place because the
5258           property was registered with the numeric property ID for the
5259           "minimum" property). Register "maximum" property correctly,
5260           for the sake of future copy'n'pasters. Remove some cruft
5261           from property get/set functions.
5262
5263 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
5264
5265         * plugins/elements/gsttypefindelement.c:
5266         (gst_type_find_element_activate):
5267           Use gst_type_find_helper_get_range() here, so we
5268           can honour the "minimum" property and also emit
5269           the signal with the correct probability of the found caps.
5270
5271 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
5272
5273         * docs/libs/gstreamer-libs-sections.txt:
5274         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
5275         (helper_find_suggest), (gst_type_find_helper_get_range),
5276         (gst_type_find_helper):
5277         * libs/gst/base/gsttypefindhelper.h:
5278           New API: gst_type_find_helper_get_range() (#333042).
5279
5280 2006-03-02  Michael Smith  <msmith@fluendo.com>
5281
5282         * gst/gstregistryxml.c: (load_feature):
5283           Asserting on a failure to read part of the registry is Not Cool.
5284           Just log a warning and return NULL (which is already handled)
5285
5286 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
5287
5288         * win32/common/libgstbase.def:
5289           added export of gst_type_find_helper_for_buffer
5290         * win32/common/libgstbase.def:
5291           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
5292           gst_ghost_pad_get_target
5293
5294 2006-02-28  Wim Taymans  <wim@fluendo.com>
5295
5296         * docs/design/draft-klass.txt:
5297         We use Filter now.
5298         Added Connector to mark elements that are only used to
5299         allow pipeline connections.
5300         Moved Debug to extra feature since most of them are 
5301         functionally something else.
5302
5303 2006-02-28  Wim Taymans  <wim@fluendo.com>
5304
5305         * docs/design/draft-klass.txt:
5306         Some updates and clarifications.
5307
5308 2006-02-28  Wim Taymans  <wim@fluendo.com>
5309
5310         * docs/design/draft-klass.txt:
5311         Proposal for klass field values.
5312
5313         * docs/design/part-streams.txt:
5314         Start of a doc describing stream anatomy.
5315
5316 2006-02-28  Wim Taymans  <wim@fluendo.com>
5317
5318         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
5319         Help the compiler a bit with type registration.
5320         Use existing forward cod path instead of duplicating it when 
5321         handling a message.
5322         
5323         * gst/gstbus.c: (gst_bus_get_type):
5324         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
5325         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
5326         * gst/gstclock.c: (gst_clock_get_type):
5327         * gst/gstelement.c: (gst_element_get_type),
5328         * gst/gstelementfactory.c: (gst_element_factory_get_type):
5329         * gst/gstindexfactory.c: (gst_index_factory_get_type):
5330         * gst/gstminiobject.c: (gst_mini_object_get_type):
5331         * gst/gstpad.c: (gst_pad_get_type):
5332         * gst/gstsegment.c: (gst_segment_get_type):
5333         * gst/gststructure.c: (gst_structure_get_type):
5334         * gst/gstsystemclock.c: (gst_system_clock_get_type):
5335         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
5336         * gst/gstvalue.c:
5337         Help compiler with type registration.
5338
5339         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
5340         Small doc update.
5341
5342 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
5343
5344         * plugins/elements/gsttypefindelement.c:
5345         (gst_type_find_element_handle_event):
5346           When we get an EOS event and have not found a type yet
5347           (most likely because we had not yet accumulated
5348           TYPE_FIND_MIN_SIZE of data yet), try to determine the
5349           type given the data we have so far. Fixes typefinding
5350           for very short streams again, most notably quicktime
5351           redirections as used on Apple's trailer site (#331701).
5352
5353 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
5354
5355         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
5356         (gst_type_find_helper):
5357           Try typefinding factories with the highest rank first.
5358
5359 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
5360
5361         * docs/libs/gstreamer-libs-docs.sgml:
5362         * docs/libs/gstreamer-libs-sections.txt:
5363         * libs/gst/base/gsttypefindhelper.c:
5364           Add section for typefind helper and add documentation
5365           for the old and the new function.
5366
5367 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
5368
5369         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
5370         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
5371         (gst_type_find_helper_for_buffer):
5372         * libs/gst/base/gsttypefindhelper.h:
5373           New API: gst_type_find_helper_for_buffer() (#332723).
5374           
5375 2006-02-27  Michael Smith  <msmith@fluendo.com>
5376
5377         Patch by: Loïc Minier
5378
5379         * configure.ac:
5380         * docs/Makefile.am:
5381         * docs/slides/Makefile.am:
5382           prevent CVS directories getting disted.
5383
5384 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
5385
5386         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
5387           Use the REFCOUNTING category for caps refcounting.
5388           
5389 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
5390
5391         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
5392           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
5393
5394 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
5395
5396         * plugins/elements/gsttypefindelement.c:
5397         (gst_type_find_element_activate):
5398           Use gst_pad_check_pull_range() before _activate_pull()
5399           to avoid unnecessary open/close (see #331690).
5400
5401 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
5402
5403         * gst/gstutils.c:
5404           Docs enhancement: make it crystal clear what the
5405           gst_pad_add_*_probe() callbacks should look like.
5406
5407 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
5408
5409         * libs/gst/base/gstbasesrc.c:
5410           Document how applications can stop recording from
5411           live sources (see #330996).
5412
5413 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
5414
5415         * tests/check/Makefile.am:
5416         * tests/check/libs/basesrc.c: (eos_event_counter),
5417         (basesrc_eos_events_pull), (basesrc_eos_events_push),
5418         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
5419         (gst_basesrc_suite), (main):
5420           ... and add some tests for the base source EOS stuff.
5421
5422 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
5423
5424         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
5425           Test case originally showed the problem fixed below,
5426           but was then amended. Add checks back at the place
5427           where they used to be.
5428
5429 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
5430
5431         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5432         (gst_base_src_init), (gst_base_src_loop),
5433         (gst_base_src_activate_push), (gst_base_src_activate_pull),
5434         (gst_base_src_change_state):
5435         * libs/gst/base/gstbasesrc.h:
5436           Don't unconditionally send EOS when going from PAUSED to
5437           READY state, esp. make sure we don't send two EOS events
5438           in some cases (e.g. one when reaching EOS and one when
5439           going from PAUSED to READY). Also, we don't want to send
5440           EOS events when operating in pull mode. However, we do
5441           want to send an EOS event when shutting down a live
5442           source explicitly, for example (fixes #330996).
5443           
5444 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
5445
5446         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
5447           Update src->read_position after a seek when not using mmap.
5448           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
5449
5450 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
5451
5452         * gst/Makefile.am:
5453         * gst/gstparse.h:
5454         * gst/gstutils.c:
5455         * gst/gstutils.h:
5456         Make things work with --disable-parse as they do with 
5457         --disable-load-save - the symbols involved disappear, but the
5458         header is still installed and GST_DISABLE_PARSE is included via
5459         gstconfig.h
5460
5461 2006-02-20  Julien MOUTTE  <julien@moutte.net>
5462
5463         * libs/gst/base/gstbasetransform.c:
5464         (gst_base_transform_change_state): Fix a stupid bug. I was 
5465         sure I compiled that.
5466
5467 2006-02-20  Julien MOUTTE  <julien@moutte.net>
5468
5469         * gst/gstpad.c: (gst_pad_set_blocked_async):
5470         * gst/gstutils.c: (gst_pad_add_data_probe),
5471         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
5472         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
5473         (gst_pad_remove_buffer_probe): Make those function act on the
5474         ghostpad target when it's a ghostpad. (Closes #331727)
5475
5476 2006-02-20  Julien MOUTTE  <julien@moutte.net>
5477
5478         * libs/gst/base/gstbasetransform.c:
5479         (gst_base_transform_change_state): Make basetransform reusable.
5480         (Closes #331898)
5481
5482 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
5483
5484         * docs/random/release:
5485         Move the current documentation of how to do a release to the top
5486         of the file.
5487
5488         * gst/gstbin.c: (gst_bin_class_init),
5489         (gst_bin_handle_message_func):
5490         Allow multiple state-recalculation threads. (Closes #328873)
5491
5492 2006-02-19  Julien MOUTTE  <julien@moutte.net>
5493
5494         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
5495         * gst/gstpad.c: (gst_pad_set_event_function),
5496         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
5497         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
5498         2 strings. You can't use the STR_NULL macro on that.
5499
5500 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
5501
5502         * gst/gstpad.c: (gst_pad_set_event_function),
5503         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
5504         (gst_pad_set_getcaps_function)
5505         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
5506           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
5507           So now, we can use --gst-debug-level=5 on Windows
5508         * win32/common/libgstcontroller.def:
5509           Added export of gst_controller_init
5510         * win32/vs6/libgstcontroller.dsp:
5511           Fixed Release post build configuration
5512
5513 2006-02-17  Wim Taymans  <wim@fluendo.com>
5514
5515         * tests/check/gst/gstquery.c: (GST_START_TEST):
5516         Added another check.
5517
5518 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
5519
5520         * plugins/elements/gsttypefindelement.c: (find_peek):
5521           We can do peeks at non-zero offsets, as long as they
5522           fall within the buffer we have.
5523
5524 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
5525
5526         * tests/check/Makefile.am:
5527         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
5528         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
5529         (parse_suite), (main):
5530           Add testsuite for parse launch syntax
5531
5532 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
5533
5534         * plugins/elements/gsttypefindelement.c:
5535         (gst_type_find_element_chain):
5536           When typefinding is unsuccessful in the chain function, don't
5537           error out immediately. Only error out with NO_CAPS_FOUND if
5538           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
5539           otherwise simply wait for more data so we can try typefinding
5540           again with more data later. Also, don't attempt to typefind
5541           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
5542           this should improve typefinding from network sources where the
5543           size of the first buffer can be somewhat random.
5544
5545 2006-02-14  Wim Taymans  <wim@fluendo.com>
5546
5547         * docs/gst/gstreamer-sections.txt:
5548         * gst/gstpadtemplate.c:
5549         * gst/gstpadtemplate.h:
5550         Fix padtemplate docs, fixes #328805.
5551
5552 2006-02-14  Wim Taymans  <wim@fluendo.com>
5553
5554         * tools/gst-launch.c: (main):
5555         NO_PREROLL is not an ERROR so don't send confusing messages
5556         to the user.
5557
5558 2006-02-14  Wim Taymans  <wim@fluendo.com>
5559
5560         Patch by: Torsten Schoenfeld
5561
5562         * gst/gstregistry.c: (gst_registry_get_default),
5563         (_gst_registry_cleanup):
5564         Protect default registry with lock and ref/sink it.
5565         Fixes #324818
5566
5567 2006-02-14  Wim Taymans  <wim@fluendo.com>
5568
5569         * gst/gstbuffer.c:
5570         * gst/gstquery.c: (gst_query_list_add_format),
5571         (gst_query_set_formatsv), (gst_query_parse_formats_length),
5572         (gst_query_parse_formats_nth):
5573         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5574         Docs fixes.
5575
5576 2006-02-14  Wim Taymans  <wim@fluendo.com>
5577
5578         * docs/gst/gstreamer-sections.txt:
5579         Reworked query docs.
5580
5581         * gst/gstquery.c: (gst_query_new_formats),
5582         (gst_query_list_add_format), (gst_query_set_formats),
5583         (gst_query_set_formatsv), (gst_query_parse_formats_length),
5584         (gst_query_parse_formats_nth):
5585         * gst/gstquery.h:
5586         Flesh out formats query, added some new methods.
5587         Fix part of #324398.
5588
5589         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
5590         Added query creation tests.
5591
5592 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
5593
5594         * gst/gstpad.c: (fixate_value):
5595         Add a default fixation for fraction lists.
5596
5597 2006-02-13  Wim Taymans  <wim@fluendo.com>
5598
5599         * gst/gsttask.c: (gst_task_init), (gst_task_func),
5600         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
5601         (gst_task_join):
5602         * gst/gsttask.h:
5603         Detect and warn for obvious deadlocks. fixes #320340
5604         Fix error case where lock was not released.
5605
5606         * tests/check/Makefile.am:
5607         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
5608         (task_func), (gst_element_suite), (main):
5609         Add task check.
5610
5611 2006-02-13  Wim Taymans  <wim@fluendo.com>
5612
5613         * docs/gst/gstreamer-sections.txt:
5614         * gst/gstbus.c:
5615         Add new functions to docs.
5616
5617 2006-02-13  Wim Taymans  <wim@fluendo.com>
5618
5619         * docs/design/part-TODO.txt:
5620         Updated TODO list, basesrc supports seeking to non-bytes
5621         formats.
5622
5623         * docs/design/part-element-sink.txt:
5624         Update docs.
5625
5626         * gst/gstbin.c: (bin_replace_message),
5627         (gst_bin_handle_message_func):
5628         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
5629         * gst/gstevent.c: (gst_event_finalize):
5630         * gst/gstpad.c: (gst_pad_event_default_dispatch),
5631         (gst_pad_send_event):
5632         Use shiny new _TYPE_NAME macros.
5633
5634         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
5635         Move debug statement up.
5636
5637         * gst/gstelement.c: (gst_element_set_locked_state):
5638         Add some debugging.
5639
5640 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
5641
5642         * docs/gst/gstreamer-sections.txt:
5643         * gst/gstmessage.h:
5644         * gst/gstquery.h:
5645           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
5646           macros (#330906). Also, document the already existing
5647           GST_QUERY_TYPE macro.
5648
5649 2006-02-13  Wim Taymans  <wim@fluendo.com>
5650
5651         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
5652         (event_probe), (GST_START_TEST):
5653         Only events up to the pipeline EOS are counted, there are
5654         some more when going to NULL currently which we don't care
5655         about for now.
5656
5657 2006-02-13  Wim Taymans  <wim@fluendo.com>
5658
5659         * gst/gstpad.c: (gst_pad_send_event):
5660         Correctly check flushing and emit probes. fixes #330125
5661
5662 2006-02-10  Andy Wingo  <wingo@pobox.com>
5663
5664         * gst/gstbus.c (gst_bus_class_init): Declare our private data
5665         structure.
5666         (gst_bus_init): Cache the location of the private data in the
5667         instance structure.
5668         (gst_bus_enable_sync_message_emission) 
5669         (gst_bus_disable_sync_message_emission): Implement new public
5670         functions.
5671         (gst_bus_post): Emit the sync-message signal if the user asked for
5672         it. Fixes #330684.
5673
5674         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
5675         location of the bus-private structure.
5676         (gst_bus_enable_sync_message_emission)
5677         (gst_bus_disable_sync_message_emission): API addition
5678
5679 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
5680
5681         Patch by: Vincent Torri
5682
5683         * docs/pwg/building-boiler.xml:
5684         PWG patch from #326800
5685
5686 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5687
5688         * configure.ac:
5689         * docs/Makefile.am:
5690         * docs/design/Makefile.am:
5691           Dist design docs.
5692
5693 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
5694
5695         * configure.ac:
5696           back to CVS
5697
5698 === release 0.10.3 ===
5699
5700 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
5701
5702         * configure.ac:
5703           releasing 0.10.3, "Like a virgin"
5704
5705 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
5706
5707         * configure.ac:
5708           2nd prerelease of 0.10.3
5709           Bump libtool versioning.
5710
5711 2006-02-07  Andy Wingo  <wingo@pobox.com>
5712
5713         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
5714         update last_stop if we're in TIME format and the timestamp is
5715         valid.
5716
5717         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
5718         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
5719         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
5720         If we get a new newsegment with a different format, adapt
5721         accordingly.
5722
5723         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
5724         of 0. Not a problem, really.
5725
5726         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
5727         warn if sync=true.
5728
5729 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
5730
5731         * configure.ac:
5732           Prelease of 0.10.3
5733
5734 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
5735
5736         * win32/vs7:
5737           project files updated to the default vs7 configuration
5738         * win32/common/libgstbase.def:
5739         * win32/common/libgstreamer.def:
5740           added new symbols,
5741           removed empty lines,
5742           sorted all exported symbols alphabetically
5743         * win32/common/dirent.c:
5744         * win32/common/dirent.h:
5745         * win32/common/gchar.h:
5746           use windows line end.
5747           
5748 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
5749
5750         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
5751           Send EOS event when stopping.
5752
5753 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
5754
5755         * docs/README:
5756           Tell folks what to do if the plugin-foobar.xml file
5757           hasn't been generated for a newly-added plugin.
5758
5759 2006-02-05  Julien MOUTTE  <julien@moutte.net>
5760
5761         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
5762         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
5763         (gst_collect_pads_start), (gst_collect_pads_stop),
5764         (gst_collect_pads_event): Collectpads now holds a reference
5765         to the GstPad that was added. Indeed we don't want to look
5766         at pads that might just go away with no warning...
5767
5768 2006-02-05  Julien MOUTTE  <julien@moutte.net>
5769
5770         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
5771         (gst_collect_pads_start), (gst_collect_pads_stop),
5772         (gst_collect_pads_event), (gst_collect_pads_chain):
5773         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
5774         Mark Nauwelaerts's patch on bug #328491.
5775
5776 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
5777
5778         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
5779         (gst_utils_suite):
5780           Add some simple tests for gst_parse_bin_from_description() and
5781           gst_bin_find_unconnected_pad() (#329069).
5782
5783 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
5784
5785         * tools/gst-launch.c: (event_loop), (main):
5786           Catch errors during preroll (#320084).
5787
5788 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
5789
5790         * plugins/elements/gsttypefindelement.c:
5791         (gst_type_find_element_activate):
5792           Post TYPE_NOT_FOUND error message when typefinding
5793           is unsuccessful in the activate function as well.
5794
5795 2006-02-02  Wim Taymans  <wim@fluendo.com>
5796
5797         * docs/design/part-element-sink.txt:
5798         Updated doc.
5799
5800 2006-02-02  Wim Taymans  <wim@fluendo.com>
5801
5802         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
5803         (gst_base_sink_render_object),
5804         (gst_base_sink_queue_object_unlocked):
5805         Only keep track of prerollable items when we are 
5806         prerolling.
5807         Before rendering after preroll, always check if we
5808         have queued items.
5809         Added some more debugging.
5810
5811 2006-02-02  Wim Taymans  <wim@fluendo.com>
5812
5813         * gst/gstelement.c: (gst_element_continue_state),
5814         (gst_element_set_state_func), (gst_element_change_state):
5815         Fixed #326576, been running this for quite some time with
5816         no regressions at all.
5817
5818 2006-02-02  Wim Taymans  <wim@fluendo.com>
5819
5820         * common/gst.supp:
5821         Added more suppressions
5822
5823 2006-02-02  Wim Taymans  <wim@fluendo.com>
5824
5825         * docs/design/part-element-sink.txt:
5826         Updated document.
5827
5828         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5829         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
5830         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
5831         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
5832         (gst_base_sink_do_sync), (gst_base_sink_render_object),
5833         (gst_base_sink_preroll_object),
5834         (gst_base_sink_queue_object_unlocked),
5835         (gst_base_sink_queue_object), (gst_base_sink_event),
5836         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
5837         (gst_base_sink_loop), (gst_base_sink_activate_pull),
5838         (gst_base_sink_get_position), (gst_base_sink_change_state):
5839         * libs/gst/base/gstbasesink.h:
5840         Totally refactored matching the design doc.
5841         Use two segments, one to clip incomming buffers and another to
5842         perform sync.
5843         Handle queueing correctly, bypass the queue when playing.
5844         Make EOS cancelable.
5845         Handle errors correctly when operating in pull based mode.
5846
5847         * tests/check/elements/fakesink.c: (GST_START_TEST),
5848         (fakesink_suite):
5849         Added new check for sinks.
5850
5851 2006-02-02  Wim Taymans  <wim@fluendo.com>
5852
5853         * gst/gstsegment.c: (gst_segment_clip):
5854         No reason to refuse to clip when start == -1
5855
5856 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
5857
5858         * docs/README:
5859         * docs/manual/intro-basics.xml:
5860         * docs/manual/intro-preface.xml:
5861         * docs/manual/manual.xml:
5862         * docs/pwg/advanced-dparams.xml:
5863         * docs/pwg/intro-basics.xml:
5864         * docs/pwg/intro-preface.xml:
5865         * docs/pwg/pwg.xml:
5866           describe dparams (controller) for plugins
5867           unify docs a little more
5868
5869 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
5870
5871         * docs/gst/gstreamer-sections.txt:
5872         * gst/gstutils.c: (element_find_unconnected_pad),
5873         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
5874         * gst/gstutils.h:
5875           Add new API: gst_parse_bin_from_description() and
5876           gst_bin_find_unconnected_pad() (#329069).
5877
5878 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
5879
5880         * docs/manual/README:
5881           uncover a nasty detail of the docs build
5882
5883 2006-01-31  Wim Taymans  <wim@fluendo.com>
5884
5885         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
5886         Don't cache duration messages if we're not going to use or
5887         free them.
5888
5889 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
5890
5891         * docs/manual/advanced-dparams.xml:
5892         * docs/pwg/advanced-dparams.xml:
5893           more dparam docs
5894         * gst/gstindex.c:
5895           fix docs
5896         * libs/gst/controller/lib.c: (gst_controller_init):
5897           init just once
5898
5899 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
5900
5901         * gst/gstelement.c: (gst_element_message_full):
5902           also show file/line/func if no additional debug was given
5903
5904 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
5905         
5906         * win32/vs7/grammar.vcproj:
5907           activate copy of autogenerated files for Release mode
5908
5909 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
5910         
5911         * win32/common/libgstreamer.def:
5912           export gst_value_compare
5913
5914 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
5915
5916         * plugins/elements/Makefile.am:
5917         * plugins/elements/gstelements.c:
5918         * plugins/elements/gstfdsink.c: (_do_init),
5919         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
5920         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
5921         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
5922         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
5923         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
5924         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
5925         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
5926         * plugins/elements/gstfdsink.h:
5927         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
5928
5929 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
5930
5931         * docs/manual/advanced-dparams.xml:
5932           describe controller
5933         * docs/manual/advanced-position.xml:
5934         * docs/manual/basics-init.xml:
5935         * docs/manual/manual.xml:
5936         * docs/manual/titlepage.xml:
5937         * docs/pwg/pwg.xml:
5938         * docs/pwg/titlepage.xml:
5939           cleanup xml (more to come)
5940         * libs/gst/controller/gstcontroller.c:
5941           fix typo
5942
5943 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
5944         
5945         * win32/vs6/grammar.dsp:
5946           add autogen of gstmarshal.c,h for Release mode
5947                 
5948 2006-01-30  Wim Taymans  <wim@fluendo.com>
5949
5950         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5951         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
5952         (gst_base_sink_handle_object), (gst_base_sink_event),
5953         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
5954         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
5955         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
5956         (gst_base_sink_deactivate), (gst_base_sink_activate),
5957         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
5958         (gst_base_sink_query), (gst_base_sink_change_state):
5959         Basesink cleanups, remove some old code.
5960         Handle the case where a subclass can preroll in the render
5961         method (mostly audiosinks).
5962         Handle more events.
5963         Remove some locks around variables that are now protected
5964         with the PREROLL_LOCK (clock_id, flushing, ..).
5965         Optimize position query some more, do correct locking.
5966         Remove old code to push queue in state change, this is not
5967         needed anymore since preroll blocks on all prerollable items 
5968         now.
5969         Almost implemented as described in design doc.
5970
5971 2006-01-30  Wim Taymans  <wim@fluendo.com>
5972
5973         * tests/check/gst/gstbin.c: (GST_START_TEST):
5974         Wait for refcount to settle down before checking.
5975
5976 2006-01-30  Wim Taymans  <wim@fluendo.com>
5977
5978         * docs/design/part-element-sink.txt:
5979         Pseudo code overview of desired sink behaviour regarding
5980         preroll.
5981
5982 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5983         * win32/vs6/grammar.dsp:
5984           fix some bugs in Release mode for autogenerated files
5985                 
5986 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5987         * win32/common/libgstbase.def:
5988         * win32/common/libgstreamer.def:
5989           export some new symbols: gst_base_src_set_format,
5990           gst_iterator_next, gst_structure_set_valist
5991
5992 2006-01-29  Julien MOUTTE  <julien@moutte.net>
5993
5994         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
5995         Set pad functions unconditionally. Fixes #329105.
5996
5997 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5998         * win32/vs8:
5999           add vs8 project files created by Sergey Scobich
6000
6001 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
6002
6003         * gst/gstutils.c: (gst_element_unlink_pads):
6004         Don't leak pad references.
6005
6006         * tests/check/elements/fakesink.c: (GST_START_TEST):
6007         * tests/check/generic/sinks.c: (GST_START_TEST):
6008         * tests/check/generic/states.c: (GST_START_TEST):
6009         * tests/check/gst/gstbin.c: (GST_START_TEST):
6010         * tests/check/gst/gstcaps.c: (GST_START_TEST):
6011         * tests/check/gst/gstelement.c: (GST_START_TEST):
6012         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6013         * tests/check/gst/gstiterator.c: (GST_START_TEST):
6014         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6015         Fix a bunch of leaks. Make generic/sinks.c
6016         use a bit less cpu by slowing the buffer rate
6017         between fakesrc and fakesink.
6018         
6019 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
6020         * gst/gstcaps.c:
6021         * gst/gstelement.c: (gst_element_send_event):
6022         * gst/gstevent.c:
6023         * gst/gstinfo.c:
6024         * gst/gstiterator.c:
6025         * gst/gstiterator.h:
6026         * gst/gstpad.c: (gst_pad_send_event):
6027         * gst/gststructure.c:
6028         * gst/gsturi.c:
6029         * gst/gstutils.c:
6030         * gst/gstvalue.c:
6031         * libs/gst/base/gstadapter.c:
6032           doc fixes, to link to function, just write gst_cool_function(), don't
6033           prefix with '#'
6034
6035 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
6036
6037         * plugins/elements/gsttee.c: (gst_tee_do_push),
6038         (gst_tee_handle_buffer):
6039         Always prefer an actual return value from a src
6040         pad in place of NOT_LINKED. This means we return
6041         WRONG_STATE when all src pads are WRONG_STATE
6042         instead of NOT_LINKED.
6043
6044         Lock when replacing the last message to prevent
6045         racing with the get_property method.
6046
6047         Add debug output
6048
6049 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
6050
6051         * tests/check/Makefile.am:
6052         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
6053         (main):
6054         Add a very simple check that should have caught the memleak I fixed
6055         last night (if not for the slice allocator hiding it)
6056
6057 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
6058
6059         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
6060         (gst_bin_remove_func), (gst_bin_handle_message_func),
6061         (bin_query_duration_fold), (bin_query_generic_fold):
6062         Clean up references to the clock provider when disposed or when
6063         handling a clock-lost message from it.
6064
6065         Unref sinks when performing a query via gst_iterator_fold, as the
6066         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
6067
6068         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
6069         (gst_clock_set_master):
6070         Drop our reference to the master clock, if any, when we are disposed.
6071
6072         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
6073         Chain up in dispose. 
6074
6075 2006-01-26  Wim Taymans  <wim@fluendo.com>
6076
6077         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
6078         Add some debugging.
6079
6080 2006-01-26  Julien MOUTTE  <julien@moutte.net>
6081
6082         * plugins/elements/gsttee.c: (gst_tee_do_push),
6083         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
6084         handles pad being NOT_LINKED or in WRONG_STATE.
6085
6086 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
6087
6088         * win32/MANIFEST:
6089           more updating
6090
6091 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
6092
6093         * win32/MANIFEST:
6094           remove obsolete entry
6095
6096 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
6097
6098         * docs/gst/gstreamer-sections.txt:
6099         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
6100         (gst_bin_iterate_sources), (gst_bin_send_event):
6101         * gst/gstbin.h:
6102         * gst/gstelement.c: (gst_element_send_event):
6103         * gst/gstevent.c:
6104         * gst/gstpad.c: (gst_pad_send_event):
6105           added code for downstream events, reviewed docs in gstevent.c
6106
6107 2006-01-25  Julien MOUTTE  <julien@moutte.net>
6108
6109         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6110         We only query position using the clock in the playing state.
6111         Query peer in the other cases.
6112         * win32/common/config.h: Updates.
6113
6114 2006-01-24  Wim Taymans  <wim@fluendo.com>
6115
6116         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
6117         A clock entry that is scheduled for the exact time of the
6118         clock is still in time.
6119
6120         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6121         (gst_base_sink_do_sync):
6122         Add some more debug info.
6123
6124 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
6125
6126         * win32/vs7:
6127           Add new vs7 project files and solution.
6128
6129 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
6130
6131         * win32/vs7:
6132           all files removed as they were out-dated.
6133
6134 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6135
6136         * docs/random/release:
6137           update notes
6138         * gst/gstbin.c: (gst_bin_init):
6139         * gst/gstbus.c: (gst_bus_new):
6140         * gst/gstbus.h:
6141         * gst/gstpipeline.c: (gst_pipeline_init):
6142           use gst_bus_new(), improve logging, fix docs
6143         * win32/common/config.h:
6144           update for cvs build
6145
6146 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6147
6148         * autogen.sh:
6149           up required version of automake to 1.7
6150
6151 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
6152
6153         * win32/common/libgstreamer.def:
6154           export gst_buffer_is_metadata_writable
6155
6156 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
6157
6158         * docs/gst/gstreamer-sections.txt:
6159         * gst/gstevent.h:
6160           Add gst_event_replace() (#327001)
6161
6162 2006-01-20  Wim Taymans  <wim@fluendo.com>
6163
6164         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
6165         Make it actually compile too..
6166
6167 2006-01-20  Wim Taymans  <wim@fluendo.com>
6168
6169         * gst/gstcaps.c:
6170         Clarify behaviour of _is_equal() when passing NULL parameters.
6171
6172         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
6173         (gst_pad_set_caps):
6174         Cleanups. Don't unref NULL caps.
6175         When setting the same caps, protect caps of the pad with
6176         proper lock.
6177         Use full functionality of _is_equal() when comparing caps.
6178
6179 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
6180
6181         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
6182         Don't loop infinitely if there are no buffers to present. Partially
6183         fixes #327197, but collectpads is just broken for reusing elements
6184         to do multiple encodes atm.
6185
6186 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
6187
6188         * tools/gst-inspect.c: (print_element_features):
6189         * tools/gst-xmlinspect.c: (main):
6190         URL_HANDLER is not a plugin feature we can search for in
6191         the registry.
6192
6193 2006-01-19  Edward Hervey  <edward@fluendo.com>
6194
6195         * gst/gstelement.c: (gst_element_pads_activate): 
6196         When activating, do src pads first, then sink pads.
6197         When de-activating, do sink pads first, then src pads.
6198
6199 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6200
6201         * docs/gst/gstreamer-sections.txt:
6202         Add gst_index_add_associationv to the docs
6203
6204 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6205
6206         * gst/gstevent.c:
6207           Fix docs typo
6208
6209         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
6210         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
6211           Do some refactoring. Doesn't actually change functionality,
6212           but makes landing the DRAIN event easier later.
6213
6214 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
6215
6216         * docs/pwg/advanced-scheduling.xml:
6217           Update from 0.9.x to 0.10 API and make example a bit
6218           clearer.
6219
6220 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6221
6222         * docs/gst/gstreamer-sections.txt:
6223         Add gst_buffer_(is|make)_metadata_writable methods.
6224
6225 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6226
6227         * docs/design/part-sparsestreams.txt:
6228         Update sparse streams doc, hopefully for greater clarity
6229
6230 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
6231
6232         * docs/design/part-events.txt:
6233         Remove mention of FILLER events.
6234         Add DRAIN event.
6235
6236         * docs/design/part-sparsestreams.txt:
6237         Write some things about using NEWSEGMENT to keep sparse streams
6238         flowing.
6239
6240 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
6241
6242         * gst/gstbin.c: (gst_bin_dispose):
6243           Guard gst_object_unref call against a NULL object (dispose
6244           can theoretically be called multiple times).
6245           
6246 2006-01-18  Wim Taymans  <wim@fluendo.com>
6247
6248         * gst/gstbin.c: (gst_bin_element_set_state):
6249         * gst/gstclock.c: (gst_clock_id_wait):
6250         Added some more debug info.
6251
6252         * libs/gst/base/gstadapter.c:
6253         Added more docs.
6254
6255         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6256         (gst_base_sink_do_sync), (gst_base_sink_chain):
6257         Added some comments.
6258
6259 2006-01-18  Wim Taymans  <wim@fluendo.com>
6260
6261         * tests/check/Makefile.am:
6262         * tests/check/elements/fakesink.c: (chain_async_buffer),
6263         (chain_async), (chain_async_return), (GST_START_TEST),
6264         (fakesink_suite), (main):
6265         Added fakesink test that checks prerolling and clipping
6266         behaviour.
6267
6268         * tests/check/gst/gstutils.c: (GST_START_TEST):
6269         Make check run faster so that buildbots don't timeout.
6270
6271 2006-01-18  Wim Taymans  <wim@fluendo.com>
6272
6273         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6274         (gst_base_sink_do_sync):
6275         Some cleanups.
6276         When the sink finishes blocking on the preroll buffer, it can
6277         immediatly render it instead of rendering when the next buffer
6278         arrives.
6279
6280 2006-01-18  Wim Taymans  <wim@fluendo.com>
6281
6282         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
6283         (gst_base_sink_get_property), (gst_base_sink_do_sync),
6284         (gst_base_sink_chain):
6285         Small cleanups.
6286         GST_ELEMENT_CLOCK and sync are protected with LOCK.
6287         Don't store _last_stop if the buffer is dropped.
6288
6289 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
6290
6291         * plugins/elements/gsttypefindelement.c:
6292         (gst_type_find_element_class_init):
6293           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
6294           object method handler that sets the caps on the pad and we want
6295           that to happen before we emit the signal (fixes e.g. feeding a
6296           plain text file to decodebin).
6297
6298 2006-01-18  Christian Schaller  <Christian@fluendo.com>
6299
6300         * gst/gstplugin.c: Add MPL and Proprietary as license options
6301
6302 2006-01-18  Andy Wingo  <wingo@pobox.com>
6303
6304         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
6305         symbol was exported before, it appears this was just an oversight.
6306         Fixes #168703.
6307         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
6308
6309         * gst/gstindex.c (gst_index_add_associationv): Changed int in
6310         prototype to gint. OK since this prototype was not in the header.
6311
6312 2006-01-17  Andy Wingo  <wingo@pobox.com>
6313
6314         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
6315         registry while we remove plugins.
6316
6317         * tools/gst-inspect.c (print_element_info): Don't unref the
6318         factory arg, that should be the responsibility of whatever code
6319         received the ref. Fixes a double-free when called from
6320         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
6321         (main): Unref the factory if we have one.
6322         (print_element_list): No change -- relies on the
6323         plugin_feature_list_free to free the list of features.
6324
6325 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
6326
6327         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
6328         (gst_buffer_make_metadata_writable):
6329         * gst/gstbuffer.h:
6330         * libs/gst/base/gstbasetransform.c:
6331         (gst_base_transform_prepare_output_buf):
6332         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6333         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6334           Replace gst_buffer_(make|is)_metadata_writable patch now
6335           that the release is out.
6336
6337 2006-01-17  Andy Wingo  <wingo@pobox.com>
6338
6339         * gst/gstregistry.c: Reflow design comment. Update so as to speak
6340         in the present tense without reference to versions.
6341
6342         * gst/gstregistry.c (gst_registry_add_plugin)
6343         (gst_registry_remove_plugin, gst_registry_remove_feature)
6344         (gst_registry_find_feature, gst_registry_get_feature_list)
6345         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
6346         (gst_registry_lookup, gst_registry_scan_path)
6347         (_gst_registry_remove_cache_plugins)
6348         (gst_registry_get_feature_list_by_plugin): Add argument
6349         validation.
6350
6351 === release 0.10.2 ===
6352
6353 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
6354
6355         * configure.ac:
6356           releasing 0.10.2, "If man is five"
6357
6358 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
6359
6360         * gst/gstbuffer.c:
6361         * gst/gstbuffer.h:
6362         * libs/gst/base/gstbasetransform.c:
6363         (gst_base_transform_prepare_output_buf):
6364         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6365         * tests/check/gst/gstbuffer.c: (gst_test_suite):
6366           Back out patch until after the release.
6367
6368 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
6369
6370         * gst/gstminiobject.c:
6371           Spelling fix in docs.
6372         * ChangeLog - remove conflict indicator
6373
6374 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
6375
6376         Reviewed By: Andy Wingo
6377
6378         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
6379         (gst_buffer_make_metadata_writable):
6380         * gst/gstbuffer.h:
6381           Add gst_buffer_(is|make)_metadata_writable as analogues of
6382           gst_buffer_(is|make)_writable.
6383
6384         * libs/gst/base/gstbasetransform.c:
6385         (gst_base_transform_prepare_output_buf):
6386         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6387           Use name gst_buffer_(is|make)_metadata_writable functions.
6388
6389         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6390           Test gst_buffer_(is|make)_metadata_writable
6391         
6392           (Closes: #324162)
6393
6394 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6395
6396         * docs/manual/Makefile.am:
6397           don't do parallel make
6398         * configure.ac:
6399           AC_SUBST HOST_CPU
6400         * win32/common/config.h.in:
6401           add generations for HOST_CPU and GST_MAJORMINOR
6402         * win32/common/config.h:
6403           commit generated result
6404
6405 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
6406
6407         * docs/manual/appendix-integration.xml:
6408           Update GNOME integration section to use gst_init_get_option_group()
6409           instead of the old popt stuff (#322911). Also, GNOME applications
6410           should  now use gconf*sink and gconf*src instead of the old gconf
6411           helper lib we had.
6412
6413 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
6414
6415
6416         * docs/gst/gstreamer-docs.sgml:
6417         * docs/gst/gstreamer-sections.txt:
6418         * docs/libs/gstreamer-libs-sections.txt:
6419           add new API entries to the docs
6420         * libs/gst/controller/Makefile.am:
6421         * libs/gst/controller/gstcontroller.c:
6422         * libs/gst/controller/gstcontroller.h:
6423         * libs/gst/controller/gstcontrollerprivate.h:
6424         * libs/gst/controller/gsthelper.c:
6425         * libs/gst/controller/gstinterpolation.c:
6426           move private structs to private header
6427         * po/README:
6428           gstreamer-0.7 -> gstreamer-0.10
6429         * tests/check/libs/struct_i386.h:
6430           remove private structs
6431
6432 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6433
6434         * plugins/indexers/Makefile.am:
6435           Fixes as part of #317048
6436
6437 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6438
6439         * plugins/indexers/Makefile.am:
6440           fix #316086 - compilation when mmap is missing
6441
6442 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
6443
6444         * libs/gst/base/gstbasesink.c:
6445           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
6446           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
6447         * win32/common/config.h:
6448           added some defines GST_MAJORMINOR and HOST_CPU
6449         * win32/common/libgstbase.def:
6450         * win32/common/libgstreamer.def:
6451           added some exported functions.
6452
6453 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
6454
6455         * libs/gst/controller/gstcontroller.c:
6456         (gst_controlled_property_set_interpolation_mode),
6457         (gst_controlled_property_new):
6458         * libs/gst/controller/gstcontroller.h:
6459         * libs/gst/controller/gstinterpolation.c:
6460         (interpolate_none_get_string_value_array):
6461           make G_TYPE_STRING controlable
6462
6463 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
6464
6465         * tools/README:
6466         * tools/gst-feedback.1.in:
6467         * tools/gst-inspect.1.in:
6468         * tools/gst-launch.1.in:
6469         * tools/gst-md5sum.1.in:
6470         * tools/gst-typefind.1.in:
6471         * tools/gst-xmlinspect.1.in:
6472         * tools/gst-xmllaunch.1.in:
6473           cleanup man-pages, remove reference to gst-register, document env-vars
6474
6475 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
6476
6477         * gst/gstbuffer.c: (gst_buffer_span):
6478           gst_buffer_span should copy the timestamp of the first buffer
6479           if they were both originally overlapping subbuffers of the 
6480           same parent, using the same logic as the 'slow copy' case.
6481
6482 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
6483
6484         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
6485           Need to awaken ALL the pads when we pop a buffer, otherwise
6486           collectpads only works when there is 2 input streams.
6487
6488 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
6489
6490         * docs/random/ensonic/media-device-daemon.txt:
6491           more ideas (dbus)
6492         * gst/gstbuffer.c:
6493           fix doc example, add clarification
6494         * tools/gst-launch.1.in:
6495           add initial info about GST_PLUGIN_PATH, needs more work
6496
6497 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
6498
6499         * docs/manual/basics-bins.xml:
6500         * docs/manual/basics-elements.xml:
6501         * docs/manual/intro-basics.xml:
6502           Some more minor docs additions and updates.
6503
6504 2006-01-11  Wim Taymans  <wim@fluendo.com>
6505
6506         * docs/manual/basics-bins.xml:
6507         * docs/manual/basics-elements.xml:
6508         Some small fixes as pointed out by Ser-ver on IRC.
6509
6510 2006-01-10  Edward Hervey  <edward@fluendo.com>
6511
6512         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6513         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
6514         the single-segment mode.
6515
6516 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
6517
6518         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6519
6520         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
6521         (gst_base_src_perform_seek), (gst_base_src_send_event),
6522         (gst_base_src_set_property), (gst_base_src_get_property),
6523         (gst_base_src_loop), (gst_base_src_start),
6524         (gst_base_src_activate_push):
6525         * libs/gst/base/gstbasesrc.h:
6526           Name (private) union; makes Sun's Forte compiler happy (#324900).
6527
6528 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
6529
6530         * README:
6531           gst-register is gone.
6532
6533 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6534
6535         * gst/gstvalue.c: (_gst_value_initialize):
6536           make the G_TYPE_DATE instantiation work if debug is disabled
6537
6538 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
6539
6540         * gst/gstmessage.c: (gst_message_parse_tag),
6541         (gst_message_parse_error), (gst_message_parse_warning):
6542           Don't crash when return location for error/warning debug
6543           string is NULL; add fact that return locations can be
6544           NULL to docs where appropriate.
6545
6546 2006-01-05  Wim Taymans  <wim@fluendo.com>
6547
6548         * gst/gstplugin.c: (gst_plugin_load_file):
6549         Replace strdup by g_strdup.
6550
6551 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6552
6553         * docs/pwg/advanced-types.xml:
6554           fix doc borkage
6555
6556 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6557
6558         submitted by: Abel Cheung
6559
6560         * po/LINGUAS:
6561         * po/zh_TW.po:
6562           Added Chinese (traditional) translation
6563
6564 2006-01-04  Wim Taymans  <wim@fluendo.com>
6565
6566         * docs/manual/basics-pads.xml:
6567         * docs/plugins/Makefile.am:
6568         * docs/plugins/gstreamer-plugins-docs.sgml:
6569         * docs/plugins/gstreamer-plugins-sections.txt:
6570         * docs/pwg/advanced-clock.xml:
6571         * docs/pwg/advanced-scheduling.xml:
6572         * docs/pwg/advanced-types.xml:
6573         * plugins/elements/gstfdsink.c:
6574         * plugins/elements/gstfdsrc.c:
6575         * plugins/elements/gstfdsrc.h:
6576         * plugins/elements/gstidentity.c: (gst_identity_class_init):
6577         * plugins/elements/gstidentity.h:
6578         * plugins/elements/gstqueue.h:
6579         * plugins/elements/gsttee.c:
6580         * plugins/elements/gsttee.h:
6581         * plugins/elements/gsttypefindelement.c:
6582         (gst_type_find_element_class_init):
6583         * plugins/elements/gsttypefindelement.h:
6584         Small updates to various docs.
6585         Added core plugins to docs.
6586
6587 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6588
6589         * common/gst.supp:
6590           add a suppression for liboil's uninitialized variable
6591
6592 2006-01-02  James Livingston  <jrl at ids dot org dot au>
6593
6594         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6595
6596         * gst/gstutils.h:
6597           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
6598           macro, so that gcc doesn't complain if the -Wmissing-prototypes
6599           compiler switch is being used (#325429).
6600
6601 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
6602
6603         * gst/gstbin.c: (gst_bin_query):
6604           Disable duration query caching in bins until it gets
6605           fixed (see #324807).
6606
6607 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
6608
6609         * tools/gst-inspect.c: (print_element_properties_info):
6610           Handle properties of POINTER and BOXED type.
6611
6612 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
6613
6614         * gst/gst.c: (init_post):
6615           Init tags stuff and some other things before loading
6616           any static plugins (there may be other static plugins
6617           than just the GStreamer ones, and they may want to
6618           register their own tags or formats or whatever, and
6619           preferably without segfaulting).
6620
6621         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6622           Print at least a warning in the debug logs if we drop a
6623           query just because we don't know how to adjust the value
6624           in the particular format.
6625
6626 2005-12-24  David Schleef  <ds@schleef.org>
6627
6628         * tools/gstreamer-completion:
6629           Replacement for gst-complete written in sh and sed.  Only
6630           completes names of features, but that's 90% of what I want
6631           it for.  Properties are not available in registry.xml.  (Maybe
6632           they should be...)
6633
6634 === release 0.10.1 ===
6635
6636 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
6637
6638         * configure.ac:
6639           releasing 0.10.1, "Nollaig chridheil"
6640
6641 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
6642
6643         * docs/faq/cvs.xml:
6644           Add missing quote, should be make ERROR_CFLAGS="".
6645
6646 2005-12-20  Wim Taymans  <wim@fluendo.com>
6647
6648         * docs/design/part-trickmodes.txt:
6649         More documentation on trickmodes.
6650
6651 2005-12-20  Edward Hervey  <edward@fluendo.com>
6652
6653         * gst/gstcaps.c: (gst_static_caps_get_type):
6654         * gst/gstcaps.h:
6655           API addition: GST_TYPE_STATIC_CAPS
6656         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
6657         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
6658         * gst/gstpadtemplate.h:
6659           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
6660         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
6661         bindings.
6662
6663 2005-12-18  Wim Taymans  <wim@fluendo.com>
6664
6665         * libs/gst/base/gstadapter.c:
6666         * libs/gst/base/gstadapter.h:
6667         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6668         (gst_base_sink_get_position):
6669         * libs/gst/base/gstbasesink.h:
6670         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6671         (gst_base_src_default_query), (gst_base_src_default_do_seek),
6672         (gst_base_src_do_seek), (gst_base_src_perform_seek),
6673         (gst_base_src_send_event), (gst_base_src_update_length),
6674         (gst_base_src_get_range), (gst_base_src_loop),
6675         (gst_base_src_start):
6676         * libs/gst/base/gstbasesrc.h:
6677         * libs/gst/base/gstbasetransform.h:
6678         * libs/gst/base/gstcollectpads.h:
6679         * libs/gst/base/gstpushsrc.c:
6680         * libs/gst/base/gstpushsrc.h:
6681         * libs/gst/dataprotocol/dataprotocol.c:
6682         * libs/gst/dataprotocol/dataprotocol.h:
6683         * libs/gst/net/gstnetclientclock.h:
6684         * libs/gst/net/gstnettimeprovider.h:
6685         Documentation updates.
6686
6687 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
6688
6689         * docs/manual/basics-helloworld.xml:
6690           Remove superfluous closing bracket in helloworld example.
6691
6692 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
6693
6694         * tools/gst-launch.1.in:
6695           Update gst-launch man page; add a section with useful
6696           environment variables. Fixes #323882.
6697
6698 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
6699
6700         * gst/gst.c:
6701         * gst/gst_private.h:
6702           change some char* into char[]
6703
6704 2005-12-16  Wim Taymans  <wim@fluendo.com>
6705
6706         * gst/gstregistryxml.c: (load_feature):
6707         Cleanups.
6708         Don't use g_object_unref on GstObjects so that we avoid
6709         leaks on unsafe glibs.
6710
6711 2005-12-16  Wim Taymans  <wim@fluendo.com>
6712
6713         * gst/gstbin.c: (gst_bin_recalc_state):
6714         Small doc updates.
6715
6716 2005-12-16  Wim Taymans  <wim@fluendo.com>
6717
6718         * common/check.mak:
6719         Added make forever target for check.
6720
6721 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6722
6723         * gst/gst.c: (init_post):
6724           make the registry cache file HOST_CPU-dependent
6725
6726 2005-12-16  Andy Wingo  <wingo@pobox.com>
6727
6728         * plugins/elements/gstbufferstore.c
6729         (gst_buffer_store_cleared_func): Pay attention to g_list_append
6730         return value.
6731
6732         * tests/check/gst/gstobject.c
6733         (test_fake_object_name_threaded_unique): Pay attention to
6734         g_list_sort return value.
6735
6736 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
6737
6738         * tools/gst-feedback-m.m:
6739           Update for 0.9/0.10 (fixes #323870).
6740
6741 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
6742
6743         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
6744           Fix lcopy for mini objects, the mini object needs to be ref'ed.
6745           
6746         * tests/check/gst/gstminiobject.c: (my_foo_init),
6747         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
6748         (test_value_collection), (gst_mini_object_suite):
6749           Add test to ensure refcounts end up as expected when passing
6750           GstMiniObjects through g_object_get() and g_object_set().
6751
6752 2005-12-14  Julien MOUTTE  <julien@moutte.net>
6753
6754         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6755         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
6756         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
6757         of collectpads. This version removes a lot of races without
6758         touching API/ABI. Yay !
6759
6760 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
6761
6762         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
6763           Don't allow activation of a srcpad in pull_range if it has no
6764           getrange function.
6765           Change some debug statements to be a little clearer
6766
6767         * plugins/elements/gsttypefindelement.c:
6768         (gst_type_find_handle_src_query):
6769           Check that we have a peer before executing queries thereupon.
6770
6771         * tests/examples/metadata/read-metadata.c: (message_loop):
6772           Use gst_bus_pop instead of gst_bus_poll when we just want it to
6773           immediately return us any available message with 0 timeout.
6774
6775 2005-12-12  Michael Smith  <msmith@fluendo.com>
6776
6777         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
6778           Don't unref factories after calling them.
6779         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
6780         * plugins/elements/gsttypefindelement.c:
6781         (gst_type_find_element_chain):
6782           Free lists of factories after using them. Fixing typefinding memory
6783           leaks.
6784
6785 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6786
6787         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
6788         (gst_plugin_feature_load):
6789           more meaningful debug output
6790         * configure.ac:
6791         * tests/Makefile.am:
6792         * tests/old/examples/Makefile.am:
6793           make make distcheck happy again
6794
6795 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
6796
6797         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
6798           Catch the special case where we are operating chain-based,
6799           but the downstream peer pad has no chain function. Emit a
6800           custom error message in this case instead of letting the
6801           core generate one implying that this is some sort of core
6802           bug. It's not, it just means that whatever got plugged
6803           into the pipeline downstream when we announced the type
6804           can only operate pull-based, while our source can only
6805           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
6806           Error string has not been marked for translation yet, as
6807           it probably needs some more work first.
6808
6809         (gst_type_find_element_get_best_possibility):
6810           Add helper function to find the best of all available
6811           found possibilities that qualify given the min. threshold.
6812
6813         (gst_type_find_element_handle_event):
6814           Fix the case where we get an EOS while still in TYPEFIND
6815           mode (we want to chose the best of all possible types,
6816           not just the first type that happens to be in our unsorted
6817           list of possible types).
6818
6819         (gst_type_find_element_chain):
6820           Make sure we return GST_FLOW_ERROR when we errored out
6821           in stop_typefinding(); also, don't just find the best of
6822           all found type entries and then use the last examined
6823           type entry, but actually use the best entry.
6824
6825 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
6826
6827         * tests/examples/typefind/typefind.c: (type_found):
6828         * tests/examples/xml/runxml.c: (xml_loaded):
6829           More gcc4 fixes and a mem leak fix.
6830
6831 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6832
6833         * tests/examples/xml/createxml.c: (object_saved):
6834           gcc 4 fixes
6835
6836 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6837
6838         * tests/Makefile.am:
6839           enable the examples even more
6840
6841 2005-12-12  Andy Wingo  <wingo@pobox.com>
6842
6843         * libs/gst/net/gstnettimeprovider.c
6844         (gst_net_time_provider_class_init, gst_net_time_provider_init)
6845         (gst_net_time_provider_set_property)
6846         (gst_net_time_provider_get_property):
6847         API addition: Export "active" as a GObject property.
6848         (gst_net_time_provider_thread): Only respond to time queries if
6849         the time provider is active.
6850
6851         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
6852         NetTimeProvider, preserving binary compat.
6853
6854 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6855
6856         * tests/examples/controller/audio-example.c: (main):
6857         * tests/examples/launch/Makefile.am:
6858           convert comments again
6859
6860 2005-12-12  Wim Taymans  <wim@fluendo.com>
6861
6862         * libs/gst/base/gstpushsrc.c:
6863         Fix typo.
6864
6865 2005-12-12  Wim Taymans  <wim@fluendo.com>
6866
6867         * docs/libs/gstreamer-libs-sections.txt:
6868         Added new symbol to docs.
6869
6870         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6871         (gst_base_src_init), (gst_base_src_set_format),
6872         (gst_base_src_default_query), (gst_base_src_query),
6873         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
6874         (gst_base_src_perform_seek), (gst_base_src_send_event),
6875         (gst_base_src_default_event), (gst_base_src_event_handler),
6876         (gst_base_src_set_property), (gst_base_src_get_property),
6877         (gst_base_src_wait), (gst_base_src_do_sync),
6878         (gst_base_src_update_length), (gst_base_src_get_range),
6879         (gst_base_src_check_get_range), (gst_base_src_loop),
6880         (gst_base_src_default_negotiate), (gst_base_src_start),
6881         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6882         (gst_base_src_change_state):
6883         * libs/gst/base/gstbasesrc.h:
6884         Implement seeking to other formats than _BYTES.
6885         Implement more seeking methods correctly.
6886         Doc updates.
6887         Added query vmethod.
6888         Added do_seek vmethod to make life easier for subclasses
6889         when seeking.
6890         API addition: gst_base_src_set_format()
6891
6892 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6893
6894         * tests/examples/Makefile.am:
6895           added that too
6896
6897 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6898
6899         * configure.ac:
6900         * docs/random/ensonic/media-device-daemon.txt:
6901         * tests/examples/controller/.cvsignore:
6902         * tests/examples/controller/Makefile.am:
6903         * tests/examples/controller/audio-example.c: (main):
6904         * tests/examples/helloworld/.cvsignore:
6905         * tests/examples/helloworld/Makefile.am:
6906         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
6907         * tests/examples/launch/.cvsignore:
6908         * tests/examples/launch/Makefile.am:
6909         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
6910         * tests/examples/metadata/.cvsignore:
6911         * tests/examples/metadata/Makefile.am:
6912         * tests/examples/metadata/read-metadata.c: (message_loop),
6913         (make_pipeline), (print_tag), (main):
6914         * tests/examples/queue/.cvsignore:
6915         * tests/examples/queue/Makefile.am:
6916         * tests/examples/queue/queue.c: (event_loop), (main):
6917         * tests/examples/typefind/.cvsignore:
6918         * tests/examples/typefind/Makefile.am:
6919         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
6920         (main):
6921         * tests/examples/xml/.cvsignore:
6922         * tests/examples/xml/Makefile.am:
6923         * tests/examples/xml/createxml.c: (object_saved), (main):
6924         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
6925         * tests/old/examples/Makefile.am:
6926         * tests/old/examples/TODO:
6927         * tests/old/examples/controller/.cvsignore:
6928         * tests/old/examples/controller/Makefile.am:
6929         * tests/old/examples/controller/audio-example.c:
6930         * tests/old/examples/helloworld/.cvsignore:
6931         * tests/old/examples/helloworld/Makefile.am:
6932         * tests/old/examples/helloworld/helloworld.c:
6933         * tests/old/examples/launch/.cvsignore:
6934         * tests/old/examples/launch/Makefile.am:
6935         * tests/old/examples/launch/mp3parselaunch.c:
6936         * tests/old/examples/launch/mp3play:
6937         * tests/old/examples/manual/Makefile.am:
6938         * tests/old/examples/metadata/Makefile.am:
6939         * tests/old/examples/metadata/read-metadata.c:
6940         * tests/old/examples/queue/.cvsignore:
6941         * tests/old/examples/queue/Makefile.am:
6942         * tests/old/examples/queue/queue.c:
6943         * tests/old/examples/typefind/.cvsignore:
6944         * tests/old/examples/typefind/Makefile.am:
6945         * tests/old/examples/typefind/typefind.c:
6946         * tests/old/examples/xml/.cvsignore:
6947         * tests/old/examples/xml/Makefile.am:
6948         * tests/old/examples/xml/createxml.c:
6949         * tests/old/examples/xml/runxml.c:
6950           applied some simple fixing to some examples
6951           re-enabled the working examples
6952
6953 2005-12-12  Wim Taymans  <wim@fluendo.com>
6954
6955         * gst/gstsegment.c: (gst_segment_init),
6956         (gst_segment_set_last_stop), (gst_segment_set_seek),
6957         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6958         (gst_segment_to_running_time):
6959         Added more documentation.
6960         Make sure the last_pos value is updated properly.
6961         Make sure to_stream_time and to_running_time don't
6962         operate on wrong values.
6963
6964         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6965         Update check.
6966
6967 2005-12-12  Michael Smith  <msmith@fluendo.com>
6968
6969         * plugins/elements/gsttypefindelement.c: (free_entry),
6970         (gst_type_find_element_chain):
6971           Now that we're not leaking factories, make sure we keep references
6972           to them while we need them.
6973
6974 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6975
6976         * tests/check/gst/struct_i386.h:
6977           ifdef out the XML structs
6978
6979 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6980
6981         * gst/gstvalue.c: (gst_value_transform_double_fraction):
6982           floor is not needed, F is always positive; this obviates the
6983           need for adding -lm when building without libxml
6984
6985 2005-12-12  Wim Taymans  <wim@fluendo.com>
6986
6987         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6988         Take current playback rate into account when reporting
6989         the position.
6990
6991 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6992
6993         * docs/manual/mime-world.fig:
6994           Let's try this again, this time with a file that is
6995           actually in XFig format.
6996
6997 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6998
6999         * docs/manual/mime-world.fig:
7000           Add audioconvert element to diagram so that it
7001           matches the text and the code (fixes #319526).
7002
7003 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
7004
7005         * docs/pwg/building-chainfn.xml:
7006         * docs/pwg/building-pads.xml:
7007         * docs/pwg/building-state.xml:
7008         * docs/pwg/other-source.xml:
7009           Update state change stuff for 0.10 (fixes #322969).
7010
7011 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
7012
7013         * docs/manual/advanced-dataaccess.xml:
7014         * docs/manual/appendix-checklist.xml:
7015         * docs/manual/appendix-programs.xml:
7016         * docs/manual/basics-pads.xml:
7017         * docs/manual/highlevel-components.xml:
7018         * docs/manual/manual.xml:
7019           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
7020           add converters in front of pipelines; remove curly
7021           brackets for threads stuff, they no longer exist; use
7022           GST_TYPE_FRACTION for framerates; update some pieces of
7023           code to 0.10, but there's plenty more to do.
7024
7025         * docs/manual/appendix-porting.xml:
7026           Expand on asynchroneous state changes; s/0.9/0.10/;
7027           mention disappearance of gst_init_get_popt_table()
7028           (fixes #322916).
7029
7030 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
7031
7032         * docs/faq/using.xml:
7033           Spider no longer exists, and neither does gst-launch-ext.
7034           Update examples to use decodebin and playbin and put
7035           converters in front of sinks (fixes #323726).
7036
7037 2005-12-09  Michael Smith  <msmith@fluendo.com>
7038
7039         * plugins/elements/gsttypefindelement.c: (find_peek),
7040         (gst_type_find_element_chain):
7041           Fix leaking element factories in typefinding.
7042           Fix problem where we forgot about a probable type on non-seekable
7043           files, and thus later mis-typefound it.
7044
7045 2005-12-09  Michael Smith  <msmith@fluendo.com>
7046
7047         * common/m4/gst-makecontext.m4:
7048         * common/m4/gst-mcsc.m4:
7049         * configure.ac:
7050         * win32/common/config.h:
7051         * win32/common/config.h.in:
7052           Remove makecontext stuff; not used in 0.10 and causes problems on
7053           HPUX according to bug #322441
7054
7055 2005-12-07  Wim Taymans  <wim@fluendo.com>
7056
7057         * tests/check/Makefile.am:
7058         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
7059         (main):
7060         * tests/check/libs/struct_i386.h:
7061         Added ABI check for libs
7062
7063 2005-12-07  Wim Taymans  <wim@fluendo.com>
7064
7065         * tests/check/Makefile.am:
7066         And add the struct_i386.h to dist.
7067
7068 2005-12-07  Wim Taymans  <wim@fluendo.com>
7069
7070         * tests/check/Makefile.am:
7071         * tests/check/gst/.cvsignore:
7072         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
7073         (main):
7074         * tests/check/gst/struct_i386.h:
7075         Added check for ABI compatibility.
7076
7077 2005-12-07  Wim Taymans  <wim@fluendo.com>
7078
7079         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7080         (gst_fake_src_get_times), (gst_fake_src_create):
7081         Fix broken sync option, fixes #323259
7082
7083 2005-12-07  Wim Taymans  <wim@fluendo.com>
7084
7085         * gst/gstbuffer.c:
7086         Small docs update.
7087
7088         * gst/gstcaps.c: (gst_caps_is_equal):
7089         Don't assert on NULL <--> X. Fixes #323260
7090
7091         * gst/gstminiobject.c: (gst_mini_object_replace):
7092         If we're doing atomic operations, we might just as well use
7093         the proper way to get an atomic pointer.
7094
7095         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
7096         Clean up debugging.
7097
7098 2005-12-07  Michael Smith  <msmith@fluendo.com>
7099
7100         * gst/parse/grammar.y:
7101           Remove handling of { } for threads.
7102
7103 2005-12-06  David Schleef  <ds@schleef.org>
7104
7105         * libs/gst/base/gstbasetransform.c: speling fix.
7106
7107 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7108
7109         * docs/libs/tmpl/gstdataprotocol.sgml:
7110         * docs/random/omega/testing/gstobject.c:
7111         * gst/gst.c:
7112         * gst/gstclock.c:
7113         * gst/gstelement.c:
7114         * gst/gstelementfactory.c:
7115         * gst/gsterror.c:
7116         * gst/gstevent.c:
7117         * gst/gstghostpad.c:
7118         * gst/gstinfo.c:
7119         * gst/gstpadtemplate.c:
7120         * gst/gstregistryxml.c:
7121         * gst/gsttaglist.c:
7122         * gst/gsttagsetter.c:
7123         * gst/gsttypefind.c:
7124         * gst/gstvalue.c:
7125         * libs/gst/base/gstbasesrc.c:
7126         * libs/gst/net/gstnetclientclock.c:
7127         * libs/gst/net/gstnettimeprovider.c:
7128         * plugins/elements/gstfakesrc.c:
7129         * plugins/elements/gstfdsrc.c:
7130         * plugins/elements/gstfilesrc.c:
7131         * plugins/elements/gstidentity.c:
7132         * plugins/elements/gstqueue.c:
7133         * plugins/elements/gsttypefindelement.c:
7134         * plugins/indexers/gstfileindex.c:
7135         * plugins/indexers/gstmemindex.c:
7136         * tests/check/gst/gsttag.c:
7137         * tests/old/examples/cutter/cutter.c:
7138         * tests/old/examples/mixer/mixer.c:
7139         * tests/old/examples/xml/runxml.c: (main):
7140         * tests/old/testsuite/caps/normalisation.c:
7141         * tests/old/testsuite/debug/global.c:
7142         * tests/old/testsuite/parse/parse1.c:
7143         * tools/gst-xmlinspect.c:
7144         * win32/common/dirent.c:
7145           expand tabs
7146
7147 === release 0.10.0 ===
7148
7149 2005-12-05   <thomas (at) apestaart (dot) org>
7150
7151         * configure.ac:
7152           releasing 0.10.0, "Maroilles"
7153
7154 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7155
7156         submitted by: Funda Wang <fundawang@linux.net.cn>
7157
7158         * po/LINGUAS:
7159         * po/zh_CN.po:
7160           added Chinese (Traditional) translation
7161
7162 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7163
7164         * docs/gst/gstreamer-sections.txt:
7165         * docs/libs/tmpl/gstdataprotocol.sgml:
7166         * docs/random/thomasvs/TODO:
7167         * gst/gstutils.c:
7168         * gst/gstutils.h:
7169           fix docs
7170
7171 2005-12-05  Andy Wingo  <wingo@pobox.com>
7172
7173         patch by: Wim Taymans <wim@fluendo.com>
7174
7175         * libs/gst/base/gstbasetransform.c
7176         (gst_base_transform_prepare_output_buf)
7177         (gst_base_transform_buffer_alloc):
7178         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
7179         alloc_buffer_and_set_caps.
7180
7181         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
7182         set_caps on the source pad.
7183         (gst_pad_alloc_buffer_and_set_caps): New function, does what
7184         alloc_buffer used to do. Fixes #322874.
7185
7186         * docs/gst/gstreamer-sections.txt: 
7187         * docs/design/part-negotiation.txt: 
7188         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
7189         changes.
7190
7191 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7192
7193         patch by: Sebastien Moutte
7194
7195         * win32/MANIFEST:
7196         * win32/common/config.h.in:
7197         * win32/vs6/libgstcontroller.dsp:
7198           win32 build fixes
7199
7200 2005-12-05  Wim Taymans  <wim@fluendo.com>
7201
7202         * gst/gstcaps.c: (gst_caps_is_equal):
7203         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7204         (gst_fake_src_create):
7205         Back out previous code changes, leave doc updates, file bugs 
7206         instead. 
7207
7208 2005-12-05  Wim Taymans  <wim@fluendo.com>
7209
7210         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7211         (gst_fake_src_get_times), (gst_fake_src_create):
7212         * plugins/elements/gstfakesrc.h:
7213         Fix broken sync code.
7214
7215 2005-12-05  Wim Taymans  <wim@fluendo.com>
7216
7217         * gst/gstcaps.c: (gst_caps_is_equal):
7218         Comparing NULL against !NULL yields different caps, not a
7219         failure.
7220
7221 2005-12-05  Wim Taymans  <wim@fluendo.com>
7222
7223         * gst/gstpipeline.c:
7224         Fix small typo in docs.
7225
7226 2005-12-05  Andy Wingo  <wingo@pobox.com>
7227
7228         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
7229
7230         * gst/gst.c (init_post): remove hard-coded 0.9 location for
7231         registries/plugins with a MAJORMINOR one.
7232         (plugin_desc): Rename library from gstcoreleements to
7233         staticelements. Fixes #323222.
7234
7235 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
7236
7237         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
7238           Change debug category to 'collectpads' from 'collect_pads'
7239           (fixes #323250).
7240
7241 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7242
7243         patch by: Sebastien Moutte
7244
7245         * libs/gst/controller/gstinterpolation.c:
7246           use convert function for uint64/double
7247         * win32/vs6/libgstcontroller.dsp:
7248           link to GLib
7249
7250 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7251
7252         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
7253         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
7254         * gst/gstutils.h:
7255         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7256           add tests that seem to show that the guint64/gdouble conversions
7257           are correct.
7258
7259 2005-12-02  Wim Taymans  <wim@fluendo.com>
7260
7261         * gst/gstregistry.c: (gst_registry_add_path):
7262         * gst/gstregistry.h:
7263         * gst/gstregistryxml.c:
7264         Fix docs again.
7265
7266 2005-12-02  Wim Taymans  <wim@fluendo.com>
7267
7268         * gst/gstutils.c: (gst_util_uint64_scale_int64),
7269         (gst_util_uint64_scale_int):
7270         Small cleanup.
7271
7272         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7273         Add debug log line.
7274
7275         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
7276         Add FIXME.
7277
7278 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7279
7280         * win32/MANIFEST:
7281         * win32/common/config.h:
7282         * win32/vs6/gstreamer.dsw:
7283         * win32/vs6/libgstcoreelements.dsp:
7284         * win32/vs6/libgstelements.dsp:
7285           renamed core elements plugin
7286
7287 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7288
7289         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
7290         (get_candidates):
7291           do piece-wise major/minor comparison so 0.9 < 0.10
7292           also allow .exe extensions for tools
7293
7294 2005-12-02  Michael Smith  <msmith@fluendo.com>
7295
7296         * gst/gst.c:
7297           Escape a % to make gtkdoc happier; bug 322958.
7298
7299 === release 0.9.7 ===
7300
7301 2005-12-01   <thomas (at) apestaart (dot) org>
7302
7303         * configure.ac:
7304           releasing 0.9.7, "My Dog Has No Nose"
7305
7306 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7307
7308         * common/gst-xmlinspect.py:
7309         * configure.ac:
7310         * docs/libs/tmpl/gstdataprotocol.sgml:
7311         * docs/random/release:
7312         * po/af.po:
7313         * po/az.po:
7314         * po/bg.po:
7315         * po/ca.po:
7316         * po/cs.po:
7317         * po/de.po:
7318         * po/en_GB.po:
7319         * po/fr.po:
7320         * po/it.po:
7321         * po/nb.po:
7322         * po/nl.po:
7323         * po/ru.po:
7324         * po/sq.po:
7325         * po/sr.po:
7326         * po/sv.po:
7327         * po/tr.po:
7328         * po/uk.po:
7329         * po/vi.po:
7330         * win32/common/config.h:
7331         * win32/common/config.h.in:
7332         * win32/vs6/gst_inspect.dsp:
7333         * win32/vs6/gst_launch.dsp:
7334         * win32/vs6/libgstbase.dsp:
7335         * win32/vs6/libgstelements.dsp:
7336         * win32/vs6/libgstreamer.dsp:
7337         * win32/vs7/GStreamer.vcproj:
7338         * win32/vs7/gst-inspect.vcproj:
7339         * win32/vs7/gst-launch.vcproj:
7340         * win32/vs7/libgstbase.vcproj:
7341           bump GST_MAJORMINOR to 0.10
7342           reset libtool version
7343
7344 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7345
7346         * po/LINGUAS:
7347         * po/bg.po:
7348           Added Bulgarian translation by (Alexander Shopov)
7349
7350 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7351
7352         * tests/check/gst/gstplugin.c:
7353           fix test
7354
7355 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7356
7357         * common/gst-xmlinspect.py:
7358         * common/gtk-doc-plugins.mak:
7359         * configure.ac:
7360         * docs/Makefile.am:
7361         * docs/gst/Makefile.am:
7362         * docs/gst/gstreamer-docs.sgml:
7363         * docs/gst/gstreamer-sections.txt:
7364         * docs/gst/gstreamer.types:
7365         * docs/gst/gstreamer.types.in:
7366         * docs/plugins/Makefile.am:
7367         * docs/plugins/gstreamer-plugins-docs.sgml:
7368         * docs/plugins/gstreamer-plugins-sections.txt:
7369         * docs/plugins/gstreamer-plugins.types:
7370         * docs/plugins/inspect.stamp:
7371         * docs/plugins/inspect/plugin-coreelements.xml:
7372         * docs/plugins/inspect/plugin-coreindexers.xml:
7373         * docs/plugins/scanobj-build.stamp:
7374         * gstreamer.spec.in:
7375         * plugins/elements/Makefile.am:
7376         * plugins/elements/gstelements.c:
7377         * plugins/elements/gstfakesink.c:
7378         * plugins/elements/gstfakesrc.c:
7379         * plugins/elements/gstfilesink.c:
7380         * plugins/elements/gstfilesrc.c:
7381         * plugins/elements/gstqueue.c:
7382         * plugins/indexers/Makefile.am:
7383         * plugins/indexers/gstindexers.c:
7384           document core plugins in a separate document just like all the
7385           others
7386           rename these plugins to something starting with core
7387
7388 2005-12-01  Andy Wingo  <wingo@pobox.com>
7389
7390         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
7391         padding here before, but it missed the commit.
7392
7393 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7394
7395         * libs/gst/controller/gstinterpolation.c:
7396           whitespace prices have crashed, we should feel free to use some now
7397           use gst_guint64_to_gdouble
7398
7399 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7400
7401         * libs/gst/controller/gstcontroller.c:
7402         * libs/gst/controller/gsthelper.c:
7403         * libs/gst/controller/gstinterpolation.c:
7404         * libs/gst/controller/lib.c:
7405           wrap config.h include
7406
7407 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7408
7409         * docs/gst/gstreamer-sections.txt:
7410           update docs
7411
7412 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7413
7414         * plugins/elements/gstelements.c:
7415         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
7416         (gst_fd_sink__class_init), (gst_fd_sink__init),
7417         (gst_fd_sink__chain), (gst_fd_sink__set_property),
7418         (gst_fd_sink__get_property):
7419         * plugins/elements/gstfdsink.h:
7420         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
7421         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
7422         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
7423         (gst_fd_src_unlock), (gst_fd_src_set_property),
7424         (gst_fd_src_get_property), (gst_fd_src_create),
7425         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
7426         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
7427         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
7428         (gst_fd_src_uri_handler_init):
7429         * plugins/elements/gstfdsrc.h:
7430         * plugins/elements/gstqueue.c: (gst_queue_get_type):
7431           more anal cleanup
7432
7433 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7434
7435         * docs/gst/Makefile.am:
7436         * docs/gst/gstreamer.types.in:
7437         * gst/Makefile.am:
7438           fix the docs build
7439
7440 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7441
7442         * configure.ac:
7443         * gst/Makefile.am:
7444         * gst/gst.c:
7445         * gst/gstplugin.h:
7446         * gst/gstregistry.h:
7447         * tests/benchmarks/complexity.c:
7448         * tests/benchmarks/mass-elements.c:
7449         * tests/check/Makefile.am:
7450         * tools/Makefile.am:
7451         * tools/gst-inspect.c:
7452         * tools/gst-xmlinspect.c:
7453           various fixes to make
7454           --disable-nls --disable-registry --disable-loadsave
7455           --disable-parse --disable-gst-debug
7456           work and get the core .so down to 360444 bytes after stripping
7457
7458 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7459
7460         * Makefile.am:
7461         * configure.ac:
7462           descend into tests
7463         * docs/random/thomasvs/TODO:
7464         * tests/Makefile.am:
7465         * tests/README:
7466           add a README
7467
7468 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7469
7470         * win32/GStreamer.vcproj:
7471         * win32/MANIFEST:
7472         * win32/Makefile:
7473         * win32/Makefile.inspect:
7474         * win32/Makefile.launch:
7475         * win32/Makefile.register:
7476         * win32/README.txt:
7477         * win32/gst-inspect.vcproj:
7478         * win32/gst-launch.vcproj:
7479         * win32/gst-register.vcproj:
7480         * win32/gstelements.vcproj:
7481         * win32/gstgetbits.def:
7482         * win32/gstgetbits.vcproj:
7483         * win32/gstreamer-dbg.def:
7484         * win32/gstreamer.def:
7485         * win32/libgstbase.def:
7486         * win32/libgstbase.vcproj:
7487         * win32/link_oldruntime.c:
7488         * win32/mman.c:
7489         * win32/mman.h:
7490         * win32/mman.inl:
7491         * win32/msvc71.sln:
7492           move even more stuff, win32/ is nice and clean now
7493
7494 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7495
7496         * libs/gst/control/.cvsignore:
7497         * win32/MANIFEST:
7498         * win32/config.h:
7499         * win32/dirent.c:
7500         * win32/dirent.h:
7501         * win32/gstbytestream.def:
7502         * win32/gstbytestream.vcproj:
7503         * win32/gstconfig.h:
7504         * win32/gstenumtypes.c:
7505         * win32/gstenumtypes.h:
7506         * win32/gstoptimalscheduler.vcproj:
7507         * win32/gstversion.h:
7508         * win32/gtchar.h:
7509         * win32/testsuite/bins.vcproj:
7510         * win32/testsuite/bytestream.vcproj:
7511         * win32/testsuite/caps.vcproj:
7512         * win32/testsuite/cleanup.vcproj:
7513         * win32/testsuite/clock.vcproj:
7514         * win32/testsuite/debug.vcproj:
7515         * win32/testsuite/dlopen.vcproj:
7516         * win32/testsuite/dynparams.vcproj:
7517         * win32/testsuite/elements.vcproj:
7518         * win32/testsuite/ghostpads.vcproj:
7519         * win32/testsuite/indexers.vcproj:
7520         * win32/testsuite/negotiation.vcproj:
7521         * win32/testsuite/parse.vcproj:
7522         * win32/testsuite/plugin.vcproj:
7523         * win32/testsuite/refcounting.vcproj:
7524         * win32/testsuite/schedulers.vcproj:
7525         * win32/testsuite/states.vcproj:
7526         * win32/testsuite/tags.vcproj:
7527         * win32/testsuite/threads.vcproj:
7528           remove old win32 stuff that isn't maintained and should be
7529           reorganized
7530
7531 2005-11-30  Andy Wingo  <wingo@pobox.com>
7532
7533         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
7534         loading the gst.interfaces python module bork.
7535
7536         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
7537         available since GLib 2.2. Fixes #318031.
7538
7539 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7540
7541         * Makefile.am:
7542         * check/.cvsignore:
7543         * check/Makefile.am:
7544         * check/elements/.cvsignore:
7545         * check/elements/fakesrc.c:
7546         * check/elements/fdsrc.c:
7547         * check/elements/identity.c:
7548         * check/generic/.cvsignore:
7549         * check/generic/states.c:
7550         * check/gst-libs/.cvsignore:
7551         * check/gst-libs/controller.c:
7552         * check/gst-libs/gdp.c:
7553         * check/gst/.cvsignore:
7554         * check/gst/capslist.h:
7555         * check/gst/gst.c:
7556         * check/gst/gstbin.c:
7557         * check/gst/gstbuffer.c:
7558         * check/gst/gstbus.c:
7559         * check/gst/gstcaps.c:
7560         * check/gst/gstelement.c:
7561         * check/gst/gstevent.c:
7562         * check/gst/gstghostpad.c:
7563         * check/gst/gstiterator.c:
7564         * check/gst/gstmessage.c:
7565         * check/gst/gstminiobject.c:
7566         * check/gst/gstobject.c:
7567         * check/gst/gstpad.c:
7568         * check/gst/gstpipeline.c:
7569         * check/gst/gstplugin.c:
7570         * check/gst/gstsegment.c:
7571         * check/gst/gststructure.c:
7572         * check/gst/gstsystemclock.c:
7573         * check/gst/gsttag.c:
7574         * check/gst/gstutils.c:
7575         * check/gst/gstvalue.c:
7576         * check/net/.cvsignore:
7577         * check/net/gstnetclientclock.c:
7578         * check/net/gstnettimeprovider.c:
7579         * check/pipelines/.cvsignore:
7580         * check/pipelines/cleanup.c:
7581         * check/pipelines/simple_launch_lines.c:
7582         * check/pipelines/stress.c:
7583         * check/states/.cvsignore:
7584         * check/states/sinks.c:
7585         * configure.ac:
7586         * examples/Makefile.am:
7587         * examples/appreader/.cvsignore:
7588         * examples/appreader/Makefile.am:
7589         * examples/appreader/appreader.c:
7590         * examples/controller/.cvsignore:
7591         * examples/controller/Makefile.am:
7592         * examples/controller/audio-example.c:
7593         * examples/cutter/.cvsignore:
7594         * examples/cutter/Makefile.am:
7595         * examples/cutter/cutter.c:
7596         * examples/cutter/cutter.h:
7597         * examples/events/Makefile.am:
7598         * examples/events/seek.c:
7599         * examples/helloworld/.cvsignore:
7600         * examples/helloworld/Makefile.am:
7601         * examples/helloworld/helloworld.c:
7602         * examples/helloworld2/.cvsignore:
7603         * examples/helloworld2/Makefile.am:
7604         * examples/helloworld2/helloworld2.c:
7605         * examples/launch/.cvsignore:
7606         * examples/launch/Makefile.am:
7607         * examples/launch/mp3parselaunch.c:
7608         * examples/launch/mp3play:
7609         * examples/manual/.cvsignore:
7610         * examples/manual/Makefile.am:
7611         * examples/manual/extract.pl:
7612         * examples/metadata/Makefile.am:
7613         * examples/metadata/read-metadata.c:
7614         * examples/mixer/.cvsignore:
7615         * examples/mixer/Makefile.am:
7616         * examples/mixer/mixer.c:
7617         * examples/mixer/mixer.h:
7618         * examples/pingpong/.cvsignore:
7619         * examples/pingpong/Makefile.am:
7620         * examples/pingpong/pingpong.c:
7621         * examples/plugins/.cvsignore:
7622         * examples/plugins/Makefile.am:
7623         * examples/plugins/example.c:
7624         * examples/plugins/example.h:
7625         * examples/pwg/.cvsignore:
7626         * examples/pwg/Makefile.am:
7627         * examples/pwg/extract.pl:
7628         * examples/queue/.cvsignore:
7629         * examples/queue/Makefile.am:
7630         * examples/queue/queue.c:
7631         * examples/queue2/.cvsignore:
7632         * examples/queue2/Makefile.am:
7633         * examples/queue2/queue2.c:
7634         * examples/queue3/.cvsignore:
7635         * examples/queue3/Makefile.am:
7636         * examples/queue3/queue3.c:
7637         * examples/queue4/.cvsignore:
7638         * examples/queue4/Makefile.am:
7639         * examples/queue4/queue4.c:
7640         * examples/retag/.cvsignore:
7641         * examples/retag/Makefile.am:
7642         * examples/retag/retag.c:
7643         * examples/retag/transcode.c:
7644         * examples/thread/.cvsignore:
7645         * examples/thread/Makefile.am:
7646         * examples/thread/thread.c:
7647         * examples/typefind/.cvsignore:
7648         * examples/typefind/Makefile.am:
7649         * examples/typefind/typefind.c:
7650         * examples/xml/.cvsignore:
7651         * examples/xml/Makefile.am:
7652         * examples/xml/createxml.c:
7653         * examples/xml/runxml.c:
7654         * tests/Makefile.am:
7655         * tests/check/Makefile.am:
7656         * testsuite/.cvsignore:
7657         * testsuite/Makefile.am:
7658         * testsuite/Rules:
7659         * testsuite/caps/.cvsignore:
7660         * testsuite/caps/Makefile.am:
7661         * testsuite/caps/app_fixate.c:
7662         * testsuite/caps/audioscale.c:
7663         * testsuite/caps/caps.c:
7664         * testsuite/caps/caps.h:
7665         * testsuite/caps/caps_strings:
7666         * testsuite/caps/compatibility.c:
7667         * testsuite/caps/deserialize.c:
7668         * testsuite/caps/enumcaps.c:
7669         * testsuite/caps/eratosthenes.c:
7670         * testsuite/caps/filtercaps.c:
7671         * testsuite/caps/fixed.c:
7672         * testsuite/caps/fraction-convert.c:
7673         * testsuite/caps/fraction-multiply-and-zero.c:
7674         * testsuite/caps/intersect2.c:
7675         * testsuite/caps/intersection.c:
7676         * testsuite/caps/normalisation.c:
7677         * testsuite/caps/random.c:
7678         * testsuite/caps/renegotiate.c:
7679         * testsuite/caps/sets.c:
7680         * testsuite/caps/simplify.c:
7681         * testsuite/caps/string-conversions.c:
7682         * testsuite/caps/structure.c:
7683         * testsuite/caps/subtract.c:
7684         * testsuite/caps/union.c:
7685         * testsuite/debug/.cvsignore:
7686         * testsuite/debug/Makefile.am:
7687         * testsuite/debug/category.c:
7688         * testsuite/debug/commandline.c:
7689         * testsuite/debug/global.c:
7690         * testsuite/debug/output.c:
7691         * testsuite/debug/printf_extension.c:
7692         * testsuite/dlopen/.cvsignore:
7693         * testsuite/dlopen/Makefile.am:
7694         * testsuite/dlopen/dlopen_gst.c:
7695         * testsuite/dlopen/loadgst.c:
7696         * testsuite/elements/.cvsignore:
7697         * testsuite/elements/Makefile.am:
7698         * testsuite/elements/gst-inspect-check.in:
7699         * testsuite/elements/struct_i386.h:
7700         * testsuite/elements/struct_size.c:
7701         * testsuite/indexers/.cvsignore:
7702         * testsuite/indexers/Makefile.am:
7703         * testsuite/indexers/cache1.c:
7704         * testsuite/indexers/indexdump.c:
7705         * testsuite/parse/.cvsignore:
7706         * testsuite/parse/Makefile.am:
7707         * testsuite/parse/parse1.c:
7708         * testsuite/parse/parse2.c:
7709         * testsuite/plugin/.cvsignore:
7710         * testsuite/plugin/Makefile.am:
7711         * testsuite/plugin/README:
7712         * testsuite/plugin/dynamic.c:
7713         * testsuite/plugin/linked.c:
7714         * testsuite/plugin/loading.c:
7715         * testsuite/plugin/registry.c:
7716         * testsuite/plugin/static.c:
7717         * testsuite/plugin/static2.c:
7718         * testsuite/plugin/testplugin.c:
7719         * testsuite/plugin/testplugin2.c:
7720         * testsuite/plugin/testplugin2_s.c:
7721         * testsuite/plugin/testplugin_s.c:
7722         * testsuite/refcounting/.cvsignore:
7723         * testsuite/refcounting/Makefile.am:
7724         * testsuite/refcounting/bin.c:
7725         * testsuite/refcounting/element.c:
7726         * testsuite/refcounting/element_pad.c:
7727         * testsuite/refcounting/mainloop.c:
7728         * testsuite/refcounting/mem.c:
7729         * testsuite/refcounting/mem.h:
7730         * testsuite/refcounting/object.c:
7731         * testsuite/refcounting/pad.c:
7732         * testsuite/refcounting/sched.c:
7733         * testsuite/refcounting/thread.c:
7734         * testsuite/states/.cvsignore:
7735         * testsuite/states/Makefile.am:
7736         * testsuite/states/bin.c:
7737         * testsuite/states/locked.c:
7738         * testsuite/states/parent.c:
7739         * testsuite/threads/.cvsignore:
7740         * testsuite/threads/159566.c:
7741         * testsuite/threads/159852.c:
7742         * testsuite/threads/Makefile.am:
7743         * testsuite/threads/queue.c:
7744         * testsuite/threads/signals.c:
7745         * testsuite/threads/staticrec.c:
7746         * testsuite/threads/thread.c:
7747         * testsuite/threads/threadb.c:
7748         * testsuite/threads/threadc.c:
7749         * testsuite/threads/threadd.c:
7750         * testsuite/threads/threade.c:
7751         * testsuite/threads/threadf.c:
7752         * testsuite/threads/threadg.c:
7753         * testsuite/threads/threadh.c:
7754         * testsuite/threads/threadi.c:
7755           move all of these under tests
7756
7757 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7758
7759         * configure.ac:
7760         * tests/Makefile.am:
7761           fix distcheck
7762
7763 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7764
7765         * docs/gst/gstreamer-sections.txt:
7766         * tests/sched/.cvsignore:
7767         * tests/sched/Makefile.am:
7768         * tests/sched/cases/(fs-fs).xml:
7769         * tests/sched/cases/(fs-i-fs).xml:
7770         * tests/sched/cases/(fs-i-i-fs).xml:
7771         * tests/sched/cases/(fs-i-q[i-fs]).xml:
7772         * tests/sched/dynamic-pipeline.c:
7773         * tests/sched/interrupt1.c:
7774         * tests/sched/interrupt2.c:
7775         * tests/sched/interrupt3.c:
7776         * tests/sched/runtestcases:
7777         * tests/sched/runxml.c:
7778         * tests/sched/sched-stress.c:
7779         * tests/sched/sort.c:
7780         * tests/sched/testcases:
7781         * tests/sched/testcases1.tc:
7782         * tests/seeking/.cvsignore:
7783         * tests/seeking/Makefile.am:
7784         * tests/seeking/seeking1.c:
7785         * tests/threadstate/.cvsignore:
7786         * tests/threadstate/Makefile.am:
7787         * tests/threadstate/test1.c:
7788         * tests/threadstate/test2.c:
7789         * tests/threadstate/threadstate1.c:
7790         * tests/threadstate/threadstate2.c:
7791         * tests/threadstate/threadstate3.c:
7792         * tests/threadstate/threadstate4.c:
7793         * tests/threadstate/threadstate5.c:
7794           remove obsolete tests
7795         * configure.ac:
7796         * tests/bench-complexity.scm:
7797         * tests/bench-mass_elements.scm:
7798         * tests/complexity.c:
7799         * tests/complexity.gnuplot:
7800         * tests/instantiate/.cvsignore:
7801         * tests/instantiate/Makefile.am:
7802         * tests/instantiate/caps.c:
7803         * tests/mass_elements.c:
7804         * tests/network-clock-utils.scm:
7805         * tests/network-clock.scm:
7806         * tests/plot-data:
7807         First pass at cleaning up tests/ dir before moving the rest
7808         Combined with CVS surgery
7809
7810 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7811
7812         * po/POTFILES.in:
7813           queue has moved, update
7814
7815 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7816
7817         * docs/gst/gstreamer-sections.txt:
7818           remove double entries from the docs
7819         * gst/gst_private.h:
7820         * gst/gstinfo.c: (_gst_debug_init):
7821           remove the THREAD debug category
7822         * gst/Makefile.am:
7823         * gst/gstqueue.c:
7824         * gst/gstqueue.h:
7825         * docs/gst/gstreamer.types:
7826         * plugins/elements/gstqueue.c: (gst_queue_get_type),
7827         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
7828           completely move queue and fix up debugging categories
7829
7830 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7831
7832         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7833           make initialization portable, using LL is not
7834
7835 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7836
7837         * win32/common/gstconfig.h:
7838           add large padding
7839
7840 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7841
7842         * win32/common/libgstreamer.def:
7843           rename symbols; sort base section
7844
7845 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7846
7847         * gst/gstclock.c: (do_linear_regression):
7848           remove crack non-portable handrolled DEBUG macro
7849
7850 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7851
7852         * docs/random/release:
7853           update notes
7854         * win32/common/gstenumtypes.c: (register_gst_object_flags),
7855         (gst_object_flags_get_type), (register_gst_bin_flags),
7856         (gst_bin_flags_get_type), (register_gst_buffer_flag),
7857         (gst_buffer_flag_get_type), (register_gst_bus_flags),
7858         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7859         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
7860         (gst_caps_flags_get_type), (register_gst_clock_return),
7861         (gst_clock_return_get_type), (register_gst_clock_entry_type),
7862         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7863         (gst_clock_flags_get_type), (register_gst_state),
7864         (gst_state_get_type), (register_gst_state_change_return),
7865         (gst_state_change_return_get_type), (register_gst_state_change),
7866         (gst_state_change_get_type), (register_gst_element_flags),
7867         (gst_element_flags_get_type), (register_gst_core_error),
7868         (gst_core_error_get_type), (register_gst_library_error),
7869         (gst_library_error_get_type), (register_gst_resource_error),
7870         (gst_resource_error_get_type), (register_gst_stream_error),
7871         (gst_stream_error_get_type), (register_gst_event_type_flags),
7872         (gst_event_type_flags_get_type), (register_gst_event_type),
7873         (gst_event_type_get_type), (register_gst_seek_type),
7874         (gst_seek_type_get_type), (register_gst_seek_flags),
7875         (gst_seek_flags_get_type), (register_gst_format),
7876         (gst_format_get_type), (register_gst_index_certainty),
7877         (gst_index_certainty_get_type), (register_gst_index_entry_type),
7878         (gst_index_entry_type_get_type),
7879         (register_gst_index_lookup_method),
7880         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7881         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7882         (gst_index_resolver_method_get_type), (register_gst_index_flags),
7883         (gst_index_flags_get_type), (register_gst_debug_level),
7884         (gst_debug_level_get_type), (register_gst_debug_color_flags),
7885         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7886         (gst_iterator_result_get_type), (register_gst_iterator_item),
7887         (gst_iterator_item_get_type), (register_gst_message_type),
7888         (gst_message_type_get_type), (register_gst_mini_object_flags),
7889         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7890         (gst_pad_link_return_get_type), (register_gst_flow_return),
7891         (gst_flow_return_get_type), (register_gst_activate_mode),
7892         (gst_activate_mode_get_type), (register_gst_pad_direction),
7893         (gst_pad_direction_get_type), (register_gst_pad_flags),
7894         (gst_pad_flags_get_type), (register_gst_pad_presence),
7895         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7896         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7897         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7898         (gst_plugin_error_get_type), (register_gst_plugin_flags),
7899         (gst_plugin_flags_get_type), (register_gst_rank),
7900         (gst_rank_get_type), (register_gst_query_type),
7901         (gst_query_type_get_type), (register_gst_tag_merge_mode),
7902         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7903         (gst_tag_flag_get_type), (register_gst_task_state),
7904         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7905         (gst_alloc_trace_flags_get_type),
7906         (register_gst_type_find_probability),
7907         (gst_type_find_probability_get_type), (register_gst_uri_type),
7908         (gst_uri_type_get_type), (register_gst_parse_error),
7909         (gst_parse_error_get_type):
7910         * win32/common/gstenumtypes.h:
7911         * win32/common/gstversion.h:
7912           update visual studio generated files
7913
7914 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7915
7916         * win32/vs6/libgstbase.dsp:
7917         * win32/vs6/libgstelements.dsp:
7918           update project files for new locations
7919
7920 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7921
7922         * Makefile.am:
7923           remove some files
7924         * README:
7925           reinstate and update
7926         * DEVEL:
7927         * REQUIREMENTS:
7928           removed
7929         * LICENSE:
7930         * docs/random/LICENSE:
7931           moved to random
7932
7933 2005-11-30  Edward Hervey  <edward@fluendo.com>
7934
7935         * gst/gsttypefind.c: (gst_type_find_register):
7936         * gst/gsttypefind.h:
7937         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
7938         (gst_type_find_factory_dispose):
7939         * gst/gsttypefindfactory.h:
7940         Fix memory leak in GstTypeFindFactory.
7941
7942 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7943
7944         * gst/gst.c:
7945         * plugins/elements/Makefile.am:
7946         * plugins/elements/gstelements.c:
7947         * plugins/elements/gstqueue.c:
7948           move queue from core to the elements plugin
7949
7950 2005-11-29  Andy Wingo  <wingo@pobox.com>
7951
7952         * libs/gst/base/gstbasetransform.h: 
7953         * libs/gst/base/gstbasesrc.h: 
7954         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
7955
7956         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
7957         of pointers by which to pad very extensible base classes (like the
7958         ones in libs/gst/base).
7959
7960 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7961
7962         * docs/gst/gstreamer-docs.sgml:
7963         * docs/gst/gstreamer-sections.txt:
7964         * docs/libs/gstreamer-libs-docs.sgml:
7965         * docs/libs/gstreamer-libs-sections.txt:
7966           moving documentation from core to lib
7967
7968 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7969
7970         * check/Makefile.am:
7971         * configure.ac:
7972         * docs/gst/Makefile.am:
7973         * gst/Makefile.am:
7974         * gst/base/.cvsignore:
7975         * gst/base/Makefile.am:
7976         * gst/base/README:
7977         * gst/base/gstadapter.c:
7978         * gst/base/gstadapter.h:
7979         * gst/base/gstbasesink.c:
7980         * gst/base/gstbasesink.h:
7981         * gst/base/gstbasesrc.c:
7982         * gst/base/gstbasesrc.h:
7983         * gst/base/gstbasetransform.c:
7984         * gst/base/gstbasetransform.h:
7985         * gst/base/gstcollectpads.c:
7986         * gst/base/gstcollectpads.h:
7987         * gst/base/gstpushsrc.c:
7988         * gst/base/gstpushsrc.h:
7989         * gst/base/gsttypefindhelper.c:
7990         * gst/base/gsttypefindhelper.h:
7991         * gst/check/Makefile.am:
7992         * gst/check/gstcheck.c:
7993         * gst/check/gstcheck.h:
7994         * gst/net/Makefile.am:
7995         * gst/net/gstnet.h:
7996         * gst/net/gstnetclientclock.c:
7997         * gst/net/gstnetclientclock.h:
7998         * gst/net/gstnettimepacket.c:
7999         * gst/net/gstnettimepacket.h:
8000         * gst/net/gstnettimeprovider.c:
8001         * gst/net/gstnettimeprovider.h:
8002         * libs/gst/Makefile.am:
8003         * libs/gst/base/Makefile.am:
8004         * libs/gst/base/gstbasetransform.c:
8005         * libs/gst/check/Makefile.am:
8006         * plugins/elements/Makefile.am:
8007         * po/POTFILES.in:
8008           CVS surgery + support to move base, check, and net out of gst
8009           and into libs/gst
8010
8011 2005-11-29  Andy Wingo  <wingo@pobox.com>
8012
8013         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
8014
8015         * gst/gststructure.h (struct _GstStructure): Only one pointer of
8016         padding.
8017
8018         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
8019
8020         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
8021
8022         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
8023
8024         * gst/gstobject.h: (struct _GstObject): Only one pointer of
8025         padding; reduces object size by about 30%. We don't expect
8026         anything else to go into gstobject.
8027
8028         * gst/gstminiobject.h (struct _GstMiniObject)
8029         (struct _GstMiniObjectClass): Only one pointer of padding; the
8030         payload is only a pointer and two ints anyway. For the class there
8031         are only two methods as well.
8032         
8033         * gst/gstelement.h (struct _GstElementClass): Removed
8034         the state_changed signal callback, it is not used.
8035
8036 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8037
8038         * docs/gst/gstreamer.types:
8039           fix includes, though they are a little dinky
8040
8041 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8042
8043         * check/Makefile.am:
8044           look in the right place for elements, a lot more chance of
8045           success
8046         * gst/Makefile.am:
8047           remove indexers and elements subdirs
8048         * plugins/Makefile.am:
8049           make indexers conditional
8050
8051 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8052
8053         * Makefile.am:
8054         * configure.ac:
8055         * plugins/elements/Makefile.am:
8056         * plugins/elements/gstcapsfilter.c:
8057         * plugins/elements/gstfilesink.c:
8058         * plugins/elements/gstfilesrc.c:
8059         * plugins/elements/gstidentity.c:
8060         * plugins/indexers/Makefile.am:
8061           do CVS surgery and related build fixery to move elements
8062           and indexers in a new gstreamer/plugins directory, out of the
8063           gst/ directory
8064
8065 2005-11-29  Andy Wingo  <wingo@pobox.com>
8066
8067         * check/Makefile.am:
8068         * pkgconfig/gstreamer-net-uninstalled.pc.in:
8069         * pkgconfig/gstreamer-net.pc.in:
8070         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
8071         #322257.
8072
8073 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8074
8075         * tools/Makefile.am:
8076         * tools/gst-complete.1.in:
8077         * tools/gst-complete.c:
8078         * tools/gst-compprep.1.in:
8079         * tools/gst-compprep.c:
8080           removing -compprep and -complete
8081
8082 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8083
8084         * gst/gstevent.c: (gst_event_new_new_segment),
8085         (gst_event_parse_new_segment):
8086         * gst/gstevent.h:
8087           fix #320529 - clean up new_segment API and structure.
8088           Let's hope everyone was using the methods, and not the structure.
8089
8090 2005-11-29  Edward Hervey  <edward@fluendo.com>
8091
8092         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8093         (gst_base_sink_event), (gst_base_sink_do_sync),
8094         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8095         Properly handle non GST_FORMAT_TIME segment
8096         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
8097         Properly handle non GST_FORMAT_TIME segment
8098         * gst/gstsegment.c:
8099         This function is valid if the accumulator is 0 and the format
8100         is different from the requested format.
8101         
8102 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
8103
8104         * docs/gst/gstreamer-sections.txt:
8105         Add gst_query_new_seeking and gst_query_parse_seeking to the
8106         docs.
8107
8108 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
8109
8110         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8111           Treat a pad alloc with new caps the same as if we were not
8112           negotiated, in order to allow a changing upstream output
8113           to produce a new format of data.
8114
8115 2005-11-29  Edward Hervey  <edward@fluendo.com>
8116
8117         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8118         (gst_base_transform_event), (gst_base_transform_eventfunc):
8119         The event virtual method is now properly implemented, with a default
8120         handler
8121         Sub classes should call the parent_class event method. They should
8122         return FALSE if they had a problem handling the given event, or don't
8123         want GstBaseTransform to send that even downstream
8124         * gst/elements/gstidentity.c: (gst_identity_class_init),
8125         (gst_identity_init), (gst_identity_event),
8126         (gst_identity_transform_ip), (gst_identity_set_property),
8127         (gst_identity_get_property):
8128         * gst/elements/gstidentity.h:
8129         Added the single-segment boolean property.
8130         If set to TRUE, it will output a single segment of data, starting from
8131         0, will eat up all incoming newsegment, and modify the timestamp of the
8132         buffers accordingly
8133
8134 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
8135
8136         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
8137           Don't ref NULL target pad (#322751). Improve docs.
8138
8139 2005-11-29  Michael Smith  <msmith@fluendo.com>
8140
8141         * gst/gstregistryxml.c: (load_plugin):
8142           Don't crash if we failed to load a feature from a plugin. 
8143
8144 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8145
8146         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
8147         (GST_START_TEST):
8148           use more check API and less GLib API
8149
8150 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8151
8152         * Makefile.am:
8153           don't run checks if we don't have check
8154         * common/check.mak:
8155           remove the registry when running make torture
8156         * docs/gst/gstreamer-sections.txt:
8157           remove second multiply
8158         * gst/gstqueue.c: (gst_queue_loop):
8159           fix a compile warning when disabling debug
8160
8161 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
8162
8163         * gst/gstinfo.h:
8164         Hey! Let's print the pad name if the pointer != NULL instead
8165         of when it == NULL :-)
8166
8167 2005-11-28  Wim Taymans  <wim@fluendo.com>
8168
8169         * check/gst/gstutils.c: (GST_START_TEST):
8170         Updated check, add some scaling accuracy checking code.
8171
8172         * gst/gstutils.c: (gst_util_div128_64),
8173         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
8174         (gst_util_uint64_scale_int):
8175         Fix 6 times faster division code. Optimize for common 
8176         1/1 and less common X/1 cases.
8177
8178 2005-11-28  Wim Taymans  <wim@fluendo.com>
8179
8180         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8181         More checks.
8182
8183         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
8184         (do_linear_regression), (gst_clock_add_observation):
8185         Cleanups.
8186         Release lock when the clock cannot be slaved.
8187         Catch the case where the regression returned an invalid denominator.
8188
8189         * gst/gstutils.c: (gst_util_div128_64_iterate),
8190         (gst_util_div128_64), (gst_util_uint64_scale_int64),
8191         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
8192         Add protentially more performant non-iterative 128/64 divide function
8193         that unfortunatly does not work yet.
8194         Shortcut the trivial 0/X = 0 case.
8195         Remove the warnings on overflow.
8196
8197 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8198
8199         * gst/gstplugin.c: (gst_plugin_register_func):
8200           everything causing a plugin not to load should be at least a WARNING
8201
8202 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
8203
8204         * docs/random/ensonic/dparams.txt:
8205           some TODOs for the next dev cycle
8206         * libs/gst/controller/gstcontroller.c:
8207         (gst_controlled_property_set_interpolation_mode),
8208         (gst_controlled_property_new):
8209         * libs/gst/controller/gstcontroller.h:
8210           use base type to assign acccessor functions
8211
8212 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
8213
8214         * check/Makefile.am:
8215         Oops, that should have been top_srcdir
8216
8217 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
8218
8219         * check/Makefile.am:
8220         * check/elements/fdsrc.c: (GST_START_TEST):
8221         Use a cmdline define to specify the location of a file to use for
8222         testing, to avoid breaking distcheck.
8223
8224 2005-11-28  Andy Wingo  <wingo@pobox.com>
8225
8226         * gst/gstpad.c (fixate_value): Use array functions for arrays.
8227
8228 2005-11-28  Edward Hervey  <edward@fluendo.com>
8229
8230         * tools/gst-launch.c: (main):
8231         Clarify the output strings, makes it easier to translate.
8232         Fixes #322626
8233
8234 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8235
8236         * gst/Makefile.am:
8237           don't try and build net if we don't even have <sys/socket.h>
8238
8239 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
8240
8241         * check/Makefile.am:
8242         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
8243         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
8244           Add tests for fdsrc seekability
8245
8246         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8247         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
8248         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
8249         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
8250         * gst/elements/gstfdsrc.h:
8251           fdsrc should not be a 'live' source.
8252           Implement seeking on seekable fd's.
8253
8254         * gst/gstquery.c: (gst_query_new_seeking),
8255         (gst_query_parse_seeking):
8256         * gst/gstquery.h:
8257           Implement SEEKING query functions: 
8258             *_new_seeking and *_parse_seeking
8259
8260 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
8261
8262         * gst/gstelement.c: (gst_element_dispose):
8263           don't loop forever
8264
8265         * gst/gstiterator.c:
8266         * gst/gststructure.c:
8267           doc fixes
8268
8269         * libs/gst/controller/gstcontroller.c:
8270         (gst_controlled_property_set_interpolation_mode):
8271         * libs/gst/controller/gstcontroller.h:
8272         * libs/gst/controller/gstinterpolation.c:
8273         (interpolate_none_get_enum_value_array):
8274           support controlling enums
8275
8276 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
8277
8278         * gst/gstvalue.c:
8279           Improve documentation for gst_value_union().
8280
8281         * gst/gstvalue.h:
8282           Change return value for union, intersect and subtract functions
8283           from gint to gboolean.
8284
8285 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
8286
8287         * gst/gstvalue.c: (gst_value_serialize_any_list),
8288         (gst_value_transform_any_list_string),
8289         (gst_value_deserialize_list), (gst_value_deserialize_array),
8290         (gst_value_set_int_range), (gst_value_deserialize_int_range),
8291         (gst_value_set_double_range), (gst_value_deserialize_double_range),
8292         (gst_value_set_fraction_range_full),
8293         (gst_value_deserialize_fraction_range),
8294         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
8295         (gst_value_deserialize_boolean),
8296         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
8297         (gst_value_serialize_float), (gst_value_deserialize_float),
8298         (gst_string_wrap), (gst_value_deserialize_string),
8299         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
8300         (gst_value_union_int_range_int_range),
8301         (gst_value_intersect_int_range_int_range),
8302         (gst_value_intersect_double_range_double_range),
8303         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
8304         (gst_value_subtract_int_range_int_range),
8305         (gst_value_subtract_double_double_range),
8306         (gst_value_subtract_double_range_double_range),
8307         (gst_value_deserialize_fraction):
8308         * gst/gstvalue.h:
8309           Use gint, gdouble and gchar in our API instead of int, double and
8310           char (and make usage in gstvalue.c more consistent).
8311
8312 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
8313
8314         * check/Makefile.am:
8315         * libs/gst/controller/Makefile.am:
8316         * libs/gst/dataprotocol/Makefile.am:
8317           fix up Makefile.am and remove GST_ENABLE_NEW
8318
8319 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
8320
8321         * configure.ac:
8322         * gst/Makefile.am:
8323         * gst/base/Makefile.am:
8324         * gst/check/Makefile.am:
8325         * gst/elements/Makefile.am:
8326         * gst/net/Makefile.am:
8327           update LDFLAGS use some more
8328
8329 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
8330
8331         * common/m4/gst-doc.m4:
8332           Fixes #312589
8333
8334 2005-11-26  Edward Hervey  <edward@fluendo.com>
8335
8336         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
8337         This shouldn't issue a g_warning since it returns NULL if it
8338         couldn't find the plugin, and all functions using this behave
8339         properly on a NULL return. Switching to a GST_WARNING.
8340
8341 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
8342
8343         * gst/gstbin.c: (gst_bin_handle_message_func):
8344         Don't leak clock messages.
8345
8346 2005-11-25  Wim Taymans  <wim@fluendo.com>
8347
8348         * gst/gstutils.c: (gst_util_uint64_scale_int64),
8349         (gst_util_uint64_scale_int):
8350         Optimisations, remove unneeded vars.
8351
8352 2005-11-25  Wim Taymans  <wim@fluendo.com>
8353
8354         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8355         Added more checks for the high precision uint64 cases.
8356
8357         * gst/gstutils.c: (gst_util_uint64_scale_int64),
8358         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
8359         Implement high precision (guint64 * guint64) / guint64.
8360
8361 2005-11-24  Wim Taymans  <wim@fluendo.com>
8362
8363         * gst/base/gstbasesrc.c: (gst_base_src_query):
8364         Fix wrong percentage query.
8365
8366         * gst/gstutils.c: (gst_util_uint64_scale),
8367         (gst_util_uint64_scale_int):
8368         Add some more common cases that can be handled 
8369         efficiently to _scale.
8370
8371 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8372
8373         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
8374         (gst_mini_object_suite):
8375           don't use check calls from threads; check probably isn't
8376           threadsafe and using a lock to make it threadsafe would
8377           defeat the purpose of this check
8378         * gst/check/gstcheck.c:
8379         * gst/check/gstcheck.h:
8380           use GST_DEBUG some more
8381
8382 2005-11-24  Wim Taymans  <wim@fluendo.com>
8383
8384         * gst/gstutils.c: (gst_util_uint64_scale),
8385         (gst_util_uint64_scale_int):
8386         Chain trivial case to _scale_int.
8387
8388 2005-11-24  Wim Taymans  <wim@fluendo.com>
8389
8390         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8391         Added test for scaling.
8392
8393         * gst/gstclock.h:
8394         Small doc fix.
8395
8396         * gst/gstutils.c: (gst_util_uint64_scale_int):
8397         Implemented high precision scaling code.
8398
8399 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
8400
8401         * gst/gstinfo.h:
8402           do not crash on pad==NULL
8403
8404 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8405
8406         Patch by: Stefan Kost
8407
8408         * common/gtk-doc.mak:
8409         * docs/gst/Makefile.am:
8410         * docs/libs/Makefile.am:
8411           Fix distcheck issues for the libraries docs build
8412           Closes #319599.
8413
8414 2005-11-24  Michael Smith <msmith@fluendo.com>
8415
8416         * docs/manual/basics-helloworld.xml:
8417           Fix bug #315027: memory leak in example code in docs.
8418
8419 2005-11-24  Michael Smith <msmith@fluendo.com>
8420
8421         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8422           Unlock the PREROLL_LOCK in a failure case.
8423
8424 2005-11-24  Wim Taymans  <wim@fluendo.com>
8425
8426         * docs/gst/gstreamer-sections.txt:
8427         * gst/base/gstadapter.h:
8428         * gst/base/gstbasesink.h:
8429         * gst/base/gstbasesrc.h:
8430         * gst/base/gstbasetransform.h:
8431         * gst/base/gstpushsrc.h:
8432         * gst/elements/gstfakesink.h:
8433         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
8434         * gst/elements/gstfakesrc.h:
8435         * gst/elements/gstfilesink.h:
8436         * gst/elements/gstfilesrc.h:
8437         * gst/gst.c:
8438         * gst/gstbin.c:
8439         * gst/gstbuffer.c: (_gst_buffer_copy):
8440         * gst/gstbus.h:
8441         * gst/gstcaps.c:
8442         * gst/gstchildproxy.c:
8443         * gst/gstclock.c:
8444         * gst/gstelement.c:
8445         * gst/gstelementfactory.c:
8446         * gst/gstelementfactory.h:
8447         * gst/gstevent.c:
8448         * gst/gstghostpad.h:
8449         * gst/gstindex.h:
8450         * gst/gstinterface.h:
8451         * gst/gstminiobject.c:
8452         * gst/gstminiobject.h:
8453         * gst/gstpad.c:
8454         * gst/gstpad.h:
8455         * gst/gstpadtemplate.h:
8456         * gst/gstpipeline.h:
8457         * gst/gstpluginfeature.h:
8458         * gst/gstquery.h:
8459         * gst/gstqueue.h:
8460         * gst/gsttaglist.c:
8461         * gst/gsttaglist.h:
8462         * gst/gsttagsetter.c:
8463         * gst/gsttagsetter.h:
8464         * gst/gsttrace.c:
8465         * gst/gsttrace.h:
8466         * gst/gsttypefind.h:
8467         * gst/gsturi.h:
8468         * gst/gstvalue.c:
8469         * gst/net/gstnetclientclock.c:
8470         * gst/net/gstnetclientclock.h:
8471         * gst/net/gstnettimepacket.c:
8472         * gst/net/gstnettimeprovider.c:
8473         * gst/net/gstnettimeprovider.h:
8474         Doc fixes.
8475
8476 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8477
8478         * configure.ac: back to HEAD
8479
8480 === release 0.9.6 ===
8481
8482 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
8483
8484         * configure.ac:
8485           releasing 0.9.6, "Always On Time"
8486
8487 2005-11-23  Wim Taymans  <wim@fluendo.com>
8488
8489         * docs/gst/gstreamer-sections.txt:
8490         * gst/glib-compat.c:
8491         * gst/gsttagsetter.c:
8492         * gst/gstvalue.c:
8493         * gst/net/gstnetclientclock.c:
8494         * gst/net/gstnettimepacket.h:
8495         Doc updates.
8496
8497 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8498
8499         * docs/faq/using.xml:
8500         * docs/libs/tmpl/gstcontrol.sgml:
8501         * docs/manual/advanced-dparams.xml:
8502         * docs/manual/appendix-checklist.xml:
8503         * docs/manual/basics-elements.xml:
8504         * docs/pwg/other-source.xml:
8505         * docs/random/moving-plugins:
8506         * gst/gstpad.c:
8507         * tools/gst-launch.1.in:
8508           remove mentions of sinesrc
8509
8510 2005-11-23  Michael Smith <msmith@fluendo.com>
8511
8512         * docs/gst/gstreamer-sections.txt:
8513           Update for new API and API changes.
8514         * gst/gstobject.h:
8515           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
8516         * gst/gstvalue.c:
8517           Documentation typo fix.
8518         * gst/net/gstnettimepacket.c:
8519           Documentation fixes for arguments.
8520
8521 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
8522
8523         * gst/gststructure.c: (gst_structure_get_fraction),
8524         (gst_structure_parse_value),
8525         (gst_structure_fixate_field_nearest_fraction):
8526         * gst/gststructure.h:
8527         * gst/gstutils.c: (gst_util_uint64_scale_int):
8528         * gst/gstutils.h:
8529         * scripts/update-funcnames:
8530         API Changes. 
8531         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
8532         Make gst_structure_fixate_field_nearest_fraction take a numerator
8533         and denominator argument instead of a GValue
8534         add gst_structure_get_fraction helper function.
8535
8536 2005-11-23  Wim Taymans  <wim@fluendo.com>
8537
8538         * docs/design/part-TODO.txt:
8539         Update TODO.
8540
8541         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
8542         * gst/net/gstnetclientclock.h:
8543         Use parent fields for timeout and window_size.
8544
8545 2005-11-23  Andy Wingo  <wingo@pobox.com>
8546
8547         * check/net/gstnetclientclock.c (test_functioning): Adjust to
8548         rate_num/rate_denom change.
8549
8550         * gst/net/gstnetclientclock.c
8551         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
8552         OBJECT_LOCK. Don't call add_observation with the lock.
8553
8554         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
8555         fraction.
8556         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
8557         rate fraction.
8558         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
8559         deal with rate as a fraction whose numerator and denominator are
8560         GstClockTime values.
8561         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
8562         master; the other fields are protected by the SLAVE_LOCK.
8563         (do_linear_regression): Note that this must be called with the
8564         SLAVE_LOCK.
8565         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
8566         OBJECT_LOCK. Call set_calibration instead of touching the
8567         variables directly.
8568         (gst_clock_set_property, gst_clock_get_property): Protect
8569         master/slave parameters with the SLAVE_LOCK.
8570
8571         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
8572         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
8573         note that all of the instance variables that add_observation and
8574         the set_master functions use are protected by that lock and not
8575         the OBJECT_LOCK.
8576         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
8577
8578         * gst/gstclock.c (gst_clock_add_observation): No longer requires
8579         the caller to take the object lock.
8580
8581 2005-11-23  Wim Taymans  <wim@fluendo.com>
8582
8583         * gst/gsterror.c: (_gst_core_errors_init):
8584         * gst/gsterror.h:
8585         Add error for clock stuff.
8586
8587         * gst/gstpipeline.c: (gst_pipeline_change_state),
8588         (gst_pipeline_set_clock):
8589         Post clock error when clock cannot be used in a pipeline.
8590
8591 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
8592
8593         * docs/gst/gstreamer-sections.txt:
8594           make two symbols from gstinfo private for the docs
8595         * gst/base/gstcollectpads.h:
8596         * gst/gstutils.c:
8597           fix doc typos, update docs
8598
8599 2005-11-22  Wim Taymans  <wim@fluendo.com>
8600
8601         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
8602         (gst_base_sink_wait), (gst_base_sink_do_sync),
8603         (gst_base_sink_handle_event):
8604         * gst/base/gstbasesink.h:
8605         No need to store the clock, the parent element class already
8606         has it.
8607
8608         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
8609         Updates for clock_set returning a gboolean
8610
8611         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
8612         (gst_clock_id_wait_async), (gst_clock_class_init),
8613         (gst_clock_init), (gst_clock_finalize),
8614         (gst_clock_get_internal_time), (gst_clock_get_time),
8615         (gst_clock_slave_callback), (gst_clock_set_master),
8616         (gst_clock_get_master), (do_linear_regression),
8617         (gst_clock_add_observation), (gst_clock_set_property),
8618         (gst_clock_get_property):
8619         * gst/gstclock.h:
8620         Implement master/slave. When setting a clock as a slave, a
8621         periodic timeout is scheduled to sample master and slave times.
8622         Then the slave clock is recalibrated to match offset and rate
8623         of the master clock.
8624         Update logging a bit.
8625         Add flag so that a clock can state that is cannot be slaved to
8626         another clock.
8627
8628         * gst/gstelement.c: (gst_element_set_clock):
8629         * gst/gstelement.h:
8630         The set clock returns a gboolean for when an element cannot
8631         deal with the selected clock in the pipeline. 
8632
8633         * gst/gstpipeline.c: (gst_pipeline_change_state),
8634         (gst_pipeline_set_clock):
8635         * gst/gstpipeline.h:
8636         Handle the case where the selected clock cannot be set on
8637         the pipeline.
8638
8639         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
8640         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
8641         (gst_net_client_clock_set_property),
8642         (gst_net_client_clock_get_property),
8643         (gst_net_client_clock_observe_times):
8644         * gst/net/gstnetclientclock.h:
8645         Use regression code in GstClock parent, remove duplicated
8646         functionality.
8647
8648 2005-11-22  Michael Smith <msmith@fluendo.com>
8649
8650         * gst/gstutils.c: (gst_util_clock_time_scale):
8651         * gst/gstutils.h:
8652         * docs/gst/gstreamer-sections.txt:
8653           Rename method to have extra underscore.
8654
8655 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8656
8657         * gst/elements/Makefile.am:
8658         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
8659         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8660         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8661         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
8662         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
8663         * gst/elements/gstfakesrc.h:
8664         * gst/gstqueue.c: (queue_leaky_get_type):
8665           correctly fix GEnumValues so that nick is the short lowercase
8666           dashed tag
8667         * tools/gst-inspect.c: (print_element_properties_info):
8668           also show the nick, since it's useful to use from parse_launch
8669           syntax
8670           Fixes #322139
8671
8672 2005-11-22  Michael Smith <msmith@fluendo.com>
8673
8674         * gst/gstutils.c: (gst_util_clocktime_scale):
8675         * gst/gstutils.h:
8676         * docs/gst/gstreamer-sections.txt:
8677           Add util method for scaling a clocktime by a fraction. Useful 
8678           implementation is left as an exercise for the reader.
8679
8680 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8681
8682         * gst/gstvalue.c: (gst_value_collect_fraction_range):
8683         If needed, allocate storage in the destination value during
8684         collection.
8685
8686 2005-11-22  Edward Hervey  <edward@fluendo.com>
8687
8688         * docs/gst/gstreamer-sections.txt:
8689         * gst/Makefile.am:
8690         * gst/gst.h:
8691         * gst/gsturitype.c:
8692         * gst/gsturitype.h:
8693         * gst/gstutils.c: (gst_util_set_object_arg):
8694         * tools/gst-compprep.c: (main):
8695         * tools/gst-inspect.c: (print_element_properties_info):
8696         Removed GstURI, closes bug #321061
8697
8698 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8699
8700         * check/gst/gststructure.c: (GST_START_TEST):
8701         * gst/gststructure.c: (gst_structure_parse_value):
8702           Oops, broke automatic string type parsing.
8703           Add a test to catch it in future.
8704
8705 2005-11-22  Andy Wingo  <wingo@pobox.com>
8706
8707         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
8708         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
8709         Actually rename the function implementations. Grr.
8710
8711 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8712
8713         * check/gst/capslist.h:
8714           Comment test cases
8715         * check/gst/gststructure.c: (GST_START_TEST),
8716         (gst_structure_suite):
8717           Test automatic value type detection in gst_structure_from_string.
8718         * gst/gststructure.c: (gst_structure_parse_value):
8719           Add fraction as a type we try and guess automatically in
8720           caps/structure strings.
8721
8722 2005-11-22  Andy Wingo  <wingo@pobox.com>
8723
8724         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
8725
8726         * gst/gsttagsetter.h:
8727         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
8728         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
8729         (gst_tag_setter_add_tag_valist)
8730         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
8731         _add_values, _add_valist, and _add_valist_values. Since this is an
8732         interface the function suffixes should be more explicit so
8733         language binding don't end up with element.add_valist ->
8734         gst_tag_setter_add_valist, for example. Fixes #322069.
8735
8736 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8737
8738         * check/gst/gstcaps.c: (GST_START_TEST):
8739           Extend caps string tests to check that a caps to string
8740           conversion is reversible and produces the same caps.
8741
8742         * gst/gststructure.c: (gst_structure_value_get_generic_type):
8743           Output "fraction" as the generic type fraction range, so caps
8744           serialisation and deserialisation works.
8745         * check/gst/capslist.h:
8746         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8747           Support 'MIN' and 'MAX' for deserialising fractions.
8748
8749 2005-11-22  Andy Wingo  <wingo@pobox.com>
8750
8751         * gst/gstevent.h (gst_event_new_new_segment)
8752         (gst_event_parse_new_segment, gst_event_new_buffer_size)
8753         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
8754         Renamed from *_newsegment, *_buffersize, *_notarget.
8755
8756         * scripts/update-funcnames: New script, performs the changes
8757         listed above.
8758
8759 2005-11-22  Wim Taymans  <wim@fluendo.com>
8760
8761         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8762         Make sure the GstFlowReturn is returned.
8763
8764         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
8765         (gst_bus_add_signal_watch):
8766         * gst/gstbus.h:
8767         add gst_bus_add_signal_watch_full.
8768
8769         * gst/gstplugin.c: (gst_plugin_load_file):
8770         Small style cleanup.
8771
8772 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8773
8774         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
8775           Block the fakesrc srcpad when we send an event, to avoid
8776           contention on the stream_lock causing random test failures.
8777
8778 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8779
8780         * check/gst/gstvalue.c: (GST_START_TEST):
8781         * gst/gstvalue.c: (gst_value_fraction_subtract):
8782           Fix subtraction.
8783
8784 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
8785
8786         * gst/gst.h:
8787           include "gstchildproxy.h"
8788         * gst/gstchildproxy.h:
8789         * libs/gst/controller/gstcontroller.h:
8790           use G_GNUC_NULL_TERMINATED
8791
8792 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8793
8794         * check/gst/capslist.h:
8795         * check/gst/gstcaps.c: (GST_START_TEST):
8796         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8797         * gst/gststructure.c: (gst_structure_parse_range),
8798         (gst_structure_fixate_field_nearest_fraction):
8799         * gst/gststructure.h:
8800         * gst/gstvalue.c: (gst_value_init_fraction_range),
8801         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
8802         (gst_value_collect_fraction_range),
8803         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
8804         (gst_value_set_fraction_range_full),
8805         (gst_value_get_fraction_range_min),
8806         (gst_value_get_fraction_range_max),
8807         (gst_value_serialize_fraction_range),
8808         (gst_value_transform_fraction_range_string),
8809         (gst_value_compare_fraction_range),
8810         (gst_value_deserialize_fraction_range),
8811         (gst_value_intersect_fraction_fraction_range),
8812         (gst_value_intersect_fraction_range_fraction_range),
8813         (gst_value_subtract_fraction_fraction_range),
8814         (gst_value_subtract_fraction_range_fraction),
8815         (gst_value_subtract_fraction_range_fraction_range),
8816         (gst_value_collect_fraction), (gst_value_fraction_multiply),
8817         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
8818         (gst_value_transform_string_fraction), (_gst_value_initialize):
8819         * gst/gstvalue.h:
8820           Implement fraction ranges and extend GstFraction to support
8821           arithmetic subtraction, as well as deserialization from integer
8822           strings such as "100"
8823           Add a testsuite as for int and double range set operations
8824
8825 2005-11-21  Andy Wingo  <wingo@pobox.com>
8826
8827         * gst/gsttaglist.h: 
8828         * gst/gstcaps.h: 
8829         * gst/gststructure.h: Add glib-compat.h.
8830
8831 2005-11-21  Wim Taymans  <wim@fluendo.com>
8832
8833         * gst/gstbin.c: (gst_bin_change_state_func):
8834         Fix for #321595
8835
8836 2005-11-21  Wim Taymans  <wim@fluendo.com>
8837
8838         * gst/gstsegment.h:
8839         And add a nice define too.
8840
8841 2005-11-21  Wim Taymans  <wim@fluendo.com>
8842
8843         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
8844         (gst_segment_new), (gst_segment_free), (gst_segment_init),
8845         (gst_segment_set_duration), (gst_segment_set_last_stop),
8846         (gst_segment_set_seek), (gst_segment_set_newsegment),
8847         (gst_segment_to_stream_time), (gst_segment_to_running_time),
8848         (gst_segment_clip):
8849         * gst/gstsegment.h:
8850         Make binding friendly.
8851
8852 2005-11-21  Andy Wingo  <wingo@pobox.com>
8853
8854         * gst/gsttagsetter.h: 
8855         * gst/gsttaglist.h: 
8856         * gst/gststructure.h: 
8857         * gst/gstcaps.h: 
8858         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
8859         #319940.
8860
8861         * gst/gsterror.c (_gst_core_errors_init):
8862         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
8863         category.
8864
8865         * gst/Makefile.am (gst_headers): Add glib-compat.h.
8866         (noinst_HEADERS): noinst the -private.
8867
8868 2005-11-21  Michael Smith <msmith@fluendo.com>
8869
8870         * gst/gstplugin.h:
8871         * gst/gstregistry.h:
8872           Remove unimplemented declarations for which we can see no sensible
8873           use.
8874
8875 2005-11-21  Andy Wingo  <wingo@pobox.com>
8876
8877         * gst/gst.h: Include glib-compat.h.
8878
8879         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
8880
8881         * gst/glib-compat.c: Include the public and the private header.
8882
8883         * gst/glib-compat-private.h: Copied here from glib-compat.h.
8884
8885         * gst/gstvalue.c: 
8886         * gst/gstpad.c: 
8887         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
8888
8889         * check/gst/gstevent.c (create_custom_events): Check that
8890         FLUSH_STOP is serialized.
8891
8892         * check/elements/identity.c (event_func): 
8893         * check/elements/fakesrc.c (event_func): No stream lock, the core
8894         takes it.
8895
8896         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
8897         stream lock taking, yay.
8898
8899         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
8900         ensure that core takes the stream lock.
8901
8902         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
8903         lock name change.
8904
8905         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
8906         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
8907         it already. For the flush start we do take it though so we get the
8908         right preroll state change messages.
8909
8910         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
8911         the stream lock here, the core does it for us.
8912
8913         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
8914         GST_STREAM_GET_LOCK.
8915         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
8916         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
8917         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
8918         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
8919         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
8920         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
8921
8922         * gst/gstpad.c: Update for stream lock name change.
8923
8924         * gst/base/gstbasesink.c: Update for preroll lock name change.
8925
8926 2005-11-21  Wim Taymans  <wim@fluendo.com>
8927
8928         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
8929         (gst_clock_get_master):
8930         * gst/gstclock.h:
8931         * gst/gstsystemclock.c: (gst_system_clock_init):
8932         Convert Clock flags to object flags.
8933         Added methods to manage master/slave clocks.
8934
8935 2005-11-21  Wim Taymans  <wim@fluendo.com>
8936
8937         * check/gst/gstsegment.c: (GST_START_TEST):
8938         * docs/design/part-TODO.txt:
8939         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8940         (gst_base_sink_event), (gst_base_sink_do_sync),
8941         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8942         (gst_base_sink_query), (gst_base_sink_change_state):
8943         * gst/base/gstbasesink.h:
8944         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
8945         (gst_base_src_default_newsegment),
8946         (gst_base_src_configure_segment), (gst_base_src_do_seek),
8947         (gst_base_src_get_range), (gst_base_src_loop),
8948         (gst_base_src_change_state):
8949         * gst/base/gstbasesrc.h:
8950         * gst/base/gstbasetransform.c:
8951         (gst_base_transform_prepare_output_buf),
8952         (gst_base_transform_event), (gst_base_transform_change_state):
8953         * gst/base/gstbasetransform.h:
8954         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8955         (gst_collect_pads_event):
8956         * gst/base/gstcollectpads.h:
8957         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
8958         (gst_fake_src_create):
8959         * gst/elements/gstfakesrc.h:
8960         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
8961         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
8962         (gst_segment_set_last_stop), (gst_segment_set_seek),
8963         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
8964         (gst_segment_to_running_time), (gst_segment_clip):
8965         * gst/gstsegment.h:
8966         More segment updates, replace code in plugins with segment
8967         helper functions.
8968
8969 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
8970
8971         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
8972         Don't ignore sscanf results
8973
8974 2005-11-21  Andy Wingo  <wingo@pobox.com>
8975
8976         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
8977
8978         * *.h:
8979         * *.c: Ran scripts/update-macros. Oh yes.
8980
8981         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
8982         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
8983         GST_GET_LOCK, etc.
8984
8985         * scripts/update-macros: New script. Run it on your files to
8986         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
8987         well.
8988
8989 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
8990
8991         * docs/gst/Makefile.am:
8992         * docs/gst/gstreamer-docs.sgml:
8993         * docs/gst/gstreamer-sections.txt:
8994         * docs/gst/gstreamer.types:
8995         * gst/gstinfo.h:
8996           more docs fixes, add new api to the docs
8997
8998 2005-11-21  Andy Wingo  <wingo@pobox.com>
8999
9000         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
9001         state_broadcast call.
9002
9003         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
9004
9005 2005-11-21  Julien MOUTTE  <julien@moutte.net>
9006
9007         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
9008         function calls for arrays.
9009
9010 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
9011
9012         * docs/random/ensonic/media-device-daemon.txt:
9013           wild idea, can this be done?
9014         * docs/gst/gstreamer-sections.txt:
9015         * gst/gsterror.h:
9016         * gst/gstfilter.c:
9017         * gst/gstfilter.h:
9018         * gst/gstplugin.h:
9019         * gst/gstpluginfeature.c:
9020         * gst/gsttrace.c:
9021         * gst/gstvalue.c:
9022         * gst/gstvalue.h:
9023           doc fixes and additions
9024
9025 2005-11-21  Andy Wingo  <wingo@pobox.com>
9026
9027         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
9028         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
9029         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
9030         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
9031         private to the basesrc implementation.
9032
9033         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
9034         behalf of event function if necessary. It should no longer be
9035         necessary to take the stream lock in pad's event functions. Fixes
9036         #320299.
9037
9038 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
9039         * docs/gst/gstreamer-sections.txt:
9040         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
9041         (gst_structure_fixate_field_nearest_double),
9042         (gst_structure_fixate_field_boolean):
9043         * gst/gststructure.h:
9044         * win32/common/libgstreamer.def:
9045         * win32/gstreamer.def:
9046
9047         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
9048         (#322027)
9049
9050 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
9051
9052         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
9053         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
9054         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
9055         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
9056         (gst_fdsrc_uri_handler_init):
9057         * gst/elements/gstfdsrc.h:
9058           Port fd:// URI handler from 0.8 to fdsrc
9059
9060 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
9061
9062         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
9063         (gst_value_serialize_fourcc):
9064         * gst/gstvalue.h:
9065           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
9066           consistent with our other format defines (#320324).
9067
9068 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
9069
9070         * gst/gstvalue.c: (gst_value_is_fixed):
9071           Revert previous commit. Value lists are by definition
9072           not fixed, as they are a list of possible values.
9073
9074 2005-11-21  Andy Wingo  <wingo@pobox.com>
9075
9076         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
9077         during the stable series if we need it. Fixes #319178.
9078
9079         * gst/gstevent.c (gst_event_new_filler): Removed.
9080
9081         * check/gst/gstevent.c: Update comment about filler events.
9082
9083 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
9084
9085         * gst/gstvalue.c: (gst_value_is_fixed):
9086           Should handle both value arrays and value lists.
9087
9088 2005-11-21  Andy Wingo  <wingo@pobox.com>
9089
9090         patch by: Alessandro Dessina <alessandro nnva org>
9091
9092         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
9093         functions to access arrays. Fixes #321962.
9094
9095 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
9096
9097         * docs/gst/gstreamer.types:
9098           gst_collectpads_get_type => gst_collect_pads_get_type.
9099           
9100         * gst/base/gstbasetransform.c:
9101           Remove unused SIGNAL_HANDOFF enum.
9102
9103 2005-11-21  Andy Wingo  <wingo@pobox.com>
9104
9105         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
9106         the event type (upstream, downstream, serialized). Renamed
9107         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
9108         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
9109         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
9110
9111         * gst/gstevent.c: Update for new CUSTOM event names.
9112
9113         * check/gst/gstevent.c: Update check for new CUSTOM event names.
9114
9115         * gst/gstevent.h:
9116         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
9117         bug #319392.
9118
9119 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
9120
9121         * docs/gst/gstreamer-sections.txt:
9122         * win32/common/libgstbase.def:
9123         * win32/libgstbase.def:
9124         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9125         (gst_collect_pads_class_init), (gst_collect_pads_init),
9126         (gst_collect_pads_finalize), (gst_collect_pads_new),
9127         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
9128         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
9129         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
9130         (gst_collect_pads_start), (gst_collect_pads_stop),
9131         (gst_collect_pads_peek), (gst_collect_pads_pop),
9132         (gst_collect_pads_available), (gst_collect_pads_read),
9133         (gst_collect_pads_flush), (gst_collect_pads_event),
9134         (gst_collect_pads_chain):
9135         * gst/base/gstcollectpads.h:
9136           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
9137           unimplemented functions as unimplemented. Add padding to
9138           GstCollectData. (#320766, #320423)
9139
9140 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
9141
9142         * gst/gstmessage.c:
9143           Improve docs for DURATION message (usage of duration parameter)
9144           (#320113)
9145
9146 2005-11-20  Wim Taymans  <wim@fluendo.com>
9147
9148         * check/Makefile.am:
9149         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
9150         (main):
9151         * gst/Makefile.am:
9152         * gst/gst.h:
9153         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
9154         (gst_segment_set_seek), (gst_segment_set_newsegment),
9155         (gst_segment_to_stream_time), (gst_segment_to_running_time),
9156         (gst_segment_clip):
9157         * gst/gstsegment.h:
9158         Added segment helper structure and methods. Not fully implemented
9159         yet.
9160         Added segment check.
9161
9162 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
9163
9164         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9165           Add a deserialisation test for fractions
9166         * examples/metadata/read-metadata.c: (message_loop),
9167         (make_pipeline), (main):
9168           Fix up metadata reading sample.
9169         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9170           Debug format fix
9171         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9172           Don't try and fixate empty caps
9173         * gst/gst_private.h:
9174           Wrap in G_BEGIN_DECLS/G_END_DECLS
9175         * gst/gstvalue.c: (gst_value_collect_fraction),
9176         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
9177         (gst_value_transform_string_fraction),
9178         (gst_value_compare_fraction):
9179           Add some extra guards to ensure that we don't end up 
9180           with an invalid denominator of 0 in a gstfraction and
9181           that fractions always get reduced.
9182
9183 2005-11-20  Wim Taymans  <wim@fluendo.com>
9184
9185         * docs/gst/gstreamer-sections.txt:
9186         * gst/gstbuffer.h:
9187         * gst/gstelement.c:
9188         * gst/gstformat.c:
9189         * gst/gstformat.h:
9190         * gst/gstindex.h:
9191         * gst/gstquery.c:
9192         * gst/gstquery.h:
9193         * gst/gstvalue.c:
9194         Doc fixes.
9195
9196 2005-11-20  Wim Taymans  <wim@fluendo.com>
9197
9198         * docs/design/part-TODO.txt:
9199         * gst/gstcaps.h:
9200         Make a proper enum of the flag.
9201
9202 2005-11-19  Wim Taymans  <wim@fluendo.com>
9203
9204         * docs/design/part-TODO.txt:
9205         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
9206         (gst_format_to_quark), (gst_format_register):
9207         * gst/gstformat.h:
9208         * gst/gstquery.c: (_gst_query_initialize),
9209         (gst_query_type_get_name), (gst_query_type_to_quark),
9210         (gst_query_type_register):
9211         * gst/gstquery.h:
9212         Add type to quark and type to string conversions.
9213
9214 2005-11-19  Andy Wingo  <wingo@pobox.com>
9215
9216         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
9217         #320097.
9218
9219 2005-11-19  Wim Taymans  <wim@fluendo.com>
9220
9221         * docs/design/part-TODO.txt:
9222         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
9223         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
9224         (gst_bin_handle_message_func):
9225         * gst/gstbin.h:
9226         Make message handling overridable.
9227
9228 2005-11-19  Andy Wingo  <wingo@pobox.com>
9229
9230         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
9231
9232         * gst/gstclock.h:
9233         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
9234         be a GstClockTime.
9235         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
9236         is a GstClockTime. Fixes #321710.
9237
9238         * gst/gstclock.h (GstClock): Remove offset property. Add
9239         internal_calibration and external_calibration. Fix padding. Pad
9240         also by GstClockTime so we don't run into problems.
9241
9242         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
9243         (gst_clock_get_rate_offset): Remove.
9244         (gst_clock_set_time_adjust): Remove. Fixes #321712.
9245
9246         * gst/gstutils.h:
9247         * gst/gstutils.c (g_static_rec_cond_wait)
9248         (g_static_rec_cond_timed_wait): Removed, no longer needed.
9249
9250         * gst/gstbin.c: Remove terrible continue_state prototype.
9251
9252         * gst/gstelement.h (gst_element_continue_state): Make public.
9253
9254         * gst/gstelement.h:
9255         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
9256         by continue_state. Fixes #319389.
9257
9258         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
9259         Really fixes #168438. However I don't see anywhere where the
9260         filter function is called... stupid GStreamer...
9261         
9262         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
9263         don't have a dispose function, so it won't get called when the
9264         object is unreffed, but oh well!
9265
9266         * gst/gstindex.c (gst_index_set_filter_full): New API function,
9267         allows a destroy function to be set so user_data can be freed.
9268         Fixes #168438.
9269         (gst_index_set_filter): Call gst_index_set_filter_full.
9270
9271         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
9272
9273         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
9274         string should produce an error, given the lack of a way to
9275         represent NULL strings. Fixes #165650.
9276         
9277         * gst/gstvalue.h: 
9278         * gst/gstvalue.c (gst_value_array_append_value) 
9279         (gst_value_array_prepend_value, gst_value_array_get_size) 
9280         (gst_value_array_get_value): New API, copied from
9281         gst_value_list_*, only operates on arrays.
9282         (gst_value_list_append_value, gst_value_list_prepend_value) 
9283         (gst_value_list_concat, gst_value_list_get_size) 
9284         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
9285
9286         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
9287         init_list, because it works on both.
9288         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
9289         (gst_value_copy_list_or_array): Renamed from copy_list.
9290         (gst_value_free_list_or_array): Renamed from free_list.
9291         (gst_value_collect_list_or_array): Renamed from collect_list.
9292         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
9293         (gst_value_list_or_array_peek_pointer): Renamed from
9294         list_peek_pointer.
9295         (_gst_value_array_value_table, _gst_value_list_value_table):
9296         Update value table functions.
9297         (gst_value_compare_list_or_array): Renamed from compare_list.
9298
9299         * gsttaglist.h: Whoops, foreach function returns void. Also fix
9300         some constness.
9301
9302         * gst/gsttaglist.c:
9303         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
9304         GstTagList*. Fixes #143472.
9305
9306         * gst/gststructure.h: Clarify what the foreach/map functions can
9307         or can't do to their arguments.
9308
9309 2005-11-18  Wim Taymans  <wim@fluendo.com>
9310
9311         * gst/gstclock.c: (gst_clock_set_calibration),
9312         (gst_clock_get_calibration):
9313         Doc and API fixes.
9314         Calibration can be set with internal time equal to current
9315         internal time too.
9316
9317 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9318
9319         * gst/gsterror.c:
9320         * gst/gsterror.h:
9321           document
9322
9323 2005-11-18  Andy Wingo  <wingo@pobox.com>
9324
9325         * configure.ac: 
9326         * pkgconfig/gstreamer-net.pc.in:
9327         * pkgconfig/gstreamer-net-uninstalled.pc.in:
9328         * pkgconfig/Makefile.am: Add net pkgconfig files.
9329
9330 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
9331
9332         * gst/gstcaps.c:
9333         * gst/gstghostpad.c:
9334         * gst/gsttrace.c:
9335         * gst/gstvalue.c:
9336         * gst/gstvalue.h:
9337           docs fixes
9338
9339 2005-11-18  Andy Wingo  <wingo@pobox.com>
9340
9341         * gst/net/gstnetclientclock.c: Turn off debugging.
9342
9343         * check/net/gstnetclientclock.c (test_functioning): Assert that the
9344         times connverge somewhat. Can't make a real test.
9345
9346         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
9347         integer arithmetic. Return the minimum of the domain, which can be
9348         set as "internal" for gst_clock_set_calibration.
9349         (gst_net_client_clock_observe_times): Call _set_calibration.
9350         (gst_net_client_clock_new): Call _set_calibration instead of
9351         rate_offset.
9352
9353         * check/net/gstnetclientclock.c (test_functioning): Use the right
9354         adjustment api.
9355
9356         * gst/gstclock.h:
9357         * gst/gstclock.c (gst_clock_get_calibration) 
9358         (gst_clock_set_calibration): New functions, obsolete the ones I
9359         added yesterday. Doh. Precision issues mean we have to extrapolate
9360         from a point in the more recent past than 1970.
9361         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
9362         obsolete.
9363         (gst_clock_adjust_unlocked): Use the right calibration data.
9364
9365 2005-11-18  Edward Hervey  <edward@fluendo.com>
9366
9367         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
9368         Also reset the ->current_* values in READY->PAUSED
9369
9370 2005-11-18  Andy Wingo  <wingo@pobox.com>
9371
9372         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
9373         Whoops, check the right fd. Also add some debugging.
9374         (gst_net_client_clock_observe_times): Adjust for int64 offset.
9375         (do_linear_regression): Add a crapload of debugging. Subtract off
9376         the minimum values from the input series to discard unneeded bits.
9377         Use only int arithmetic. There is still double arithmetic when
9378         calculating the intercept that needs fixing. Return boolean to
9379         indicate success; FALSE would mean the domain or range is too
9380         great. Still needs fixes.
9381
9382 2005-11-18  Wim Taymans  <wim@fluendo.com>
9383
9384         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
9385         For the current position in stream time, we need to subtract
9386         accumulated time.
9387         
9388         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
9389         Release lock before calling the callback function of async
9390         entries.
9391
9392 2005-11-18  Andy Wingo  <wingo@pobox.com>
9393
9394         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
9395         Port goes all the way to MAXUINT16.
9396
9397         * gst/net/gstnettimeprovider.c: Make the port range the same as
9398         for the kernel: 0 assigns, otherwise ports are less than
9399         MAXUINT16.
9400
9401         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
9402         port change.
9403
9404         * check/net/gstnetclientclock.c (test_functioning): Add the start
9405         of another test. 
9406
9407 2005-11-18  Wim Taymans  <wim@fluendo.com>
9408
9409         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9410         (gst_bin_remove_func), (bin_bus_handler):
9411         * gst/gstbin.h:
9412         Removing a clock provider from a bin, triggers a clock lost message
9413         so that a new clock will be selected.
9414         Adding a clock to a bin triggers a clock provider message.
9415         Make sure we reselect a clock when we received a clock lost message.
9416         Keep a reference to the element that provided the clock.
9417
9418 2005-11-18  Andy Wingo  <wingo@pobox.com>
9419
9420         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
9421         the clock initially so it produces values around the base time.
9422         (gst_net_client_clock_class_init): Typo fix.
9423         (gst_net_client_clock_thread): Add note on when the socket gets
9424         closed.
9425
9426 2005-11-17  Wim Taymans  <wim@fluendo.com>
9427
9428         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
9429         Free remote and local time arrays.
9430
9431 2005-11-17  Wim Taymans  <wim@fluendo.com>
9432
9433         * gst/net/gstnetclientclock.c: (do_linear_regression),
9434         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
9435         Fix compilation, uninitialized vars and a forgotten continue.
9436
9437 2005-11-17  Andy Wingo  <wingo@pobox.com>
9438
9439         * check/Makefile.am (check_PROGRAMS): 
9440         * check/net/gstnetclientclock.c: Add a most minimal test for the
9441         net client clock. More to come later.
9442
9443         * gst/net/gstnet.h: 
9444         * gst/net/Makefile.am: Add netclientclock.
9445
9446         * gst/net/gstnetclientclock.h:
9447         * gst/net/gstnetclientclock.c: New files, implement an untested
9448         GstClock that takes its time from a network time provider.
9449         Implements the algorithm in network-clock.scm.
9450
9451         * tests/network-clock.scm (*window-size*): Rename from
9452         *queue-length*.
9453         * tests/network-clock.scm (network-time): 
9454         * tests/network-clock-utils.scm (q-push): Update callers.
9455
9456 2005-11-17  Wim Taymans  <wim@fluendo.com>
9457
9458         * gst/gstbin.c: (gst_bin_provide_clock_func),
9459         (gst_bin_sort_iterator_new):
9460         And unref the child too..
9461
9462 2005-11-17  Wim Taymans  <wim@fluendo.com>
9463
9464         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
9465         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
9466         Refactor the sort iterator so it can be used while holding the
9467         LOCK too.
9468         Make clock selection select a clock closest to the source.
9469
9470 2005-11-17  Michael Smith <msmith@fluendo.com>
9471
9472         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
9473         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
9474         * gst/gstclock.h:
9475           Anonymous structs are a gcc (and some other compilers) extension, so
9476           don't use them. Since this is only for ABI-compatibility, and our
9477           API/ABI freeze is over in a few days, this whole thing will only
9478           last a few days, so don't bother trying to think up a meaningful
9479           name for the struct.
9480
9481 2005-11-17  Andy Wingo  <wingo@pobox.com>
9482
9483         * gst/gstclock.h (GstClock): Add rate and offset properties,
9484         preserving ABI stability. Add rate/offset accessors. Will file bug
9485         for the freeze break.
9486
9487         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
9488         and offset, trying to keep precision and avoiding
9489         underflow/overflow.
9490         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
9491         functions. Make gst_clock_set_time_adjust obsolete.
9492         (gst_clock_set_time_adjust): Note that this function is obsolete.
9493         Will file bug soon.
9494
9495         * gst/base/gstbasetransform.h: Make the ABI-stability hack
9496         greppable by using GST_PADDING-1+1.
9497
9498 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
9499
9500         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9501
9502         * gst/gstmessage.c: (gst_message_parse_clock_lost):
9503           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
9504
9505         * gst/gstpadtemplate.h:
9506         * gst/gstpluginfeature.h:
9507           Don't use c++ style comments in headers (#321638).
9508
9509 2005-11-16  Andy Wingo  <wingo@pobox.com>
9510
9511         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
9512         buffer.
9513
9514         * check/net/gstnettimeprovider.c: Check to see that the time
9515         provider actually provides times. Works, yo!
9516
9517 2005-11-16  Wim Taymans  <wim@fluendo.com>
9518
9519         * check/Makefile.am:
9520         Enable more tests.
9521
9522         * check/elements/fakesrc.c: (GST_START_TEST):
9523         Set element to NULL before disposing it.
9524
9525 2005-11-16  Andy Wingo  <wingo@pobox.com>
9526
9527         * gst/net/Makefile.am:
9528         * gst/net/gstnet.h:
9529         * gst/net/gstnettimeprovider.c: 
9530         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
9531         provider, include it from gstnet.h, and add it to the build.
9532
9533         * gst/net/gstnettimepacket.h: 
9534         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
9535         sending and receiving.
9536
9537 2005-11-16  Wim Taymans  <wim@fluendo.com>
9538
9539         * check/Makefile.am:
9540         Enable valgrind check.
9541
9542         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
9543         (gst_fake_src_alloc_buffer):
9544         Fix memleak.
9545
9546 2005-11-16  Wim Taymans  <wim@fluendo.com>
9547
9548         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
9549         Call parent finalize too.
9550
9551 2005-11-16  Wim Taymans  <wim@fluendo.com>
9552
9553         * check/Makefile.am:
9554         Enable valgrind check that should work fine now.
9555
9556         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9557         * gst/gstqueue.c: (gst_queue_init):
9558         Fix memleaks in pad allocation.
9559
9560 2005-11-16  Andy Wingo  <wingo@pobox.com>
9561
9562         * gst/net/Makefile.am:
9563         * gst/net/gstnet.h: New part of core to hold network elements and
9564         objects. Put in core because it exposes API that applications want
9565         to use. The library is named libgstnet-tempname right now because
9566         of the existing libgstnet in gst-plugins-base. Solution is
9567         probably to rename the one in plugins-base; will file a bug for
9568         the freeze break.
9569
9570         * gst/net/gstnettimeprovider.c: 
9571         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
9572         get_time call over the network.
9573
9574         * configure.ac: 
9575         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
9576
9577         * check/Makefile.am:
9578         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
9579         get additions shortly.
9580
9581 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9582
9583         * gst/gstpad.c: (gst_pad_new_from_static_template):
9584         * gst/gstpad.h:
9585           add gst_pad_new_from_static_template functions
9586         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
9587         (gst_check_setup_sink_pad):
9588         * gst/elements/gsttee.c: (gst_tee_init):
9589           and use them
9590
9591 2005-11-16  Wim Taymans  <wim@fluendo.com>
9592
9593         * gst/gstpad.c: (gst_pad_pause_task):
9594         Removed warning, it's not really an error either.
9595
9596 2005-11-16  Wim Taymans  <wim@fluendo.com>
9597
9598         * gst/base/gstbasetransform.c:
9599         (gst_base_transform_prepare_output_buf),
9600         (gst_base_transform_event):
9601         Check if the caps are NULL, this can happen if the element
9602         is shutting down and the pad caps are set to NULL.
9603
9604 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9605
9606         * gst/elements/gsttee.c: (gst_tee_init):
9607           fix pad template leak in tee
9608
9609 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9610
9611         * gst/glib-compat.c: (g_value_dup_gst_object):
9612         * gst/glib-compat.h:
9613         * gst/gstpad.c: (gst_pad_set_property):
9614           use gst_object_ref when setting the pad template; this will
9615           trigger the pad template leaks on GLib 2.6 and the slaves
9616
9617 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9618
9619         * gst/glib-compat.c: (gst_flags_get_first_value):
9620         * gst/glib-compat.h:
9621         * gst/gstregistryxml.c:
9622           remove functions copied from GLib 2.6
9623
9624 2005-11-16  Michael Smith <msmith@fluendo.com>
9625
9626         * gst/Makefile.am:
9627           Don't link against VALGRIND_LIBS. That was always the wrong thing to
9628           do, but only breaks with newer valgrind versions. We're not a
9629           valgrind tool, we have no link-time dependencies on libcoregrind.
9630
9631 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9632
9633         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9634           some debug changes
9635         * gst/gstmessage.h:
9636           typo fixes
9637
9638 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9639
9640         * gst/base/gstbasesrc.c: (gst_base_src_init):
9641         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9642         * gst/gstqueue.c: (gst_queue_init):
9643         * gst/gstregistryxml.c: (load_feature):
9644           Revert all these unrefs, they don't even pass make check !
9645
9646 2005-11-15  Johan Dahlin  <johan@gnome.org>
9647
9648         * gst/base/gstbasesrc.c: (gst_base_src_init):
9649         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9650         * gst/gstqueue.c: (gst_queue_init): 
9651         Free pad templates, fixes a couple of leaks.
9652
9653 2005-11-15  Daniel Fischer  <dan at f3c dot com>
9654
9655         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9656
9657         * gst/gstpad.c: (gst_pad_get_property):
9658           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
9659           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
9660           (#321452)
9661
9662 2005-11-15  Wim Taymans  <wim@fluendo.com>
9663
9664         * gst/gstevent.c:
9665         Small doc update.
9666
9667 2005-11-15  Andy Wingo  <wingo@pobox.com>
9668
9669         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
9670
9671         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
9672         using GST_CLOCK_TIME_NONE to disable base time management.
9673         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
9674         time if it was NONE before.
9675         (gst_pipeline_change_state): Only munge the base time if
9676         stream_time != GST_CLOCK_TIME_NONE.
9677
9678         * check/gst/gstpipeline.c (test_base_time): Punt around the
9679         problem of the probe not being called, because that's not the
9680         issue I'm looking at. Add a check that setting stream_time to NONE
9681         disables base time management.
9682         
9683 2005-11-15  Wim Taymans  <wim@fluendo.com>
9684
9685         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9686         segment_stop == -1 at startup.
9687
9688         * gst/base/gstbasetransform.c: (gst_base_transform_event),
9689         (gst_base_transform_change_state):
9690         Init segment values at start.
9691
9692 2005-11-15  Wim Taymans  <wim@fluendo.com>
9693
9694         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9695         0 segment values are 0 in any format.
9696
9697         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9698         * gst/base/gstbasetransform.h:
9699         Parse newsegment correctly in basetransform
9700
9701         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
9702         Sync to clock using updated segment values.
9703
9704 2005-11-15  Andy Wingo  <wingo@pobox.com>
9705
9706         * check/gst/gstpipeline.c (test_base_time): Add check that the
9707         base time and stream time are reset correctly.
9708
9709 2005-11-15  Wim Taymans  <wim@fluendo.com>
9710
9711         * docs/design/part-TODO.txt:
9712         Some more TODO items.
9713
9714 2005-11-15  Andy Wingo  <wingo@pobox.com>
9715
9716         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
9717         error if the user selected "no clock" as the clocking method.
9718
9719         * check/gst/gstpipeline.c (test_base_time): New test for buffer
9720         timestamps with live capture.
9721
9722         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
9723         is 0 but we are a live source, timestamp the buffers using the
9724         element's clock.
9725
9726 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
9727
9728         * docs/gst/gstreamer-sections.txt:
9729         * gst/gsterror.c:
9730         * gst/gstghostpad.c:
9731         * gst/gstobject.h:
9732         * gst/gstxml.c:
9733           more section docs
9734
9735 2005-11-14  Wim Taymans  <wim@fluendo.com>
9736
9737         * common/gst.supp:
9738           add suppressions from Wim's Debian machine
9739
9740 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9741
9742         * common/gst.supp:
9743           add suppressions from Andy's AMD64 Ubuntu machine
9744
9745 2005-11-14  Andy Wingo  <wingo@pobox.com>
9746
9747         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
9748         STATE_LOCK not necessary. Fixes #311489.
9749
9750         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
9751         #305291.
9752
9753         * gst/gstindex.c (gst_index_add_object): Note in the docs that
9754         this function is not implemented.
9755
9756 2005-11-14  Julien MOUTTE  <julien@moutte.net>
9757
9758         * gst/base/gstbasetransform.c:
9759         (gst_base_transform_prepare_output_buf):
9760         Ref the source pad caps while we need them.
9761         Fixes (#321386)
9762
9763 2005-11-11  Wim Taymans  <wim@fluendo.com>
9764
9765         * docs/gst/gstreamer-sections.txt:
9766         Added some docs for GstCollectData.
9767
9768         * gst/base/gstadapter.c:
9769         Some small code example fix.
9770
9771         * gst/base/gstcollectpads.c:
9772         * gst/base/gstcollectpads.h:
9773         Document some more.
9774
9775 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9776
9777         * configure.ac: back to HEAD
9778
9779 === release 0.9.5 ===
9780
9781 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
9782
9783         * configure.ac:
9784           releasing 0.9.5, "Bike Lunch Day"
9785
9786 2005-11-11  Wim Taymans  <wim@fluendo.com>
9787
9788         * gst/gstbuffer.c: (_gst_buffer_copy):
9789         Copy more flags.
9790
9791         * gst/gstcaps.c: (gst_caps_is_equal):
9792         Fix some docs.
9793         Make _is_equal fast in the trivial cases.
9794
9795         * gst/gstminiobject.c:
9796         * gst/gstminiobject.h:
9797         More docs. Spifify .h file.
9798
9799         * gst/gstutils.c:
9800         Small doc update.
9801
9802 2005-11-11  Wim Taymans  <wim@fluendo.com>
9803
9804         * gst/base/gstbasetransform.c:
9805         (gst_base_transform_prepare_output_buf),
9806         (gst_base_transform_handle_buffer):
9807         Small cleanups.
9808         If we're processing a buffer and need to allocate an output
9809         buffer, we cannot accept a format change. If we did get a 
9810         format change, we have to alloc a buffer ourselves of the 
9811         right size.
9812
9813 2005-11-11  Wim Taymans  <wim@fluendo.com>
9814
9815         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
9816         While checking the flag for reentrancy in the gstcaps function
9817         is nice to detect recursive invocations, it also makes it 
9818         impossible to call getcaps from multiple threads, which must be
9819         possible. So, checking for recursive calls has to go.
9820
9821 2005-11-11  Michael Smith <msmith@fluendo.com>
9822
9823         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9824           Don't sync on buffers that fall partially outside our current
9825           segment. Prevents an assertion failure/abort playing some files.
9826
9827 2005-11-10  Andy Wingo  <wingo@pobox.com>
9828
9829         * check/gst/gstbin.c (test_message_state_changed_children): Style
9830         fix..
9831
9832         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
9833         gst_bus_poll with the signal watch. Ensures that poll and a signal
9834         watch see the same messages.
9835
9836         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
9837         a poll and a watch at the same time get the same messages.
9838
9839 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9840
9841         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
9842         * gst/gstcaps.c: (gst_caps_intersect):
9843           Don't call gst_caps_do_simplify - it doesn't respect order of caps
9844           and it's not needed.
9845
9846 2005-11-10  Wim Taymans  <wim@fluendo.com>
9847
9848         * docs/design/part-TODO.txt:
9849         Updated todo.
9850
9851 2005-11-10  Wim Taymans  <wim@fluendo.com>
9852
9853         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9854         * gst/base/gstbasesrc.c: (gst_base_src_wait),
9855         (gst_base_src_do_sync), (gst_base_src_get_range):
9856         Implement clock sync in base class.
9857
9858 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9859
9860         patch by: Tim-Philipp Müller <tim at centricular dot net>
9861
9862         * gst/gststructure.c: (gst_structure_parse_field),
9863         (gst_structure_from_string):
9864           Forward-port a 0.8 patch to handle escaped spaces in structure string,
9865           so that gst_parse_launch() can deal with spaces in filtered link
9866           caps (fixes #164479)
9867         * check/gst/capslist.h:
9868         * check/gst/gststructure.c: (GST_START_TEST):
9869           add unit tests for this change
9870
9871 2005-11-10  Wim Taymans  <wim@fluendo.com>
9872
9873         * docs/gst/gstreamer-sections.txt:
9874         * gst/gstelement.c:
9875         * gst/gstelement.h:
9876         Fix docs, move some STATE macros to private.
9877
9878 2005-11-10  Wim Taymans  <wim@fluendo.com>
9879
9880         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9881         Added check for bug #317341
9882
9883         * gst/gstbuffer.c:
9884         * gst/gstbuffer.h:
9885         Some more spiffifying.
9886
9887         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
9888         Call peer linkfunction if we are a source pad. Totally fixes
9889         #317341
9890
9891         * gst/gstpad.c:
9892         Update docs, source pads should call the peer linkfunction
9893         so they can atomically perform the pad link.
9894
9895 2005-11-09  Wim Taymans  <wim@fluendo.com>
9896
9897         * gst/gstbuffer.c:
9898         * gst/gstbuffer.h:
9899         Uber-spiffy-spiffify some more.
9900
9901 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
9902
9903         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
9904         * gst/elements/gstfilesink.c: (gst_file_sink_init):
9905         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9906         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
9907         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
9908         * gst/gstpad.c: (gst_pad_init):
9909           Use GST_DEBUG_FUNCPTR() more extensively.
9910
9911 2005-11-09  Wim Taymans  <wim@fluendo.com>
9912
9913         * gst/gstobject.c: (gst_object_class_init):
9914         * gst/gstobject.h:
9915         Documentation fixes.
9916
9917 2005-11-09  Edward Hervey  <edward@fluendo.com>
9918
9919         * gst/gsttypefindfactory.c:
9920         Fix docs.
9921         
9922 2005-11-09  Edward Hervey  <edward@fluendo.com>
9923
9924         * gst/base/gsttypefindhelper.c:
9925         * gst/gsttypefind.c:
9926         * gst/gsttypefind.h:
9927         Fix docs.
9928
9929 2005-11-09  Wim Taymans  <wim@fluendo.com>
9930
9931         * gst/gstiterator.c:
9932         Fix revision data.
9933
9934         * gst/gsttask.c:
9935         * gst/gsttask.h:
9936         Fix docs.
9937
9938 2005-11-09  Wim Taymans  <wim@fluendo.com>
9939
9940         * gst/gstevent.h:
9941         * gst/gsturi.h:
9942         Fix docs.
9943
9944 2005-11-09  Wim Taymans  <wim@fluendo.com>
9945
9946         * docs/gst/gstreamer-sections.txt:
9947         Moved the message async delivery private lock and cond
9948         to the private section.
9949
9950         * gst/gstmessage.c:
9951         * gst/gstmessage.h:
9952         Fixed docs.
9953
9954 2005-11-09  Edward Hervey  <edward@fluendo.com>
9955
9956         * docs/gst/gstreamer-sections.txt:
9957         * gst/gsturi.c:
9958         * gst/gsturi.h:
9959         Document GstURIHandler
9960
9961 2005-11-09  Wim Taymans  <wim@fluendo.com>
9962
9963         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
9964         (gst_iterator_find_custom):
9965         * gst/gstiterator.h:
9966         Fix iterator docs.
9967
9968 2005-11-09  Wim Taymans  <wim@fluendo.com>
9969
9970         * gst/gstbin.h:
9971         Document another field.
9972
9973         * gst/gststructure.c:
9974         * gst/gststructure.h:
9975         Document.
9976
9977 2005-11-09  Wim Taymans  <wim@fluendo.com>
9978
9979         * gst/gstbin.h:
9980         Documented structs.
9981
9982 2005-11-09  Wim Taymans  <wim@fluendo.com>
9983
9984         * docs/gst/gstreamer-sections.txt:
9985         Added some new macros.
9986
9987         * gst/gstclock.c:
9988         * gst/gstclock.h:
9989         * gst/gstobject.h:
9990         Docs updates.
9991
9992 2005-11-09  Wim Taymans  <wim@fluendo.com>
9993
9994         * docs/design/part-TODO.txt:
9995         Some more items for the TODO
9996
9997         * gst/gstcaps.c:
9998         * gst/gstcaps.h:
9999         Document GstCaps.
10000
10001 2005-11-09  Andy Wingo  <wingo@pobox.com>
10002
10003         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
10004         to work on something else now tho...
10005
10006         * gst/base/gstadapter.c: More adapter docs.
10007
10008         * gst/elements/gstfilesink.c (gst_file_sink_start) 
10009         (gst_file_sink_stop): New functions, replace the state change
10010         handler.
10011         (gst_file_sink_class_init): Hook up the start and stop functions.
10012         (gst_file_sink_base_init): Don't set the state change handler any
10013         more. It was a bit ugly too, being set from here...
10014         (gst_file_sink_get_property, gst_file_sink_set_property):
10015         Cleanups...
10016         (gst_file_sink_set_location): More robust check that doesn't call
10017         GST_STATE. Ugggggg.
10018
10019 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
10020
10021         * gst/base/gstbasetransform.c: (gst_base_transform_event):
10022           Hold STREAM_LOCK while pushing newsegment or tag events as well.
10023
10024 2005-11-08  Wim Taymans  <wim@fluendo.com>
10025
10026         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10027         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
10028         (gst_base_sink_chain), (gst_base_sink_change_state):
10029         * gst/base/gstbasesink.h:
10030         * gst/base/gstbasesrc.h:
10031         * gst/gstelement.h:
10032         * gst/gstevent.h:
10033         Avoid excessive typechecking in macros.
10034
10035         * gst/gstminiobject.c: (gst_mini_object_get_type),
10036         (gst_mini_object_init), (gst_mini_object_new),
10037         (gst_mini_object_free):
10038         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
10039         (gst_object_finalize):
10040         Remove cruft code, optimize alloc_trace.
10041
10042 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10043
10044         * docs/faq/gst-uninstalled:
10045           fix up PS1 for systems that try to reset it
10046
10047 2005-11-07  Wim Taymans  <wim@fluendo.com>
10048
10049         * gst/base/gstbasesrc.c: (gst_base_src_init),
10050         (gst_base_src_get_range):
10051         Set the segment_end to -1 initially. Fixed typefind.
10052
10053 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
10054
10055         * gst/base/gstadapter.c:
10056           Debug category should be 'adapter', not 'GstAdapter'.
10057           
10058         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
10059         (gst_collectpads_class_init), (gst_collectpads_init),
10060         (gst_collectpads_peek), (gst_collectpads_pop),
10061         (gst_collectpads_event), (gst_collectpads_chain):
10062           Add debug category and some debugging output. Use boilerplate
10063           macros. Remove some extraneous words from docs.
10064
10065 2005-11-05  Andy Wingo  <wingo@pobox.com>
10066
10067         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
10068         macro.
10069
10070 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
10071
10072         * docs/gst/gstreamer-sections.txt:
10073         * gst/gstcaps.h:
10074         * gst/gstinfo.c:
10075         * gst/gstminiobject.h:
10076         * gst/gstobject.h:
10077         * gst/gstutils.h:
10078           more docs added
10079
10080 2005-11-04  Wim Taymans  <wim@fluendo.com>
10081
10082         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10083         Small update to stop at the configured segment_end
10084         position.
10085
10086 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
10087
10088         * gst/gstregistry.c:
10089         * gst/gstregistry.h:
10090           added missing docs
10091
10092 2005-11-04  Edward Hervey  <edward@fluendo.com>
10093
10094         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10095         Check if we are doing a segment seek and have arrived at the
10096         end of that segment.
10097
10098 2005-11-04  Wim Taymans  <wim@fluendo.com>
10099
10100         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
10101         Don't leak a mutex unlock in case of an error.
10102
10103         * gst/gstbus.h:
10104         Doc fixes.
10105
10106 2005-11-04  Wim Taymans  <wim@fluendo.com>
10107
10108         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
10109         (gst_bus_post):
10110         Get the context to wake up only once.
10111
10112 2005-11-03  Wim Taymans  <wim@fluendo.com>
10113
10114         * check/states/sinks.c: (GST_START_TEST):
10115         Uncomment fixed check.
10116
10117         * docs/design/part-TODO.txt:
10118         Updated TODO.
10119
10120         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10121         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
10122         (gst_base_sink_get_position):
10123         If we are going to PLAYING, post the right pending state
10124         when we post the intermediate paused message.
10125
10126         * gst/gstelement.c: (gst_element_continue_state),
10127         (gst_element_set_state_func), (gst_element_change_state):
10128         Don't post state changes that were between the same state
10129         and were not ASYNC.
10130
10131 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
10132
10133         * docs/gst/gstreamer-sections.txt:
10134         * gst/gstcaps.h:
10135         * gst/gstinfo.c:
10136         * gst/gstminiobject.h:
10137         * gst/gstobject.h:
10138         * gst/gstutils.h:
10139           more docs and doc style fixes
10140
10141 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
10142
10143         * docs/gst/gstreamer-sections.txt:
10144         * gst/gstelement.c:
10145         * gst/gstminiobject.c:
10146         doc fixes
10147
10148 2005-11-03  Andy Wingo  <wingo@pobox.com>
10149
10150         * check/states/sinks.c (test_livesrc_sink): Add checks that the
10151         state-changed messages actually have the right order and the right
10152         values.
10153
10154 2005-11-03  Wim Taymans  <wim@fluendo.com>
10155
10156         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
10157         Added some more checks. Specifically the case where NO_PREROLL
10158         elements are in the pipeline.
10159
10160         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10161         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
10162         (gst_base_sink_get_position):
10163         Post READY->PAUSED state change messages too.
10164         Fix bug where VOID was posted as pending state...
10165
10166         * gst/gstbin.c: (gst_bin_recalc_state):
10167         use _element_continue_state() to continue the state change.
10168
10169         * gst/gstelement.c: (gst_element_continue_state),
10170         (gst_element_commit_state), (gst_element_set_state_func),
10171         (gst_element_change_state), (gst_element_change_state_func):
10172         Lots of state change cleanups, assign the STATE_RETURN in
10173         a new continue_state() function that also propagates the
10174         last return value from a state change to the app.
10175         Update some debug statements with proper category.
10176
10177 2005-11-03  Wim Taymans  <wim@fluendo.com>
10178
10179         * docs/design/part-events.txt:
10180         * docs/design/part-gstpipeline.txt:
10181         * docs/design/part-messages.txt:
10182         * docs/design/part-overview.txt:
10183         * docs/design/part-seeking.txt:
10184         * docs/design/part-states.txt:
10185         * docs/design/part-trickmodes.txt:
10186         * docs/manual/advanced-position.xml:
10187         Small docs updates.
10188
10189         * gst/gstobject.h:
10190         People think !! is ugly, this looks better.
10191
10192         * gst/gstpad.c: (gst_pad_set_blocked_async):
10193         Remove !! since it's fixed elsewhere now.
10194
10195 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
10196
10197         * gst/gstminiobject.h:
10198         * gst/gstobject.h:
10199           Add !! to _FLAG_IS_SET macros to make the result boolean.
10200
10201 2005-11-03  Edward Hervey  <edward@fluendo.com>
10202
10203         * gst/gstpad.c: (gst_pad_set_blocked_async):
10204         comparing a flag and a gboolean rarely returns coherent results...
10205         Added two characters (!!) to make that work correctly.
10206         
10207 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
10208
10209         * gst/gstbus.c: (gst_bus_class_init):
10210           Fix some typos.
10211           
10212         * gst/gstqueue.c: (gst_queue_loop):
10213           Don't assume a miniobject that isn't a buffer is an
10214           event (it could be that there is a refcounting
10215           problem somewhere and the pointer is stale and
10216           refers to an already destroyed miniobject).
10217
10218 2005-11-03  Julien MOUTTE  <julien@moutte.net>
10219
10220         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
10221
10222 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
10223
10224         * docs/manual/advanced-position.xml:
10225           Update seek example and explanations to current 0.9 API.
10226
10227         * gst/elements/gsttypefindelement.c:
10228         (gst_type_find_element_activate):
10229           Remove FIXME comment now that the found caps
10230           are unreffed.
10231
10232 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10233
10234         * gst/gstregistryxml.c: (load_feature):
10235           Add another GST_STR_NULL instance
10236
10237 2005-11-02  Edward Hervey  <edward@fluendo.com>
10238
10239         * gst/gstpad.c: (handle_pad_block):
10240         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
10241         
10242 2005-11-02  Wim Taymans  <wim@fluendo.com>
10243
10244         * gst/gstbin.c:
10245         Fix typo in docs.
10246
10247         * gst/gstelement.c: (gst_element_commit_state):
10248         Remove unused value.
10249
10250         * gst/gstiterator.c:
10251         Mention that the returned element is reffed in the docs.
10252
10253 2005-11-02  Wim Taymans  <wim@fluendo.com>
10254
10255         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
10256         (gst_pad_push), (gst_pad_push_event):
10257         Unlock blocked pads when they are flushed.
10258
10259 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10260
10261         * docs/README:
10262         * docs/gst/gstreamer-sections.txt:
10263         * gst/gstbin.c:
10264           doc updates
10265         * gst/gstregistry.c: (gst_registry_scan_path_level):
10266           fix for a nasty little missed situation where an installed plug-in
10267           which was in the cache did not get overridden by an uninstalled one
10268           which was earlier in the plugin path because the newly created plugin
10269           for the uninstalled one (not in the registry) didn't get its
10270           ->registered set to TRUE
10271
10272 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
10273
10274         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
10275         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
10276         (gst_collectpads_is_active), (gst_collectpads_collect),
10277         (gst_collectpads_collect_range), (gst_collectpads_start),
10278         (gst_collectpads_stop), (gst_collectpads_peek),
10279         (gst_collectpads_pop), (gst_collectpads_available),
10280         (gst_collectpads_read), (gst_collectpads_flush):
10281           Guard public API with assertions.
10282         
10283         * gst/gstpad.c:
10284           Fix docs for gst_pad_set_link_function().
10285
10286 2005-11-02  Johan Dahlin  <johan@gnome.org>
10287
10288         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
10289         Unref found_caps after we used it.
10290
10291 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
10292
10293         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
10294           Don't try to ref NULL.
10295
10296 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10297
10298         * win32/common/config.h.in:
10299           provide a GST_FUNCTION that just gives a string for now
10300
10301 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10302
10303         * win32/common/gstenumtypes.c: (register_gst_object_flags),
10304         (gst_object_flags_get_type), (register_gst_bin_flags),
10305         (gst_bin_flags_get_type), (register_gst_buffer_flag),
10306         (gst_buffer_flag_get_type), (register_gst_bus_flags),
10307         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
10308         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
10309         (gst_clock_return_get_type), (register_gst_clock_entry_type),
10310         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
10311         (gst_clock_flags_get_type), (register_gst_state),
10312         (gst_state_get_type), (register_gst_state_change_return),
10313         (gst_state_change_return_get_type), (register_gst_state_change),
10314         (gst_state_change_get_type), (register_gst_element_flags),
10315         (gst_element_flags_get_type), (register_gst_core_error),
10316         (gst_core_error_get_type), (register_gst_library_error),
10317         (gst_library_error_get_type), (register_gst_resource_error),
10318         (gst_resource_error_get_type), (register_gst_stream_error),
10319         (gst_stream_error_get_type), (register_gst_event_type),
10320         (gst_event_type_get_type), (register_gst_seek_type),
10321         (gst_seek_type_get_type), (register_gst_seek_flags),
10322         (gst_seek_flags_get_type), (register_gst_format),
10323         (gst_format_get_type), (register_gst_index_certainty),
10324         (gst_index_certainty_get_type), (register_gst_index_entry_type),
10325         (gst_index_entry_type_get_type),
10326         (register_gst_index_lookup_method),
10327         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
10328         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
10329         (gst_index_resolver_method_get_type), (register_gst_index_flags),
10330         (gst_index_flags_get_type), (register_gst_debug_level),
10331         (gst_debug_level_get_type), (register_gst_debug_color_flags),
10332         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
10333         (gst_iterator_result_get_type), (register_gst_iterator_item),
10334         (gst_iterator_item_get_type), (register_gst_message_type),
10335         (gst_message_type_get_type), (register_gst_mini_object_flags),
10336         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
10337         (gst_pad_link_return_get_type), (register_gst_flow_return),
10338         (gst_flow_return_get_type), (register_gst_activate_mode),
10339         (gst_activate_mode_get_type), (register_gst_pad_direction),
10340         (gst_pad_direction_get_type), (register_gst_pad_flags),
10341         (gst_pad_flags_get_type), (register_gst_pad_presence),
10342         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
10343         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
10344         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
10345         (gst_plugin_error_get_type), (register_gst_plugin_flags),
10346         (gst_plugin_flags_get_type), (register_gst_rank),
10347         (gst_rank_get_type), (register_gst_query_type),
10348         (gst_query_type_get_type), (register_gst_tag_merge_mode),
10349         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
10350         (gst_tag_flag_get_type), (register_gst_task_state),
10351         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
10352         (gst_alloc_trace_flags_get_type),
10353         (register_gst_type_find_probability),
10354         (gst_type_find_probability_get_type), (register_gst_uri_type),
10355         (gst_uri_type_get_type), (register_gst_parse_error),
10356         (gst_parse_error_get_type):
10357         * win32/common/gstversion.h:
10358           update win32 copies
10359
10360 2005-11-01  Luca Ognibene  <luogni@tin.it>
10361
10362         * gst/gst.c:
10363           fix docs. popt is dead, long live GOption.
10364
10365 2005-10-31  Wim Taymans  <wim@fluendo.com>
10366
10367         * gst/gstbuffer.h:
10368         Small doc fix.
10369
10370 2005-10-31  Andy Wingo  <wingo@pobox.com>
10371
10372         * Boo!
10373
10374         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
10375
10376         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
10377         need to serialize property notifications on GLib 2.8. GLib 2.6 has
10378         the possibility of deadlocks here if code calling notify() or
10379         set() has a lock that can be taken in another notify handler (ABBA
10380         with class lock and e.g. python GIL state lock).
10381
10382 2005-10-28  Julien MOUTTE  <julien@moutte.net>
10383
10384         * gst/gstbus.c: Doc updates.
10385
10386 2005-10-28  Wim Taymans  <wim@fluendo.com>
10387
10388         * docs/design/part-TODO.txt:
10389         * gst/gstiterator.c:
10390         * gst/gstsystemclock.c:
10391         * gst/gstsystemclock.h:
10392         Doc updates.
10393
10394 2005-10-28  Edward Hervey  <edward@fluendo.com>
10395
10396         * docs/gst/gstreamer-docs.sgml:
10397         * docs/gst/gstreamer-sections.txt:
10398         the GstURIType documentation page is private, it only defines GstURIType
10399         which should be defined in the GstURIHandler page
10400         
10401 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10402
10403         * gst/gstbin.c: (gst_bin_class_init):
10404         * gst/gstbin.h:
10405         * gst/gstutils.c:
10406         Documentation updates.
10407
10408 2005-10-28  Wim Taymans  <wim@fluendo.com>
10409
10410         * docs/gst/gstreamer-sections.txt:
10411         * gst/gstclock.c:
10412         * gst/gstclock.h:
10413         Documented the clocks.
10414
10415 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
10416
10417         * docs/gst/gstreamer-sections.txt:
10418           move some macros to private sections
10419         * gst/gstminiobject.c:
10420         * gst/gstminiobject.h:
10421           add descriptions provided by ds and some more
10422         * gst/gstpad.h:
10423           mark macro as to be removed
10424
10425 2005-10-28  Wim Taymans  <wim@fluendo.com>
10426
10427         * docs/design/part-TODO.txt:
10428         Add an item to TODO.
10429
10430         * gst/gstiterator.c: (gst_iterator_fold),
10431         (gst_iterator_find_custom):
10432         * gst/gstiterator.h:
10433         Add iterator docs.
10434
10435 2005-10-28  Wim Taymans  <wim@fluendo.com>
10436
10437         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10438         (gst_base_transform_init):
10439         Don't leak class.
10440
10441         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
10442         An EOS event marks the queue as completely filled.
10443
10444 2005-10-27  Wim Taymans  <wim@fluendo.com>
10445
10446         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10447         (gst_base_sink_do_sync), (gst_base_sink_get_position):
10448         Some more debugging.
10449
10450         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
10451         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
10452         (gst_base_transform_event), (gst_base_transform_getrange),
10453         (gst_base_transform_chain):
10454         * gst/base/gstbasetransform.h:
10455         Fix debugging,
10456         Protect transform and concurrent buffer alloc with a new lock.
10457         Try not to break ABI/API.
10458
10459 2005-10-27  Wim Taymans  <wim@fluendo.com>
10460
10461         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10462         (gst_base_src_init), (gst_base_src_query),
10463         (gst_base_src_default_newsegment),
10464         (gst_base_src_configure_segment), (gst_base_src_do_seek),
10465         (gst_base_src_send_event), (gst_base_src_event_handler),
10466         (gst_base_src_pad_get_range), (gst_base_src_loop),
10467         (gst_base_src_unlock), (gst_base_src_default_negotiate),
10468         (gst_base_src_start), (gst_base_src_deactivate),
10469         (gst_base_src_activate_push), (gst_base_src_change_state):
10470         Move some stuff around and cleanup things.
10471
10472 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
10473
10474         * gst/base/gstbasesrc.c: (gst_base_src_query):
10475           Add missing break statements.
10476
10477 2005-10-27  Wim Taymans  <wim@fluendo.com>
10478
10479         * check/gst/gstbin.c: (GST_START_TEST):
10480         An extra refcount is taken in basesrc.
10481
10482         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
10483         (gst_base_src_get_range), (gst_base_src_pad_get_range),
10484         (gst_base_src_loop):
10485         Small cleanups, check for flushing after being unlocked from the 
10486         LIVE_LOCK. take refcounts correctly (not yet everywhere).
10487         Don't send out EOS when going to READY.
10488
10489 2005-10-27  Wim Taymans  <wim@fluendo.com>
10490
10491         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10492         (gst_base_sink_get_position):
10493         Some more debug.
10494
10495         * gst/gstbin.c: (message_check), (bin_replace_message),
10496         (bin_remove_messages), (is_eos), (gst_bin_add_func),
10497         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
10498         (bin_query_duration_init), (bin_query_duration_fold),
10499         (bin_query_duration_done), (bin_query_generic_fold),
10500         (gst_bin_query):
10501         * tools/gst-launch.c: (main):
10502         Remove old option.
10503
10504 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
10505
10506         * examples/controller/audio-example.c: (main):
10507         * examples/queue/queue.c: (event_loop):
10508         * gst/base/gstbasetransform.h:
10509         * gst/gstelement.c: (gst_element_send_event):
10510         * gst/gstevent.h:
10511         * gst/gstpad.c: (gst_pad_send_event):
10512           fixing examples
10513           fixing docs typos
10514           changing log priority in error situations
10515
10516 2005-10-25  Wim Taymans  <wim@fluendo.com>
10517
10518         * gst/gstbin.c: (message_check), (bin_replace_message),
10519         (bin_remove_messages), (is_eos), (gst_bin_add_func),
10520         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
10521         (bin_query_duration_init), (bin_query_duration_fold),
10522         (bin_query_duration_done), (bin_query_generic_fold),
10523         (gst_bin_query):
10524         Some doc and debug updates.
10525         Cache previously requested query DURATION for speed. invalidate
10526         cached duration if element posts a DURATION message.
10527
10528 2005-10-25  Wim Taymans  <wim@fluendo.com>
10529
10530         * docs/design/part-TODO.txt:
10531         Update TODO.
10532
10533         * gst/gstbin.c: (message_check), (bin_replace_message),
10534         (bin_remove_messages), (is_eos), (gst_bin_add_func),
10535         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
10536         (bin_query_duration_init), (bin_query_duration_fold),
10537         (bin_query_duration_done), (bin_query_generic_fold),
10538         (gst_bin_query):
10539         Handle SEGMENT_START/DONE messages correctly.
10540         More evolved query algorithm that handles duration queries
10541         correctly.
10542
10543         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
10544         (gst_element_get_state_func), (gst_element_abort_state),
10545         (gst_element_commit_state), (gst_element_lost_state):
10546         Some more debugging.
10547
10548         * gst/gstmessage.h:
10549         Added doc.
10550
10551 2005-10-25  Wim Taymans  <wim@fluendo.com>
10552
10553         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
10554         Don't use invalid stream_time.
10555
10556         * gst/gstevent.c: (gst_event_new_newsegment):
10557         stream_time in newsegment cannot be undefined.
10558
10559 2005-10-24  Wim Taymans  <wim@fluendo.com>
10560
10561         * gst/gstbus.c:
10562         Doc fix.
10563
10564         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10565         (gst_queue_loop):
10566         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
10567
10568 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
10569
10570         * docs/libs/tmpl/gstdparam.sgml:
10571         * docs/libs/tmpl/gstdplinint.sgml:
10572         * docs/libs/tmpl/gstdpman.sgml:
10573         * docs/libs/tmpl/gstdpsmooth.sgml:
10574         * docs/libs/tmpl/gstunitconvert.sgml:
10575           these are obsolete
10576
10577 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10578
10579         * configure.ac:
10580           back to HEAD
10581
10582 === release 0.9.4 ===
10583
10584 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10585
10586         * configure.ac:
10587           releasing 0.9.4, "Tyrannosaurus Rex"
10588
10589 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
10590
10591         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
10592         (gst_file_sink_get_current_offset):
10593           Use fseeko() and ftello() if available. When falling back on
10594           lseek() to get the current offset, fflush() first to make sure
10595           everything is up-to-date and we get the right offset.
10596
10597 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10598
10599         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10600         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10601         * gst/gsterror.c: (_gst_stream_errors_init):
10602         * gst/gsterror.h:
10603         * gst/gstqueue.c: (gst_queue_loop):
10604         * po/POTFILES.in:
10605           remove prematurely added error category and clean up the instances
10606
10607 2005-10-21  Wim Taymans  <wim@fluendo.com>
10608
10609         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10610         (gst_base_sink_get_position), (gst_base_sink_query),
10611         (gst_base_sink_change_state):
10612         Simply set the right flag when going to playing, that's all
10613         we need to do instead of calling a function inside the object
10614         lock (that could take the lock as well and deadlock)
10615
10616 2005-10-21  Wim Taymans  <wim@fluendo.com>
10617
10618         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
10619         (gst_base_src_loop):
10620         Don't warn, the peer element knows what to do best when
10621         the seek failed, it might try something else.
10622
10623 2005-10-21  Wim Taymans  <wim@fluendo.com>
10624
10625         * gst/base/gstbasesrc.c: (gst_base_src_init),
10626         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
10627         Fix seeking.
10628
10629 2005-10-21  Wim Taymans  <wim@fluendo.com>
10630
10631         * docs/design/part-segments.txt:
10632         More docs.
10633
10634         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
10635         Correctly set caps, even on the subbufer.
10636
10637 2005-10-21  Wim Taymans  <wim@fluendo.com>
10638
10639         * docs/gst/gstreamer-docs.sgml:
10640         * docs/gst/gstreamer-sections.txt:
10641         * gst/gstelement.h:
10642         * gst/gstevent.c:
10643         * gst/gstevent.h:
10644         * gst/gstmessage.h:
10645         * gst/gstpad.h:
10646         * gst/gstparse.h:
10647         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
10648         * gst/gsttask.h:
10649         * gst/gstutils.c:
10650         * gst/gstutils.h:
10651         And 2% more doc coverage.
10652
10653 2005-10-21  Andy Wingo  <wingo@pobox.com>
10654
10655         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
10656         position reporting.
10657
10658 2005-10-20  Wim Taymans  <wim@fluendo.com>
10659
10660         * gst/gsterror.c: (gst_error_get_message):
10661         * gst/gstparse.h:
10662         * gst/gstquery.h:
10663         * gst/gststructure.c:
10664         * gst/gsttrace.c:
10665         * gst/gstutils.c:
10666         More docs.
10667
10668 2005-10-20  Wim Taymans  <wim@fluendo.com>
10669
10670         * gst/gstbuffer.h:
10671         * gst/gstpad.c:
10672         * gst/gstparse.c:
10673         Another 1% more coverage.
10674
10675 2005-10-20  Wim Taymans  <wim@fluendo.com>
10676
10677         * docs/gst/gstreamer-sections.txt:
10678         * gst/gstelement.c: (gst_element_get_state_func),
10679         (gst_element_abort_state), (gst_element_commit_state),
10680         (gst_element_lost_state):
10681         * gst/gstevent.h:
10682         * gst/gstquery.c: (gst_query_set_position),
10683         (gst_query_parse_position), (gst_query_set_duration),
10684         (gst_query_parse_duration), (gst_query_new_convert):
10685         * gst/gstutils.c:
10686         Yay! 1% more docs coverage.
10687
10688 2005-10-20  Wim Taymans  <wim@fluendo.com>
10689
10690         * gst/gstpad.h:
10691         * gst/gstquery.c: (gst_query_set_position),
10692         (gst_query_parse_position), (gst_query_set_duration),
10693         (gst_query_parse_duration), (gst_query_new_convert):
10694         * gst/gstquery.h:
10695         * gst/gstutils.c: (gst_element_query_convert):
10696         * gst/gstutils.h:
10697         Docs and consistency fixes.
10698
10699 2005-10-20  Wim Taymans  <wim@fluendo.com>
10700
10701         * gst/gsttask.c:
10702         * gst/gsttask.h:
10703         More docs.
10704
10705 2005-10-20  Wim Taymans  <wim@fluendo.com>
10706
10707         * gst/gstbin.c: (message_check), (bin_replace_message),
10708         (bin_remove_messages), (is_eos), (gst_bin_add_func),
10709         (update_degree), (gst_bin_sort_iterator_next),
10710         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
10711         Reworked the message handling a bit, cache the messages instead of
10712         only the senders. alows us to do more in the future.
10713
10714 2005-10-20  Wim Taymans  <wim@fluendo.com>
10715
10716         * docs/design/part-TODO.txt:
10717         Update TODO
10718
10719         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
10720         (gst_base_sink_query):
10721         Don't use clock time to report position when in EOS.
10722
10723 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
10724
10725         * tools/gst-inspect.c: (print_interfaces),
10726         (print_element_properties_info), (print_element_info):
10727           Fix interface output with gst-inspect -a; don't print
10728           newlines after double/float properties.
10729
10730 2005-10-20  Wim Taymans  <wim@fluendo.com>
10731
10732         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
10733         (gst_base_sink_query):
10734         Speed up current position calculation.
10735
10736         * gst/base/gstbasesrc.c: (gst_base_src_query),
10737         (gst_base_src_default_newsegment):
10738         Correctly set stream position in newsegment.
10739
10740         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
10741         (update_degree), (gst_bin_sort_iterator_next),
10742         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
10743         * gst/gstmessage.c: (gst_message_new_custom):
10744         Clean up debugging info
10745
10746         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
10747         (gst_queue_loop), (gst_queue_handle_src_query):
10748         Pause task faster.
10749
10750 2005-10-19  Wim Taymans  <wim@fluendo.com>
10751
10752         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10753         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
10754         Fix query handling again.
10755
10756 2005-10-19  Wim Taymans  <wim@fluendo.com>
10757
10758         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10759         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
10760         * gst/base/gstbasesrc.c: (gst_base_src_query):
10761         * gst/elements/gstfilesink.c: (gst_file_sink_query):
10762         * gst/elements/gsttypefindelement.c:
10763         (gst_type_find_handle_src_query), (find_element_get_length),
10764         (gst_type_find_element_activate):
10765         API change fix.
10766
10767         * gst/gstquery.c: (gst_query_new_position),
10768         (gst_query_set_position), (gst_query_parse_position),
10769         (gst_query_new_duration), (gst_query_set_duration),
10770         (gst_query_parse_duration), (gst_query_set_segment),
10771         (gst_query_parse_segment):
10772         * gst/gstquery.h:
10773         Bundling query position/duration is not a good idea since duration
10774         does not change much and we don't want to recalculate it for every
10775         position query, so they are separated again..
10776         Base value in segment query is not needed.
10777
10778         * gst/gstqueue.c: (gst_queue_handle_src_query):
10779         * gst/gstutils.c: (gst_element_query_position),
10780         (gst_element_query_duration), (gst_pad_query_position),
10781         (gst_pad_query_duration):
10782         * gst/gstutils.h:
10783         Updates for query API change.
10784         Added some docs here and there.
10785
10786 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10787
10788         * check/gst/gstbin.c: (GST_START_TEST):
10789         * check/gst/gstghostpad.c: (GST_START_TEST):
10790         * check/pipelines/cleanup.c: (GST_START_TEST):
10791           wait on thread to die so we can check refcount correctly
10792
10793 2005-10-18  Wim Taymans  <wim@fluendo.com>
10794
10795         * check/pipelines/stress.c: (GST_START_TEST):
10796         Make check a little more time consuming.
10797
10798 2005-10-18  Wim Taymans  <wim@fluendo.com>
10799
10800         * check/Makefile.am:
10801         * check/pipelines/stress.c: (GST_START_TEST),
10802         (simple_launch_lines_suite), (main):
10803         Small state change torture test.
10804
10805         * docs/design/part-states.txt:
10806         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10807         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
10808         (gst_base_sink_change_state):
10809         Never take state lock from streaming thread, clean up ugly
10810         hacks. Unfortunatly core does not yet support nice ways to
10811         async commit state.
10812         
10813         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
10814         (bin_bus_handler):
10815         Start state recalc if a STATE_DIRTY message is posted, but only
10816         on the toplevel bin.
10817
10818         * gst/gstelement.c: (gst_element_sync_state_with_parent),
10819         (gst_element_get_state_func), (gst_element_abort_state),
10820         (gst_element_commit_state), (gst_element_lost_state),
10821         (gst_element_set_state_func), (gst_element_change_state):
10822         * gst/gstelement.h:
10823         State variables are now protected with the LOCK, the state
10824         lock is only used to serialize _set_state().
10825
10826 2005-10-18  Wim Taymans  <wim@fluendo.com>
10827
10828         * check/gst/gstbin.c: (GST_START_TEST):
10829         * check/gst/gstmessage.c: (GST_START_TEST):
10830         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10831         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
10832         (bin_bus_handler):
10833         * gst/gstelement.c: (gst_element_abort_state),
10834         (gst_element_commit_state), (gst_element_lost_state):
10835         * gst/gstmessage.c: (gst_message_new_state_changed),
10836         (gst_message_new_state_dirty), (gst_message_new_segment_start),
10837         (gst_message_new_segment_done), (gst_message_new_duration),
10838         (gst_message_parse_state_changed),
10839         (gst_message_parse_segment_start),
10840         (gst_message_parse_segment_done), (gst_message_parse_duration):
10841         * gst/gstmessage.h:
10842         * tools/gst-launch.c: (event_loop):
10843         Seriously, this is better than a previous commit as we only need
10844         to notify the fact that an element changed state in a streaming
10845         thread, marking the state of the parents dirty, hence the 
10846         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
10847         message.
10848
10849 2005-10-18  Wim Taymans  <wim@fluendo.com>
10850
10851         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
10852         (gst_bin_recalc_func):
10853         * gst/gstelement.c: (gst_element_set_clock),
10854         (gst_element_abort_state), (gst_element_lost_state):
10855         Cleanups, prepare for state change fixes.
10856
10857 2005-10-18  Wim Taymans  <wim@fluendo.com>
10858
10859         * gst/gstbin.h:
10860         * gst/gstelement.c: (gst_element_class_init),
10861         (gst_element_set_state), (gst_element_set_state_func):
10862         * gst/gstelement.h:
10863         Pending ABI changes.
10864         GThreadPool in GstBinClass to monitor async state changes.
10865         state_cookie in GstElement to detect concurrent gst/set state.
10866         set_state is now virtual too in case a very complicated element
10867         has to be constructed.
10868
10869 2005-10-18  Wim Taymans  <wim@fluendo.com>
10870
10871         * check/gst/gstbin.c: (GST_START_TEST):
10872         * check/gst/gstmessage.c: (GST_START_TEST):
10873         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10874         * gst/gstbin.c: (bin_bus_handler):
10875         * gst/gstelement.c: (gst_element_commit_state),
10876         (gst_element_lost_state):
10877         * gst/gstmessage.c: (gst_message_new_state_changed),
10878         (gst_message_new_segment_start), (gst_message_new_segment_done),
10879         (gst_message_new_duration), (gst_message_parse_state_changed),
10880         (gst_message_parse_segment_start),
10881         (gst_message_parse_segment_done), (gst_message_parse_duration):
10882         * gst/gstmessage.h:
10883         * tools/gst-launch.c: (event_loop):
10884         Make messages future proof.
10885         state-change gets a flag if it was a message comming from the
10886         streaming thread.
10887         segment-start/stop can also be specified in other formats.
10888         A message to notify an app that a pipeline changed playback 
10889         duration.
10890         Also fix a GstMessage leak in -launch
10891
10892 2005-10-18  Andy Wingo  <wingo@pobox.com>
10893
10894         * gst/gstelement.c (gst_element_dispose): More helpful message.
10895
10896 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10897
10898         reviewed by: <delete if not using a buddy>
10899
10900         * common/gtk-doc.mak:
10901
10902 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10903
10904         * gst/gstregistry.c: (gst_registry_scan_path_level):
10905           unref a plug-in we get that was already initialized
10906
10907 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
10908
10909         * docs/gst/gstreamer-sections.txt:
10910         * docs/libs/gstreamer-libs-sections.txt:
10911         * gst/gstelement.h:
10912           add new api entries
10913           hide internal macro
10914
10915 2005-10-17  Andy Wingo  <wingo@pobox.com>
10916
10917         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
10918         cleanup.
10919
10920         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
10921
10922         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
10923
10924         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
10925         (gst_element_get_state_func): Better debug message.
10926         (gst_element_commit_state): s/INFO/DEBUG/.
10927         (gst_element_lost_state, gst_element_change_state): 
10928
10929         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
10930         (gst_message_new_custom): s/INFO/LOG/.
10931
10932 2005-10-17  Michael Smith <msmith@fluendo.com>
10933
10934         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
10935           Check if end time is valid using end time, not start time.
10936
10937 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
10938
10939         * check/gst-libs/controller.c: (GST_START_TEST),
10940         (gst_controller_suite):
10941         * libs/gst/controller/gstcontroller.c:
10942         (gst_controlled_property_set_interpolation_mode):
10943         * libs/gst/controller/gstcontroller.h:
10944         * libs/gst/controller/gstinterpolation.c:
10945         * testsuite/controller/.cvsignore:
10946         * testsuite/controller/Makefile.am:
10947         * testsuite/controller/interpolator.c:
10948           merge controller testsuites
10949           fix broken tests
10950           remove mem-chunk from docs
10951
10952 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10953
10954         * gst/gstmemchunk.c:
10955         * gst/gstmemchunk.h:
10956         * gst/gsttrashstack.c:
10957         * gst/gsttrashstack.h:
10958           out.  get out.  you're fired.  to the Attic !
10959
10960 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10961
10962         * gst/gstcaps.c: (gst_caps_intersect):
10963           fix signedness issues in a (hopefully) correct way
10964         * gst/gstelement.c: (gst_element_pads_activate):
10965           some debugging
10966         * gst/gstobject.c: (gst_object_set_parent):
10967           some debugging
10968
10969 2005-10-17  Julien MOUTTE  <julien@moutte.net>
10970
10971         * gst/gstvalue.h: Fix prototypes.
10972
10973 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10974
10975         * docs/gst/gstreamer-sections.txt:
10976         * gst/gst.c: (gst_version_string):
10977         * gst/gst.h:
10978         * gst/gstversion.h.in:
10979         * win32/common/libgstreamer.def:
10980           add gst_version_string ()
10981
10982 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10983
10984         * configure.ac:
10985           clean up further
10986         * gst/gst.c: (init_post):
10987         * win32/common/config.h.in:
10988           it's PLUGINDIR now
10989         * gst/gstcaps.c: (gst_caps_intersect):
10990           use gint64, the range could be bigger than a guint
10991
10992 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10993
10994         * gst/gstclock.h:
10995           document potential problem in 2038
10996
10997 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10998
10999         * gst/gstcaps.c: (gst_caps_intersect):
11000           Fix guint j diving under 0
11001
11002 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11003
11004         * configure.ac:
11005         * win32/common/config.h:
11006         * win32/common/config.h.in:
11007           check for process.h, declares getpid() on Windows
11008         * gst/gstinfo.c:
11009           include process.h if we have it
11010         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
11011         * gst/gstmemchunk.h:
11012           fix signedness issues
11013         * win32/common/libgstreamer.def:
11014           fix get_type's
11015
11016 2005-10-16  Julien MOUTTE  <julien@moutte.net>
11017
11018         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
11019         fix. Because of unsigned ints, caps intersection was going nuts and
11020         trying to access structures with G_MAXUINT index. That fixes
11021         videotestsrc ! ffmpegcolorspace ! fakesink
11022         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
11023         consistency.
11024
11025 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11026
11027         * configure.ac:
11028           use the gettext macro
11029         * gst/elements/gstelements.c:
11030         * gst/gst.c:
11031         * gst/indexers/gstindexers.c:
11032           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
11033         * win32/common/config.h:
11034           updated config.h
11035         * win32/common/config.h.in:
11036           add the template to generate config.h
11037         * win32/common/gstenumtypes.c:
11038         * win32/common/gstversion.h:
11039           updated copies
11040
11041 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11042
11043         * gst/gst.c: (gst_version):
11044         * gst/gstversion.h.in:
11045           add the nano
11046
11047 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
11048
11049         * gst/gstevent.h:
11050           Oops, add missing closing bracket.
11051
11052 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11053
11054         * configure.ac:
11055           use common m4's for argument checking
11056
11057 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
11058
11059         * docs/gst/gstreamer-sections.txt:
11060         * gst/gstevent.h:
11061           Add GST_EVENT_TYPE_NAME() macro.
11062
11063 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11064
11065         * gst/gstinfo.c:
11066         * gst/gstpluginfeature.c:
11067         * gst/gsttask.c:
11068           privatize more symbols
11069
11070 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11071
11072         * configure.ac:
11073           add srcdir, builddir includes to GST_ALL_CFLAGS, since
11074           everything that uses GStreamer API should have the includes
11075
11076 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11077
11078         * docs/gst/gstreamer-sections.txt:
11079         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
11080         * gst/gstvalue.h:
11081           give each value a _get_type, removes the DATA exports
11082
11083 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11084
11085         * gst/gst.c:
11086         * gst/gst.h:
11087           remove _gst_registry_auto_load, not used anymore
11088         * gst/gstbin.c: (gst_bin_get_type):
11089         * gst/gstbin.h:
11090         * gst/gstelement.c: (gst_element_get_type):
11091         * gst/gstelement.h:
11092         * gst/gstobject.c: (gst_object_get_type):
11093         * gst/gstobject.h:
11094         * gst/gstpad.c: (gst_pad_get_type):
11095         * gst/gstpad.h:
11096           make _get_type functions similar, fixes data export from library
11097
11098 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11099
11100         * configure.ac:
11101           correctly make conditionals
11102         * gst/elements/Makefile.am:
11103         * gst/elements/gstelements.c:
11104           fix typo causing fdsrc not to build
11105
11106 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11107
11108         * testsuite/Makefile.am:
11109         * testsuite/bytestream/.cvsignore:
11110         * testsuite/bytestream/Makefile.am:
11111         * testsuite/bytestream/filepadsink.c:
11112         * testsuite/bytestream/gstbstest.c:
11113         * testsuite/bytestream/test1.c:
11114         * testsuite/bytestream/testfile1:
11115         * testsuite/caps/normalisation.c:
11116         * testsuite/caps/random.c: (main):
11117         * testsuite/cleanup/.cvsignore:
11118         * testsuite/cleanup/Makefile.am:
11119         * testsuite/cleanup/cleanup1.c:
11120         * testsuite/cleanup/cleanup2.c:
11121         * testsuite/cleanup/cleanup3.c:
11122         * testsuite/cleanup/cleanup4.c:
11123         * testsuite/cleanup/cleanup5.c:
11124         * testsuite/controller/interpolator.c:
11125         * testsuite/debug/printf_extension.c: (main):
11126         * testsuite/elements/tee.c:
11127         * testsuite/negotiation/.cvsignore:
11128         * testsuite/negotiation/Makefile.am:
11129         * testsuite/negotiation/pad_link.c:
11130         * testsuite/pad/Makefile.am:
11131         * testsuite/pad/chainnopull.c:
11132         * testsuite/pad/getnopush.c:
11133         * testsuite/pad/link.c:
11134         * testsuite/refcounting/sched.c: (create_pipeline):
11135         * testsuite/registry/Makefile.am:
11136         * testsuite/registry/gst-print-formats.c:
11137         * testsuite/schedulers/.cvsignore:
11138         * testsuite/schedulers/142183-2.c:
11139         * testsuite/schedulers/142183.c:
11140         * testsuite/schedulers/143777-2.c:
11141         * testsuite/schedulers/143777.c:
11142         * testsuite/schedulers/147713.c:
11143         * testsuite/schedulers/147819.c:
11144         * testsuite/schedulers/147894-2.c:
11145         * testsuite/schedulers/147894.c:
11146         * testsuite/schedulers/Makefile.am:
11147         * testsuite/schedulers/group_link.c:
11148         * testsuite/schedulers/queue_link.c:
11149         * testsuite/schedulers/relink.c:
11150         * testsuite/schedulers/unlink.c:
11151         * testsuite/schedulers/unref.c:
11152         * testsuite/schedulers/useless_iteration.c:
11153         * testsuite/states/bin.c:
11154           clean out/remove some stuff from the testsuite directories
11155
11156 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11157
11158         * configure.ac:
11159           check for some headers
11160         * gst/elements/Makefile.am:
11161         * gst/elements/gstelements.c:
11162           don't compile fdsrc without sys/socket.h
11163         * gst/indexers/Makefile.am:
11164         * gst/indexers/gstindexers.c: (plugin_init):
11165           don't compile fileindex without mmap
11166
11167 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11168
11169         * configure.ac:
11170           reorganize
11171           clean up
11172           document more
11173           remove cruft
11174         * check/Makefile.am:
11175         * docs/gst/Makefile.am:
11176         * examples/helloworld/Makefile.am:
11177         * gst/Makefile.am:
11178         * gst/base/Makefile.am:
11179         * gst/check/Makefile.am:
11180         * gst/elements/Makefile.am:
11181         * gst/indexers/Makefile.am:
11182         * gst/parse/Makefile.am:
11183         * libs/gst/controller/Makefile.am:
11184         * libs/gst/dataprotocol/Makefile.am:
11185         * examples/helloworld/helloworld.c: (event_loop):
11186           compile fixes, though it's not being compiled currently
11187
11188 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
11189
11190         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
11191           Add some simple tests for the new taglist date API.
11192
11193 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
11194
11195         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
11196         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
11197           Beautify 'last-message' output: print 'none' for buffer timestamps
11198           and durations if none is set; improve alignment with next messages.
11199
11200 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
11201
11202         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
11203         * gst/gstpluginfeature.h:
11204         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
11205         * gst/gstregistry.h:
11206         * docs/gst/gstreamer-sections.txt:
11207           Add new API to check plugin feature version requirements.
11208
11209         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
11210           Some basic tests for the above.         
11211
11212 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11213
11214         * gst/gststructure.c: (gst_structure_to_string):
11215           guard against NULL printf - happens when for example
11216           a message structure with GstClock gets serialized
11217
11218 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11219
11220         * gst/base/gstcollectpads.c: (gst_collectpads_event):
11221           Fix presumable copy'n'pasto.
11222
11223 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11224
11225         * gst/elements/gstfakesrc.h:
11226         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
11227         * gst/elements/gsttypefindelement.c:
11228           fix some signedness
11229         * gst/elements/gstfilesink.c: (gst_file_sink_render):
11230           I wonder if this could actually write +2GB files before
11231
11232 2005-10-13  Andy Wingo  <wingo@pobox.com>
11233
11234         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
11235         Fix Timmeke Waymans bug.
11236         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
11237         string of the proper length to gst_caps_from_string. There's a
11238         potential for, before this fix, that this could cause someone
11239         connecting over the network to cause a segfault if the payload is
11240         not NUL-terminated.
11241
11242 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
11243
11244         * docs/design/draft-push-pull.txt:
11245         * docs/design/part-overview.txt:
11246         * docs/random/TODO-pre-0.9:
11247         * docs/random/old/ChangeLog.gstreamer:
11248         * gst/base/gstpushsrc.c:
11249         * gst/gstclock.c:
11250           fixed typos
11251
11252 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11253
11254         * gst/glib-compat.c: (gst_flags_get_first_value):
11255         * gst/glib-compat.h:
11256         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
11257         (gst_value_compare_double), (gst_value_serialize_flags):
11258           GLib 2.6 g_flags_get_first_value has a bug that triggers an
11259           infinite loop
11260
11261 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11262
11263         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11264         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
11265           fix up debugging
11266         * tools/gst-launch.c: (event_loop):
11267           print out clock nicely
11268
11269 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11270
11271         * docs/gst/gstreamer-sections.txt:
11272         * gst/gsttaglist.h:
11273         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
11274         (gst_tag_list_get_date_index):
11275           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
11276           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
11277
11278 2005-10-13  Julien MOUTTE  <julien@moutte.net>
11279
11280         * gst/base/gstcollectpads.c: (gst_collectpads_event),
11281         (gst_collectpads_chain):
11282         * gst/base/gstcollectpads.h: Handle newsegment and store informations
11283         in CollectData.
11284
11285 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
11286
11287         * docs/gst/gstreamer-sections.txt:
11288         * gst/gst.c:
11289         * gst/gsterror.h:
11290         * tools/gst-inspect.c: (main):
11291         * tools/gst-launch.c: (main):
11292         * tools/gst-run.c: (main):
11293         * tools/gst-xmlinspect.c: (main):
11294           fix GOption context leaks
11295           doc fixes
11296
11297 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11298
11299         * gst/gstbus.c:
11300           use HAVE_UNISTD_H
11301         * win32/common/config.h:
11302           update config
11303         * win32/vs6/grammar.dsp:
11304         * win32/vs6/libgstelements.dsp:
11305         * win32/vs6/libgstreamer.dsp:
11306           update vs6 files
11307
11308 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11309
11310         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11311         * gst/base/gstbasesrc.c: (gst_base_src_query):
11312           fix more guint64<->gdouble conversions
11313
11314 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11315
11316         * Makefile.am:
11317           add win32-update target
11318         * win32/common/gstconfig.h:
11319         * win32/common/gstenumtypes.c:
11320         * win32/common/gstenumtypes.h:
11321         * win32/common/gstversion.h:
11322           add files that visual studio can't generate
11323
11324 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11325
11326         * Makefile.am:
11327           add a win32-update target
11328         * configure.ac:
11329
11330 2005-10-12  Wim Taymans  <wim@fluendo.com>
11331
11332         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11333         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
11334         * gst/gstelement.c: (gst_element_commit_state),
11335         (gst_element_set_state):
11336         Protect flags with proper lock.
11337         unref provided cached clock in dispose.
11338
11339 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
11340
11341         * gst/gst.c:
11342         * gst/gstminiobject.h:
11343         * gst/gstpad.h:
11344         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
11345           removed unused flags from miniobject
11346           doc fixes
11347
11348 2005-10-12  Wim Taymans  <wim@fluendo.com>
11349
11350         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
11351         (gst_file_sink_event), (gst_file_sink_render):
11352         Flush before seeking.
11353
11354 2005-10-12  Andy Wingo  <wingo@pobox.com>
11355
11356         * gst/gst.c (gst_init_check): Ignore unknown options, as has
11357         always been the case.
11358
11359 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
11360
11361         * check/gst/gstbin.c: (GST_START_TEST):
11362         * docs/gst/gstreamer-sections.txt:
11363         * gst/base/gstbasesink.c: (gst_base_sink_init):
11364         * gst/base/gstbasesrc.c: (gst_base_src_init),
11365         (gst_base_src_get_range), (gst_base_src_check_get_range),
11366         (gst_base_src_start), (gst_base_src_stop):
11367         * gst/base/gstbasesrc.h:
11368         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
11369         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11370         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
11371         (bin_bus_handler):
11372         * gst/gstbin.h:
11373         * gst/gstbuffer.h:
11374         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
11375         * gst/gstbus.h:
11376         * gst/gstelement.c: (gst_element_is_locked_state),
11377         (gst_element_set_locked_state), (gst_element_commit_state),
11378         (gst_element_set_state):
11379         * gst/gstelement.h:
11380         * gst/gstindex.c: (gst_index_init):
11381         * gst/gstindex.h:
11382         * gst/gstminiobject.h:
11383         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
11384         (gst_object_set_parent):
11385         * gst/gstobject.h:
11386         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
11387         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
11388         * gst/gstpad.h:
11389         * gst/gstpadtemplate.h:
11390         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
11391         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
11392         * gst/gstpipeline.h:
11393         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11394         (gst_file_index_commit):
11395         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
11396         * testsuite/pad/link.c: (gst_test_src_init),
11397         (gst_test_filter_init), (gst_test_sink_init):
11398         * testsuite/states/locked.c: (main):
11399           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
11400           moved bitshift from macro to enum definition
11401
11402 2005-10-12  Wim Taymans  <wim@fluendo.com>
11403
11404         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
11405         * gst/elements/gstfilesink.c: (gst_file_sink_event),
11406         (gst_file_sink_render):
11407         Some more debugging info.
11408
11409 2005-10-12  Wim Taymans  <wim@fluendo.com>
11410
11411         * docs/design/part-states.txt:
11412         * tools/gst-launch.c: (main):
11413         Some doc updates.
11414         Revert non-intentional change.
11415
11416 2005-10-12  Wim Taymans  <wim@fluendo.com>
11417
11418         * check/gst/gstbin.c: (GST_START_TEST):
11419         * check/gst/gstelement.c: (GST_START_TEST):
11420         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
11421         * check/gst/gstghostpad.c: (GST_START_TEST):
11422         * check/gst/gstpipeline.c: (GST_START_TEST):
11423         * check/pipelines/simple_launch_lines.c: (run_pipeline):
11424         * check/states/sinks.c: (GST_START_TEST):
11425         * gst/elements/gsttypefindelement.c: (stop_typefinding):
11426         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
11427         (gst_bin_remove_func), (gst_bin_get_state_func),
11428         (gst_bin_recalc_state), (gst_bin_change_state_func),
11429         (bin_bus_handler):
11430         * gst/gstelement.c: (gst_element_get_state_func),
11431         (gst_element_get_state), (gst_element_abort_state),
11432         (gst_element_commit_state), (gst_element_set_state),
11433         (gst_element_change_state), (gst_element_change_state_func):
11434         * gst/gstelement.h:
11435         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
11436         (gst_pipeline_provide_clock_func):
11437         * gst/gstutils.c: (gst_element_link_pads_filtered):
11438         * tools/gst-launch.c: (main):
11439         * tools/gst-typefind.c: (main):
11440         Use GstClockTime in _get_state() instead of GTimeVal.
11441         Remove old code in gstutils.c
11442
11443 2005-10-12  Andy Wingo  <wingo@pobox.com>
11444
11445         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
11446         removed.
11447
11448         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
11449         there is no task. Shouldn't affect any code, as nothing in our
11450         plugins checks this return value.
11451         (gst_pad_stop_task): Also take the stream lock if the pad has no
11452         task. Docs updated.
11453
11454 2005-10-12  Wim Taymans  <wim@fluendo.com>
11455
11456         * gst/gstpad.c: (pre_activate), (post_activate),
11457         (gst_pad_activate_pull), (gst_pad_activate_push):
11458         Cleanup activation code. Reset old state if
11459         activation failed.
11460
11461 2005-10-12  Wim Taymans  <wim@fluendo.com>
11462
11463         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11464         (gst_base_sink_change_state):
11465         No need to prerol after receiving EOS.
11466
11467         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
11468         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
11469         * gst/elements/gstidentity.c: (gst_identity_event):
11470         Print events more verbosely.
11471
11472 2005-10-12  Wim Taymans  <wim@fluendo.com>
11473
11474         * check/Makefile.am:
11475         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
11476         * check/states/sinks2.c:
11477         Moved sinks2 testcode in sinks check.
11478
11479         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
11480         (gst_bin_remove_func), (gst_bin_recalc_state),
11481         (gst_bin_change_state_func), (bin_bus_handler):
11482         Fix potential race condition when _get_state() iterated over an
11483         ASYNC element right before it posted a state completion.
11484
11485         * gst/gstclock.h:
11486         Do proper cast here.
11487
11488         * gst/gstevent.c: (gst_event_new_newsegment),
11489         (gst_event_parse_newsegment):
11490         A playback rate of 0.0 is not allowed.
11491
11492 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11493
11494         * win32/common/config.h:
11495         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
11496         (_trewinddir), (_ttelldir), (_tseekdir):
11497         * win32/common/dirent.h:
11498         * win32/common/gtchar.h:
11499         * win32/common/libgstbase.def:
11500         * win32/common/libgstreamer.def:
11501         * win32/vs6/grammar.dsp:
11502         * win32/vs6/gst_inspect.dsp:
11503         * win32/vs6/gst_launch.dsp:
11504         * win32/vs6/gstreamer.dsw:
11505         * win32/vs6/libgstbase.dsp:
11506         * win32/vs6/libgstelements.dsp:
11507         * win32/vs6/libgstreamer.dsp:
11508           Visual Studio 6 project files, and a new common directory.
11509           Phear.
11510
11511 2005-10-11  Wim Taymans  <wim@fluendo.com>
11512
11513         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11514         (gst_base_sink_do_sync), (gst_base_sink_query),
11515         (gst_base_sink_change_state):
11516         * gst/base/gstbasesink.h:
11517         Correctly parse newsegment info.
11518
11519 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11520
11521         * gst/gst.c: (init_post):
11522           split plugin paths correctly
11523
11524 2005-10-11  Wim Taymans  <wim@fluendo.com>
11525
11526         * check/gst/gstevent.c: (GST_START_TEST):
11527         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11528         (gst_base_sink_change_state):
11529         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
11530         * gst/base/gstbasetransform.c: (gst_base_transform_event):
11531         * gst/elements/gstfilesink.c: (gst_file_sink_event):
11532         * gst/gstevent.c: (gst_event_new_newsegment),
11533         (gst_event_parse_newsegment):
11534         * gst/gstevent.h:
11535         Added extra flag to newsegment for future API freeze.
11536         Updated check and base elements.
11537
11538 2005-10-11  Julien MOUTTE  <julien@moutte.net>
11539
11540         * gst/base/gstcollectpads.c: (gst_collectpads_init),
11541         (gst_collectpads_add_pad), (gst_collectpads_pop),
11542         (gst_collectpads_event), (gst_collectpads_chain):
11543         * gst/base/gstcollectpads.h: Handle EOS correctly.
11544
11545 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11546
11547         * tools/gst-launch.c: (main):
11548           more null protecting
11549
11550 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11551
11552         * gst/gst-i18n-lib.h:
11553           check for ENABLE_NLS, not GETTEXT_PACKAGE
11554         * gst/gstregistry.c: (gst_registry_add_plugin),
11555         (gst_registry_scan_path_level),
11556         (_gst_registry_remove_cache_plugins):
11557           protect possibly NULL strings
11558         * gst/parse/types.h:
11559           config.h already included before
11560         * tools/gst-inspect.c: (main):
11561           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
11562           check for ENABLE_NLS, not GETTEXT_PACKAGE
11563         * tools/gst-launch.c: (main):
11564           check for ENABLE_NLS, not GETTEXT_PACKAGE
11565
11566 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11567
11568         * configure.ac:
11569           if we don't have glib, fail before testing 2.8
11570         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
11571           fix a leak, should fix plugins-base testsuite
11572
11573 2005-10-11  Andy Wingo  <wingo@pobox.com>
11574
11575         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
11576         take the mode we're going to as an arg. Go head and set the mode
11577         and flushing flags now, so that if the activate function starts a
11578         thread all the flags will be in the right state.
11579         (post_activate): Renamed also. Just handle making sure streaming
11580         finishes for the deactivation case, and setting the deactivated
11581         mode.
11582         (gst_pad_set_active): Complain loudly if deactivation fails.
11583         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
11584         (gst_pad_activate_push): Adapt to pre/post_activate changes,
11585         remove the terrible hack.
11586
11587 2005-10-11  Wim Taymans  <wim@fluendo.com>
11588
11589         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
11590         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
11591         (gst_bin_recalc_state), (gst_bin_change_state_func),
11592         (gst_bin_dispose), (bin_bus_handler):
11593         * gst/gstbin.h:
11594         Prepare to make current EOS message queue more generic.
11595         Fix some typos.
11596
11597         * gst/gstevent.c: (gst_event_new_newsegment),
11598         (gst_event_parse_newsegment):
11599         * gst/gstevent.h:
11600         Rename base to stream_time.
11601
11602         * gst/gstmessage.h:
11603         Fix typo in docs.
11604
11605 2005-10-11  Wim Taymans  <wim@fluendo.com>
11606
11607         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
11608         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
11609         (gst_bin_change_state_func), (bin_bus_handler):
11610         * gst/gstbin.h:
11611         Work on proper clock selection.
11612
11613 2005-10-11  Edward Hervey  <edward@fluendo.com>
11614
11615         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
11616         * libs/gst/controller/gstcontroller.h:
11617         Added GList* version of _remove_properties() in order to be able to wrap
11618         it in bindings.
11619
11620 2005-10-11  Wim Taymans  <wim@fluendo.com>
11621
11622         * docs/design/part-states.txt:
11623         Some more docs.
11624
11625         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
11626         (gst_bin_change_state_func), (bin_bus_handler):
11627         Doc updates. Don't distribute the same clock over and over again.
11628
11629         * gst/gstclock.c:
11630         * gst/gstclock.h:
11631         Doc updates.
11632
11633         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
11634         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
11635         (gst_pad_send_event):
11636         * gst/gstpad.h:
11637         Make probe emission threadsafe again.
11638         Register quarks and move _get_name() from utils.
11639         Doc updates.
11640
11641         * gst/gstpipeline.c: (gst_pipeline_class_init),
11642         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
11643         Only redistribute the clock of it changed.
11644
11645         * gst/gstsystemclock.h:
11646         Doc updates. 
11647
11648         * gst/gstutils.c:
11649         * gst/gstutils.h:
11650         Moved the _flow_get_name() to GstPad.
11651
11652 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11653
11654         * check/gst-libs/gdp.c: (GST_START_TEST):
11655         * check/gst/gstcaps.c: (GST_START_TEST):
11656         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
11657         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
11658         (gst_dp_packet_from_caps):
11659           fix more valgrind warnings before turning up the heat
11660
11661 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11662
11663         * gst/parse/grammar.y:
11664           some cleanup before the hacking
11665
11666 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11667
11668         * gst/base/gstbasesrc.c: (gst_base_src_query):
11669           use conversions
11670         * gst/gstutils.c: (gst_guint64_to_gdouble),
11671         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
11672         * gst/gstutils.h:
11673           externalize, basesrc uses it
11674           obviously the implementation needs testing
11675
11676 2005-10-10  Wim Taymans  <wim@fluendo.com>
11677
11678         * tests/sched/Makefile.am:
11679         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
11680         (make_pipeline3), (make_pipeline4), (print_elem), (main):
11681
11682 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11683
11684         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
11685           apparently converting from guint64 to double is not implemented
11686           on MSVC
11687
11688 2005-10-10  Wim Taymans  <wim@fluendo.com>
11689
11690         * check/Makefile.am:
11691         * check/generic/states.c: (GST_START_TEST):
11692         * check/gst/gstbin.c: (GST_START_TEST):
11693         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11694         * check/states/sinks.c: (GST_START_TEST):
11695         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
11696         (main):
11697         Check fixes, use API as stated in design docs, remove hacks.
11698
11699         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11700         (gst_base_sink_change_state):
11701         Catch stopping our task while we're shutting down.
11702
11703         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
11704         (gst_bin_remove_func), (gst_bin_get_state_func),
11705         (gst_bin_recalc_state), (gst_bin_change_state_func),
11706         (bin_bus_handler):
11707         * gst/gstbin.h:
11708         * gst/gstelement.c: (gst_element_init),
11709         (gst_element_get_state_func), (gst_element_abort_state),
11710         (gst_element_commit_state), (gst_element_lost_state),
11711         (gst_element_set_state), (gst_element_change_state),
11712         (gst_element_change_state_func):
11713         * gst/gstelement.h:
11714         New state change algorithm (see #318116)
11715
11716         * gst/gstpipeline.c: (gst_pipeline_class_init),
11717         (gst_pipeline_init), (gst_pipeline_set_property),
11718         (gst_pipeline_get_property), (do_pipeline_seek),
11719         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
11720         * gst/gstpipeline.h:
11721         Remove crude state change hacks.
11722
11723         * gst/gstutils.h:
11724         Remove crude hacks.
11725
11726         * tools/gst-launch.c: (main):
11727         Fixes for state change. Needs some more work to fully use the
11728         new stuff.
11729
11730 2005-10-10  Andy Wingo  <wingo@pobox.com>
11731
11732         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
11733
11734         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
11735         this flag, but it's not even in GLib 2.6. Odd. Hack around the
11736         issue.
11737
11738 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
11739
11740         * gst/gstiterator.c: (gst_iterator_new):
11741           Fix my previous commit: GTypes passed to gst_iterator_new()
11742           can be fundamental types.
11743
11744 2005-10-10  Wim Taymans  <wim@fluendo.com>
11745
11746         * gst/gstelement.c: (gst_element_iterate_pad_list),
11747         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
11748         (gst_element_iterate_sink_pads):
11749         Use src/sink pads lists for the respective iterators instead
11750         of filtering.
11751
11752 2005-10-10  Andy Wingo  <wingo@pobox.com>
11753
11754         Merged in popt removal + GOption addition patch from Ronald, bug
11755         #169772.
11756
11757         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
11758         GstElement macros around, remove popt-related symbols, add goption
11759         stuff.
11760
11761         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
11762         
11763         * docs/gst/Makefile.am:
11764         * docs/libs/Makefile.am: No POPT_CFLAGS.
11765         
11766         * examples/manual/Makefile.am:
11767         * docs/manual/basics-init.xml: Doc updates with an example.
11768         
11769         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
11770         (gst_init), (parse_one_option), (parse_goption_arg):
11771         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
11772         bit of hand merging and debugging to get the GOption stuff working
11773         tho.
11774         
11775         * tests/Makefile.am:
11776         * tools/Makefile.am:
11777         * tools/gst-inspect.c: (main):
11778         * tools/gst-launch.c: (main):
11779         * tools/gst-run.c: (main):
11780         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
11781
11782 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
11783
11784         * gst/gstiterator.c: (gst_iterator_new):
11785           Add assertions to make sure passed GType is likely to really
11786           be a GType (as the compiler won't catch it if the size and
11787           GType arguments get mixed up, see #318447).
11788
11789 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
11790
11791         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11792
11793         * gst/gstbin.c: (gst_bin_iterate_sorted):
11794           Pass GType and size arguments to gst_iterator_new() in the right
11795           order (maybe we should make _new() take the GType as first argument
11796           just like _new_list()?) (#318447).
11797           
11798
11799 2005-10-10  Wim Taymans  <wim@fluendo.com>
11800
11801         * gst/gstelement.c: (gst_element_finalize):
11802         And free the GStaticRecMutex too
11803
11804 2005-10-10  Andy Wingo  <wingo@pobox.com>
11805
11806         * gst/gstelement.c (gst_element_init, gst_element_finalize):
11807         Allocate and free the mutex properly.
11808
11809         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
11810         New macros.
11811         (GstElement): The state_lock is now recursive. Rebuild your
11812         plugins, suckers. Old macros adapted.
11813
11814         * docs/gst/gstreamer-sections.txt: Doc updates.
11815
11816         * gst/gstutils.h:
11817         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
11818         (g_static_rec_cond_wait): Ported from state changes patch, while
11819         we wait on bug #317802 to be solved in a well-distributed GLib.
11820
11821         * gst/gstelement.c (gst_element_change_state_func): Renamed from
11822         gst_element_change_state, variable name changes.
11823         (gst_element_change_state): Split out of gst_element_set_state in
11824         preparation for the state change merge. Doesn't pay attention to
11825         the 'transition' argument.
11826         (gst_element_set_state): Updates, hopefully purely cosmetic.
11827         (gst_element_sync_state_with_parent): MT-safety. Ported from the
11828         state change patch.
11829         (gst_element_get_state_func): Renamed from get_state, cosmetic
11830         changes.
11831
11832 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11833
11834         * gst/elements/gstelements.c:
11835         * win32/GStreamer.vcproj:
11836         * win32/config.h:
11837         * win32/dirent.c: (_tseekdir):
11838         * win32/gst-inspect.vcproj:
11839         * win32/gst-launch.vcproj:
11840         * win32/gstconfig.h:
11841         * win32/gstelements.vcproj:
11842         * win32/gstenumtypes.c: (gst_object_flags_get_type):
11843         * win32/gstreamer.def:
11844         * win32/msvc71.sln:
11845           updates for the win32 build (patch from Sebastien Moutte)
11846
11847 2005-10-10  Andy Wingo  <wingo@pobox.com>
11848
11849         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
11850         gst_bin_get_state, cleaned up (but no logic changes).
11851         (bin_element_is_sink): Comment updates.
11852         (sink_iterator_filter): Remove needless cast.
11853         (gst_bin_iterate_sinks): Doc update.
11854         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
11855         cleaned up (but no logic changes).
11856
11857         * check/states/sinks.c (test_src_sink): Cleanups from the state
11858         change patch.
11859         (test_livesrc_sink): Sync on the state.
11860
11861         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
11862         the state change patch.
11863
11864         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
11865         change patch.
11866
11867         * check/gst/gstbin.c: Merge in some style fixes and additional
11868         checks from Wim's state change patch.
11869
11870 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
11871
11872         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11873         (gst_type_find_helper):
11874           Check whether we have the requested data already in our list of
11875           cached buffers before pulling a new buffer; also make the buffer
11876           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
11877
11878 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11879
11880         * gst/gstcaps.c:
11881         * gst/gstevent.c:
11882           doc updates
11883         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11884           don't use long long, it's not portable.  Replacing with
11885           gint64 seems to work; let's hope no skeletons fall out of the closet.
11886
11887 2005-10-10  Andy Wingo  <wingo@pobox.com>
11888
11889         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
11890
11891 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
11892
11893         * docs/gst/gstreamer-sections.txt:
11894         * gst/gstevent.c:
11895         * gst/gstevent.h:
11896         * gst/gstinfo.c:
11897         * gst/gstinfo.h:
11898         * gst/gstmessage.c: (gst_message_parse_state_changed):
11899         * gst/gstpad.c:
11900         * gst/gstpad.h:
11901           more docs, fix compilation
11902
11903 2005-10-09  Philippe Khalaf <burger@speedy.org>
11904         * gst/gstmessage.c:
11905           Fixed a few forgotten variables on previous commit
11906
11907 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
11908
11909         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11910           Fix evil typefind crasher: getrange() might return a short
11911           buffer at the end of a file, but gst_type_find_peek() must
11912           either return the full data as requested or NULL, but
11913           never a short buffer.
11914
11915 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11916
11917         * gst/gstmessage.c: (gst_message_new_state_changed),
11918         (gst_message_parse_state_changed):
11919         * gst/gstmessage.h:
11920           don't use "new", it's a C++ keyword
11921
11922 2005-10-08  Wim Taymans  <wim@fluendo.com>
11923
11924         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
11925         * gst/gstelement.c: (gst_element_post_message):
11926         * gst/gstpipeline.c: (gst_pipeline_change_state):
11927         Small docs and debug updates.
11928
11929 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
11930
11931         * docs/gst/gstreamer-sections.txt:
11932         * gst/gstelementfactory.c:
11933         * gst/gstevent.c:
11934         * gst/gsttaglist.c:
11935           more docs
11936
11937 2005-10-08  Wim Taymans  <wim@fluendo.com>
11938
11939         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
11940         (gst_bin_dispose), (bin_bus_handler):
11941         Fix typos, add comments.
11942         Clear EOS list when going to PAUSED from any direction and do it
11943         in a threadsafe way.
11944         Get base time in a threadsafe way too.
11945         Fix confusing debug in the change_state function.
11946         Various other small cleanups.
11947         
11948         * gst/gstelement.c: (gst_element_post_message):
11949         Fix very verbose bus posting code.
11950
11951         * gst/gstpipeline.c: (gst_pipeline_class_init),
11952         (gst_pipeline_set_property), (gst_pipeline_get_property),
11953         (gst_pipeline_change_state):
11954         Small ARG_ -> PROP_ cleanup
11955
11956 2005-10-08  Wim Taymans  <wim@fluendo.com>
11957
11958         * gst/gstbin.c: (is_eos), (bin_bus_handler):
11959         Do a less CPU demanding EOS check because we can.
11960
11961 2005-10-08  Wim Taymans  <wim@fluendo.com>
11962
11963         * libs/gst/dataprotocol/dataprotocol.c:
11964         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
11965         (gst_dp_packet_from_event):
11966         * libs/gst/dataprotocol/dataprotocol.h:
11967         * libs/gst/dataprotocol/dp-private.h:
11968         It's about time we bump the version number.
11969         Since event types don't fit in the guint8 anymore describing
11970         the payload type, make payload type 16 bits wide.
11971
11972 2005-10-08  Wim Taymans  <wim@fluendo.com>
11973
11974         * docs/design/part-TODO.txt:
11975         * docs/design/part-clocks.txt:
11976         * docs/design/part-events.txt:
11977         * docs/design/part-gstbin.txt:
11978         * docs/design/part-gstelement.txt:
11979         * docs/design/part-gstpipeline.txt:
11980         * docs/design/part-live-source.txt:
11981         * docs/design/part-messages.txt:
11982         * docs/design/part-overview.txt:
11983         * docs/design/part-states.txt:
11984         Many doc updates.
11985
11986 2005-10-08  Wim Taymans  <wim@fluendo.com>
11987
11988         * gst/gstevent.c:
11989         * gst/gstevent.h:
11990         Fix event quark registration.
11991         Add some space between events so we can insert them in the
11992         right groups.
11993
11994 2005-10-08  Wim Taymans  <wim@fluendo.com>
11995
11996         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11997         (gst_base_sink_handle_buffer):
11998         Better log message.
11999
12000         * gst/gstbus.h:
12001         * gst/gstelement.h:
12002         More docs.
12003
12004         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12005         (gst_queue_set_property), (gst_queue_get_property):
12006         * gst/gstqueue.h:
12007         Remove old unused properties.
12008
12009 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
12010         * docs/gst/gstreamer-sections.txt:
12011         * gst/gstmessage.c:
12012         * gst/gstmessage.h:
12013         * gst/gstminiobject.c:
12014         * gst/gstminiobject.h:
12015         * gst/gstobject.h:
12016         * gst/gstpad.h:
12017         * gst/gstutils.h:
12018           lots of new docs and doc fixes
12019
12020 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12021
12022         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
12023         * gst/gstplugin.h:
12024         * gst/gstregistry.c: (gst_registry_lookup_locked),
12025         (gst_registry_scan_path_level):
12026         * gst/gstregistryxml.c: (load_plugin):
12027           Only ever load one plugin for a given plugin basename.
12028           This ensures correct overriding of GST_PLUGIN_PATH over
12029           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
12030           system installed plugins.
12031
12032 2005-10-08  Wim Taymans  <wim@fluendo.com>
12033
12034         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12035         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
12036         Prepare for doing QOS.
12037
12038 2005-10-08  Wim Taymans  <wim@fluendo.com>
12039
12040         * check/gst/gstbin.c: (GST_START_TEST):
12041         * check/pipelines/cleanup.c: (GST_START_TEST):
12042         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
12043         Allow new clock message too.
12044
12045 2005-10-08  Wim Taymans  <wim@fluendo.com>
12046
12047         * gst/gstmessage.c: (gst_message_new_error),
12048         (gst_message_new_warning), (gst_message_new_tag),
12049         (gst_message_new_state_changed), (gst_message_new_clock_provide),
12050         (gst_message_new_clock_lost), (gst_message_new_new_clock),
12051         (gst_message_new_segment_start), (gst_message_new_segment_done),
12052         (gst_message_parse_state_changed),
12053         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
12054         (gst_message_parse_new_clock):
12055         * gst/gstmessage.h:
12056         Also carry the clock in question.
12057
12058 2005-10-08  Wim Taymans  <wim@fluendo.com>
12059
12060         * gst/gstmessage.c: (gst_message_new_custom),
12061         (gst_message_new_eos), (gst_message_new_error),
12062         (gst_message_new_warning), (gst_message_new_tag),
12063         (gst_message_new_state_changed), (gst_message_new_clock_provide),
12064         (gst_message_new_new_clock), (gst_message_new_segment_start),
12065         (gst_message_new_segment_done), (gst_message_parse_state_changed),
12066         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
12067         * gst/gstmessage.h:
12068         Clean up.
12069         Added clock related messages.
12070
12071         * gst/gstpipeline.c: (gst_pipeline_change_state):
12072         Post message when the clock changed.
12073
12074         * tools/gst-launch.c: (event_loop):
12075         Print new clock.
12076
12077 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
12078
12079         * tools/gst-inspect.c: (print_element_properties_info):
12080           Can't pass NULL strings to g_print() on windows.
12081
12082 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12083
12084         * docs/Makefile.am:
12085         * docs/gst/Makefile.am:
12086         * docs/gst/gstreamer-docs.sgml:
12087         * docs/gst/running.xml:
12088         * docs/version.entities.in:
12089           add a chapter on running GStreamer.
12090           document GST_DEBUG and GST_PLUGIN* env vars
12091
12092 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12093
12094         * Makefile.am:
12095           remove include dir
12096         * configure.ac:
12097           remove PLUGINS_BUILDDIR stuff
12098         * gst/gst.c: (init_post):
12099           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
12100         * idiottest.mak:
12101           remove, it was condescending and not needed
12102
12103 2005-10-08  Wim Taymans  <wim@fluendo.com>
12104
12105         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
12106         (gst_base_sink_handle_object), (gst_base_sink_event),
12107         (gst_base_sink_wait), (gst_base_sink_handle_event),
12108         (gst_base_sink_change_state):
12109         * gst/base/gstbasesink.h:
12110         Repost EOS message while going to PLAYING if still EOS.
12111         Make sure that when receiving a FLUSH_START we don't attempt
12112         to sync on the clock anymore.
12113
12114 2005-10-08  Wim Taymans  <wim@fluendo.com>
12115
12116         * tools/gst-launch.c: (event_loop):
12117         Better message printout.
12118
12119 2005-10-08  Wim Taymans  <wim@fluendo.com>
12120
12121         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
12122         (gst_bin_child_proxy_get_children_count):
12123         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
12124         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
12125         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
12126         (gst_child_proxy_set_valist):
12127         * gst/parse/grammar.y:
12128         Make ChildProxy threadsafe and fix mem leaks.
12129
12130 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12131
12132         * gst/gst.c: (init_post):
12133           debug the GST_PLUGIN_ env vars
12134
12135 2005-10-08  Wim Taymans  <wim@fluendo.com>
12136
12137         * check/gst/gstbin.c: (GST_START_TEST):
12138         * check/gst/gstmessage.c: (GST_START_TEST):
12139         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
12140         * gst/gstelement.c: (gst_element_commit_state),
12141         (gst_element_lost_state):
12142         * gst/gstmessage.c: (gst_message_new_state_changed),
12143         (gst_message_parse_state_changed):
12144         * gst/gstmessage.h:
12145         * tools/gst-launch.c: (event_loop):
12146         Added extra field to STATE_CHANGE message with the pending
12147         state, which will be different from the new state soon.
12148
12149 2005-10-08  Wim Taymans  <wim@fluendo.com>
12150
12151         * gst/gstbus.c: (gst_bus_pop):
12152         * gst/gstclock.c:
12153         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
12154         Small cleanups and doc updates.
12155
12156 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12157
12158         * gst/gst.c: (init_pre):
12159         * gst/gstbin.c: (gst_bin_add_func):
12160           log distributing clocks and base time
12161         * gst/gstregistry.c: (gst_registry_add_plugin),
12162         (gst_registry_scan_path_level), (gst_registry_scan_path):
12163           clean up the debugging output a little
12164         * gst/gstutils.c: (gst_element_state_get_name):
12165           warn about a memleak (I've actually seen this be used, though
12166           it was probably a bug)
12167
12168 2005-10-07  Wim Taymans  <wim@fluendo.com>
12169
12170         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12171         (gst_base_src_init), (gst_base_src_default_newsegment),
12172         (gst_base_src_newsegment), (gst_base_src_do_seek),
12173         (gst_base_src_loop), (gst_base_src_start):
12174         * gst/base/gstbasesrc.h:
12175         Make the newsegment event customizable by subclasses.
12176
12177 2005-10-07  Wim Taymans  <wim@fluendo.com>
12178
12179         * gst/gstevent.c: (gst_event_new_buffersize),
12180         (gst_event_parse_buffersize):
12181         * gst/gstevent.h:
12182         New event for future idea.
12183
12184 2005-10-07  Andy Wingo  <wingo@pobox.com>
12185
12186         * gst/gstelement.c (gst_element_post_message): Doc update.
12187
12188         * docs/gst/gstreamer-sections.txt: Update.
12189
12190         * gst/gstmessage.c (gst_message_new_application): Made into a
12191         function like honest API calls.
12192         (gst_message_new_element): New message type.
12193
12194         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
12195
12196         * check/elements/fakesrc.c (test_no_preroll): New check, checks
12197         that setting a live fakesrc to PAUSED returns NO_PREROLL both
12198         times.
12199
12200         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
12201         NO_PREROLL from gst_element_change_state to fall through.
12202
12203 2005-10-07  Wim Taymans  <wim@fluendo.com>
12204
12205         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
12206         (gst_ghost_pad_do_activate_push):
12207         Activating a ghostpad with no internal pad in push mode
12208         is ok.
12209
12210 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12211
12212         * gst/gstobject.h:
12213           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
12214           Fixes compilation on Windows.
12215
12216 2005-10-07  Michael Smith <msmith@fluendo.com>
12217
12218         * tools/gst-inspect.c:
12219           Print out feature and plugin count at the end when printing out
12220           all features.
12221
12222 2005-10-04  Michael Smith <msmith@fluendo.com>
12223
12224         * gst/gsterror.c: (_gst_stream_errors_init):
12225           Add another error string used in a few existing plugins.
12226
12227         * gst/gstplugin.c:
12228         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
12229         * tools/gst-inspect.c: (print_element_info):
12230           When a feature disappears from a plugin (and the feature exists in
12231           the cached registry file), things went horribly wrong. This isn't a
12232           complete fix, we should actually be removing the 'missing' features
12233           from the features list when we load the actual plugin. That's not
12234           yet implemented. 
12235
12236 2005-10-04  Johan Dahlin  <johan@gnome.org>
12237
12238         * check/gst/gstiterator.c: (GST_START_TEST):
12239         * gst/gstbin.c: (gst_bin_iterate_elements),
12240         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
12241         * gst/gstelement.c: (gst_element_iterate_pads):
12242         * gst/gstformat.c: (gst_format_iterate_definitions):
12243         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12244         (gst_iterator_new_list), (gst_iterator_filter):
12245         * gst/gstiterator.h:
12246         * gst/gstquery.c: (gst_query_type_iterate_definitions):
12247         Add a GType to GstIterator, update callsites and tests.
12248
12249 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12250
12251         * gst/gstpad.c: (gst_pad_event_default_dispatch):
12252           give events a chance to be handled by event probes when the pad
12253           is not linked
12254
12255 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12256
12257         * gst/gstevent.c: (gst_event_type_get_name),
12258         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
12259         * gst/gstevent.h:
12260           add string representations for event types
12261
12262 2005-10-06  Wim Taymans  <wim@fluendo.com>
12263
12264         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
12265         Don't use NULL pointers.
12266
12267 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12268
12269         * gst/gst_private.h:
12270         * gst/gstbus.c:
12271         * gst/gstelement.c:
12272         * gst/gstinfo.c:
12273         * gst/gstpluginfeature.c:
12274           widen the debug category in output to fit the biggest one we have
12275           add a bus category and use it
12276           play with the colors
12277           fix up some categories
12278
12279 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12280
12281         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
12282           add push activation of sink ghost pads.
12283           Andye, please verify
12284
12285 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12286
12287         * gst/gstutils.c: (gst_element_link_pads):
12288           fix a bug in the case where neither element has a pad
12289         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
12290           add a test for that case
12291
12292 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12293
12294         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
12295           emit have-data before checking for peers.  This allows
12296           for probe handlers to connect elements.  This helps autopluggers.
12297         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
12298         (gst_pad_suite):
12299           add six checks, linked/unlinked with no/true/false probe
12300
12301 2005-10-04  Wim Taymans  <wim@fluendo.com>
12302
12303         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
12304         (gst_fake_sink_event), (gst_fake_sink_preroll),
12305         (gst_fake_sink_render), (gst_fake_sink_change_state):
12306         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
12307         (gst_fake_src_get_property), (gst_fake_src_create),
12308         (gst_fake_src_stop):
12309         * gst/elements/gstidentity.c: (gst_identity_stop):
12310         Protect last_message with lock.
12311
12312 2005-10-04  Edward Hervey  <edward@fluendo.com>
12313
12314         * gst/gstformat.h: 
12315         Added precision in the comments for GST_FORMAT_DEFAULT
12316
12317 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
12318
12319         * tools/gst-launch.c: (main):
12320           Don't try to run erroneous pipelines.
12321
12322 2005-10-04  Julien MOUTTE  <julien@moutte.net>
12323
12324         * gst/gstbus.c: We don't need this header.
12325
12326 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12327
12328         * configure.ac:
12329           back to development
12330
12331 === release 0.9.3 ===
12332
12333 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12334
12335         * README:
12336         * configure.ac:
12337           Releasing 0.9.3, "Unregistered"
12338
12339 2005-10-03  Andy Wingo  <wingo@pobox.com>
12340
12341         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
12342         whereby calling a pad's activatepush() function can start a thread
12343         that starts to push or pull before the pad gets the FLUSHING flag
12344         unset. Hack around it by holding the stream lock until the flag is
12345         set. Need to replace this with a proper solution. Together with
12346         the ghost pad fixes, this fixes mp3 playing/tagreading.
12347
12348         * docs/design/part-gstghostpad.txt: Add a note about activation of
12349         proxy pads outside of ghost pads.
12350
12351         * gst/gstghostpad.c: Implement the ghost pad activation design.
12352
12353 2005-10-02  Andy Wingo  <wingo@pobox.com>
12354
12355         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
12356         It is volatile, after all.
12357
12358         * docs/design/part-gstghostpad.txt: Flesh out activation with
12359         ghost pads.
12360
12361         * gst/base/gstbasesrc.c (gst_base_src_init): Use
12362         GST_DEBUG_FUNCPTR.
12363
12364 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12365
12366         * configure.ac:
12367           Fix (unused) AM_CONDITIONAL tests.
12368
12369 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
12370
12371         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12372
12373         * gst/gstutils.c: (gst_pad_query_convert):
12374           Add assertion that makes sure src_val is >=0, just like
12375           gst_query_new_convert() has. (#315895)
12376
12377 2005-09-30  Edward Hervey  <edward@fluendo.com>
12378
12379         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
12380         Let's not iterate pads we're not interested in, it avoids getting 
12381         sky-high refcounts on sinkpad.
12382
12383 2005-09-30  Wim Taymans  <wim@fluendo.com>
12384
12385         * gst/gstelement.c: (gst_element_set_state),
12386         (gst_element_change_state):
12387         Small tweak, element in ASYNC remains ASYNC.
12388
12389 2005-09-30  Wim Taymans  <wim@fluendo.com>
12390
12391         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
12392         Only error is an error.
12393
12394         * gst/gstbin.c: (gst_bin_change_state):
12395         Better debugging.
12396
12397         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
12398         Also call pad_block in pad alloc.
12399
12400         * gst/gstutils.c: (gst_flow_get_name):
12401         Better debugging.
12402
12403 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12404
12405         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12406         (gst_base_src_get_range):
12407           Fix documentation typos. Add some more debug info.
12408
12409 2005-09-29  David Schleef  <ds@schleef.org>
12410
12411         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
12412           more end-user friendly.
12413         * tools/gst-inspect.c: (main): Check if command-line argument is
12414           a file and attempt to load that file as a plugin.
12415
12416 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12417
12418         * check/gst/gstbin.c:
12419         * check/states/sinks.c:
12420           fix tests for the new warning
12421         * check/gst/gstpipeline.c:
12422           add a test for pipeline and bus interaction
12423         * gst/gstelement.c:
12424           elements should be NULL if they get disposed; add a warning if not
12425
12426 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12427
12428         * gst/gstobject.c:
12429           for 2.6 refcounting, make debug log more correct by printing
12430           the actual refcounts at the time of swap (Wim)
12431
12432 2005-09-29  Andy Wingo  <wingo@pobox.com>
12433
12434         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
12435         removes signal watches previously added via
12436         gst_bus_add_signal_watch.
12437         (gst_bus_add_signal_watch): Don't return the source id, just store
12438         it on the bus if there wasn't an id already.
12439
12440         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
12441         add_signal_watch and remove_signal_watch.
12442
12443 2005-09-29  Edward Hervey  <edward@fluendo.com>
12444
12445         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
12446         Better if we actually iterate the list :)
12447
12448 2005-09-29  Wim Taymans  <wim@fluendo.com>
12449
12450         * check/gst/gstbin.c: (GST_START_TEST):
12451         Change for new bus API.
12452
12453         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
12454         (send_messages), (GST_START_TEST), (gstbus_suite):
12455         Change for new bus signal API.
12456
12457         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
12458         (gst_bus_source_prepare), (gst_bus_source_check),
12459         (gst_bus_create_watch), (gst_bus_add_watch_full),
12460         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
12461         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
12462         * gst/gstbus.h:
12463         Remove support for multiple GSources operating on different
12464         message types as it is too complex and unneeded when using
12465         signals.
12466         Added support for receiving signals from the bus.
12467
12468 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12469
12470         * docs/libs/tmpl/gstdataprotocol.sgml:
12471         * docs/manual/advanced-dataaccess.xml:
12472         * gst/elements/gstcapsfilter.c:
12473         * gst/gstutils.c:
12474           rename filter-caps to caps property
12475
12476 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12477
12478         * gst/gstvalue.c: (gst_value_deserialize_fraction):
12479           More robust fraction string parsing.
12480
12481         * docs/pwg/appendix-porting.xml:
12482           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
12483
12484 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12485
12486         * gst/gstcaps.c: (gst_caps_do_simplify):
12487           Thou shalt not free a structure and then continue using it
12488           in the next loop iteration.
12489
12490         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
12491         (gst_caps_suite):
12492           Add test case for caps simplification.
12493
12494 2005-09-29  Wim Taymans  <wim@fluendo.com>
12495
12496         * check/gst/gstbin.c: (GST_START_TEST):
12497         Oops.
12498
12499 2005-09-29  Wim Taymans  <wim@fluendo.com>
12500
12501         * check/gst/gstbin.c: (GST_START_TEST):
12502         Add bus to bin.
12503
12504         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
12505         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
12506         (find_element), (gst_bin_sort_iterator_next),
12507         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12508         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12509         (gst_bin_change_state), (gst_bin_dispose):
12510         A bin does not have a bus, it gets the bus from the parent.
12511
12512         * gst/gstelement.c: (gst_element_requires_clock),
12513         (gst_element_provides_clock), (gst_element_is_indexable),
12514         (gst_element_is_locked_state), (gst_element_change_state),
12515         (gst_element_set_bus_func):
12516         Small cleanups.
12517
12518         * gst/gstpipeline.c: (gst_pipeline_class_init),
12519         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
12520         The pipeline provides a bus.
12521
12522 2005-09-28  Johan Dahlin  <johan@gnome.org>
12523
12524         * gst/gstmessage.c (gst_message_parse_state_changed): Use
12525         gst_structure_get_enum instead of gst_structure_get_int
12526
12527         * gst/gststructure.c (gst_structure_get_enum): Impl.
12528
12529         * gst/gststructure.h (gst_structure_get_enum): Add
12530
12531         * docs/gst/gstreamer-sections.txt: Ditto
12532
12533         * gst/gstmessage.c (gst_message_new_state_changed): Use
12534         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
12535         which does introspection.
12536         Reviewed by Christian Schaller
12537
12538 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
12539
12540         * gst/gstinfo.c: (gst_debug_log_default):
12541           don't do dummy g_strdup()s
12542         * libs/gst/controller/gstcontroller.c:
12543         (on_object_controlled_property_changed),
12544         (gst_controlled_property_new), (gst_controller_new_valist),
12545         (gst_controller_new_list),
12546         (gst_controller_remove_properties_valist), (gst_controller_set),
12547         (gst_controller_get), (gst_controller_sync_values),
12548         (gst_controller_get_value_array), (_gst_controller_class_init),
12549         (gst_controller_get_type):
12550         * libs/gst/controller/gstcontroller.h:
12551         * libs/gst/controller/gstinterpolation.c:
12552         (gst_controlled_property_find_timed_value_node):
12553           convert // to /**/ comments
12554
12555 2005-09-28  Wim Taymans  <wim@fluendo.com>
12556
12557         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
12558         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
12559         (gst_bus_sync_signal_handler):
12560         * gst/gstbus.h:
12561         Added async-message and sync-message signals to the bus.
12562         Added helper BusFunc to emit signals for all posted messages.
12563
12564         * gst/gstmessage.c: (gst_message_type_get_name),
12565         (gst_message_type_to_quark), (gst_message_get_type):
12566         * gst/gstmessage.h:
12567         Register quarks for message names.
12568
12569 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
12570
12571         * docs/libs/gstreamer-libs-sections.txt:
12572         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12573         (gst_controller_new_list):
12574         * libs/gst/controller/gstcontroller.h:
12575           added another constructor for language bindings
12576
12577 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12578
12579         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
12580           add another check
12581         * gst/gstbus.c:
12582           add some doc
12583         * gst/gstinfo.c: (_gst_debug_init):
12584           slightly more readable color for refcount debugging
12585
12586 2005-09-28  Wim Taymans  <wim@fluendo.com>
12587
12588         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
12589         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
12590         (find_element), (gst_bin_sort_iterator_next),
12591         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12592         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12593         (gst_bin_change_state), (gst_bin_dispose):
12594         Small doc fixes. get_clock -> provide_clock.
12595
12596         * gst/gstelement.c: (gst_element_class_init),
12597         (gst_element_provides_clock), (gst_element_provide_clock),
12598         (gst_element_get_clock), (gst_element_commit_state),
12599         (gst_element_lost_state):
12600         * gst/gstelement.h:
12601         Make get/set_clock() symetric. Add provide_clock vmethod since
12602         that is actually what this function does.
12603
12604         * gst/gstpipeline.c: (gst_pipeline_class_init),
12605         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
12606         (gst_pipeline_get_clock):
12607         get_clock -> provide_clock.
12608
12609 2005-09-28  Andy Wingo  <wingo@pobox.com>
12610
12611         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
12612         lieu of real docs...
12613
12614         * gst/elements/gstfdsrc.c: Cleaned up a bit.
12615
12616 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
12617
12618         * gst/elements/gstcapsfilter.c:
12619         * gst/elements/gstfakesink.c:
12620         * gst/elements/gstfakesrc.c:
12621         * gst/elements/gstfdsink.c:
12622         * gst/elements/gstfdsrc.c:
12623         * gst/elements/gstfilesink.c:
12624         * gst/elements/gstfilesrc.c:
12625         * gst/elements/gstidentity.c:
12626         * gst/elements/gsttee.c:
12627         * gst/elements/gsttypefindelement.c:
12628           Make element details static.
12629
12630 2005-09-28  Wim Taymans  <wim@fluendo.com>
12631
12632         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12633         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12634         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12635         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12636         (gst_bin_change_state), (gst_bin_dispose):
12637         Some documentation updates.
12638         Clean up dispose handlers.
12639
12640         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
12641         * gst/gstpad.c: (gst_pad_dispose):
12642         Clean up dispose handler.
12643
12644         * gst/gstpipeline.c: (gst_pipeline_change_state):
12645         Removed spurious UNLOCK.
12646
12647 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
12648
12649         * docs/gst/gstreamer-sections.txt:
12650         * gst/base/gstbasesrc.h:
12651         * gst/gstelement.h:
12652         * gst/gstevent.h:
12653         * gst/gstobject.h:
12654         * gst/gstpad.h:
12655         * gst/gstpipeline.c:
12656         * gst/gstpipeline.h:
12657         * gst/gstutils.h:
12658         * gst/gstxml.h:
12659           added two new functions to the docs
12660                 documents all undocumented GstXXXFlags
12661                 completed some incomplete docs 
12662
12663 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12664
12665         * gst/gstbin.c: (gst_bin_dispose):
12666         * gst/gstelement.c: (gst_element_dispose):
12667           remove now useless and leaky resurrection code in dispose
12668         * gst/base/gstbasesrc.c: (gst_base_src_init):
12669         * gst/gstelementfactory.c: (gst_element_factory_create):
12670         * gst/gstobject.c: (gst_object_set_parent):
12671           add some debugging
12672
12673 2005-09-27  Wim Taymans  <wim@fluendo.com>
12674
12675         * docs/design/part-TODO.txt:
12676         Update TODO.
12677
12678         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12679         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12680         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12681         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12682         (gst_bin_change_state):
12683         * gst/gstelement.h:
12684         Remove element variable, we keep element info in the iterator now.
12685
12686 2005-09-27  Andy Wingo  <wingo@pobox.com>
12687
12688         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
12689         values.
12690
12691 2005-09-27  Wim Taymans  <wim@fluendo.com>
12692
12693         * check/gst/gstbin.c: (GST_START_TEST):
12694         Enable check that works now.
12695
12696         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12697         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12698         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12699         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12700         (gst_bin_change_state):
12701         * gst/gstbin.h:
12702         Redid the state change algorithm using a topological sort algo.
12703         Handles all cases correctly.
12704         Exposed iterator for state change order.
12705
12706         * gst/gstelement.h:
12707         Temp storage for state changes. Need to get rid of this soon.
12708
12709 2005-09-27  Wim Taymans  <wim@fluendo.com>
12710
12711         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
12712         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
12713         (link_fold_func), (gst_pad_proxy_setcaps):
12714         Leak fixes, the fold functions need to unref the passed object and
12715         _get_parent_*() returns ref to parent.
12716
12717 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12718
12719         * check/gst/gstbuffer.c: (test_make_writable):
12720           Plug leak in test case and fix 'make check-valgrind'
12721
12722 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12723
12724         * gst/gstbuffer.c: (gst_subbuffer_init):
12725           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
12726           works correctly in all circumstances (we could have just copied
12727           the parent buffer's readonly flag, but conceptually it seems
12728           cleaner to mark all subbuffers as read-only). (based on patch
12729           by Alessandro Decina, #314710).
12730         
12731         * check/gst/gstbuffer.c: (create_read_only_buffer),
12732         (test_make_writable), (test_subbuffer_make_writable),
12733         (gst_test_suite):
12734           Add some tests for gst_buffer_make_writable().
12735
12736 2005-09-27  Wim Taymans  <wim@fluendo.com>
12737
12738         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
12739         use gst_object_has_ancestor().
12740
12741         * gst/gstobject.c: (gst_object_has_ancestor):
12742         * gst/gstobject.h:
12743         gst_object_has_ancestor() copied from gstbin.c as it is a
12744         usefull function.
12745
12746         * tests/instantiate/create.c: (create_all_elements):
12747         * tests/lat.c: (handoff_src), (handoff_sink):
12748         * tests/sched/runxml.c: (main):
12749         * tests/seeking/seeking1.c: (main):
12750         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
12751         (main):
12752         Fix compilation of some tests.
12753
12754 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12755
12756         * gst/gsterror.h:
12757           Remove comment. GST_TYPE_G_ERROR is here to stay,
12758           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
12759           (#316961, #300610).
12760
12761 2005-09-26  Wim Taymans  <wim@fluendo.com>
12762
12763         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12764         Added check that shows error in state change order.
12765
12766 2005-09-26  Wim Taymans  <wim@fluendo.com>
12767
12768         * gst/gstbin.c: (gst_bin_change_state):
12769         Make state change function use 3 queues again, we were
12770         adding elements in the wrong order.
12771
12772         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
12773         Some debug info,
12774
12775         * gst/gstpad.c: (gst_pad_dispose):
12776         Added some debug info first.
12777
12778 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
12779
12780         * docs/design/draft-push-pull.txt:
12781         * docs/design/part-events.txt:
12782         * docs/design/part-overview.txt:
12783         * docs/design/part-scheduling.txt:
12784           Replace all _pull_region() with _pull_range()
12785           
12786 2005-09-26  Andy Wingo  <wingo@pobox.com>
12787
12788         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
12789
12790         * check/gst-libs/controller.c: Update for controller api change.
12791
12792         * configure.ac: 
12793         * tests/Makefile.am:
12794         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
12795         over by GLib bug 118439.
12796         
12797         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
12798         routines to a function.
12799
12800         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
12801
12802         * libs/gst/controller/gsthelper.c:
12803         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
12804         (gst_object_sync_values): Renamed from sink_values. Ugh.
12805
12806         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
12807
12808         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
12809         Renamed from controller_key, as it is exported.
12810
12811         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
12812
12813 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12814
12815         * gst/Makefile.am:
12816         * gst/gst.h:
12817         * gst/gstpad.h:
12818         * gst/gstpadtemplate.h:
12819         * gst/gstquery.c:
12820         * gst/gstquery.h:
12821         * gst/gstqueryutils.c:
12822         * gst/gstqueryutils.h:
12823           remove queryutils headers after moving the two used functions
12824           to gstquery.  also fixes build problem for gstsiddec
12825
12826 2005-09-26  Michael Smith <msmith@fluendo.com>
12827
12828         * tools/gst-launch.1.in:
12829         Correct documentation in manpage of debug syntax
12830
12831 2005-09-26  Wim Taymans  <wim@fluendo.com>
12832
12833         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
12834         (gst_base_src_is_seekable), (gst_base_src_change_state):
12835         Some more debugging info.
12836
12837 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
12838
12839         * docs/gst/gstreamer-sections.txt:
12840         * gst/base/gstbasetransform.h:
12841         * gst/gstindex.h:
12842           added more docs
12843
12844 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
12845
12846         * docs/gst/.cvsignore:
12847         * docs/gst/tmpl/.cvsignore:
12848         * docs/gst/tmpl/gstpipeline.sgml:
12849         * docs/gst/tmpl/gstplugin.sgml:
12850         * gst/gstpipeline.c:
12851         * gst/gstplugin.c:
12852         * gst/gstplugin.h:
12853           inlined the last two docs files
12854           removed the tmpl directory from cvs (no more conflicts here!)
12855
12856 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
12857
12858         * docs/gst/gstreamer-sections.txt:
12859         * docs/gst/tmpl/.cvsignore:
12860         * docs/gst/tmpl/gstpad.sgml:
12861         * docs/gst/tmpl/gstpadtemplate.sgml:
12862         * gst/Makefile.am:
12863         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
12864         (gst_pad_finalize), (gst_pad_set_pad_template):
12865         * gst/gstpad.h:
12866         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
12867         (gst_pad_template_class_init), (gst_pad_template_init),
12868         (gst_pad_template_dispose), (name_is_valid),
12869         (gst_static_pad_template_get), (gst_pad_template_new),
12870         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
12871         (gst_pad_template_pad_created):
12872         * gst/gstpadtemplate.h:
12873           inlined two more docs
12874           factored gstpadtemplate out of gstpad
12875
12876 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
12877
12878         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
12879         (test_children_state_change_order_semi_sink):
12880           Fix test case: we can't rely on a fixed state change order when
12881           going from READY => PAUSED because the sink might commit its 
12882           new state first when the first buffer created by the source 
12883           reaches the sink before the source has finished its change state.
12884           (Test case still fails at times, see #316856, comment 5 onwards)
12885
12886 2005-09-24  Wim Taymans  <wim@fluendo.com>
12887
12888         * docs/design/part-events.txt:
12889         * docs/design/part-gstbus.txt:
12890         * docs/design/part-gstpipeline.txt:
12891         * docs/design/part-messages.txt:
12892         * docs/design/part-overview.txt:
12893         * docs/design/part-segments.txt:
12894         * gst/gstbin.c:
12895         * gst/gstbuffer.c:
12896         * gst/gstclock.c:
12897         * gst/gstelement.c:
12898         * gst/gstevent.c:
12899         * gst/gstfilter.c:
12900         * gst/gstiterator.c:
12901         Various documentation updates.
12902
12903 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12904
12905         * gst/gstclock.h:
12906           Well, that's embarassing.  Luckily we weren't using
12907           GST_CLOCK_DIFF anywhere.
12908
12909 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12910
12911         * common/gtk-doc.mak:
12912           don't fail on building XML, FC4 slave shows a bunch of doc
12913           missing bits that I don't get
12914         * gst/gstpad.c:
12915         * gst/gstpipeline.c:
12916         * gst/gststructure.c:
12917           some doc updates
12918
12919 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
12920
12921         * docs/design/part-gstbin.txt:
12922         * docs/design/part-gstbus.txt:
12923         * gst/gstbus.c:
12924           Add blurb about how the bus goes into flushing mode and
12925           drops all messages when its bin goes from READY into NULL 
12926           state.
12927
12928 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12929
12930         * docs/gst/gstreamer-sections.txt:
12931         * gst/gststructure.c: (gst_structure_get_clock_time):
12932         * gst/gststructure.h:
12933           add a method to get a GstClockTime out of a structure
12934
12935 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
12936
12937         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
12938         (test_children_state_change_order_semi_sink), (gst_bin_suite):
12939           Added test to check state change order in bins (can still be made
12940           to fail here under heavy disk load; bails out with 'Push on pad
12941           fakesink:sink0, but it was not activated in push mode').
12942
12943         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
12944           Fix state change order when there is only a semi sink (#316856)
12945
12946         * gst/gstbus.c: (gst_bus_class_init):
12947           Use _class_peek_parent(), not _class_ref(); fix docs to say
12948           'default main context' instead of 'mainloop' where that is
12949           what's meant.
12950
12951         * gst/gstelement.c: (gst_element_commit_state),
12952         (gst_element_set_state):
12953           Fix typos in debug messages
12954
12955 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12956
12957         * docs/README:
12958         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
12959         * gst/gstpluginfeature.c:
12960         * gst/gstutils.c:
12961           various doc updates
12962         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12963           change an assert into an error until it gets fixed properly
12964
12965 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
12966
12967         * docs/gst/gstreamer-sections.txt:
12968         * docs/gst/tmpl/.cvsignore:
12969         * docs/gst/tmpl/gstelement.sgml:
12970         * docs/gst/tmpl/gstinfo.sgml:
12971         * docs/gst/tmpl/gstobject.sgml:
12972         * gst/gstelement.c:
12973         * gst/gstelement.h:
12974         * gst/gstinfo.c:
12975         * gst/gstinfo.h:
12976         * gst/gstobject.c: (gst_object_class_init):
12977         * gst/gstobject.h:
12978           inlined 3 more biiiig doc files and added some missing docs on the fly
12979
12980 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12981
12982         * check/gst/.cvsignore:
12983         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
12984         * gst/gstregistryxml.c: (load_plugin),
12985         (gst_registry_xml_save_plugin):
12986           put back source in registry.  add checks for find_plugin.
12987         * testsuite/states/bin.c: (assert_state), (empty_bin),
12988         (test_adding_one_element), (main):
12989         * testsuite/states/locked.c: (main):
12990           some compile/run fixes
12991
12992 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12993
12994         * check/gst/gstvalue.c: (GST_START_TEST):
12995           fix leaks in the test itself
12996
12997 2005-09-22  Wim Taymans  <wim@fluendo.com>
12998
12999         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
13000         (gst_base_sink_send_event), (gst_base_sink_peer_query),
13001         (gst_base_sink_query):
13002         Prepare for more accurate position reporting and query
13003         handling.
13004
13005         * gst/gstelement.c: (gst_element_send_event),
13006         (gst_element_set_state):
13007         Add some comment.
13008
13009 2005-09-22  Wim Taymans  <wim@fluendo.com>
13010
13011         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
13012         (gst_query_parse_segment):
13013         * gst/gstquery.h:
13014         More documentation.
13015         Add segment query for future use.
13016
13017 2005-09-22  Wim Taymans  <wim@fluendo.com>
13018
13019         * gst/gstbin.c: (gst_bin_add_func):
13020         Some more debug info.
13021
13022         * gst/gstelement.c: (gst_element_send_event):
13023         Simplify send_event
13024
13025         * gst/gstelement.h:
13026         Don't know how flags got broken.
13027
13028         * gst/gstquery.h:
13029         Added new query.
13030
13031 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
13032
13033         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
13034           Add simplistic test suite for GST_TYPE_DATE serialisation and
13035           deserialisation.
13036
13037 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
13038
13039         * docs/gst/gstreamer-sections.txt:
13040         * gst/gststructure.c: (gst_structure_set_valist),
13041         (gst_structure_get_date):
13042         * gst/gststructure.h:
13043         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
13044         (gst_date_copy), (gst_value_compare_date),
13045         (gst_value_serialize_date), (gst_value_deserialize_date),
13046         (gst_value_transform_date_string),
13047         (gst_value_transform_string_date), (_gst_value_initialize):
13048         * gst/gstvalue.h:
13049           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
13050           bunch of utility functions along with a hack that checks that
13051           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
13052           is required. Part of the grand scheme in #170777.
13053
13054 2005-09-22  Andy Wingo  <wingo@pobox.com>
13055
13056         * gst/gstconfig.h.in: Psych out gtk-doc.
13057
13058         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
13059
13060         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
13061
13062         * tools/gst-inspect.c (print_element_list): Plug some
13063         inconsequential leaks.
13064
13065         * gst/gstregistry.c (gst_registry_get_default): Doc.
13066
13067         * check/gst/gstplugin.c: 
13068         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
13069         * gst/gstelementfactory.c (gst_element_factory_create): 
13070         * gst/gstindexfactory.c (gst_index_factory_create): Update for
13071         refcount changes.
13072
13073         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
13074         (gst_plugin_feature_load): Doc, don't eat refs.
13075
13076         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
13077         (gst_plugin_list_free): Doc.
13078         (gst_plugin_load_file): Doc updates.
13079
13080         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
13081         accessors returning refcounted objects, return a ref.
13082
13083         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
13084         accessor for caps. IDEMPOTENCE. Oh yes.
13085
13086 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
13087
13088         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
13089
13090         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
13091         (_gst_debug_register_funcptr):
13092           Add mutex to serialise access to the hash table with
13093           the function pointer => function name string mapping;
13094           make that hash table static scope (#316809).
13095
13096         * gst/registries/.cvsignore:
13097           Remove left-over file.
13098
13099 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
13100
13101         * docs/pwg/appendix-porting.xml:
13102           And something about newsegment events and caps-on-buffers to
13103           the porting guide (feel free to improve).
13104
13105 2005-09-21  Andy Wingo  <wingo@pobox.com>
13106
13107         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
13108         data and event probes on the same pad.
13109         (test_buffer_probe_once): Test that removing probes from within
13110         the probe functions works.
13111
13112 2005-09-21  Andy Wingo  <wingo@pobox.com>
13113
13114         * check/gst/gstutils.c: New file.
13115         (test_buffer_probe_n_times): A simple buffer probe test. More to
13116         come, foolios.
13117
13118         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
13119         have-data::buffer, not have-data.
13120         (gst_pad_add_event_probe): Likewise for have-data::event.
13121         (gst_pad_add_data_probe): More docs. The part about 'resolving the
13122         peer' isn't quite right yet though.
13123         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
13124         (gst_pad_remove_data_probe): Change to take the guint handler_id
13125         as their arg, not the function+data, which is more glib-like.
13126
13127         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
13128         the signal emission to indicate if the data is a buffer or an
13129         event.
13130         (gst_pad_get_type): Initialize buffer and event quarks.
13131         (gst_pad_class_init): have-data is now a detailed signal, yes it
13132         is.
13133
13134 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
13135
13136         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
13137         * gst/gstutils.c: (gst_util_set_value_from_string),
13138         (gst_util_set_object_arg):
13139           Don't put functional code in g_return_if_fail() or
13140           g_return_val_if_fail() statements, otherwise things will 
13141           break when G_DISABLE_CHECKS is defined during compilation.
13142
13143 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
13144
13145         * docs/gst/tmpl/.cvsignore:
13146         * docs/gst/tmpl/gstvalue.sgml:
13147         * gst/gstvalue.c:
13148         * gst/gstvalue.h:
13149           inlied another one and added  some obvious docs
13150
13151 2005-09-21  Wim Taymans  <wim@fluendo.com>
13152
13153         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
13154         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
13155         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
13156         (gst_fdsrc_get_property), (gst_fdsrc_create):
13157         * gst/elements/gstfdsrc.h:
13158         Properly implement fdsrc. Removed signal and timeout,
13159         better implemented somewhere else.
13160
13161 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
13162
13163         * docs/gst/tmpl/.cvsignore:
13164         * docs/gst/tmpl/gstimplementsinterface.sgml:
13165         * gst/gstinterface.c:
13166           inlined more docs
13167
13168 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
13169
13170         * docs/gst/gstreamer-sections.txt:
13171         * docs/gst/tmpl/.cvsignore:
13172         * docs/gst/tmpl/gstenumtypes.sgml:
13173           remove obsolete doc file
13174
13175 2005-09-21  David Schleef  <ds@schleef.org>
13176
13177         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
13178         little beer, fix a little leak.
13179
13180 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
13181
13182         * docs/gst/gstreamer-docs.sgml:
13183         * docs/gst/gstreamer-sections.txt:
13184         * docs/gst/tmpl/.cvsignore:
13185         * gst/Makefile.am:
13186         * gst/gst.h:
13187         * gst/gstbin.c:
13188         * gst/gstelement.h:
13189         * gst/gstindex.c: (gst_index_class_init):
13190         * gst/gstindex.h:
13191         * gst/gstindexfactory.c: (gst_index_factory_get_type),
13192         (gst_index_factory_class_init), (gst_index_factory_init),
13193         (gst_index_factory_finalize), (gst_index_factory_new),
13194         (gst_index_factory_destroy), (gst_index_factory_find),
13195         (gst_index_factory_create), (gst_index_factory_make):
13196         * gst/gstindexfactory.h:
13197         * gst/gstpluginfeature.c:
13198         * gst/gstpluginfeature.h:
13199         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
13200           more docs inlined, splitted gstindex.{c,h}
13201
13202 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13203
13204         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
13205           fix a leak
13206
13207 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
13208
13209         * gst/elements/gstfilesink.c: (gst_file_sink_init):
13210           Set sync to FALSE by default.
13211
13212 2005-09-20  Wim Taymans  <wim@fluendo.com>
13213
13214         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
13215         (gst_base_sink_init):
13216         Make sync property settable from subclass.
13217
13218         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
13219         (gst_fake_sink_change_state):
13220         Set sync to FALSE by default.
13221
13222 2005-09-20  Wim Taymans  <wim@fluendo.com>
13223
13224         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
13225         * tools/gst-launch.c: (main):
13226         The timeout handler should have lower priority than the source
13227         so we don't timeout before popping a message with 0 timeout.
13228         Dump error messages after failed state change.
13229
13230 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
13231
13232         * tools/gst-inspect.c: (print_element_properties_info):
13233           Fix two typos.
13234
13235 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13236
13237         * check/gst/gstevent.c:
13238         * gst/elements/gstfakesink.c:
13239         * gst/elements/gstfakesink.h:
13240           remove the sync property from fakesink.
13241           has the side effect of setting sync TRUE
13242           for fakesink, which is a change.  Anyone who knows how
13243           to fix this nicely in a GObject-y way, feel free.
13244
13245 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
13246
13247         * docs/gst/gstreamer-docs.sgml:
13248           remove probe refsection
13249
13250 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
13251
13252         * check/Makefile.am:
13253           disable valgrinding the controller test again
13254         * docs/gst/gstreamer-sections.txt:
13255           update for api-changes
13256
13257 2005-09-20  Wim Taymans  <wim@fluendo.com>
13258
13259         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
13260         (gst_base_sink_set_property), (gst_base_sink_get_property),
13261         (gst_base_sink_do_sync):
13262         * gst/base/gstbasesink.h:
13263         Added sync property to basesink to disable clock sync.
13264
13265 2005-09-20  Andy Wingo  <wingo@pobox.com>
13266
13267         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
13268         eating the caller's refcount.
13269
13270         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
13271         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
13272         refcount.
13273
13274         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
13275         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
13276         of GLib 2.8 public, so we can know which refcount to check in
13277         tests.
13278
13279         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
13280         (gst_object_init): Only set the gst refcount if we're going ahead
13281         with the refcount hack.
13282
13283 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
13284
13285         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
13286         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
13287           more leaks plumbed, added more debug-logging
13288         * gst/gstmacros.h:
13289           whitespace fix
13290
13291 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13292
13293         * gst/gstmessage.c:
13294           remove include of gstmemchunk.h
13295
13296 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13297
13298         * gst/gstclock.c: (_gst_clock_id_free):
13299           Commit from the Political Party For More Atomic CVS Commits,
13300           so that people don't waste too much of their day fishing
13301           out obvious leaks out of massive commits.
13302           Oh, and fix a pretty damn obvious leak in the memchunk
13303           removal code.
13304
13305 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
13306
13307         * check/Makefile.am:
13308         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
13309           plug mem-leak, re-add to valgrindable tests
13310
13311 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13312
13313         * gst/gstplugin.h:
13314           unbreak the build for those who have chronic arthritis
13315           and typing "make check" is just too taxing on the hands
13316
13317 2005-09-20  Andy Wingo  <wingo@pobox.com>
13318
13319         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
13320         really want it out, you should fix plugins at the same time.
13321
13322 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
13323
13324         * configure.ac:
13325         * docs/gst/gstreamer-sections.txt:
13326         * gst/gstobject.c:
13327           added missing symbols to api docs
13328           disable ref-count hack if we have glib >= 2.8
13329
13330 2005-09-19  David Schleef  <ds@schleef.org>
13331
13332         * docs/gst/Makefile.am: Ignore a few more internal headers
13333         * docs/gst/gstreamer-docs.sgml: Remove old sections
13334         * docs/gst/gstreamer-sections.txt: Remove old sections
13335         * docs/gst/tmpl/gstobject.sgml: update
13336         * docs/gst/tmpl/gstplugin.sgml: update
13337         * docs/gst/tmpl/gstpluginfeature.sgml: update
13338         * docs/random/ds/0.9-suggested-changes: update.
13339         * gst/Makefile.am: remove memchunk and trashstack, since they're
13340           not used.
13341         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
13342         * gst/gst.h: don't include some headers
13343         * gst/gstchildproxy.c: add gstmarshal.h
13344         * gst/gstclock.c: Don't use memchunks
13345         * gst/gstminiobject.c: Add some docs
13346         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
13347         * gst/gstobject.h: same
13348         * gst/gstplugin.c: include gstmacros.h
13349         * gst/gstplugin.h: don't include gstmacros.h, since it's private
13350         * gst/gstquery.c: don't use memchunks
13351         * gst/gstregistry.c: rename gst_registry_deinit()
13352         * gst/gstregistry.h: same
13353
13354 2005-09-19  David Schleef  <ds@schleef.org>
13355
13356         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
13357         * docs/libs/gstreamer-libs-sections.txt:
13358         * docs/libs/tmpl/gstgetbits.sgml:
13359         * docs/libs/tmpl/gstputbits.sgml:
13360
13361 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
13362
13363         * win32/gstenumtypes.c:
13364         * win32/gstenumtypes.h:
13365           Update.
13366
13367 2005-09-19  Wim Taymans  <wim@fluendo.com>
13368
13369         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
13370         Automatically PAUSE and RESUME a pipeline when a flushing seek
13371         is performed.
13372
13373 2005-09-19  Andy Wingo  <wingo@pobox.com>
13374
13375         * gst/gstregistry.h: Spacing fixen.
13376
13377 2005-09-19  Wim Taymans  <wim@fluendo.com>
13378
13379         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
13380         Handle state change failure more correctly.
13381
13382 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13383
13384         * check/Makefile.am:
13385         * check/pipelines/cleanup.c: (run_pipeline):
13386         * check/pipelines/simple_launch_lines.c: (run_pipeline),
13387         (GST_START_TEST):
13388           enable cleanup again after fixing the leak
13389         * docs/README:
13390           some more info on docs
13391
13392 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13393
13394         * check/Makefile.am:
13395           re-enable tests now that leaks are plugged
13396         * check/gst/gst.c:
13397         * check/gst/gstbin.c:
13398         * check/gst/gstpipeline.c:
13399           add some more tests while fixing leaks
13400         * common/check.mak:
13401           make sure binaries are uptodate when valgrinding/gdbing
13402         * gst/gst.c:
13403         * gst/gstelementfactory.c:
13404           remove a ref too many, and add a FIXME for when we get
13405           round to disposing of classes
13406         * gst/gstplugin.c:
13407           fix the refcounting when loading a plugin from a file and
13408           the code pretends that the pointer is the same even though
13409           of course it can change
13410         * gst/gstpluginfeature.c:
13411           unref plugins marked cached (a bit confusing as a name)
13412           as the docs state should be done
13413           various doc additions to explain refcounting
13414         * gst/gstregistry.c:
13415         * gst/gstregistryxml.c:
13416           debugging
13417
13418 2005-09-19  Wim Taymans  <wim@fluendo.com>
13419
13420         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
13421         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
13422         (send_messages), (GST_START_TEST), (gstbus_suite):
13423         * check/gst/gstpipeline.c: (GST_START_TEST):
13424         * check/pipelines/cleanup.c: (run_pipeline):
13425         * check/pipelines/simple_launch_lines.c: (run_pipeline),
13426         (GST_START_TEST):
13427         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
13428         (gst_bus_source_check), (gst_bus_source_dispatch),
13429         (gst_bus_create_watch), (gst_bus_add_watch_full),
13430         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
13431         * gst/gstbus.h:
13432         * tools/gst-launch.c: (event_loop):
13433         * tools/gst-md5sum.c: (event_loop):
13434         GstBusHandler -> GstBusFunc, return value has the same meaning as
13435         any other GSource (FALSE == remove source).
13436         _add_watch() and _add_watch_full() now take a MessageType mask to
13437         only handle specific types of messages.
13438         _poll() returns the GstMessage instead of the message type to avoid
13439         race conditions.
13440         _have_pending() takes a MessageType mask now too.
13441         Added testsuite for multiple bus watches.
13442         Fix testsuites and applications for new bus API.
13443
13444 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13445
13446         * check/Makefile.am:
13447           mark a bunch of the tests as to fix until we fix them
13448
13449 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13450
13451         * common/check.mak:
13452           use GST_PLUGIN settings for valgrind tests as well, so we're
13453           valgrinding the correct thing
13454         * gst/gst.c: (init_post):
13455           plug another leak
13456
13457 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13458
13459         * gst/gst.c: (init_post), (gst_deinit):
13460         * gst/gstelementfactory.c: (gst_element_factory_class_init),
13461         (gst_element_factory_finalize), (gst_element_factory_cleanup):
13462         * gst/gstindex.c: (gst_index_factory_class_init),
13463         (gst_index_factory_finalize):
13464         * gst/gstobject.c: (gst_object_dispose):
13465         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
13466         (gst_plugin_load_file), (gst_plugin_desc_free):
13467         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
13468         (gst_plugin_feature_finalize):
13469         * gst/gstregistry.c: (gst_registry_class_init),
13470         (gst_registry_init), (gst_registry_finalize),
13471         (gst_registry_get_default), (gst_registry_deinit):
13472         * gst/gstregistry.h:
13473         * gst/gstregistryxml.c: (load_feature), (load_plugin):
13474           various cleanups and memleak plugging.  make valgrind is happy now.
13475
13476 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13477
13478         * common/check.mak:
13479           add a check-valgrind target
13480
13481 2005-09-18  David Schleef  <ds@schleef.org>
13482
13483         * tools/gst-inspect.c: Revert the GOption code.
13484
13485 2005-09-17  David Schleef  <ds@schleef.org>
13486
13487         * check/Makefile.am: Fix environment variables.
13488         * check/gst/gstplugin.c: Fix for API changes.
13489         * tools/gst-inspect.c: Fix for API changes.
13490         * tools/gst-xmlinspect.c: Fix for API changes.
13491         * gst/gstelementfactory.c:
13492         * gst/gstplugin.c:
13493         * gst/gstplugin.h:
13494         * gst/gstpluginfeature.c:
13495         * gst/gstpluginfeature.h:
13496         * gst/gstregistry.c:
13497         * gst/gstregistry.h:
13498         * gst/gstregistryxml.c:
13499         * gst/gsttypefind.c:
13500         * gst/gsttypefindfactory.c:
13501         * gst/indexers/gstfileindex.c:
13502         * gst/indexers/gstmemindex.c:
13503         * gst/schedulers/Makefile.am:
13504           Change registry to keep track of both plugins and features,
13505           removing the feature tracking from plugins themselves.
13506
13507 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13508
13509         * check/Makefile.am:
13510         * tools/gst-register.1.in:
13511           remove gst-register
13512
13513 2005-09-15  David Schleef  <ds@schleef.org>
13514
13515         * check/gst/gstplugin.c:
13516         * gst/gstelementfactory.c:
13517         * gst/gstplugin.c:
13518         * gst/gstpluginfeature.c:
13519         * gst/gstregistry.c:
13520           Getting tired of debugging.  Disabled all the unreffing of
13521           plugins and features, which fixes the segfaults, but of
13522           course leaks like crazy.  At least playbin works.
13523
13524 2005-09-15  David Schleef  <ds@schleef.org>
13525
13526         * check/gst/gstplugin.c: (register_check_elements),
13527         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
13528         More testing
13529         * gst/elements/gsttypefindelement.c: Fix refcounting.
13530         * gst/gsttypefind.c:
13531         * gst/gsttypefindfactory.c:
13532         * gst/gsttypefindfactory.h:
13533
13534 2005-09-15  David Schleef  <ds@schleef.org>
13535
13536         * gst/gstindex.c: get refcounting correct.
13537         * gst/gstregistry.c: Handle the case where a feature/plugin is
13538           not found.
13539
13540 2005-09-15  David Schleef  <ds@schleef.org>
13541
13542         * check/Makefile.am:
13543         * check/gst/gstplugin.c: Add test
13544         * gst/gstplugin.c: Fix problems noticed by testsuite
13545         * gst/gstplugin.h:
13546         * gst/gstregistry.c: 
13547         * gst/gstregistry.h:
13548
13549 2005-09-15  David Schleef  <ds@schleef.org>
13550
13551         * gst/gstplugin.c: Implement semi-decent recounting and locking
13552           in plugins and plugin features.
13553         * gst/gstplugin.h:
13554         * gst/gstpluginfeature.c:
13555         * gst/gstpluginfeature.h:
13556         * gst/gstregistry.c:
13557
13558 2005-09-15  Michael Smith <msmith@fluendo.com>
13559
13560         * gst/gstregistry.c: (gst_registry_get_feature_list):
13561           Implement this. Makes oggdemux work; decodebin still broken.
13562
13563 2005-09-14  David Schleef  <ds@schleef.org>
13564
13565         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
13566           #316076)
13567         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
13568         * gst/check/Makefile.am:
13569         * libs/gst/controller/Makefile.am:
13570         * libs/gst/dataprotocol/Makefile.am:
13571
13572 2005-09-14  David Schleef  <ds@schleef.org>
13573
13574         * configure.ac: Remove getbits library.  Nothing uses it, and
13575           it should be in something like liboil if someone did want
13576           to use it.
13577         * libs/gst/Makefile.am:
13578         * libs/gst/getbits/Makefile.am:
13579         * libs/gst/getbits/gbtest.c:
13580         * libs/gst/getbits/getbits.c:
13581         * libs/gst/getbits/getbits.h:
13582         * libs/gst/getbits/gstgetbits_generic.c:
13583         * libs/gst/getbits/gstgetbits_i386.s:
13584         * libs/gst/getbits/gstgetbits_inl.h:
13585
13586 2005-09-14  David Schleef  <ds@schleef.org>
13587
13588         * gst/Makefile.am: Dist glib-compat.h
13589
13590 2005-09-14  David Schleef  <ds@schleef.org>
13591
13592         * configure.ac: Remove gst/registries, since it's no longer used.
13593         * gst/registries/Makefile.am:
13594         * gst/registries/gstlibxmlregistry.c:
13595         * gst/registries/gstlibxmlregistry.h:
13596         * gst/registries/gstxmlregistry.c:
13597         * gst/registries/gstxmlregistry.h:
13598         * gst/registries/registrytest.c:
13599
13600 2005-09-14  David Schleef  <ds@schleef.org>
13601
13602         * gst/glib-compat.h:
13603         * gst/gstregistryxml.c:
13604           Convergence is near.  Seriously.
13605
13606 2005-09-14  David Schleef  <ds@schleef.org>
13607
13608         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13609         * gst/glib-compat.h:
13610           Attempt #4 to appease the buildbots.
13611
13612 2005-09-14  David Schleef  <ds@schleef.org>
13613
13614         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13615           Attempt #3.
13616
13617 2005-09-14  David Schleef  <ds@schleef.org>
13618
13619         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13620         Attempt #2.
13621
13622 2005-09-14  David Schleef  <ds@schleef.org>
13623
13624         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
13625           the new functions.
13626
13627 2005-09-14  David Schleef  <ds@schleef.org>
13628
13629         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13630         * gst/glib-compat.h: Add some functions that are in newer versions
13631           of glib than we care to require.
13632         * gst/gstregistryxml.c: Use them.
13633
13634 2005-09-14  David Schleef  <ds@schleef.org>
13635
13636         * po/POTFILES.in: remove gst-register.c
13637
13638 2005-09-14  David Schleef  <ds@schleef.org>
13639
13640         * docs/gst/gstreamer-docs.sgml:
13641         * docs/gst/gstreamer-sections.txt:
13642         * docs/gst/gstreamer.types:
13643         * docs/gst/tmpl/gstelement.sgml:
13644         * docs/gst/tmpl/gstplugin.sgml:
13645         * docs/gst/tmpl/gstpluginfeature.sgml:
13646           Documentation updates for registry changes.
13647
13648 2005-09-14  David Schleef  <ds@schleef.org>
13649
13650         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
13651           because we don't require glib-2.8.
13652
13653 2005-09-14  David Schleef  <ds@schleef.org>
13654
13655         * gst/gstregistryxml.c: Added.  Essentially moved out of the
13656           registries directory.
13657
13658 2005-09-14  David Schleef  <ds@schleef.org>
13659
13660         * check/Makefile.am:
13661         * check/generic/states.c:
13662         * gst/Makefile.am:
13663         * gst/gst.c:
13664         * gst/gst.h:
13665         * gst/gst_private.h:
13666         * gst/gstelementfactory.c:
13667         * gst/gstindex.c:
13668         * gst/gstinfo.c:
13669         * gst/gstplugin.c:
13670         * gst/gstplugin.h:
13671         * gst/gstpluginfeature.c:
13672         * gst/gstpluginfeature.h:
13673         * gst/gstregistry.c:
13674         * gst/gstregistry.h:
13675         * gst/gstregistrypool.c: remove
13676         * gst/gstregistrypool.h: remove
13677         * gst/gsttypefind.c:
13678         * gst/gsttypefindfactory.c:
13679         * gst/gsturi.c:
13680         * tools/Makefile.am:
13681         * tools/gst-compprep.c:
13682         * tools/gst-inspect.c:
13683         * tools/gst-register.c: remove
13684         * tools/gst-xmlinspect.c:
13685           Registry rewrite.  Changes registry from being a file created
13686           by a tool into a simple cache file created automatically by 
13687           libgstreamer.  Removed gst-register (because it's no longer
13688           needed).  Remove registry pools, because we only have one
13689           registry implementation (XML).  Fix up other subsystems as
13690           necessary.
13691
13692 2005-09-13  Michael Smith <msmith@fluendo.com>
13693
13694         * gst/gstconfig.h.in:
13695           Don't Use windows linking attributes for MinGW. Fixes #316157
13696
13697 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13698
13699         * gst/gstutils.c: (set_state_async_thread_func),
13700         (gst_element_set_state_async):
13701           Apparently people think it's better if this function doesn't
13702           try to set the state to whatever state was asked for on the first
13703           call to this function for any object.  Seriously.
13704
13705 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13706
13707         * check/gst/gstpipeline.c: (GST_START_TEST):
13708         * docs/gst/gstreamer-sections.txt:
13709         * gst/gstutils.c: (set_state_async_thread_func),
13710         (gst_element_set_state_async):
13711         * gst/gstutils.h:
13712           add a "gst_element_set_state_async" method that
13713           sets the state and starts a thread to make sure the state
13714           change completes as best as it can
13715
13716 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13717
13718         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
13719           codify design+behaviour in testsuite after discussion
13720
13721 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13722
13723         * docs/gst/tmpl/gstelement.sgml:
13724         * docs/manual/appendix-quotes.xml:
13725           add a quote
13726         * gst/gstelement.c: (gst_element_set_state):
13727           add some debug
13728
13729 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
13730
13731         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13732         (gst_base_transform_prepare_output_buf),
13733         (gst_base_transform_handle_buffer):
13734         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
13735         (gst_capsfilter_prepare_buf):
13736           Remove the requirement for sub-classes to call the parent
13737           implementation of prepare_output_buffer with a wrapper function.
13738           
13739         * gst/gsttaglist.h:
13740         * gst/gsttagsetter.h:
13741           Fix #define wrapper
13742
13743 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
13744
13745         * docs/gst/gstreamer-sections.txt:
13746           more doc cleanups
13747
13748 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13749
13750         * docs/gst/gstreamer-sections.txt:
13751         * docs/gst/tmpl/gstelement.sgml:
13752         * docs/gst/tmpl/gstplugin.sgml:
13753         * gst/gstminiobject.c:
13754         * gst/gstvalue.h:
13755           docs now stop throwing warnings
13756
13757 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13758
13759         * docs/gst/gstreamer-sections.txt:
13760         * docs/gst/gstreamer.types:
13761         * docs/gst/tmpl/gstpad.sgml:
13762         * docs/gst/tmpl/gsttypes.sgml:
13763         * gst/base/gstadapter.h:
13764         * gst/base/gstbasesink.h:
13765         * gst/base/gstbasesrc.h:
13766         * gst/gstbin.h:
13767         * gst/gstbuffer.h:
13768         * gst/gstbus.h:
13769         * gst/gstcaps.h:
13770         * gst/gstclock.h:
13771         * gst/gstelement.h:
13772         * gst/gstevent.h:
13773         * gst/gstmessage.h:
13774         * gst/gstpad.h:
13775         * gst/gststructure.c:
13776         * gst/registries/gstlibxmlregistry.h:
13777           various documentation fixes
13778
13779 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13780
13781         * docs/gst/gstreamer-sections.txt:
13782         * docs/gst/tmpl/gstvalue.sgml:
13783           rearrange gstvalue section
13784         * gst/gstutils.c: (gst_element_state_get_name):
13785           NONE -> VOID
13786         * gst/gstvalue.c: (_gst_value_initialize):
13787         * gst/gstvalue.h:
13788           doc updates
13789
13790 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
13791
13792         * check/gst-libs/controller.c:
13793           Header include fix.
13794         * gst/base/gstbasetransform.c:
13795         (gst_base_transform_default_prepare_buf),
13796         (gst_base_transform_handle_buffer):
13797         * gst/base/gstbasetransform.h:
13798           Some more basetransform changes and fixes to enable sub-classes
13799           that modify buffer metadata only.
13800         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
13801         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
13802         (gst_capsfilter_prepare_buf):
13803           If the output pad has fixed allowed caps and input buffers 
13804           don't have any, set the fixed caps on outgoing buffers.
13805
13806 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
13807         * check/elements/identity.c: (GST_START_TEST):
13808           Make the error a little clearer when the test fails because
13809           identity made a copy of the buffer.
13810         * docs/gst/gstreamer-sections.txt:
13811           New symbols in gstbasetransform.h
13812         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13813         (gst_base_transform_init), (gst_base_transform_transform_size),
13814         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13815         (gst_base_transform_default_prepare_buf),
13816         (gst_base_transform_get_unit_size),
13817         (gst_base_transform_buffer_alloc),
13818         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
13819         (gst_base_transform_change_state),
13820         (gst_base_transform_set_passthrough),
13821         (gst_base_transform_set_in_place),
13822         (gst_base_transform_is_in_place):
13823         * gst/base/gstbasetransform.h:
13824           Change BaseTransform to separate in_place operate from same_caps
13825           output. in_place implies that the element can perform the transform
13826           on incoming buffers in-place, even if the caps on the output are
13827           different.
13828           Sub-class elements can now implement special buffer allocation
13829           methods for outgoing buffers if they wish to.
13830           Big documentation addition.
13831         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
13832         * gst/elements/gstelements.c:
13833           Changes for basetransform modifications.
13834         * gst/elements/Makefile.am:
13835         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
13836           Compile fix. Extra debug output.
13837
13838 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13839
13840         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
13841         (gst_pad_suite):
13842           add tests for valid pad naming
13843         * gst/check/gstcheck.c: (gst_check_log_message_func),
13844         (gst_check_log_critical_func):
13845           add ASSERT_WARNING
13846           remove printing of code, it is fragile when the code contains
13847           % and the line number is enough info
13848         * gst/check/gstcheck.h:
13849         * gst/gstpad.c: (gst_pad_template_new):
13850           fix memleaks
13851
13852 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13853
13854         * configure.ac:
13855           say what CHECK flags we use
13856         * docs/libs/gstreamer-libs.types:
13857         * libs/gst/controller/Makefile.am:
13858         * libs/gst/controller/gst-controller.c:
13859         * libs/gst/controller/gst-controller.h:
13860         * libs/gst/controller/gst-helper.c:
13861         * libs/gst/controller/gst-interpolation.c:
13862         * libs/gst/controller/gstcontroller.c:
13863         * libs/gst/controller/gsthelper.c:
13864         * libs/gst/controller/gstinterpolation.c:
13865         * tools/gst-inspect.c: (print_plugin_info):
13866           we don't use dashes in header names
13867
13868 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13869
13870         * check/Makefile.am:
13871         * check/gst/.cvsignore:
13872         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
13873         (gst_pipeline_suite), (main):
13874           adding a test for pipelines and state changes
13875         * gst/gstutils.c: (get_state_func):
13876           add some debugging
13877         * gstreamer.spec.in:
13878           fix up spec file
13879
13880 2005-09-08  Michael Smith <msmith@fluendo.com>
13881
13882         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
13883         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
13884         (gst_file_src_is_seekable), (gst_file_src_get_size),
13885         (gst_file_src_start):
13886         * gst/elements/gstfilesrc.h:
13887           Various fixes for unseekable, unmmapable, and non-normal files, so
13888           that fallback to read() rather than mmap() works.
13889         * gst/gstevent.c: (gst_event_new_newsegment):
13890           Allow newsegment events with segment_start == segment_end, as will
13891           correctly happen if you use filesrc on a zero-size file, for
13892           example.
13893
13894 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
13895
13896         * gst/gstplugin.c: (gst_plugin_load_file):
13897           Call g_module_close when we don't load the module
13898
13899         * gst/registries/gstlibxmlregistry.c:
13900         (gst_xml_registry_get_property):
13901           Port leak fix from 0.8
13902
13903 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13904
13905         * docs/gst/gstreamer-docs.sgml:
13906         * docs/gst/tmpl/.cvsignore:
13907         * docs/gst/tmpl/gsttrace.sgml:
13908         * docs/gst/tmpl/gsttrashstack.sgml:
13909         * gst/Makefile.am:
13910         * gst/gst.h:
13911         * gst/gstelement.h:
13912         * gst/gstevent.h:
13913         * gst/gstmessage.c:
13914         * gst/gstmessage.h:
13915         * gst/gsttag.c:
13916         * gst/gsttag.h:
13917         * gst/gsttaginterface.c:
13918         * gst/gsttaginterface.h:
13919         * gst/gsttaglist.c:
13920         * gst/gsttaglist.h:
13921         * gst/gsttagsetter.c:
13922         * gst/gsttagsetter.h:
13923         * gst/gsttrace.c:
13924         * gst/gsttrace.h:
13925         * gst/gsttrashstack.c:
13926           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
13927           inlined docs for gsttrace, gsttrashstack
13928
13929 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13930
13931         * gst/Makefile.am:
13932         * gst/elements/gstbufferstore.h:
13933         * gst/elements/gsttypefindelement.c:
13934         * gst/elements/gsttypefindelement.h:
13935         * gst/gst.h:
13936         * gst/gsttypefind.c:
13937         * gst/gsttypefind.h:
13938         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
13939         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
13940         (gst_type_find_factory_dispose),
13941         (gst_type_find_factory_unload_thyself),
13942         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
13943         (gst_type_find_factory_get_caps),
13944         (gst_type_find_factory_get_extensions),
13945         (gst_type_find_factory_call_function):
13946         * gst/gsttypefindfactory.h:
13947         * gst/registries/gstlibxmlregistry.c:
13948         * gst/registries/gstxmlregistry.c:
13949           splitted gsttypefind into gsttypefind, gsttypefindfactory
13950
13951 2005-09-07  Andy Wingo  <wingo@pobox.com>
13952
13953         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
13954         condition whereby the pad's task function is entered before the
13955         pad_mode variable was set.
13956
13957 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
13958
13959         * gst/gstpad.c: (gst_pad_alloc_buffer):
13960           Catch misbehaving pad_alloc functions that don't
13961           set up caps and do it for them.
13962
13963 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13964
13965         * check/pipelines/simple_launch_lines.c: (run_pipeline):
13966           test for pipe!=NULL
13967         * docs/gst/tmpl/.cvsignore:
13968         * docs/gst/tmpl/gstmemchunk.sgml:
13969         * docs/gst/tmpl/gstparse.sgml:
13970         * docs/gst/tmpl/gsttaglist.sgml:
13971         * docs/gst/tmpl/gsttagsetter.sgml:
13972         * docs/gst/tmpl/gsttypefind.sgml:
13973         * docs/gst/tmpl/gsttypefindfactory.sgml:
13974         * gst/gstmemchunk.c:
13975         * gst/gstparse.c:
13976         * gst/gsttag.c:
13977         * gst/gsttaginterface.c:
13978         * gst/gsttypefind.c:
13979         * gst/gsttypefind.h:
13980           inlined more docs
13981
13982 === release 0.9.2 ===
13983
13984 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13985
13986         * NEWS:
13987         * RELEASE:
13988         * configure.ac:
13989           releasing 0.9.2, "South"
13990
13991 2005-09-05  Andy Wingo  <wingo@pobox.com>
13992
13993         * gst/registries/gstxmlregistry.h:
13994         * gst/registries/gstxmlregistry.c: Um... resurrect...
13995         
13996         * gst/registries/gstxmlregistry.h:
13997         * gst/registries/gstxmlregistry.c: and update to newer API.
13998         Incidentally they should be a bit faster now that they don't have
13999         to parse the caps.
14000         
14001 2005-09-05  Andy Wingo  <wingo@pobox.com>
14002
14003         * gst/registries/gstxmlregistry.h:
14004         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
14005         replaced by the libxml registry a while back
14006
14007 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14008
14009         * docs/gst/tmpl/gstplugin.sgml:
14010         * gst/elements/gstelements.c:
14011         * gst/gst.c:
14012         * gst/gstplugin.c: (gst_plugin_register_func),
14013         (gst_plugin_desc_copy), (gst_plugin_desc_free),
14014         (gst_plugin_get_source):
14015         * gst/gstplugin.h:
14016         * gst/registries/gstlibxmlregistry.c: (load_plugin),
14017         (gst_xml_registry_save_plugin):
14018         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
14019         (gst_xml_registry_save_plugin):
14020         * tools/gst-inspect.c: (print_plugin_info):
14021           add a "source" plugin description field, to represent the source
14022           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
14023           will set it to PACKAGE, which is automake's idea of the name of
14024           the source project.
14025
14026 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14027
14028         * Makefile.am:
14029         * autogen.sh:
14030         * configure.ac:
14031         * docs/Makefile.am:
14032         * docs/faq/Makefile.am:
14033         * docs/gst/tmpl/gstelement.sgml:
14034         * docs/gst/tmpl/gsttypes.sgml:
14035         * docs/htmlinstall.mak:
14036         * docs/manual/Makefile.am:
14037         * docs/pwg/Makefile.am:
14038           reorganize doc build a little
14039           split out docbook and gtk-doc stuff
14040           have two separate --enable's and enable them through autogen
14041           but disable by default in configure (to be similar to other
14042           projects)
14043         * gstreamer.spec.in:
14044           clean up docs install
14045         * po/af.po:
14046         * po/az.po:
14047         * po/ca.po:
14048         * po/cs.po:
14049         * po/de.po:
14050         * po/en_GB.po:
14051         * po/fr.po:
14052         * po/it.po:
14053         * po/nb.po:
14054         * po/nl.po:
14055         * po/ru.po:
14056         * po/sq.po:
14057         * po/sr.po:
14058         * po/sv.po:
14059         * po/tr.po:
14060         * po/uk.po:
14061         * po/vi.po:
14062           translation updates
14063
14064 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
14065
14066         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
14067           Add comment.
14068           
14069         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
14070         (gst_fake_sink_change_state):
14071           Make state change function thread-safe.
14072           
14073         * gst/gstpad.c: (gst_pad_alloc_buffer):
14074           Set offset on generic buffer allocated by fallback.
14075
14076 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
14077
14078         * docs/gst/gstreamer-sections.txt:
14079         * docs/gst/tmpl/gstelement.sgml:
14080         * gst/gstpad.c:
14081         * libs/gst/controller/gst-controller.c:
14082         (gst_controlled_property_set_interpolation_mode),
14083         (gst_controlled_property_new),
14084         (gst_controller_find_controlled_property):
14085          run the wingo-magic script against the docs
14086
14087 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
14088
14089         * docs/gst/gstreamer-docs.sgml:
14090         * docs/gst/gstreamer-sections.txt:
14091         * docs/gst/tmpl/.cvsignore:
14092         * docs/gst/tmpl/gstelementdetails.sgml:
14093         * docs/gst/tmpl/gstelementfactory.sgml:
14094         * gst/gst.c:
14095         * gst/gstbus.c:
14096         * gst/gstelementfactory.c:
14097         * gst/gstelementfactory.h:
14098           merged elementdetails docs into elementfactory docs
14099           inlined both
14100
14101 2005-09-02  Andy Wingo  <wingo@pobox.com>
14102
14103         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
14104         consider this enum an enum and not a flags.
14105
14106 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
14107
14108         * docs/gst/gstreamer-docs.sgml:
14109         * docs/gst/tmpl/.cvsignore:
14110         * docs/gst/tmpl/gstghostpad.sgml:
14111         * docs/gst/tmpl/gstiterator.sgml:
14112         * docs/gst/tmpl/gstmacros.sgml:
14113         * docs/gst/tmpl/gstrealpad.sgml:
14114         * docs/gst/tmpl/gstregistry.sgml:
14115         * docs/gst/tmpl/gstregistrypool.sgml:
14116         * docs/gst/tmpl/gststructure.sgml:
14117         * docs/gst/tmpl/gstsystemclock.sgml:
14118         * docs/gst/tmpl/gsttrace.sgml:
14119         * gst/gstghostpad.c:
14120         * gst/gstmacros.h:
14121         * gst/gstmemchunk.c:
14122         * gst/gstmemchunk.h:
14123         * gst/gstqueue.c:
14124         * gst/gstregistry.c:
14125         * gst/gstregistrypool.c:
14126         * gst/gststructure.c:
14127         * gst/gstsystemclock.c:
14128           more docs inlined
14129
14130 2005-09-02  Andy Wingo  <wingo@pobox.com>
14131
14132         * gst/gstelement.h (GstState): Renamed from GstElementState,
14133         changed to be a normal enum instead of flags.
14134         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
14135         munged to be GST_STATE_CHANGE_*.
14136         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
14137         work with the new state representation.
14138         (GstStateChange): New enumeration of possible state transitions.
14139         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
14140         (GstElementClass::change_state): Pass the GstStateChange along as
14141         an argument. Helps language bindings, so they don't have to use
14142         tricky lock-needing macros like GST_STATE_CHANGE ().
14143
14144         * scripts/update-states (file): New script. Run it on a file to
14145         update it for state naming and API changes. Updates files in
14146         place.
14147
14148         * All files updated for the new API.
14149
14150 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14151
14152         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
14153         * gst/gstutils.c: (gst_util_set_value_from_string),
14154         (gst_util_set_object_arg):
14155           fix a bunch of unchecked return values
14156         * tools/gst-complete.c: (main):
14157         * gstreamer.spec.in:
14158           clean up a little
14159
14160 2005-09-01  Wim Taymans  <wim@fluendo.com>
14161
14162         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14163         (gst_base_sink_event), (gst_base_sink_do_sync),
14164         (gst_base_sink_handle_event):
14165         * gst/base/gstbasesink.h:
14166         Handle newsegments more correctly.
14167
14168         * gst/gstbus.c:
14169         Fix docs.
14170
14171         * gst/gstevent.c: (gst_event_new_newsegment):
14172         A newsegment cannot have a start_time of -1
14173
14174 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
14175
14176         * win32/gstenumtypes.c:
14177         * win32/gstenumtypes.h:
14178           Update
14179
14180 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
14181
14182         * libs/gst/controller/gst-controller.c:
14183         (gst_controlled_property_set_interpolation_mode),
14184         (gst_controlled_property_new):
14185          fixed boolean again
14186
14187 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
14188
14189         * docs/faq/gst-uninstalled:
14190           add -good
14191         * gst/gstevent.c:
14192         * gst/gstevent.h:
14193           remove wrong docs
14194         * gst/gstutils.c: (gst_element_link_filtered):
14195         * gst/gstutils.h:
14196           add gst_element_link_filtered
14197
14198 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
14199
14200         * docs/gst/gstreamer-docs.sgml:
14201         * docs/gst/gstreamer-sections.txt:
14202         * docs/gst/tmpl/.cvsignore:
14203         * docs/gst/tmpl/gsterror.sgml:
14204         * docs/gst/tmpl/gstfilter.sgml:
14205         * docs/gst/tmpl/gsturihandler.sgml:
14206         * docs/gst/tmpl/gsturitype.sgml:
14207         * docs/gst/tmpl/gstutils.sgml:
14208         * docs/gst/tmpl/gstxml.sgml:
14209         * gst/gsterror.c:
14210         * gst/gsterror.h:
14211         * gst/gstfilter.c:
14212         * gst/gsturi.c:
14213         * gst/gsturitype.c:
14214         * gst/gstutils.c:
14215         * gst/gstxml.c:
14216           inlined more docs, fixed double id-ref
14217
14218 2005-08-31  Wim Taymans  <wim@fluendo.com>
14219
14220         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
14221         (gst_base_transform_handle_buffer):
14222         Passthrough elements don't need the caps as they don't care.
14223
14224 2005-08-31  Wim Taymans  <wim@fluendo.com>
14225
14226         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
14227         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
14228         Don't leak refcounts on buffers.
14229
14230 2005-08-31  Wim Taymans  <wim@fluendo.com>
14231
14232         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
14233         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
14234         (gst_base_transform_chain), (gst_base_transform_change_state):
14235         * gst/base/gstbasetransform.h:
14236         Handle the case where we are not negotiated more gracefully.
14237
14238 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
14239
14240         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
14241         (gst_file_src_map_region):
14242           Set READONLY flag on mmap'ed buffers, otherwise
14243           gst_buffer_make_writable() won't work properly (#314708).
14244
14245 2005-08-31  Wim Taymans  <wim@fluendo.com>
14246
14247         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
14248         passthrough elements can even do inplace on non writable
14249         buffers (as they don't touch them).
14250
14251 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
14252
14253         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
14254         (gst_test_mono_source_set_property),
14255         (gst_test_mono_source_class_init), (GST_START_TEST),
14256         (gst_controller_suite):
14257           more tests (hehe I have the most)
14258         * gst/gstbus.c:
14259           describe popping messages whenusing mulltiple sources
14260         * libs/gst/controller/gst-controller.c:
14261         (gst_controlled_property_set_interpolation_mode),
14262         (gst_controlled_property_new):
14263         * libs/gst/controller/gst-controller.h:
14264         * libs/gst/controller/gst-interpolation.c:
14265           implement boolean properties
14266
14267 2005-08-31  Wim Taymans  <wim@fluendo.com>
14268
14269         * gst/gstminiobject.c: (gst_mini_object_ref):
14270         Cannot assert that the refcount has to be positive
14271         since a disposed object can be resurrected.
14272
14273 2005-08-31  Wim Taymans  <wim@fluendo.com>
14274
14275         * gst/gstpad.c: (gst_pad_init):
14276         Revert change, need to first fix badly behaving 
14277         apps.
14278
14279 2005-08-30  Wim Taymans  <wim@fluendo.com>
14280
14281         * check/elements/fakesrc.c: (setup_fakesrc):
14282         * check/elements/identity.c: (setup_identity):
14283         Activate pads before using them.
14284
14285 2005-08-30  Wim Taymans  <wim@fluendo.com>
14286
14287         * gst/base/gstadapter.c: (gst_adapter_flush):
14288         Flushing out 0 bytes is ok for this function.
14289
14290         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14291         no newsegment gives a warning and sets the start/stop to 
14292         invalid.
14293
14294         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
14295         (gst_base_transform_set_passthrough):
14296         Some debug info.
14297
14298         * gst/gstminiobject.c: (gst_mini_object_ref):
14299         Check refcount here too.
14300
14301         * gst/gstpad.c: (gst_pad_init):
14302         Pads are initially flushing and refusing data.
14303
14304         * gst/gstutils.c: (gst_element_link_pads_filtered):
14305         When adding a capsfilter element make sure it has the
14306         same state as the parent bin.
14307
14308 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
14309
14310         * docs/gst/tmpl/.cvsignore:
14311         * docs/gst/tmpl/gstformat.sgml:
14312         * docs/gst/tmpl/gstversion.sgml:
14313         * gst/gstbus.h:
14314         * gst/gstformat.c:
14315         * gst/gstformat.h:
14316         * gst/gstversion.h.in:
14317           more docs and two more inlined
14318
14319 2005-08-30  Wim Taymans  <wim@fluendo.com>
14320
14321         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
14322         Don't sync to clock.
14323
14324 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
14325
14326         * docs/gst/gstreamer-sections.txt:
14327           ultral33t func10ns deserve to appear in the docs actually
14328         * docs/gst/tmpl/.cvsignore:
14329         * docs/gst/tmpl/gstcompat.sgml:
14330         * docs/gst/tmpl/gstconfig.sgml:
14331         * gst/check/gstcheck.c:
14332         * gst/gstcompat.h:
14333         * gst/gstconfig.h.in:
14334           inlined more docs
14335
14336 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
14337
14338         * docs/gst/tmpl/.cvsignore:
14339         * docs/gst/tmpl/gstquery.sgml:
14340         * docs/gst/tmpl/gstutils.sgml:
14341         * gst/gstquery.c:
14342         * gst/gstquery.h:
14343           inlined and extended docs
14344
14345 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
14346
14347         * check/gst-libs/controller.c: (GST_START_TEST),
14348         (gst_controller_suite):
14349           more tests
14350         * docs/gst/tmpl/gstutils.sgml:
14351         * docs/libs/gstreamer-libs-sections.txt:
14352         * docs/libs/tmpl/gstdataprotocol.sgml:
14353           include path fixes
14354         * examples/controller/audio-example.c: (main):
14355           controller example works now
14356         * gst/gstclock.h:
14357           doc fixes
14358         * tools/gst-inspect.c: (print_element_properties_info):
14359           show param spec flags
14360
14361 2005-08-29  Andy Wingo  <wingo@pobox.com>
14362
14363         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
14364
14365 2005-08-28  Andy Wingo  <wingo@pobox.com>
14366
14367         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
14368         as having two arguments instead of just one. Allows superclasses
14369         to access information on subclasses -- see the terrible for() loop
14370         in gtype.c:g_type_create_instance for the reason why. All callers
14371         changed.
14372
14373 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
14374
14375         * docs/design/part-messages.txt:
14376           update info
14377         * docs/gst/tmpl/.cvsignore:
14378         * docs/gst/tmpl/gstcaps.sgml:
14379         * docs/gst/tmpl/gstclock.sgml:
14380         * gst/gstbus.c:
14381         * gst/gstcaps.c:
14382         * gst/gstcaps.h:
14383         * gst/gstclock.c:
14384         * gst/gstclock.h:
14385         * gst/gstmessage.c:
14386           added descriptions for bus and message
14387           inline caps and clock docs
14388
14389 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
14390
14391         * gst/gstmessage.c:
14392         * gst/gstmessage.h:
14393           doc fixes
14394
14395 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
14396
14397         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
14398           fix div-by-zero
14399
14400 2005-08-26  Andy Wingo  <wingo@pobox.com>
14401
14402         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
14403         element_set_state's return val.
14404         (test_2_elements): Add test that's been disabled for months.
14405
14406         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
14407         can-activate-pull properties.
14408
14409         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
14410         can-activate-pull properties. Implement is_seekable so fakesrc can
14411         operate in pull mode.
14412
14413         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
14414         properties.
14415         (gst_base_sink_activate, gst_base_sink_activate_pull)
14416         (gst_base_sink_activate_push): Make activation mode choosing work.
14417         Cleanups.
14418         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
14419         is right. Make pull mode work. Post an eos before pausing in pull
14420         mode.
14421         (gst_base_sink_change_state): Pay attention to the core's
14422         change_state() return val.
14423         
14424         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
14425         has-getrange properties. Cleanups.
14426         
14427         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
14428         has_getrange and replace with can_activate_pull and
14429         can_activate_push.
14430
14431         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
14432         locking comments. Remove has_loop, has_chain and replace with
14433         can_activate_pull and can_activate_push.
14434
14435 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
14436
14437         * configure.ac:
14438         * examples/Makefile.am:
14439         * examples/metadata/Makefile.am:
14440         * examples/metadata/read-metadata.c: (message_loop),
14441         (have_pad_handler), (make_pipeline), (print_tag), (main):
14442           Add metadata reading example that loops over a list of filenames,
14443           dumping any tags found.
14444
14445         * gst/gstbus.c: (gst_bus_dispose):
14446         * gst/gstelement.c: (gst_element_dispose):
14447           Release a few potentially-held references in dispose.
14448
14449 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
14450
14451         * docs/gst/tmpl/gstminiobject.sgml:
14452           do *not* add tmpl/*.sgml files to CVS!
14453
14454 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
14455
14456         * libs/gst/bytestream/.cvsignore:
14457         * libs/gst/bytestream/Makefile.am:
14458         * libs/gst/bytestream/adapter.c:
14459         * libs/gst/bytestream/adapter.h:
14460         * libs/gst/bytestream/bytestream.c:
14461         * libs/gst/bytestream/bytestream.h:
14462         * libs/gst/bytestream/filepad.c:
14463         * libs/gst/bytestream/filepad.h:
14464           removing obsolete files
14465
14466 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
14467
14468         * docs/gst/gstreamer-docs.sgml:
14469         * docs/libs/gstreamer-libs-docs.sgml:
14470           disabed additional index entries again, as this makes docs-gen just
14471           slow and they aren't useful yet
14472         * docs/libs/gstreamer-libs-sections.txt:
14473           little -section.txt cleanup for libs
14474
14475 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
14476
14477         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14478         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
14479           fix up some debugging
14480         (gst_base_transform_get_unit_size),
14481         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
14482         (gst_base_transform_handle_buffer):
14483         * gst/base/gstbasetransform.h:
14484           handle and store timed NEWSEGMENT events so that subclasses that
14485           calculate time by counting samples have a segment_start time they
14486           need to add to their timestamps - see audioresample
14487
14488 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
14489
14490         * gst/gstbin.h:
14491           removed ';' from the end of macro defs
14492         * docs/gst/gstreamer-docs.sgml:
14493         * docs/gst/gstreamer-sections.txt:
14494         * docs/gst/tmpl/.cvsignore:
14495         * gst/gstbus.h:
14496         * gst/gstelement.c: (gst_element_class_init),
14497         (gst_element_set_state), (activate_pads),
14498         (gst_element_save_thyself):
14499         * gst/gstevent.c: (gst_event_new_newsegment):
14500         * gst/gstevent.h:
14501         * gst/gstiterator.c:
14502         * gst/gstiterator.h:
14503         * gst/gstpad.c:
14504         * gst/gstprobe.h:
14505         * gst/gstutils.c: (gst_pad_query_convert):
14506         * gst/gstutils.h:
14507           fixed parameter name mismatches between source, header and docs
14508           added some more docs, resolved the last batch of unused elements in
14509           docs (now someone needs to doc them)
14510
14511 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14512
14513         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
14514         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
14515           don't walk through the plugins backwards.  Where is all this
14516           reversed logic coming from ?
14517
14518 2005-08-25  Wim Taymans  <wim@fluendo.com>
14519
14520         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14521         (gst_base_transform_transform_size),
14522         (gst_base_transform_configure_caps),
14523         (gst_base_transform_get_unit_size),
14524         (gst_base_transform_buffer_alloc),
14525         (gst_base_transform_change_state):
14526         * gst/base/gstbasetransform.h:
14527         Cache caps unit_size.
14528         Make sure we cannot negotiate up and downstream at the
14529         same time.
14530
14531 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14532
14533         * gst/gst.c: (init_pre), (init_post):
14534           register the installed plugin path after the env var
14535         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
14536         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
14537           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
14538           directories, so the tests can prefer uninstalled over installed
14539
14540 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14541
14542         * gst/base/gstbasetransform.h:
14543           comment
14544         * gst/gstpad.c:
14545           add to docs
14546
14547 2005-08-25  Wim Taymans  <wim@fluendo.com>
14548
14549         * gst/gstbin.c: (bin_bus_handler):
14550         Be a bit more conservative about the posted message.
14551         
14552         * gst/gstbus.c: (gst_bus_post):
14553         Some cleanups, warn wrong return values.
14554
14555 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
14556
14557         * check/gst/gstbin.c: (GST_START_TEST):
14558         * gst/gstbin.c: (bin_bus_handler):
14559         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
14560         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
14561         (gst_message_new_warning), (gst_message_new_tag),
14562         (gst_message_new_state_changed), (gst_message_new_segment_start),
14563         (gst_message_new_segment_done), (gst_message_new_custom):
14564         * gst/gstmessage.h:
14565         * tools/gst-launch.c: (event_loop):
14566         * tools/gst-md5sum.c: (event_loop):
14567           Revert unpopular change for GST_MESSAGE_SRC to GObject.
14568
14569 2005-08-25  Wim Taymans  <wim@fluendo.com>
14570
14571         * check/generic/states.c: (GST_START_TEST):
14572         Cleanup can be done at the end.
14573
14574         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
14575         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
14576         (gst_task_get_state), (gst_task_start), (gst_task_pause):
14577         Oh boy.. Thanks for finding this, Thomas. 
14578
14579 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
14580
14581         * docs/gst/gstreamer.types:
14582           added missing types
14583
14584 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
14585
14586         * docs/gst/gstreamer-docs.sgml:
14587         * docs/gst/gstreamer-sections.txt:
14588         * docs/gst/tmpl/.cvsignore:
14589         * gst/gstbin.c:
14590         * gst/gstiterator.c:
14591         * gst/gstutils.c:
14592         * gst/registries/gstxmlregistry.h:
14593           added missing classes and symbols (123 more to go)
14594           removed removed symbols from section file
14595           fixed many doc-comments
14596
14597 2005-08-24  Wim Taymans  <wim@fluendo.com>
14598
14599         * check/generic/states.c: (GST_START_TEST):
14600         Make sure all tasks are stopped.
14601
14602         * check/gst/gstbin.c: (GST_START_TEST):
14603         Unref after usage for proper valgrinding.
14604
14605         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
14606         Really wait for the task to stop before destroying the
14607         mutex.
14608
14609         * gst/gstqueue.c: (gst_queue_sink_activate_push),
14610         (gst_queue_src_activate_push):
14611         Small cleanups. Don't stop the task when we did not start
14612         it.
14613
14614         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
14615         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
14616         (gst_task_get_state), (gst_task_start), (gst_task_pause),
14617         (gst_task_join):
14618         * gst/gsttask.h:
14619         Protect the stream lock with the object lock.
14620         Disallow setting the stream lock when running.
14621         Add cleanup_all to wait for the threadpool to finish.
14622         Remove code to autoallocate a mutex if none was provided.
14623         Add _join() to wait for a task to stop.
14624         Protect the thread pool with a global lock.
14625
14626 2005-08-24  Wim Taymans  <wim@fluendo.com>
14627
14628         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14629         (gst_base_sink_get_times), (gst_base_sink_do_sync),
14630         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
14631         * gst/base/gstbasesink.h:
14632         Handle newsegment events correctly.
14633         Drop buffers out of the segment range.
14634
14635 2005-08-22  Andy Wingo  <wingo@pobox.com>
14636
14637         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
14638         macro, implements an interface and gstimplementsinterface for a
14639         new type.
14640
14641 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14642
14643         * check/Makefile.am:
14644         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
14645           add a test that does a bunch of state changes on elements
14646           needs some fixing for valgrind
14647         * check/states/sinks.c: (gst_object_suite):
14648           whitespace
14649         * gst/gstcaps.h:
14650           add prototype for gst_caps_is_equal_fixed
14651         * gst/gstplugin.c:
14652         * gst/gstregistrypool.c:
14653           doc fixes
14654
14655 2005-08-24  Andy Wingo  <wingo@pobox.com>
14656
14657         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
14658         convert a negative value. Doesn't make much sense. Mostly this is
14659         here to force callers to ensure -1 maps to -1.
14660
14661 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
14662
14663         * docs/pwg/advanced-types.xml:
14664           Well done to Michael for catching my deliberate introduction
14665           of this spelling mistake. 
14666         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
14667         * gst/gstelement.h:
14668           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
14669           unlink pads before removing the element from the bin.
14670
14671 2005-08-24  Andy Wingo  <wingo@pobox.com>
14672
14673         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
14674         the same thing as GST_DEBUG=*:4.
14675         (parse_debug_level, parse_debug_category): New helper parsers.
14676
14677 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14678
14679         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14680         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
14681         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
14682         (gst_base_transform_buffer_alloc),
14683         (gst_base_transform_handle_buffer):
14684           use gboolean return values and pointers to size so we can use the
14685           full GST_BUFFER_SIZE range (guint) for buffer sizes
14686           use GstPadDirection for transform_caps
14687         * gst/base/gstbasetransform.h:
14688           rename get_size to get_unit_size since that's what it is
14689         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
14690           use GstPadDirection for transform_caps
14691         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14692         * gst/gstutils.h:
14693           cleanup and debugging
14694
14695 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
14696
14697         * gst/gstelement.c: (gst_element_class_init),
14698         (gst_element_set_state), (activate_pads),
14699         (gst_element_save_thyself):
14700         * tools/gst-compprep.c: (main):
14701         * tools/gst-inspect.c: (print_element_properties_info):
14702         * tools/gst-xmlinspect.c: (print_element_properties):
14703           Fixed long standing mem-leak
14704
14705 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
14706
14707         * check/gst/gstbin.c: (GST_START_TEST):
14708         * gst/gstbin.c: (bin_bus_handler):
14709         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
14710         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
14711         (gst_message_new_warning), (gst_message_new_tag),
14712         (gst_message_new_state_changed), (gst_message_new_segment_start),
14713         (gst_message_new_segment_done), (gst_message_new_custom):
14714         * gst/gstmessage.h:
14715         * tools/gst-launch.c: (event_loop):
14716         * tools/gst-md5sum.c: (event_loop):
14717           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
14718           that applications can sensibly post custom messages with references
14719           to their own objects.
14720
14721 2005-08-24  Andy Wingo  <wingo@pobox.com>
14722
14723         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
14724         already.
14725
14726 2005-08-24  Wim Taymans  <wim@fluendo.com>
14727
14728         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14729         (gst_base_transform_transform_caps),
14730         (gst_base_transform_transform_size),
14731         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14732         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14733         (gst_base_transform_handle_buffer):
14734         * gst/base/gstbasetransform.h:
14735         Many fixes and new features added by Thomas. Can now also do
14736         transforms with variable sizes and a custom fixate_caps function.
14737
14738 2005-08-24  Wim Taymans  <wim@fluendo.com>
14739
14740         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14741         Some debugging.
14742
14743         * gst/gstclock.h:
14744         Cast to ClockTime before formatting to time.
14745
14746         * gst/gstutils.h:
14747         Cleanups.
14748
14749 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
14750
14751         * check/gst-libs/controller.c: (GST_START_TEST),
14752         (gst_controller_suite):
14753         * docs/gst/tmpl/gstcaps.sgml:
14754         * docs/gst/tmpl/gstghostpad.sgml:
14755         * docs/gst/tmpl/gstquery.sgml:
14756         * docs/gst/tmpl/gstutils.sgml:
14757         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
14758         (gst_object_sink_values), (gst_object_get_value_arrays),
14759         (gst_object_get_value_array):
14760           gracefully handle helper method calls to objects that are not beeing
14761           controlled, added test case for that          
14762
14763 2005-08-23  Wim Taymans  <wim@fluendo.com>
14764
14765         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
14766         (gst_event_new_newsegment), (gst_event_parse_newsegment),
14767         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
14768         (gst_event_parse_qos), (gst_event_new_seek),
14769         (gst_event_parse_seek):
14770         * gst/gstevent.h:
14771         Some more debugging output and doc cleanups.
14772
14773         * gst/gstqueue.c: (gst_queue_handle_sink_event):
14774         Fix possible deadlock.
14775
14776 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
14777
14778         * docs/gst/gstreamer-docs.sgml:
14779         * docs/gst/gstreamer-sections.txt:
14780         * docs/gst/gstreamer.types:
14781         * docs/gst/tmpl/.cvsignore:
14782         * gst/gstbin.h:
14783         * gst/gstbus.c:
14784         * gst/gstelement.c:
14785         * gst/gstevent.h:
14786           added 100 symbols from gstreamer-unused.txt to the right sections
14787           fixed more broken comments
14788           added GstBus to docs
14789
14790 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
14791
14792         * docs/gst/gstreamer-sections.txt:
14793         * docs/gst/tmpl/.cvsignore:
14794         * docs/gst/tmpl/gstbin.sgml:
14795         * docs/gst/tmpl/gstbuffer.sgml:
14796         * gst/base/gstbasesrc.c:
14797         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
14798         * gst/gstbuffer.c:
14799         * gst/gstbuffer.h:
14800         * tools/gst-launch.1.in:
14801           inlined more doc comments, added missing comments and fixed comments
14802           fixed typos
14803
14804 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14805
14806         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14807           some debugging
14808         * gst/gstcaps.h:
14809           whitespace fixes
14810         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
14811           more debugging
14812         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
14813         * gst/gststructure.h:
14814           add a fixate function for booleans; add a FIXME that these func
14815           names should probably be gst_structure_fixate_*
14816
14817 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
14818
14819         * docs/gst/gstreamer-docs.sgml:
14820         * docs/gst/gstreamer-sections.txt:
14821         * gst/Makefile.am:
14822         * gst/gstbin.c: (gst_bin_get_type),
14823         (gst_bin_child_proxy_get_child_by_index),
14824         (gst_bin_child_proxy_get_children_count),
14825         (gst_bin_child_proxy_init):
14826         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
14827         (gst_child_proxy_get_child_by_index),
14828         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
14829         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
14830         (gst_child_proxy_get), (gst_child_proxy_set_property),
14831         (gst_child_proxy_set_valist), (gst_child_proxy_set),
14832         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
14833         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
14834         * gst/gstchildproxy.h:
14835         * gst/parse/grammar.y:
14836         * tools/gst-inspect.c: (print_interfaces),
14837         (print_element_properties_info), (print_element_info):
14838           ported gstchildproxy over from 0.8
14839           ported gst-inspect fixes and enhancements over from 0.8
14840
14841 2005-08-22  Wim Taymans  <wim@fluendo.com>
14842
14843         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14844         (gst_base_transform_handle_buffer):
14845         Also call the transform function if we have ANY caps.
14846
14847         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
14848         Fix debug info.
14849
14850 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
14851
14852         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
14853           Don't pretend to handle seek events if the source is not seekable
14854
14855 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
14856
14857         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14858           Remove extra parameter to debug output
14859
14860         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14861         (gst_base_src_do_seek), (gst_base_src_activate_push):
14862           Fix seek event handling.
14863
14864         * gst/gstpipeline.c: (gst_pipeline_change_state):
14865         * gst/gstqueue.c: (gst_queue_handle_sink_event),
14866         (gst_queue_src_activate_push):
14867           Don't start the src pad task on FLUSH_STOP if the pad
14868           isn't linked.
14869           Debug changes.
14870
14871 2005-08-22  Wim Taymans  <wim@fluendo.com>
14872
14873         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
14874         Added check for gst_static_caps_get() refcounting.
14875
14876 2005-08-22  Wim Taymans  <wim@fluendo.com>
14877
14878         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
14879         Make _static_caps_get() refcounting sane.
14880         
14881         * gst/gstelement.c: (gst_element_set_state):
14882         Add g_return_val_if_fail() to protect against segfaults.
14883
14884 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
14885
14886         * docs/gst/tmpl/gstevent.sgml:
14887         * gst/gstevent.c:
14888         * gst/gstevent.h:
14889           inlined remaining docs, added missing doc comments
14890
14891 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14892
14893         * check/gst/gstbin.c: (GST_START_TEST):
14894           since we don't know when preroll is done, use refcount range
14895           check for the sink
14896         * gst/check/gstcheck.h:
14897           add macro for checking refcount range
14898
14899 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14900
14901         * check/Makefile.am:
14902           clean up environment for when registry gets built versus
14903           when actual tests are run; valgrind seems to not report
14904           leaks if GST_PLUGIN_PATH is set to some specific values
14905         * check/gst/gstbin.c: (GST_START_TEST):
14906           add more refcounting checks; maybe this exposes a
14907           preroll lock bug ?
14908         * common/check.mak:
14909         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14910         * gst/check/gstcheck.h:
14911         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
14912         (gst_bin_change_state):
14913         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
14914           add/fix debugging/whitespace
14915
14916 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
14917
14918         * check/gst/gstevent.c: (event_probe), (test_event),
14919         (GST_START_TEST):
14920          Er, don't call gst_bin_watch_for_state_change you idiot.
14921
14922 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
14923
14924         * check/Makefile.am:
14925           Use CHECK_CFLAGS and CHECK_LIBS
14926         * check/gst/gstevent.c: (event_probe), (test_event),
14927         (GST_START_TEST):
14928           Don't leak events.
14929         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14930         (gst_base_src_start), (gst_base_src_stop),
14931         (gst_base_src_activate_push), (gst_base_src_activate_pull),
14932         (gst_base_src_change_state):
14933           Sprinkle gst_base_src_stop liberally around error paths to fix
14934           problems reusing a source after failed state changes.
14935         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14936         (helper_find_suggest), (gst_type_find_helper):
14937           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
14938         * gst/gstevent.h:
14939         * docs/gst/tmpl/gstevent.sgml:
14940           Migrate part of the docs from the SGML file. Wait for ensonic to
14941           tell me how I did it wrong ;)
14942         * tools/gst-typefind.c: (main):
14943           Extra robustness to state changes between files.
14944
14945 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14946
14947         * check/Makefile.am:
14948           don't valgrind the controller test - it's leaking - Stefan, HELP
14949         * gst/check/gstcheck.c: (gst_check_message_error),
14950         (gst_check_chain_func), (gst_check_setup_element),
14951         (gst_check_teardown_element), (gst_check_setup_src_pad),
14952         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
14953         (gst_check_teardown_sink_pad):
14954         * gst/check/gstcheck.h:
14955           add a bunch of methods to set up elements, and src and sink pads
14956         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
14957         * check/elements/identity.c: (setup_identity), (cleanup_identity),
14958         (GST_START_TEST):
14959           use them
14960         * gst/gstmessage.c:
14961         * gst/gsttag.h:
14962           whitespace/doc fixes
14963
14964 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14965
14966         * gst/gstelement.h:
14967           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
14968           be handled by the application and not always printed as well
14969
14970 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14971
14972         * check/Makefile.am:
14973           set GST_TOOLS_DIR
14974         * gst/check/gstcheck.c: (gst_check_message_error):
14975         * gst/check/gstcheck.h:
14976           add a fail_unless_equals_int
14977           add fail_unless for error messages
14978
14979 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14980
14981         * check/Makefile.am:
14982         * check/gst.supp:
14983         * common/Makefile.am:
14984         * common/check.mak:
14985         * common/gst.supp:
14986           factor out some of the common stuff so we can use it
14987
14988 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14989
14990         * check/Makefile.am:
14991         * check/gst/gstiterator.c: (GST_START_TEST):
14992         * check/gst/gstsystemclock.c: (GST_START_TEST),
14993         (gst_systemclock_suite):
14994         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14995         * gst/gstclock.c:
14996           valgrind more tests
14997
14998 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14999
15000         * check/elements/.cvsignore:
15001         * check/elements/gstfakesrc.c:
15002           rename to name of element
15003         * check/elements/identity.c: (chain_func), (event_func),
15004         (setup_identity), (cleanup_identity), (GST_START_TEST),
15005         (identity_suite), (main):
15006           add a test for identity
15007         * check/Makefile.am:
15008         * pkgconfig/Makefile.am:
15009         * pkgconfig/gstreamer-check.pc.in:
15010         * pkgconfig/gstreamer-check-uninstalled.pc.in:
15011         * gst/check:
15012         * gst/Makefile.am:
15013         * configure.ac:
15014           move the check stuff to a library that gets installed
15015         * check/gst-libs/controller.c: (GST_START_TEST):
15016         * check/gst-libs/gdp.c:
15017         * check/gst/gst.c: (GST_START_TEST):
15018         * check/gst/gstbin.c:
15019         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15020         * check/gst/gstbus.c:
15021         * check/gst/gstcaps.c: (GST_START_TEST):
15022         * check/gst/gstelement.c:
15023         * check/gst/gstghostpad.c:
15024         * check/gst/gstiterator.c:
15025         * check/gst/gstmessage.c:
15026         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
15027         * check/gst/gstobject.c:
15028         * check/gst/gstpad.c: (GST_START_TEST):
15029         * check/gst/gststructure.c: (GST_START_TEST):
15030         * check/gst/gstsystemclock.c: (GST_START_TEST),
15031         (gst_systemclock_suite):
15032         * check/gst/gsttag.c: (gst_tag_suite):
15033         * check/gst/gstvalue.c:
15034         * check/pipelines/cleanup.c:
15035         * check/pipelines/simple_launch_lines.c:
15036         * check/states/sinks.c:
15037           change include statement
15038
15039         * docs/gst/gstreamer-sections.txt:
15040         * docs/gst/tmpl/gstpad.sgml:
15041           document more pad stuff
15042         * gst/gstminiobject.c: (gst_mini_object_ref),
15043         (gst_mini_object_unref):
15044           debug refcounting
15045
15046 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
15047
15048         * docs/gst/tmpl/gst.sgml:
15049         * gst/gst.c:
15050           eliminate another tmpl file, fix spelling in the long-description
15051
15052 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
15053
15054         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
15055         (test_event), (timediff), (gstevents_suite):
15056           Should fix build on 64-bit arch's
15057
15058 2005-08-18  Andy Wingo  <wingo@pobox.com>
15059
15060         Make sure that when a pipeline goes to PLAYING, that data has
15061         actually hit the sink.
15062
15063         * check/states/sinks.c (test_sink): A sink that doesn't get any
15064         data shouldn't return SUCCESS for going to either PLAYING or
15065         PAUSED. Test also the return values on the way back down.
15066
15067         * gst/gstelement.c (gst_element_set_state): When changing the
15068         state of an element currently changing state asynchronously, go to
15069         lost-state after commiting the pending state. Makes future calls
15070         to get_state continue to return ASYNC.
15071
15072         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
15073         ASYNC when going to PLAYING if we still don't have preroll, as can
15074         happen with live sources.
15075
15076 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
15077
15078         * docs/pwg/advanced-types.xml:
15079           Hack long paragraph into 2 chunks as a workaround for buggy
15080           jadetex version in sid and breezy that loops infinitely and
15081           eats all RAM.
15082
15083 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
15084
15085         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
15086         (test_event), (timediff), (gstevents_suite):
15087           Provide more error margin in clock measurements to allow for 
15088           g_get_current_time inaccuracies.
15089
15090 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
15091
15092         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
15093         (test_event), (timediff), (gstevents_suite):
15094            Fix error message output so I might be able to tell why the
15095            test works here but fails on the build farm.
15096
15097 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
15098
15099         * check/Makefile.am:
15100         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
15101         (test_event), (timediff), (gstevents_suite), (main):
15102           I wrote a test!
15103
15104         * docs/design/part-seeking.txt:
15105           Spelling correction
15106
15107         * docs/gst/tmpl/gstevent.sgml:
15108         * docs/gst/tmpl/gstfakesrc.sgml:
15109           Docs updates.
15110
15111         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15112           Treat a buffer-without-newsegment the same as a receiving 
15113           a newsegment not in time format, and disable syncing to the clock
15114           with a warning.
15115
15116         * gst/gstbus.c: (gst_bus_set_sync_handler):
15117           Assert if anyone tries to replace the existing sync_handler for bus, 
15118           as only the owner should be setting it.
15119
15120         * gst/gstevent.h:
15121           Have a fixed set of custom event enums with events identified by
15122           their structure name (as in 0.8), rather than a free-for-all
15123           allowing collisions between enum values from different plugins.
15124
15125         * gst/gstpad.c: (gst_pad_class_init):
15126           Docs change.
15127           
15128         * gst/gstqueue.c: (gst_queue_handle_sink_event):
15129           Handle out-of-band downstream events from the sending thread.
15130
15131 2005-08-17  Andy Wingo  <wingo@pobox.com>
15132
15133         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
15134         play-timeout==0 to mean no timeout at all. In that case, don't
15135         bother with a get_state or a warning, just return directly, even
15136         if it's ASYNC.
15137
15138         * gst/base/gstbasetransform.c: Debug changes.
15139
15140         * gst/gstutils.h:
15141         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
15142         ensure bins post state change messages. A bit of a hack but I can't
15143         think of a way to avoid it.
15144
15145         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
15146
15147 2005-08-16  Andy Wingo  <wingo@pobox.com>
15148
15149         * gst/base/gstadapter.h:
15150         * gst/base/gstadapter.c (gst_adapter_take): New function, like
15151         peek() but you own the data. Not terribly efficient atm.
15152
15153 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15154
15155         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
15156         (gst_element_found_tags):
15157         * gst/gstutils.h:
15158           Add two utility functions for tag handling.
15159
15160 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15161
15162         * docs/manual/advanced-dataaccess.xml:
15163         * docs/manual/basics-helloworld.xml:
15164           Fix docs to use _bin_add() before _link(), which fixes the examples
15165           with recent core versions (reported by Madhan Raj M
15166           <raj_madan@rediffmail.com>, #313199).
15167
15168 2005-08-16  Wim Taymans  <wim@fluendo.com>
15169
15170         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15171         Added subtract checks.
15172
15173         * docs/design/part-events.txt:
15174         Some more docs about newsegment
15175
15176         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
15177         Fix FIXME
15178
15179         * gst/gstcaps.c: (gst_caps_to_string):
15180         Add comments, cleanups.
15181         
15182         * gst/gstelement.c: (gst_element_save_thyself):
15183         cleanups
15184         
15185         * gst/gstvalue.c: (gst_value_collect_int_range),
15186         (gst_string_unwrap), (gst_value_union_int_int_range),
15187         (gst_value_union_int_range_int_range),
15188         (gst_value_intersect_int_int_range),
15189         (gst_value_intersect_int_range_int_range),
15190         (gst_value_intersect_double_double_range),
15191         (gst_value_intersect_double_range_double_range),
15192         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
15193         (gst_value_subtract_int_range_int),
15194         (gst_value_subtract_double_range_double),
15195         (gst_value_subtract_double_range_double_range),
15196         (gst_value_subtract_from_list), (gst_value_subtract_list),
15197         (gst_value_can_compare), (gst_value_compare_fraction):
15198         Cleanups, add comments, remove unneeded asserts.
15199
15200 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15201
15202         * tools/gst-launch.c: (event_loop):
15203           don't convert NULL structures to strings
15204
15205 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
15206
15207         * docs/gst/gstreamer-sections.txt:
15208           made some defines private
15209         * docs/gst/tmpl/gstconfig.sgml:
15210         * docs/gst/tmpl/gstqueue.sgml:
15211         * docs/gst/tmpl/gsttaglist.sgml:
15212         * docs/gst/tmpl/gsttypes.sgml:
15213         * docs/gst/tmpl/gstutils.sgml:
15214         * docs/pwg/appendix-porting.xml:
15215         * gst/base/gstbasesink.h:
15216         * gst/base/gstbasesrc.c:
15217         * gst/base/gstbasesrc.h:
15218         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
15219         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
15220         * gst/gstelement.c: (gst_element_class_init):
15221         * gst/gstpad.c: (gst_pad_class_init):
15222         * gst/gstqueue.c: (gst_queue_class_init):
15223         * gst/gstxml.c: (gst_xml_class_init):
15224           documented all undocumented signal inline
15225         * libs/gst/controller/gst-controller.h:
15226           added padding
15227
15228 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15229
15230         * docs/pwg/appendix-porting.xml:
15231           Document _set_link_function -> _set_setcaps_function.
15232
15233 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15234
15235         * check/Makefile.am:
15236           add a .check target for running the check
15237         * check/gst-libs/controller.c: (GST_START_TEST):
15238           cosmetic fixups
15239         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15240           complete checks for gstbuffer; would be nice if I could get the
15241           gcov stuff to work so I can see if I actually completed gstbuffer.c
15242         * check/gstcheck.h:
15243           add ASSERT_BUFFER_REFCOUNT
15244
15245 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
15246
15247         * docs/gst/gstreamer-sections.txt:
15248         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
15249         * gst/gsttag.h:
15250           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
15251           spew out a warning if a tag that is already registered
15252           is re-registered, unless it is re-registered with a 
15253           different type (#308438).
15254
15255 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
15256
15257         * docs/pwg/appendix-porting.xml:
15258         * docs/pwg/building-state.xml:
15259           Add some paragraphs about state changes in 0.9 to the PWG
15260           and the porting guide, in particular about the new meaning
15261           of GST_STATE_PAUSED and how to write state change functions
15262           with concurrent access by multiple threads in mind.
15263
15264 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
15265
15266         * docs/gst/gstreamer-docs.sgml:
15267         * docs/libs/gstreamer-libs-docs.sgml:
15268           added deprecation and since indexes
15269         * libs/gst/controller/gst-controller.c:
15270         * libs/gst/controller/gst-helper.c:
15271           added since tags
15272
15273
15274 2005-08-11  Wim Taymans  <wim@fluendo.com>
15275
15276         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
15277         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
15278         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
15279         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
15280         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
15281         (gst_ghost_pad_set_target):
15282         Actually implement (re)setting the target on a ghostpad
15283         as described in the docs.
15284
15285 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
15286
15287         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
15288           Check whether GST_DEBUG_NO_COLOR environment variable is
15289           set and disable coloured debug output if that is the case.
15290
15291 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
15292
15293         * gst/base/gsttypefindhelper.c: (helper_find_peek),
15294         (gst_type_find_helper):
15295           The memory returned by gst_type_find_peek() needs to
15296           stay valid until the end of a typefind function, and
15297           typefind functions may keep results from different 
15298           offsets around, so we can't just unref the buffer from
15299           the previous _peek(), but have to save all buffers 
15300           returned by _peek() until typefinding is done and only
15301           free them then.
15302
15303 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
15304
15305         * docs/gst/gstreamer-sections.txt:
15306         * gst/gstutils.h:
15307           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
15308
15309 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15310
15311         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
15312           Fix a pretty good memleak.
15313
15314 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
15315
15316         * gst/gstiterator.h:
15317           Fix wrong include and 'make distcheck'.
15318
15319 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15320
15321         * gst/gstbin.c: (bin_bus_handler):
15322           Use gst_element_post_message() instead.
15323
15324 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
15325
15326         * gst/base/gstadapter.h:
15327         * gst/base/gstbasesink.h:
15328         * gst/base/gstbasesrc.h:
15329         * gst/base/gstbasetransform.h:
15330         * gst/base/gstcollectpads.h:
15331         * gst/base/gstpushsrc.h:
15332         * gst/gstiterator.h:
15333           Add padding to our base elements' class and instance structs and
15334           to GstIterator (you will need to rebuild all plugins and apps!)
15335
15336 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15337
15338         * gst/gstbin.c: (bin_bus_handler):
15339           Make default message forwarding from child->bus to bin->bus
15340           threadsafe and make it not emit warnings if the parent has no bus.
15341
15342 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15343
15344         * gst/gstelement.c: (activate_pads):
15345           On paused->ready, set pad->caps to NULL, as is the documented
15346           behaviour in this state change. Fixes playback of series of
15347           media files when visualization is enabled in Totem.
15348
15349 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15350
15351         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15352           Allow NULL as filter-caps (which means "any").
15353
15354 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
15355
15356         * docs/libs/gstreamer-libs-sections.txt:
15357         * libs/gst/controller/gst-controller.c:
15358         * libs/gst/controller/gst-controller.h:
15359         * libs/gst/controller/gst-helper.c:
15360           adding more entries to the docs and fix small doc-bugs
15361
15362 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
15363
15364         * docs/gst/gstreamer-docs.sgml:
15365         * docs/gst/gstreamer-sections.txt:
15366         * docs/gst/gstreamer.types:
15367         * docs/gst/tmpl/gstbasesink.sgml:
15368         * docs/gst/tmpl/gstbasesrc.sgml:
15369         * docs/gst/tmpl/gstbasetransform.sgml:
15370         * docs/gst/tmpl/gstfakesrc.sgml:
15371         * gst/base/gstcollectpads.c:
15372         * gst/base/gstcollectpads.h:
15373         * libs/gst/controller/gst-controller.c:
15374         * libs/gst/controller/gst-controller.h:
15375         * libs/gst/controller/gst-helper.c:
15376         * libs/gst/controller/gst-interpolation.c:
15377         * libs/gst/controller/lib.c:
15378           added long/short desc for controller docs
15379           added collectpads base class docs
15380           added correct includes to base-class docs
15381
15382 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
15383
15384         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
15385         (gst_test_mono_source_set_property),
15386         (gst_test_mono_source_class_init), (GST_START_TEST),
15387         (gst_controller_suite):
15388         * docs/gst/gstreamer-docs.sgml:
15389         * docs/gst/gstreamer-sections.txt:
15390         * docs/gst/gstreamer.types:
15391         * docs/libs/gstreamer-libs-docs.sgml:
15392         * docs/libs/gstreamer-libs-sections.txt:
15393         * gst/base/gstadapter.c:
15394         * libs/gst/controller/gst-controller.c:
15395         (gst_controlled_property_new), (gst_controlled_property_free),
15396         (gst_controller_new_valist),
15397         (gst_controller_remove_properties_valist),
15398         (gst_controller_sink_values), (_gst_controller_finalize):
15399         * libs/gst/controller/gst-controller.h:
15400         * libs/gst/controller/gst-helper.c:
15401         (gst_object_control_properties), (gst_object_uncontrol_properties),
15402         (gst_object_get_controller), (gst_object_set_controller),
15403         (gst_object_sink_values), (gst_object_get_value_arrays),
15404         (gst_object_get_value_array):
15405           more tests (and fixes) for the controller
15406           more docs for the controller
15407           integrated companies docs for the adapter 
15408
15409 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15410
15411         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
15412         (GST_START_TEST), (fakesrc_suite):
15413           add tests for sizetype
15414
15415 2005-08-04  Andy Wingo  <wingo@pobox.com>
15416
15417         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
15418         fixes buffer_alloc proxying among other things.
15419
15420         * gst/base/gstbasetransform.c:
15421         * gst/base/gstbasetransform.h:
15422         Revert patch to gstbasetransform from 7-28 removing
15423         delay_configure.
15424
15425         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
15426         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
15427         Semantics changed, should return not the size of the output buffer
15428         but the byte size of a buffer with a given caps.
15429
15430         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
15431         debug object.
15432         (gst_base_transform_configure_caps): Don't set out_size here: (in,
15433         out) are not the pad caps until setcaps finishes.
15434         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
15435         not-in-place case as well. Deal with changing from in-place to
15436         not-in-place within calling pad_alloc_buffer. Still a bit
15437         concerned about the overhead here...
15438
15439 2005-08-03  Andy Wingo  <wingo@pobox.com>
15440
15441         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
15442         fixating is an error.
15443
15444 2005-08-04  Edward Hervey  <edward@fluendo.com>
15445
15446         * gst/base/gstadapter.h: 
15447         Added gst_adapter_get_type() to the header
15448
15449 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
15450
15451         * check/Makefile.am:
15452         * check/gst-libs/controller.c:
15453         * libs/gst/controller/gst-controller.c:
15454         (gst_controller_new_valist):
15455           added check test suite for the controller
15456         * gst/base/gstpushsrc.c:
15457           fixed a doc typo
15458
15459 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
15460
15461         * docs/gst/Makefile.am:
15462         * docs/gst/gstreamer-docs.sgml:
15463         * docs/gst/gstreamer-sections.txt:
15464         * docs/gst/gstreamer.types:
15465         * docs/gst/tmpl/gstfakesrc.sgml:
15466         * gst/base/README:
15467         * gst/base/gstbasesink.c:
15468         * gst/base/gstbasesink.h:
15469         * gst/base/gstbasesrc.c:
15470         * gst/base/gstbasesrc.h:
15471         * gst/base/gstbasetransform.c:
15472         * gst/base/gstpushsrc.c:
15473         * gst/base/gstpushsrc.h:
15474           add short/long description docs to base classes
15475           add pushsrc to the docs
15476           remove consolidated doc fragments
15477
15478 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
15479
15480         * configure.ac:
15481         * docs/libs/Makefile.am:
15482         * docs/libs/gstreamer-libs-docs.sgml:
15483         * docs/libs/gstreamer-libs-sections.txt:
15484         * docs/libs/gstreamer-libs.types:
15485         * examples/Makefile.am:
15486         * examples/controller/.cvsignore:
15487         * examples/controller/Makefile.am:
15488         * examples/controller/audio-example.c: (main):
15489         * libs/gst/Makefile.am:
15490         * libs/gst/controller/.cvsignore:
15491         * libs/gst/controller/Makefile.am:
15492         * libs/gst/controller/gst-controller.c:
15493         (on_object_controlled_property_changed), (gst_timed_value_compare),
15494         (gst_timed_value_find),
15495         (gst_controlled_property_set_interpolation_mode),
15496         (gst_controlled_property_new), (gst_controlled_property_free),
15497         (gst_controller_find_controlled_property),
15498         (gst_controller_new_valist), (gst_controller_new),
15499         (gst_controller_remove_properties_valist),
15500         (gst_controller_remove_properties), (gst_controller_set),
15501         (gst_controller_set_from_list), (gst_controller_unset),
15502         (gst_controller_get), (gst_controller_get_all),
15503         (gst_controller_sink_values), (gst_controller_get_value_arrays),
15504         (gst_controller_get_value_array),
15505         (gst_controller_set_interpolation_mode),
15506         (_gst_controller_finalize), (_gst_controller_init),
15507         (_gst_controller_class_init), (gst_controller_get_type):
15508         * libs/gst/controller/gst-controller.h:
15509         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
15510         (g_object_uncontrol_properties), (g_object_get_controller),
15511         (g_object_set_controller), (g_object_sink_values),
15512         (g_object_get_value_arrays), (g_object_get_value_array):
15513         * libs/gst/controller/gst-interpolation.c:
15514         (gst_controlled_property_find_timed_value_node),
15515         (interpolate_none_get), (interpolate_trigger_get),
15516         (interpolate_trigger_get_value_array):
15517         * libs/gst/controller/lib.c: (gst_controller_init):
15518         * pkgconfig/Makefile.am:
15519         * pkgconfig/gstreamer-control-uninstalled.pc.in:
15520         * pkgconfig/gstreamer-control.pc.in:
15521         * testsuite/Makefile.am:
15522         * testsuite/controller/.cvsignore:
15523         * testsuite/controller/Makefile.am:
15524         * testsuite/controller/interpolator.c: (main):
15525           added controller code
15526           removed dparam pc files
15527
15528 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
15529         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
15530         (gst_collectpads_stop):
15531           Broadcast the condition when shutting down, to make sure we wake all
15532           threads up. Shut down pads on finalize, for safety.
15533
15534 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
15535         * gst/base/gstbasetransform.c: (gst_base_transform_init),
15536         (gst_base_transform_handle_buffer),
15537         (gst_base_transform_change_state):
15538           Handle PAUSED->READY->PAUSED transition after negotiation
15539           occurred already.
15540         * gst/gstmessage.c: (gst_message_init):
15541           Extra piece of debug for new messages.
15542
15543 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
15544
15545         * configure.ac:
15546         * docs/gst/tmpl/gstbasesrc.sgml:
15547         * docs/gst/tmpl/gstelement.sgml:
15548         * docs/gst/tmpl/gstevent.sgml:
15549         * docs/gst/tmpl/gstfakesrc.sgml:
15550         * docs/gst/tmpl/gstformat.sgml:
15551         * docs/gst/tmpl/gstghostpad.sgml:
15552         * docs/gst/tmpl/gstpad.sgml:
15553         * docs/gst/tmpl/gstquery.sgml:
15554         * docs/gst/tmpl/gststructure.sgml:
15555         * docs/gst/tmpl/gsttaglist.sgml:
15556         * docs/gst/tmpl/gstvalue.sgml:
15557         * docs/libs/gstreamer-libs-docs.sgml:
15558         * docs/libs/gstreamer-libs-sections.txt:
15559         * docs/libs/gstreamer-libs.types:
15560         * libs/gst/Makefile.am:
15561         * libs/gst/control/.cvsignore:
15562         * libs/gst/control/Makefile.am:
15563         * libs/gst/control/control.c:
15564         * libs/gst/control/control.h:
15565         * libs/gst/control/dparam.c:
15566         * libs/gst/control/dparam.h:
15567         * libs/gst/control/dparam_smooth.c:
15568         * libs/gst/control/dparam_smooth.h:
15569         * libs/gst/control/dparamcommon.h:
15570         * libs/gst/control/dparammanager.c:
15571         * libs/gst/control/dparammanager.h:
15572         * libs/gst/control/dplinearinterp.c:
15573         * libs/gst/control/dplinearinterp.h:
15574         * libs/gst/control/unitconvert.c:
15575         * libs/gst/control/unitconvert.h:
15576         * testsuite/Makefile.am:
15577         * testsuite/dynparams/.cvsignore:
15578         * testsuite/dynparams/Makefile.am:
15579         * testsuite/dynparams/dparamstest.c:
15580         * tools/Makefile.am:
15581         * tools/gst-inspect.c: (print_element_info), (main):
15582         * tools/gst-xmlinspect.c: (print_element_info), (main):
15583           deactivate and remove dparams (libgstcontrol)
15584
15585 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
15586
15587         * gst/elements/gsttypefindelement.c:
15588         (gst_type_find_element_have_type), (gst_type_find_element_init),
15589         (stop_typefinding), (gst_type_find_element_handle_event),
15590         (gst_type_find_element_chain), (gst_type_find_element_getrange):
15591         * gst/elements/gsttypefindelement.h:
15592           Set caps on all outgoing buffers, not just the first one.
15593
15594 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
15595
15596         * gst/elements/gsttypefindelement.c:
15597         (gst_type_find_element_have_type),
15598         (gst_type_find_element_check_set_buffer_caps),
15599         (gst_type_find_element_init), (stop_typefinding),
15600         (gst_type_find_element_handle_event),
15601         (gst_type_find_element_chain), (gst_type_find_element_getrange):
15602         * gst/elements/gsttypefindelement.h:
15603           Set caps on first outgoing buffer when we've found the type.
15604
15605 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
15606
15607         * docs/gst/gstreamer-docs.sgml:
15608         * docs/gst/gstreamer-sections.txt:
15609         * docs/gst/tmpl/gstscheduler.sgml:
15610         * docs/gst/tmpl/gstschedulerfactory.sgml:
15611           Remove some old cruft from docs.
15612
15613 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
15614
15615         * gst/gstpad.h:
15616           Fix inline docs for GstPadLinkReturn.
15617           
15618         * gst/gststructure.c: (gst_structure_has_name):
15619         * gst/gststructure.h:
15620         * docs/gst/gstreamer-sections.txt:
15621           New API: gst_structure_has_name().
15622
15623 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
15624
15625         * configure.ac:
15626           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
15627           and _LARGEFILE_SOURCE in config.h as required. Do not 
15628           export those flags in our .pc files any longer (#142209).
15629
15630           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
15631
15632         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
15633         (gst_file_sink_do_seek), (gst_file_sink_event),
15634         (gst_file_sink_get_current_offset), (gst_file_sink_render):
15635           Redo seek/tell calls with large file support in mind; add some
15636           debugging messages; add log message that tells us when large
15637           file support is unavailable or not enabled for some reason.
15638
15639         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
15640           Add log message that tells us when large file support 
15641           is unavailable or not enabled for some reason.
15642
15643 2005-07-29  Wim Taymans  <wim@fluendo.com>
15644
15645         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
15646         Added test for removing an element with ghostpad from a bin.
15647         Fixed test as current implementation does the right thing.
15648
15649         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
15650         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
15651         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
15652         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
15653         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
15654         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
15655         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
15656         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
15657         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
15658         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
15659         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
15660         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
15661         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
15662         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
15663         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
15664         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
15665         * gst/gstghostpad.h:
15666         Clean up ghostpads, remove properties for internal stuff.
15667         Make threadsafe.
15668         Fix refcounting.
15669         Prepare for switching targets, not all use cases work yet.
15670
15671 2005-07-29  Wim Taymans  <wim@fluendo.com>
15672
15673         * docs/design/part-gstghostpad.txt:
15674         Small update.
15675
15676         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
15677         (gst_bin_remove_func):
15678         Unlinking pads while holding the bin LOCK is not a good
15679         idea.
15680
15681         * gst/gstpad.c: (gst_pad_class_init),
15682         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
15683         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
15684         No prob setting template after creating the pad.
15685
15686 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
15687
15688         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
15689         (gst_bus_peek), (gst_bus_source_dispatch),
15690         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
15691         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
15692           gst_bus_poll may be called from other threads. Handle
15693           this nicely by not making poll_data disappear off the
15694           stack once gst_bus_poll returns.
15695           gst_bus_peek now increments the refcount on the returned
15696           message.
15697
15698 2005-07-29  Wim Taymans  <wim@fluendo.com>
15699
15700         * docs/design/part-gstghostpad.txt:
15701         Overview of current GhostPad datastructures and use
15702         cases for changing the target.
15703
15704 2005-07-28  Wim Taymans  <wim@fluendo.com>
15705
15706         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15707         Added checks for hierarchy consistency whan adding linked
15708         elements to bins.
15709
15710         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
15711         Added check to test element scheduling without bin/pipeline.
15712
15713         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
15714         First add elements to bin, then link.
15715         
15716         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
15717         (gst_bin_remove_func):
15718         Unlink pads from elements added/removed from bin to maintain
15719         hierarchy consistency.
15720
15721 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15722
15723         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
15724         (gst_base_transform_handle_buffer):
15725         * gst/base/gstbasetransform.h:
15726           Remove broken delay_configure (fixes renegotiation of software
15727           scaling pipelines); remove some leftover printf()s.
15728
15729 2005-07-28  Wim Taymans  <wim@fluendo.com>
15730
15731         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
15732         Added some more tests for wrong hierarchy
15733
15734         * docs/design/part-overview.txt:
15735         Some updates.
15736
15737         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
15738         Cleanups.
15739
15740         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
15741         (gst_element_dispose):
15742         Some more cleanups.
15743
15744         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15745         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
15746         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15747         (gst_pad_set_caps), (gst_pad_send_event):
15748         Check for correct hierarchy when linking pads. Moving to
15749         strict requirement for ghostpads when linking elements in
15750         different bins.
15751
15752         * gst/gstpad.h:
15753         Clean ups. Added WRONG_HIERARCHY return value.
15754
15755 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15756
15757         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
15758           Better debug if no transform is possible.
15759
15760 2005-07-27  Wim Taymans  <wim@fluendo.com>
15761
15762         * docs/random/wtay/network-transp:
15763         Some old doc I had.
15764
15765 2005-07-27  Wim Taymans  <wim@fluendo.com>
15766
15767         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15768         (gst_dp_event_from_packet):
15769         Fix serialization of seek events.
15770
15771 2005-07-27  Wim Taymans  <wim@fluendo.com>
15772
15773         * check/gst-libs/gdp.c: (GST_START_TEST):
15774         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
15775         Fix compilation and fix event serialization.
15776
15777 2005-07-27  Wim Taymans  <wim@fluendo.com>
15778
15779         * CHANGES-0.9:
15780         * docs/design/part-TODO.txt:
15781         * docs/design/part-events.txt:
15782         Some docs updates
15783
15784         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15785         (gst_base_sink_event), (gst_base_sink_do_sync),
15786         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
15787         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
15788         (gst_base_src_do_seek), (gst_base_src_event_handler),
15789         (gst_base_src_loop):
15790         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
15791         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15792         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
15793         (gst_base_transform_event), (gst_base_transform_handle_buffer),
15794         (gst_base_transform_set_passthrough),
15795         (gst_base_transform_is_passthrough):
15796         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
15797         * gst/elements/gstfilesink.c: (gst_file_sink_event):
15798         Event updates.
15799
15800         * gst/gstbuffer.h:
15801         Use faster casts.
15802
15803         * gst/gstelement.c: (gst_element_seek):
15804         * gst/gstelement.h:
15805         Update gst_element_seek.
15806
15807         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
15808         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
15809         (gst_event_new_flush_start), (gst_event_new_flush_stop),
15810         (gst_event_new_eos), (gst_event_new_newsegment),
15811         (gst_event_parse_newsegment), (gst_event_new_tag),
15812         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
15813         (gst_event_parse_qos), (gst_event_new_seek),
15814         (gst_event_parse_seek), (gst_event_new_navigation):
15815         * gst/gstevent.h:
15816         Make GstEvent use GstStructure. Add parsing code, make sure the
15817         API is sufficiently generic.
15818         Mark possible directions of events and serialization.
15819
15820         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
15821         (_gst_message_copy), (gst_message_new_segment_start),
15822         (gst_message_new_segment_done), (gst_message_new_custom),
15823         (gst_message_parse_segment_start),
15824         (gst_message_parse_segment_done):
15825         Small cleanups.
15826
15827         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15828         (gst_pad_set_caps), (gst_pad_send_event):
15829         Update for new events. 
15830         Catch events sent in wrong directions.
15831
15832         * gst/gstqueue.c: (gst_queue_link_src),
15833         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15834         (gst_queue_handle_src_query):
15835         Event updates.
15836
15837         * gst/gsttag.c:
15838         * gst/gsttag.h:
15839         Remove event code from this file.
15840
15841         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15842         (gst_dp_event_from_packet):
15843         Event updates.
15844
15845 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15846
15847         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
15848         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15849         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
15850           Make debugging actually useful.
15851
15852 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15853
15854         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
15855         (gst_pad_fixate_caps):
15856           Implement default fixation once again, so that gst_pad_fixate()
15857           actually does anything at all. This probably needs to be some
15858           sort of a last resort, and use profile-based fixation first, but
15859           since that doesn't exist yet, this is the best we have. Fixes
15860           visualization in Totem.
15861
15862 2005-07-22  Wim Taymans  <wim@fluendo.com>
15863
15864         * docs/design/part-events.txt:
15865         Small update.
15866
15867         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15868         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
15869         (gst_base_sink_activate_pull):
15870         Some more comments.
15871
15872         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
15873         (gst_fake_src_create):
15874         Fix handoff marshall.
15875
15876         * gst/elements/gstidentity.c: (gst_identity_class_init),
15877         (gst_identity_transform_ip):
15878         We're a real inplace element.
15879
15880         * gst/gstbus.c: (gst_bus_post):
15881         Added some comments.
15882
15883         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
15884         * tests/muxing/case1.c: (main):
15885         * tests/sched/dynamic-pipeline.c: (main):
15886         * tests/sched/interrupt1.c: (main):
15887         * tests/sched/interrupt2.c: (main):
15888         * tests/sched/interrupt3.c: (main):
15889         * tests/sched/runxml.c: (main):
15890         * tests/sched/sched-stress.c: (main):
15891         * tests/seeking/seeking1.c: (event_received), (main):
15892         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15893         (main):
15894         * tests/threadstate/threadstate3.c: (main):
15895         * tests/threadstate/threadstate4.c: (main):
15896         * tests/threadstate/threadstate5.c: (main):
15897         Fix the tests.
15898
15899 2005-07-21  Wim Taymans  <wim@fluendo.com>
15900
15901         * docs/design/part-seeking.txt:
15902         Some small additions.
15903
15904         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15905         (gst_base_sink_get_times), (gst_base_sink_do_sync),
15906         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
15907         * gst/base/gstbasesink.h:
15908         discont values are gint64, handle the math correctly.
15909
15910         * gst/base/gstbasesrc.c: (gst_base_src_loop):
15911         Make the basesrc report error if the source pad is not linked.
15912
15913         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
15914         (gst_queue_loop), (gst_queue_handle_src_query),
15915         (gst_queue_src_activate_push):
15916         Make queue collect data even if the srcpad is not linked.
15917         Start pushing out data as soon as it is linked.
15918
15919         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
15920         * gst/gstutils.h:
15921         Added gst_flow_get_name() to ease error reporting.
15922
15923 2005-07-20  Wim Taymans  <wim@fluendo.com>
15924
15925         * gst/gstmessage.c: (gst_message_new_segment_start),
15926         (gst_message_new_segment_done), (gst_message_parse_segment_start),
15927         (gst_message_parse_segment_done):
15928         * gst/gstmessage.h:
15929         Added a bunch of messages for advanced seeking.
15930
15931         * gst/parse/grammar.y:
15932         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
15933         (gst_dpman_state_changed):
15934         Fix some new-pad -> pad-added signals
15935
15936 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15937
15938         * docs/manual/appendix-porting.xml:
15939         * docs/pwg/appendix-porting.xml:
15940           Document new-pad/state-change signal renames and the FixedList
15941           type rename.
15942
15943 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15944
15945         * docs/manual/advanced-autoplugging.xml:
15946         * docs/manual/basics-helloworld.xml:
15947         * docs/manual/basics-pads.xml:
15948         * docs/random/ds/0.9-suggested-changes:
15949         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
15950         * gst/gstelement.h:
15951         * gst/gstevent.h:
15952         * gst/gstformat.h:
15953         * gst/gstquery.h:
15954         * gst/gststructure.c: (gst_structure_value_get_generic_type),
15955         (gst_structure_parse_array), (gst_structure_parse_value):
15956         * gst/gstvalue.c: (gst_type_is_fixed),
15957         (gst_value_list_prepend_value), (gst_value_list_append_value),
15958         (gst_value_list_get_size), (gst_value_list_get_value),
15959         (gst_value_transform_array_string), (gst_value_serialize_array),
15960         (gst_value_deserialize_array), (gst_value_intersect_array),
15961         (gst_value_is_fixed), (_gst_value_initialize):
15962         * gst/gstvalue.h:
15963           GstElement::new-pad -> pad-added, GstElement::state-change ->
15964           state-changed, GstValueFixedList -> GstValueArray, add format and
15965           flags as their own arguments in gst_element_seek() (should improve
15966           "bindeability"), remove function generators since they don't work
15967           under a whole bunch of compilers (they were deprecated already
15968           anyway).
15969
15970 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15971
15972         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
15973         (_gst_debug_register_funcptr):
15974         * gst/gstinfo.h:
15975           Fix illegal cast on some platforms (#309253).
15976
15977 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15978
15979         * gst/gstmessage.c: (gst_message_new_custom):
15980         * gst/gstmessage.h:
15981           Add _new_custom, make _new_application a macro to _new_custom.
15982
15983 2005-07-20  Wim Taymans  <wim@fluendo.com>
15984
15985         * gst/base/gstbasesrc.c: (gst_base_src_init),
15986         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
15987         * gst/base/gstbasesrc.h:
15988         Add a gboolean to decide when to push out a discont.
15989
15990         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15991         (gst_queue_loop), (gst_queue_handle_src_query),
15992         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
15993         (gst_queue_set_property), (gst_queue_get_property):
15994         Some cleanups.
15995
15996         * tests/threadstate/threadstate1.c: (main):
15997         Make a thread test compile and run... very silly..
15998
15999
16000 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16001
16002         * docs/manual/appendix-porting.xml:
16003           Mention removal of libgstgconf-0.9.la and existence of gconf
16004           elements.
16005
16006 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16007
16008         * docs/pwg/advanced-clock.xml:
16009         * docs/pwg/appendix-porting.xml:
16010         * docs/pwg/intro-preface.xml:
16011         * docs/pwg/other-base.xml:
16012         * docs/pwg/other-manager.xml:
16013         * docs/pwg/other-nton.xml:
16014         * docs/pwg/other-ntoone.xml:
16015         * docs/pwg/other-oneton.xml:
16016         * docs/pwg/pwg.xml:
16017           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
16018           demuxer), remove n-to-n (was never written), fix some code examples
16019           and links and update the porting section to include all this.
16020
16021 2005-07-19  Wim Taymans  <wim@fluendo.com>
16022
16023         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
16024         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
16025         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
16026         (gst_queue_src_activate_push), (gst_queue_change_state),
16027         (gst_queue_get_property):
16028         * gst/gstqueue.h:
16029         Propagate GstFlowReturn more intelligently upstream and output
16030         an ERROR/EOS when streaming stopped due to fatal error.
16031
16032 2005-07-19  Wim Taymans  <wim@fluendo.com>
16033
16034         * tools/gst-launch.c: (check_intr), (event_loop), (main):
16035         Don't block forever for the state change to complete, the
16036         pipeline already did with a sensible timeout.
16037
16038 2005-07-19  Wim Taymans  <wim@fluendo.com>
16039
16040         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
16041         Make sure we never call the create function is we
16042         got deactivated.
16043
16044 2005-07-19  Andy Wingo  <wingo@pobox.com>
16045
16046         * gst/parse/parse.l: Attempt to solve bug #172815.
16047
16048 2005-07-19  Wim Taymans  <wim@fluendo.com>
16049
16050         * docs/design/part-clocks.txt:
16051         * docs/design/part-events.txt:
16052         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
16053         Small docs updates.
16054         Only update the seeking values when we are not
16055         busy streaming.
16056
16057 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
16058
16059         * gst/base/gstbasesrc.c: (gst_base_src_loop):
16060           Oops, ignore the result of gst_pad_push_event here.
16061
16062 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
16063
16064         * gst/base/gstbasesrc.c: (gst_base_src_loop),
16065         (gst_base_src_activate_push):
16066           Send discont event from the loop function, as pads
16067           aren't activated yet in the activate_push handler.
16068
16069         * gst/gstbin.c: (bin_bus_handler):
16070           Don't leak element name.
16071
16072 2005-07-18  Andy Wingo  <wingo@pobox.com>
16073
16074         * configure.ac: Use AS_LIBTOOL_TAGS.
16075
16076 2005-07-18  Wim Taymans  <wim@fluendo.com>
16077
16078         * docs/gst/gstreamer.types:
16079         Remove deleted types.
16080
16081 2005-07-18  Wim Taymans  <wim@fluendo.com>
16082
16083         * check/elements/gstfakesrc.c: (GST_START_TEST):
16084         * configure.ac:
16085         * gst/Makefile.am:
16086         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
16087         (init_popt_callback):
16088         * gst/gst.h:
16089         * gst/gst_private.h:
16090         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
16091         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
16092         * gst/gstbin.h:
16093         * gst/gstbus.h:
16094         * gst/gstconfig.h.in:
16095         * gst/gstelement.c: (gst_element_class_init),
16096         (gst_element_set_base_time), (gst_element_get_base_time),
16097         (iterator_fold_with_resync), (gst_element_change_state),
16098         (gst_element_dispose), (gst_element_get_bus):
16099         * gst/gstelement.h:
16100         * gst/gstelementfactory.h:
16101         * gst/gsterror.c: (_gst_core_errors_init):
16102         * gst/gsterror.h:
16103         * gst/gstevent.h:
16104         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
16105         * gst/gstindex.c:
16106         * gst/gstinfo.c: (_gst_debug_init):
16107         * gst/gstmessage.c: (_gst_message_copy):
16108         * gst/gstmessage.h:
16109         * gst/gstminiobject.h:
16110         * gst/gstobject.c:
16111         * gst/gstobject.h:
16112         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
16113         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
16114         * gst/gstpad.h:
16115         * gst/gstparse.h:
16116         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
16117         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
16118         (gst_pipeline_get_last_stream_time):
16119         * gst/gstpipeline.h:
16120         * gst/gstpluginfeature.h:
16121         * gst/gstquery.h:
16122         * gst/gstscheduler.c:
16123         * gst/gstscheduler.h:
16124         * gst/gststructure.h:
16125         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
16126         (gst_task_finalize), (gst_task_func), (gst_task_create),
16127         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
16128         (gst_task_stop), (gst_task_pause):
16129         * gst/gsttask.h:
16130         * gst/gsttypefind.h:
16131         * gst/gsttypes.h:
16132         * gst/registries/gstlibxmlregistry.c: (load_feature),
16133         (gst_xml_registry_load), (gst_xml_registry_save_feature):
16134         * gst/registries/gstxmlregistry.c:
16135         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
16136         * gst/schedulers/threadscheduler.c:
16137         * libs/gst/control/dparammanager.h:
16138         * tools/gst-inspect.c: (print_element_list),
16139         (print_plugin_features), (print_element_features):
16140         * tools/gst-xmlinspect.c: (print_element_list),
16141         (print_plugin_info), (main):
16142         Removed plugable schedulers.
16143         Removed Scheduler/Manager from elements.
16144         Removed gsttypes.h, rearranged includes.
16145         Removed dependency pad<->element, element<>pipeline, and
16146         various others,  fix includes.
16147         implement gst_pad_get_parent() with gst_object_get_parent()
16148         Make GstTask sefcontained.
16149         Fix _get_state() on GstBin, it did not return ASYNC with a 0
16150         timeout.
16151         Fix endless loop in iterator_fold_with_resync.
16152
16153
16154 2005-07-18  Wim Taymans  <wim@fluendo.com>
16155
16156         * gst/Makefile.am:
16157         * gst/gstarch.h:
16158         Remove old file.
16159
16160 2005-07-18  Wim Taymans  <wim@fluendo.com>
16161
16162         * gst/Makefile.am:
16163         No more cothreads.h
16164
16165 2005-07-18  Wim Taymans  <wim@fluendo.com>
16166
16167         * gst/cothreads.c:
16168         * gst/cothreads.h:
16169         Let's remove these.
16170
16171 2005-07-18  Wim Taymans  <wim@fluendo.com>
16172
16173         * docs/design/part-dynamic.txt:
16174         * docs/design/part-events.txt:
16175         * docs/design/part-seeking.txt:
16176         Some more docs in the works.
16177
16178         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
16179         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
16180         (gst_base_transform_setcaps), (gst_base_transform_get_size),
16181         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
16182         (gst_base_transform_handle_buffer),
16183         (gst_base_transform_sink_activate_push),
16184         (gst_base_transform_src_activate_pull),
16185         (gst_base_transform_set_passthrough),
16186         (gst_base_transform_is_passthrough):
16187         Refcounting fixes.
16188
16189         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
16190         Cleanups.
16191
16192         * gst/gstevent.c: (gst_event_finalize):
16193         Set SRC to NULL.
16194
16195         * gst/gstutils.c: (gst_element_unlink),
16196         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
16197         (gst_pad_proxy_setcaps):
16198         * gst/gstutils.h:
16199         Add _get_parent_element() to get a pads parent as an element.
16200
16201 2005-07-18  Wim Taymans  <wim@fluendo.com>
16202
16203         * check/gst/gstbin.c: (GST_START_TEST):
16204         Remove bogus test.
16205
16206 2005-07-18  Wim Taymans  <wim@fluendo.com>
16207
16208         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
16209         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
16210         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
16211         (gst_base_sink_event), (gst_base_sink_do_sync),
16212         (gst_base_sink_chain), (gst_base_sink_loop),
16213         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
16214         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
16215         Refcounting fixes.
16216         Fix logic for returning ASYNC when not prerolled.
16217
16218 2005-07-18  Wim Taymans  <wim@fluendo.com>
16219
16220         * gst/gstqueue.c: (gst_queue_handle_sink_event):
16221         Fix nasty refcount bug.
16222
16223 2005-07-16 Philippe Khalaf <burger@speedy.org>
16224
16225         * gst/elements/gstfdsrc.c:
16226         * gst/elements/gstfdsrc.h:
16227         * gst/elements/gstelements.c:
16228         * gst/elements/Makefile.am:
16229         Ported fdsrc to 0.9.
16230
16231 2005-07-16  Wim Taymans  <wim@fluendo.com>
16232
16233         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16234         (gst_base_sink_do_sync):
16235         Fix compile error.
16236
16237 2005-07-16  Wim Taymans  <wim@fluendo.com>
16238
16239         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16240         (gst_base_sink_event), (gst_base_sink_get_times),
16241         (gst_base_sink_do_sync), (gst_base_sink_change_state):
16242         * gst/base/gstbasesink.h:
16243         Store and use discont values when syncing buffers as described
16244         in design docs.
16245         
16246         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
16247         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
16248         (gst_base_src_activate_push):
16249         Push discont event when starting.
16250
16251         * gst/elements/gstidentity.c: (gst_identity_transform):
16252         Small cleanups.
16253
16254         * gst/gstbin.c: (gst_bin_change_state):
16255         Small cleanups in base_time  distribution.
16256
16257         * gst/gstelement.c: (gst_element_set_base_time),
16258         (gst_element_get_base_time), (gst_element_change_state):
16259         * gst/gstelement.h:
16260         Added methods for the base_time of the element.
16261         Some MT fixes.
16262
16263         * gst/gstpipeline.c: (gst_pipeline_send_event),
16264         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
16265         (gst_pipeline_get_last_stream_time):
16266         * gst/gstpipeline.h:
16267         MT fixes.
16268         Handle seeking as described in design doc, remove stream_time
16269         hack.
16270         Cleanups clock and stream_time selection code. Added accessors
16271         for the stream_time.
16272         
16273
16274 2005-07-16  Andy Wingo  <wingo@pobox.com>
16275
16276         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
16277         (#305291).
16278
16279 2005-07-16  Wim Taymans  <wim@fluendo.com>
16280
16281         * check/gst/gstbin.c: (GST_START_TEST):
16282         Make elements silent as the deep_notify refs the
16283         parent, which might make the test fail.
16284
16285         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
16286         Don't hold the lock for too long.
16287
16288 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
16289
16290         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
16291           Don't unref the caps we passed to gst_caps_make_writable() after
16292           passing them. gst_caps_make_writable() will do that for us.
16293
16294 2005-07-15  Andy Wingo  <wingo@pobox.com>
16295
16296         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
16297         (#157311).
16298
16299         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
16300         own marshalling function for the handoff signal. Properly type the
16301         buffer as a buffer. Fixes some warnings. Should do a more general
16302         solution.
16303         (gst_identity_class_init): Plug into the right marshaller.
16304
16305 2005-07-15  Wim Taymans  <wim@fluendo.com>
16306
16307         * docs/design/part-TODO.txt:
16308         * docs/design/part-clocks.txt:
16309         * docs/design/part-element-sink.txt:
16310         * docs/design/part-events.txt:
16311         * docs/design/part-gstpipeline.txt:
16312         Updated docs, mostly DISCONT related.
16313
16314 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
16315
16316         * docs/pwg/building-pads.xml:
16317           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
16318
16319 2005-07-15  Andy Wingo  <wingo@pobox.com>
16320
16321         * tools/gst-typefind.c: Update, add copyright block.
16322
16323         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
16324         Normalize and truncate caps before fixation.
16325
16326         * gst/gstcaps.h:
16327         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
16328         discards all but the first structure from its argument.
16329
16330 2005-07-15  Wim Taymans  <wim@fluendo.com>
16331
16332         * gst/base/gstbasetransform.c: (gst_base_transform_init),
16333         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
16334         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
16335         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
16336         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
16337         (gst_base_transform_chain), (gst_base_transform_change_state),
16338         (gst_base_transform_set_passthrough),
16339         (gst_base_transform_is_passthrough):
16340         * gst/base/gstbasetransform.h:
16341         Make passthrough work using the bufferpools.
16342         Changed API a bit, subclasses have to write into a buffer
16343         provided by the base class.
16344         More debug info in nego functions.
16345         
16346         * gst/elements/gstidentity.c: (gst_identity_init),
16347         (gst_identity_transform):
16348         Port to new base class.
16349
16350 2005-07-15  Wim Taymans  <wim@fluendo.com>
16351
16352         * gst/gstmessage.c: (gst_message_new_state_changed):
16353         * tools/gst-launch.c: (event_loop), (main):
16354         Totally dump messages in -launch with the -m option.
16355         Fix message name for State messages,
16356
16357 2005-07-14  Wim Taymans  <wim@fluendo.com>
16358
16359         * gst/base/gstbasesrc.c: (gst_base_src_loop):
16360         Post error messages on errors.
16361
16362 2005-07-14  Wim Taymans  <wim@fluendo.com>
16363
16364         * gst/gstcaps.c: (gst_caps_do_simplify):
16365         Remove debug info.
16366
16367         * gst/gsterror.h:
16368         Define error for stream stopped.
16369
16370         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
16371         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
16372         Do proper return values.
16373
16374         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
16375         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
16376         (gst_pad_get_range):
16377         Better return values.
16378
16379         * gst/gstpad.h:
16380         Reorganise return values, add macro to check for fatal errors.
16381
16382         * gst/gstqueue.c: (gst_queue_chain):
16383         Return proper GstFlowReturn values,
16384
16385 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
16386
16387         * docs/gst/gstreamer-sections.txt:
16388         * docs/gst/gstreamer.types:
16389         * docs/gst/tmpl/gst.sgml:
16390         * docs/gst/tmpl/gstbasesink.sgml:
16391         * docs/gst/tmpl/gstbasesrc.sgml:
16392         * docs/gst/tmpl/gstbasetransform.sgml:
16393         * docs/gst/tmpl/gstbin.sgml:
16394         * docs/gst/tmpl/gstbuffer.sgml:
16395         * docs/gst/tmpl/gstcaps.sgml:
16396         * docs/gst/tmpl/gstclock.sgml:
16397         * docs/gst/tmpl/gstcompat.sgml:
16398         * docs/gst/tmpl/gstconfig.sgml:
16399         * docs/gst/tmpl/gstelement.sgml:
16400         * docs/gst/tmpl/gstelementdetails.sgml:
16401         * docs/gst/tmpl/gstelementfactory.sgml:
16402         * docs/gst/tmpl/gstenumtypes.sgml:
16403         * docs/gst/tmpl/gsterror.sgml:
16404         * docs/gst/tmpl/gstevent.sgml:
16405         * docs/gst/tmpl/gstfakesink.sgml:
16406         * docs/gst/tmpl/gstfakesrc.sgml:
16407         * docs/gst/tmpl/gstfilesink.sgml:
16408         * docs/gst/tmpl/gstfilesrc.sgml:
16409         * docs/gst/tmpl/gstfilter.sgml:
16410         * docs/gst/tmpl/gstformat.sgml:
16411         * docs/gst/tmpl/gstghostpad.sgml:
16412         * docs/gst/tmpl/gstimplementsinterface.sgml:
16413         * docs/gst/tmpl/gstindex.sgml:
16414         * docs/gst/tmpl/gstindexfactory.sgml:
16415         * docs/gst/tmpl/gstinfo.sgml:
16416         * docs/gst/tmpl/gstiterator.sgml:
16417         * docs/gst/tmpl/gstmacros.sgml:
16418         * docs/gst/tmpl/gstmemchunk.sgml:
16419         * docs/gst/tmpl/gstminiobject.sgml:
16420         * docs/gst/tmpl/gstobject.sgml:
16421         * docs/gst/tmpl/gstpad.sgml:
16422         * docs/gst/tmpl/gstpadtemplate.sgml:
16423         * docs/gst/tmpl/gstparse.sgml:
16424         * docs/gst/tmpl/gstpipeline.sgml:
16425         * docs/gst/tmpl/gstplugin.sgml:
16426         * docs/gst/tmpl/gstpluginfeature.sgml:
16427         * docs/gst/tmpl/gstquery.sgml:
16428         * docs/gst/tmpl/gstqueue.sgml:
16429         * docs/gst/tmpl/gstregistry.sgml:
16430         * docs/gst/tmpl/gstregistrypool.sgml:
16431         * docs/gst/tmpl/gstscheduler.sgml:
16432         * docs/gst/tmpl/gstschedulerfactory.sgml:
16433         * docs/gst/tmpl/gststructure.sgml:
16434         * docs/gst/tmpl/gstsystemclock.sgml:
16435         * docs/gst/tmpl/gsttaglist.sgml:
16436         * docs/gst/tmpl/gsttagsetter.sgml:
16437         * docs/gst/tmpl/gsttrace.sgml:
16438         * docs/gst/tmpl/gsttrashstack.sgml:
16439         * docs/gst/tmpl/gsttypefind.sgml:
16440         * docs/gst/tmpl/gsttypefindfactory.sgml:
16441         * docs/gst/tmpl/gsttypes.sgml:
16442         * docs/gst/tmpl/gsturihandler.sgml:
16443         * docs/gst/tmpl/gsturitype.sgml:
16444         * docs/gst/tmpl/gstutils.sgml:
16445         * docs/gst/tmpl/gstvalue.sgml:
16446         * docs/gst/tmpl/gstversion.sgml:
16447         * docs/gst/tmpl/gstxml.sgml:
16448         * docs/libs/tmpl/gstcontrol.sgml:
16449         * docs/libs/tmpl/gstdataprotocol.sgml:
16450         * docs/libs/tmpl/gstdparam.sgml:
16451         * docs/libs/tmpl/gstdplinint.sgml:
16452         * docs/libs/tmpl/gstdpman.sgml:
16453         * docs/libs/tmpl/gstdpsmooth.sgml:
16454         * docs/libs/tmpl/gstgetbits.sgml:
16455         * docs/libs/tmpl/gstunitconvert.sgml:
16456         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
16457         (gst_push_src_base_init), (gst_push_src_class_init),
16458         (gst_push_src_init), (gst_push_src_create):
16459         * gst/base/gstpushsrc.h:
16460         * gst/elements/gstelements.c:
16461         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
16462         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
16463         (gst_fake_sink_init), (gst_fake_sink_set_property),
16464         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
16465         (gst_fake_sink_event), (gst_fake_sink_preroll),
16466         (gst_fake_sink_render), (gst_fake_sink_change_state):
16467         * gst/elements/gstfakesink.h:
16468         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
16469         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
16470         (gst_fake_src_base_init), (gst_fake_src_class_init),
16471         (gst_fake_src_init), (gst_fake_src_event_handler),
16472         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
16473         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
16474         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
16475         (gst_fake_src_create_buffer), (gst_fake_src_create),
16476         (gst_fake_src_start), (gst_fake_src_stop):
16477         * gst/elements/gstfakesrc.h:
16478         * gst/elements/gstfilesink.c: (_do_init),
16479         (gst_file_sink_base_init), (gst_file_sink_class_init),
16480         (gst_file_sink_init), (gst_file_sink_dispose),
16481         (gst_file_sink_set_location), (gst_file_sink_set_property),
16482         (gst_file_sink_get_property), (gst_file_sink_open_file),
16483         (gst_file_sink_close_file), (gst_file_sink_query),
16484         (gst_file_sink_event), (gst_file_sink_render),
16485         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
16486         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
16487         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
16488         * gst/elements/gstfilesink.h:
16489         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
16490         (gst_file_src_class_init), (gst_file_src_init),
16491         (gst_file_src_finalize), (gst_file_src_set_location),
16492         (gst_file_src_set_property), (gst_file_src_get_property),
16493         (gst_file_src_map_region), (gst_file_src_map_small_region),
16494         (gst_file_src_create_mmap), (gst_file_src_create_read),
16495         (gst_file_src_create), (gst_file_src_is_seekable),
16496         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
16497         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
16498         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
16499         (gst_file_src_uri_handler_init):
16500         * gst/elements/gstfilesrc.h:
16501           more autistic cleanliness in functions/names/defines
16502
16503 2005-07-13  Andy Wingo  <wingo@pobox.com>
16504
16505         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
16506         source couldn't negotiate.
16507
16508         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
16509         connections again.
16510
16511         * gst/gstutils.h:
16512         * gst/gstutils.c (gst_element_link_pads_filtered): New old
16513         function. I am channeling Hades. Put your boots on suckers!!!
16514
16515 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16516
16517         * testsuite/caps/Makefile.am:
16518         * testsuite/caps/value_compare.c:
16519         * testsuite/caps/value_intersect.c:
16520         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
16521           move two testsuite apps over to the check dir
16522
16523 2005-07-12  Wim Taymans  <wim@fluendo.com>
16524
16525         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
16526         Added more debug info in the negotiate process.
16527
16528         * gst/gstmessage.h:
16529         Prepare for segment playback.
16530
16531         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
16532         Better debugging.
16533
16534         * gst/gstutils.c:
16535         Some more docs.
16536
16537         * tools/gst-launch.c: (main):
16538         NULL pipeline on errors.
16539
16540 2005-07-12  Andy Wingo  <wingo@pobox.com>
16541
16542         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
16543         not it comes from a malloc region. Make sure our copy gets freed.
16544
16545 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16546
16547         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
16548         * check/gst/gstmessage.c: (GST_START_TEST):
16549         * check/gst/gststructure.c: (GST_START_TEST),
16550         (gst_structure_suite), (main):
16551           more testing
16552         * gst/gstelement.c: (gst_element_message_full):
16553           clean up GError and debug string now that they get copied
16554         * gst/gstmessage.c: (gst_message_new_error),
16555         (gst_message_new_warning), (gst_message_parse_error),
16556         (gst_message_parse_warning):
16557           use GST_TYPE_G_ERROR for structure_new, and take copies of
16558           arguments, so that we don't mess up refcounting
16559
16560 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16561
16562         * check/Makefile.am:
16563           add per-test valgrind targets
16564         * check/gst-libs/gdp.c: (GST_START_TEST),
16565         (gst_data_protocol_suite), (main):
16566           clean up
16567
16568 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16569
16570         * check/Makefile.am:
16571           instate more valgrindable tests
16572         * check/elements/gstfakesrc.c: (chain_func), (event_func),
16573         (GST_START_TEST), (fakesrc_suite):
16574         * check/gst/gstpad.c: (GST_START_TEST):
16575         * check/gst/gststructure.c: (GST_START_TEST):
16576           fix test leaks
16577         * docs/gst/tmpl/gstminiobject.sgml:
16578         * gst/gstpad.c: (gst_pad_finalize):
16579           fix the static mutex leak
16580
16581 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16582
16583         * check/Makefile.am:
16584           add two more tests for valgrinding
16585         * check/gst/gstvalue.c: (GST_START_TEST):
16586           test refcount of deserialized buffer, found a leak
16587         * docs/gst/gstreamer-docs.sgml:
16588         * docs/gst/gstreamer-sections.txt:
16589         * docs/gst/gstreamer.types:
16590         * docs/gst/tmpl/gstminiobject.sgml:
16591           add miniobject to docs
16592         * gst/gstminiobject.c:
16593           add some docs
16594         * gst/gstvalue.c: (gst_value_deserialize_buffer),
16595         (gst_string_unwrap):
16596           fix a hard-to-find invalid write for one of the tests
16597           fix a leak for deserialized buffers
16598
16599 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16600
16601         * docs/pwg/advanced-events.xml:
16602         * docs/pwg/advanced-request.xml:
16603         * docs/pwg/advanced-scheduling.xml:
16604         * docs/pwg/appendix-porting.xml:
16605         * docs/pwg/building-boiler.xml:
16606         * docs/pwg/intro-preface.xml:
16607         * docs/pwg/other-ntoone.xml:
16608           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
16609           of example code and explanation for pad activation, loop() and
16610           getrange() functions and a bit more. Remove old comments pointing
16611           to loop-functions.
16612         * examples/pwg/Makefile.am:
16613           Add loop/getrange examples.
16614
16615 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16616
16617         * configure.ac:
16618           check for valgrind binary + some fixes
16619         * check/gst.supp:
16620           valgrind suppressions for the tests
16621         * check/Makefile.am:
16622           add a valgrind: target that valgrinds the unit tests
16623         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
16624         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
16625         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16626         * check/gst/gstghostpad.c:
16627           added some cleanup
16628         * check/gst/gstdata.c:
16629           removed
16630         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
16631         (thread_unref), (gst_mini_object_suite), (main):
16632           added
16633         * gst/gst.c: (gst_deinit):
16634         * gst/gst.h:
16635           add a method to clean up.
16636         * gst/gstsystemclock.c: (gst_system_clock_dispose),
16637         (gst_system_clock_obtain):
16638           allow for disposing the system clock.
16639         * tools/gst-launch.c: (main):
16640           deinit
16641
16642 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16643
16644         * docs/gst/tmpl/gstbasesrc.sgml:
16645         * docs/gst/tmpl/gstfakesrc.sgml:
16646         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16647         (gst_base_src_init), (gst_base_src_set_property),
16648         (gst_base_src_get_property), (gst_base_src_get_range),
16649         (gst_base_src_start):
16650         * gst/base/gstbasesrc.h:
16651           add num-buffers property
16652         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16653         (gst_fakesrc_init), (gst_fakesrc_set_property),
16654         (gst_fakesrc_get_property), (gst_fakesrc_create),
16655         (gst_fakesrc_start):
16656           remove num-buffers property
16657
16658 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16659
16660         * docs/gst/gstreamer-sections.txt:
16661         * docs/gst/tmpl/gstbasesink.sgml:
16662         * docs/gst/tmpl/gstbasesrc.sgml:
16663         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
16664         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
16665         (gst_base_sink_finalize), (gst_base_sink_set_clock),
16666         (gst_base_sink_set_property), (gst_base_sink_get_property),
16667         (gst_base_sink_handle_object), (gst_base_sink_event),
16668         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
16669         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
16670         (gst_base_sink_loop), (gst_base_sink_deactivate),
16671         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
16672         (gst_base_sink_change_state):
16673         * gst/base/gstbasesink.h:
16674         * gst/base/gstbasesrc.h:
16675         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
16676         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16677         (gst_filesink_init):
16678           more macro splitting
16679
16680 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16681
16682         * gst/gstelement.c: (gst_element_get_bus):
16683           add debug
16684         * tools/gst-launch.c: (check_intr), (event_loop):
16685           fix bus leaks
16686
16687 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16688
16689         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
16690           fix a caps leak
16691
16692 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16693
16694         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16695         (gst_base_src_finalize):
16696           add finalize method and clean up properly
16697         * gst/gstpipeline.c: (gst_pipeline_dispose):
16698           add debug
16699
16700 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16701
16702         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
16703         (gst_bin_suite):
16704           add more things to check
16705         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
16706         * gst/gstelement.c:
16707           more debug
16708
16709 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16710
16711         * check/elements/gstfakesrc.c: (chain_func), (event_func),
16712         (GST_START_TEST), (fakesrc_suite):
16713         * check/gst-libs/gdp.c: (GST_START_TEST):
16714         * check/gst/gst.c: (GST_START_TEST):
16715         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
16716         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16717         * check/gst/gstbus.c: (GST_START_TEST):
16718         * check/gst/gstcaps.c: (GST_START_TEST):
16719         * check/gst/gstdata.c: (GST_START_TEST):
16720         * check/gst/gstelement.c: (GST_START_TEST):
16721         * check/gst/gstghostpad.c: (GST_START_TEST):
16722         * check/gst/gstiterator.c: (GST_START_TEST):
16723         * check/gst/gstmessage.c: (GST_START_TEST):
16724         * check/gst/gstobject.c: (GST_START_TEST):
16725         * check/gst/gstpad.c: (GST_START_TEST):
16726         * check/gst/gststructure.c: (GST_START_TEST):
16727         * check/gst/gstsystemclock.c: (GST_START_TEST),
16728         (gst_systemclock_suite):
16729         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
16730         * check/gst/gstvalue.c: (GST_START_TEST):
16731         * check/pipelines/cleanup.c: (GST_START_TEST):
16732         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
16733         * check/states/sinks.c: (GST_START_TEST):
16734         * check/gstcheck.c: (gst_check_init):
16735         * check/gstcheck.h:
16736           add debugging category
16737           use GST_START_TEST now, so we add a debug line
16738
16739 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16740
16741         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
16742           add test for state change message on a bin
16743         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
16744           add another test
16745         * gst/gstbin.c: (gst_bin_init):
16746         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
16747         * gst/gstelement.c: (gst_element_post_message),
16748         (gst_element_set_state):
16749         * gst/gstelementfactory.c: (gst_element_factory_create):
16750         * gst/gstmessage.c: (gst_message_new):
16751         * gst/gstscheduler.c:
16752           various debugging additions and cleanups
16753
16754 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16755
16756         * check/Makefile.am:
16757         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
16758         (main):
16759           adding tests for elements
16760         * gst/gstelement.c: (gst_element_dispose):
16761
16762 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16763
16764         * gst/registries/gstlibxmlregistry.c: (load_feature):
16765           plug more leaks.  A simple gst_init() now is leakfree, yay.
16766
16767 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16768
16769         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
16770         (gst_xml_registry_load):
16771           plug another memleak
16772
16773 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16774
16775         * configure.ac:
16776           use GST_SET_ERROR_CFLAGS
16777         * docs/faq/cvs.xml:
16778           change to ERROR_CFLAGS
16779
16780 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16781
16782         * configure.ac:
16783           make GST_ERROR_CFLAGS overridable and re-enable Werror
16784         * docs/faq/cvs.xml:
16785           add a note about error CFLAGS
16786         * docs/gst/tmpl/gstfakesrc.sgml:
16787         * gst/elements/gstfakesrc.c:
16788           comment out some unused code
16789         * gst/gst.c: (split_and_iterate):
16790         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
16791         (load_feature):
16792           plug some memleaks
16793
16794 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16795
16796         * common/Makefile.am:
16797         * common/gtk-doc.mak:
16798         * docs/gst/Makefile.am:
16799           factor out gtk-doc.mak
16800
16801 2005-07-07  Wim Taymans  <wim@fluendo.com>
16802
16803         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
16804         (gst_thread_scheduler_dispose):
16805         Unlock the STREAM_LOCK completely.
16806
16807 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16808
16809         * check/Makefile.am:
16810         * check/elements/.cvsignore:
16811         * check/elements/gstfakesrc.c: (chain_func), (event_func),
16812         (START_TEST), (fakesrc_suite), (main):
16813         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16814         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
16815         (gst_fakesrc_create), (gst_fakesrc_start):
16816         * gst/elements/gstfakesrc.h:
16817           adding a first element test
16818
16819 2005-07-07  Andy Wingo  <wingo@pobox.com>
16820
16821         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
16822         debug message.
16823
16824 2005-07-07  Wim Taymans  <wim@fluendo.com>
16825
16826         * gst/gstquery.c:
16827         * gst/gstquery.h:
16828         Remove old types
16829
16830 2005-07-07  Wim Taymans  <wim@fluendo.com>
16831
16832         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
16833         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
16834         Allow subclasses to implement their own negotiation.
16835
16836 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
16837
16838         * docs/design/part-gstbin.txt:
16839         * docs/design/part-gstpipeline.txt:
16840           Update design notes to reflect the movement of
16841           responsibility for bus handling from GstPipeline to
16842           GstBin
16843
16844 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
16845
16846         * configure.ac:
16847           Remove unnecessary queue2/3/4 examples.
16848
16849 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
16850
16851         * examples/Makefile.am:
16852         * examples/helloworld/helloworld.c: (event_loop), (main):
16853         * examples/queue/queue.c: (event_loop), (main):
16854         * examples/queue2/queue2.c: (main):
16855           Update a couple of the examples to work again.
16856
16857         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16858         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
16859          Spelling corrections and extra debug.
16860         
16861         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
16862         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
16863         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
16864         * gst/gstbin.h:
16865         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
16866         (gst_pipeline_change_state):
16867         * gst/gstpipeline.h:
16868           Move the bus handler for children to the GstBin, and create a
16869           separate bus for receiving messages from children to the one the
16870           bus sends 'upwards' on.
16871
16872 2005-07-06  Wim Taymans  <wim@fluendo.com>
16873
16874         * gst/base/README:
16875         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16876         (gst_base_sink_handle_object), (gst_base_sink_loop),
16877         (gst_base_sink_change_state):
16878         * gst/base/gstbasesink.h:
16879         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16880         (gst_base_src_init), (gst_base_src_setcaps),
16881         (gst_base_src_getcaps), (gst_base_src_loop),
16882         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
16883         (gst_base_src_start), (gst_base_src_change_state):
16884         * gst/base/gstbasesrc.h:
16885         Make basesrc negotiate.
16886         Handle the case where preroll fails in basesink.
16887         Update README.
16888
16889 2005-07-06  Wim Taymans  <wim@fluendo.com>
16890
16891         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
16892         Implement the fixate function.
16893         Clean up acceptcaps.
16894
16895 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16896
16897         * docs/pwg/building-filterfactory.xml:
16898         * docs/pwg/pwg.xml:
16899           Remove never-written filter-factory chapter; I'll add the various
16900           base classes to part 4 ("other element types") later on.
16901
16902 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16903
16904         * docs/pwg/advanced-negotiation.xml:
16905         * docs/pwg/building-boiler.xml:
16906         * docs/pwg/building-pads.xml:
16907         * docs/pwg/pwg.xml:
16908         * examples/pwg/Makefile.am:
16909           Add a chapter on caps negotiation, simplify the original code
16910           samples a bit w.r.t. caps negotiation, add link to the advanced
16911           section. Add a bunch of examples showing different use cases of
16912           different types of caps negotiation. Upstream renegotiation isn't
16913           fully documented yet since nobody knows how that works.
16914
16915 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16916
16917         * check/gst/gstpad.c:
16918         * check/gstcheck.c:
16919         * gst/gstpad.c: (gst_pad_get_internal_links_default):
16920           if pad has no parent, return NULL as list of internal links
16921
16922 2005-07-05  Andy Wingo  <wingo@pobox.com>
16923
16924         * gst/elements/gstfilesrc.c:
16925         * gst/elements/gstfakesrc.c: 
16926         * gst/base/gstpushsrc.c:
16927         * gst/base/gstbasesrc.h: 
16928         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
16929         
16930 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
16931
16932         * Makefile.am:
16933           better report generation target (lcov needs a patch)
16934
16935 2005-07-05  Andy Wingo  <wingo@pobox.com>
16936
16937         * gst/elements, testsuite: Null if we got it...
16938
16939 2005-07-05  Wim Taymans  <wim@fluendo.com>
16940
16941         * configure.ac:
16942         * libs/gst/dataprotocol/Makefile.am:
16943         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
16944         * libs/gst/dataprotocol/dataprotocol.h:
16945         * pkgconfig/Makefile.am:
16946         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
16947         * pkgconfig/gstreamer-dataprotocol.pc.in:
16948         Ported dataprotol to 0.9. 
16949         Added pkgconfig files.
16950
16951 2005-07-05  Andy Wingo  <wingo@pobox.com>
16952
16953         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
16954         Default to returning TRUE for the case when tranform_caps returns
16955         a fixed caps, like for identity or volume.
16956
16957         * check/gst/gstbus.c (pound_bus_with_messages): 
16958         * check/gst/gstmessage.c (START_TEST): 
16959         * check/pipelines/simple_launch_lines.c (got_handoff): Application
16960         message API change.
16961
16962         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
16963         logic weaks here: always run transform_caps, trying passthrough
16964         operation only if the original caps intersects with the transform.
16965
16966         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
16967         source and sink caps.
16968
16969         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
16970         Intersect the peer caps with the pad template before going into
16971         transform_caps.
16972         (gst_base_transform_transform_caps): More debugging.
16973
16974         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
16975         src argument.
16976
16977 2005-07-04  Edward Hervey  <edward@fluendo.com>
16978
16979         * gst/gstutils.c:
16980         * gst/gstutils.h:
16981         (gst_pad_add_*_probe): now returns the signal id for better wrapping
16982         in bindings.
16983
16984 2005-07-04  Andy Wingo  <wingo@pobox.com>
16985
16986         * check/gst/gstpad.c: Only set explicit caps on pads.
16987
16988 2005-07-01  Andy Wingo  <wingo@pobox.com>
16989
16990         * tests/network-clock.scm: Commentary update.
16991
16992         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
16993         Didn't really make sense, not implementable with basetransform,
16994         etc.
16995         (gst_identity_transform): Unref inbuf via make_writable. Feeble
16996         attempt at implementing the sync property, needs an unlock method.
16997
16998         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
16999         New func, by default returns the same caps (the identity
17000         transformation).
17001         (gst_base_transform_getcaps): Uses transform_caps to return
17002         something sensible.
17003         (gst_base_transform_setcaps): Complicated logic to get caps on
17004         both pads, even if they are different, and to call set_caps once
17005         for every time both pads get their caps set.
17006         (gst_base_transform_handle_buffer): Give the ref to the transform
17007         function. Allows in-place modification of the buffer.
17008
17009         * gst/base/gstbasetransform.h (transform_caps): New class method.
17010         Given caps on one side, what can I do on the other.
17011         (set_caps): Take two caps, one for each side of the element.
17012
17013         * gst/gstpad.h:
17014         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
17015         caps in place. This is safe because we can check the mutability of
17016         the caps, and a good idea because fixate functions are just called
17017         as a matter of last resort. (Not actually implemented.)
17018         (gst_pad_set_caps): If the caps we're setting is actually the same
17019         as the existing pad caps, just update the pointer without calling
17020         setcaps. Assert that caps is either NULL or fixed, as per the
17021         docs.
17022
17023         * gst/gstghostpad.c: Update for fixate changes.
17024
17025 2005-07-02  Andy Wingo  <wingo@pobox.com>
17026
17027         * gst/gstcaps.c:
17028         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
17029         two refcounts makes it immutable, which is enough. Doc more.
17030
17031 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
17032
17033         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
17034           Put the mini_object into GValue as a mini_object,
17035           not a gpointer, since that's how we declared
17036           the signal.
17037
17038 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17039
17040         * examples/pwg/Makefile.am:
17041           Fix buildbot again.
17042
17043 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17044
17045         * docs/pwg/building-testapp.xml:
17046           Add extra check.
17047         * examples/pwg/Makefile.am:
17048           Fix buildbot.
17049
17050 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17051
17052         * configure.ac:
17053         * examples/Makefile.am:
17054         * examples/pwg/Makefile.am:
17055         * examples/pwg/extract.pl:
17056           Enable building the PWG examples.
17057         * docs/pwg/advanced-interfaces.xml:
17058           Add URI interface stub.
17059         * docs/pwg/advanced-types.xml:
17060         * docs/pwg/other-autoplugger.xml:
17061         * docs/pwg/appendix-porting.xml:
17062         * docs/pwg/pwg.xml:
17063           Add porting guide (mostly stubs), remove autoplugging (see ADM).
17064         * docs/pwg/building-boiler.xml:
17065         * docs/pwg/building-chainfn.xml:
17066         * docs/pwg/building-pads.xml:
17067         * docs/pwg/building-props.xml:
17068         * docs/pwg/building-state.xml:
17069         * docs/pwg/building-testapp.xml:
17070           Update the building-*.xml parts for 0.9 changes. All examples
17071           code blocks compile in examples/pwg/*.
17072
17073 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17074
17075         * docs/manual/advanced-autoplugging.xml:
17076         * docs/manual/appendix-checklist.xml:
17077         * docs/manual/appendix-integration.xml:
17078         * docs/manual/highlevel-components.xml:
17079           Fix playbin/decodebin examples, update docs a bit, mention bus
17080           instead of signals in various places, mention kmplayer and
17081           kaffeine since they have a working GStreamer backend in the KDE
17082           section.
17083
17084 2005-06-30  Wim Taymans  <wim@fluendo.com>
17085
17086         * CHANGES-0.9:
17087         * docs/design/draft-ghostpads.txt:
17088         * docs/design/draft-push-pull.txt:
17089         * docs/design/draft-query.txt:
17090         * docs/design/part-TODO.txt:
17091         * docs/design/part-query.txt:
17092         Added CHANGES-0.9 doc, updated status of other docs.
17093         
17094         * gst/gstquery.h:
17095         Remove "hmm" macro
17096
17097 2005-06-30  Wim Taymans  <wim@fluendo.com>
17098
17099         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
17100         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
17101         (gst_base_sink_change_state):
17102         * gst/base/gstbasesink.h:
17103         Some tweaks, only EOS and a buffer complete a preroll.
17104
17105 2005-06-30  Andy Wingo  <wingo@pobox.com>
17106
17107         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
17108         activate_push down to the internal pad as well.
17109
17110 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
17111
17112         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17113
17114         * gst/gsttaginterface.c:
17115           Some documentation fixes (#307394 and #307397).
17116
17117 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
17118
17119         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17120
17121         * gst/gstvalue.c: (gst_value_intersect_list):
17122           Fix memleak (#309125).
17123
17124 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17125
17126         * docs/manual/advanced-dataaccess.xml:
17127           Fix fakesrc example to compile; doesn't work, bug somewhere...?
17128         * docs/manual/basics-pads.xml:
17129           Add reference for filtered caps to above chapter.
17130
17131 2005-06-30  Wim Taymans  <wim@fluendo.com>
17132
17133         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
17134         (gst_bin_change_state):
17135         Probes are gone.
17136         Lame attempt at making the state change function a bit
17137         more readable.
17138
17139 2005-06-30  Wim Taymans  <wim@fluendo.com>
17140
17141         * docs/design/part-clocks.txt:
17142         * docs/design/part-element-sink.txt:
17143         * docs/design/part-events.txt:
17144         * docs/design/part-preroll.txt:
17145         * docs/design/part-states.txt:
17146         Some more tweeks and additions to the docs.
17147
17148 2005-06-30  Wim Taymans  <wim@fluendo.com>
17149
17150         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
17151         (default_have_data), (gst_pad_class_init), (gst_pad_init),
17152         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
17153         (gst_pad_check_pull_range), (gst_pad_get_range),
17154         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
17155         * gst/gstpad.h:
17156         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
17157         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17158         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17159         (gst_pad_remove_buffer_probe):
17160         Removed atomic operations, use existing LOCK.
17161         Move exception handling out of main code path.
17162
17163 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17164
17165         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
17166         (silly_return_true_function), (gst_pad_class_init),
17167         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
17168         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
17169         (gst_pad_send_event):
17170           Fix accumulator, add default value by using _emitv() instead
17171           of _emit() for signal emission.
17172
17173 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17174
17175         * docs/manual/advanced-dataaccess.xml:
17176         * examples/manual/Makefile.am:
17177           Add probe example.
17178         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
17179           Make work (??).
17180
17181 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
17182
17183         * gst/elements/gstfilesink.c: (gst_filesink_render):
17184           Simplify code so that we don't have to handle short
17185           writes and return GST_FLOW_ERROR if an error occured.
17186
17187 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17188
17189         * docs/gst/gstreamer-docs.sgml:
17190           Remove probes more.
17191
17192 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17193
17194         * docs/gst/gstreamer-sections.txt:
17195         * docs/gst/tmpl/gstpad.sgml:
17196         * docs/gst/tmpl/gstprobe.sgml:
17197         * gst/Makefile.am:
17198         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
17199         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
17200         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
17201         (gst_pad_push_event), (gst_pad_send_event):
17202         * gst/gstpad.h:
17203         * gst/gstutils.c: (gst_pad_add_data_probe),
17204         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17205         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17206         (gst_pad_remove_buffer_probe):
17207         * gst/gstutils.h:
17208           Remove old probes, add new g-signal-based probes and some utility
17209           functions.
17210
17211 2005-06-29  Edward Hervey  <edward@fluendo.com>
17212
17213         * gst/gstelementfactory.c:
17214         * gst/gstutils.h:
17215         * gst/gstutils.c:
17216         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
17217         the definition to the header file.
17218
17219 2005-06-29  Andy Wingo  <wingo@pobox.com>
17220
17221         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
17222         plugins from the source directory.
17223
17224 2005-06-29  Wim Taymans  <wim@fluendo.com>
17225
17226         * docs/gst/tmpl/gstbuffer.sgml:
17227         * docs/gst/tmpl/gstclock.sgml:
17228         Some fixings for blantently wrong text.
17229
17230 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17231
17232         * check/Makefile.am:
17233         * gst/gst.c: (add_path_func), (init_pre):
17234         * gst/gstregistry.c: (gst_registry_add_path):
17235           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
17236           only scan the GST_PLUGIN_PATH locations, and not add
17237           system locations
17238
17239 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17240
17241         * docs/gst/gstreamer-sections.txt:
17242         * docs/gst/tmpl/gstbasesrc.sgml:
17243         * gst/gstelement.c:
17244         * gst/gstelement.h:
17245         * gst/gstevent.c:
17246         * gst/gstutils.c:
17247           doc fixes
17248
17249 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17250
17251         * docs/manual/advanced-autoplugging.xml:
17252           Fix autoplugging example.
17253
17254 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17255
17256         * docs/manual/advanced-autoplugging.xml:
17257         * docs/manual/mime-world.fig:
17258           Try to get autoplugging working, fix type detection. Fix text
17259           in hello-world image.
17260
17261 2005-06-29  Wim Taymans  <wim@fluendo.com>
17262
17263         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17264         (gst_base_sink_change_state):
17265         Small debug line.
17266
17267         * gst/gstclock.h:
17268         map SIGNAL and BROADCAST to the right function.
17269
17270         * gst/gstobject.h:
17271         Remove redundant braces.
17272
17273         * gst/gstpad.c: (gst_pad_set_caps):
17274         Don't call setcaps function when reseting caps to NULL.
17275
17276         * gst/gstsystemclock.c: (gst_system_clock_dispose),
17277         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
17278         (gst_system_clock_id_unschedule):
17279         Use BROADCAST as this is what we do.
17280
17281 2005-06-29  Wim Taymans  <wim@fluendo.com>
17282
17283         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17284         We are actually prerolling before commiting the state
17285         change. 
17286
17287 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17288
17289         * docs/manual/advanced-clocks.xml:
17290         * docs/manual/advanced-interfaces.xml:
17291         * docs/manual/advanced-metadata.xml:
17292         * docs/manual/advanced-position.xml:
17293         * docs/manual/advanced-schedulers.xml:
17294         * docs/manual/advanced-threads.xml:
17295         * docs/manual/appendix-porting.xml:
17296         * docs/manual/basics-bins.xml:
17297         * docs/manual/basics-bus.xml:
17298         * docs/manual/basics-elements.xml:
17299         * docs/manual/basics-helloworld.xml:
17300         * docs/manual/basics-pads.xml:
17301         * docs/manual/highlevel-components.xml:
17302         * docs/manual/manual.xml:
17303         * docs/manual/thread.fig:
17304           Update (until threads/scheduling) Application Development Manual;
17305           remove GstThread, add GstBus, add simple porting checklist, add
17306           documentation for tag writing, clocks, make all examples until this
17307           part compile and run.
17308         * examples/manual/Makefile.am:
17309           Update from changes to Application Development Manual; add bus
17310           example, remove thread example.
17311
17312 2005-06-28  Wim Taymans  <wim@fluendo.com>
17313
17314         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
17315         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
17316         (gst_bus_source_dispatch):
17317         Add debugging messages.
17318         Make internal methods static.
17319         Handle the case where the bus is flushed in the handler.
17320         
17321         * gst/gstelement.c: (gst_element_get_bus):
17322         Fix refcount in _get_bus();
17323
17324         * gst/gstpipeline.c: (gst_pipeline_change_state),
17325         (gst_pipeline_get_clock_func):
17326         Clock refcounting fixes.
17327         Handle the case where preroll timed out more gracefully.
17328         
17329         * gst/gstsystemclock.c: (gst_system_clock_dispose):
17330         Clean up the internal thread in dispose. This is needed
17331         for subclasses that actually get disposed.
17332         
17333         * gst/schedulers/threadscheduler.c:
17334         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
17335         (gst_thread_scheduler_dispose):
17336         Free thread pool in dispose.
17337
17338 2005-06-28  Andy Wingo  <wingo@pobox.com>
17339
17340         * tests/network-clock-utils.scm (debug, print-event): New utils.
17341
17342         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
17343         (*packet-loss*): Unified loss probability.
17344         (network-time): Report out-of-band events.
17345
17346         * tests/plot-data: Add support for out-of-band events. Hack it
17347         into this script instead of passing it down the pipe; should fix
17348         this later.
17349
17350 2005-06-28  Wim Taymans  <wim@fluendo.com>
17351
17352         * docs/gst/gstreamer.types:
17353         * docs/gst/tmpl/gstbasesrc.sgml:
17354         * docs/gst/tmpl/gstpad.sgml:
17355         Docs fixes.
17356
17357 2005-06-28  Wim Taymans  <wim@fluendo.com>
17358
17359         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
17360         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
17361         (gst_proxy_pad_do_fixatecaps):
17362         Correctly proxy the check_pull_range function.
17363
17364 2005-06-28  Andy Wingo  <wingo@pobox.com>
17365
17366         * tests/network-clock.scm: Removed need for slib.
17367         
17368 2005-06-28  Wim Taymans  <wim@fluendo.com>
17369
17370         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
17371         (gst_basesink_preroll_queue_flush):
17372         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
17373         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
17374         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
17375         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
17376         (gst_proxy_pad_set_property):
17377         * gst/gstpad.c:
17378         * gst/gstpad.h:
17379         * gst/gstqueue.c: (gst_queue_init):
17380         The deprecated pad loop function is removed now.
17381
17382 2005-06-28  Andy Wingo  <wingo@pobox.com>
17383
17384         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
17385         New parameters, simulate network packet loss.
17386
17387         * tests/network-clock-utils.scm: Initialize the RNG.
17388
17389 2005-06-28  Wim Taymans  <wim@fluendo.com>
17390
17391         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
17392         (gst_basesink_event), (gst_basesink_deactivate):
17393         Flushing the preroll queue always needs to unlock the waiters.
17394
17395 2005-06-28  Edward Hervey  <edward@fluendo.com>
17396
17397         * gst/gstpipeline.c: (gst_pipeline_send_event): 
17398         Wheen a seek was successful on a pipeline, set the stream_time to the
17399         seek offset in order to have a synchronized stream_time.
17400
17401 2005-06-28  Wim Taymans  <wim@fluendo.com>
17402
17403         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
17404         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
17405         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
17406         (gst_proxy_pad_do_fixatecaps):
17407         Call wrapper function instead of just calling the function
17408         pointers. This takes care of any locking and whatmore.
17409
17410 2005-06-28  Wim Taymans  <wim@fluendo.com>
17411
17412         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
17413         (gst_pad_pull_range):
17414         * gst/gstpad.h:
17415         CONNECTED -> LINKED.
17416
17417 2005-06-28  Andy Wingo  <wingo@pobox.com>
17418
17419         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
17420         source-munging commit!!!
17421
17422         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
17423         (gst_object_sink): Take gpointer arguments, not GstObject --
17424         avoids casts. Like GLib.
17425
17426         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
17427         activate.
17428
17429 2005-06-27  Andy Wingo  <wingo@pobox.com>
17430
17431         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
17432         remaining buffer.
17433
17434         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
17435         returns a sorted copy of the trace list.
17436         (gst_alloc_trace_print_live): New API, only prints traces with
17437         live objects. Sort the list.
17438         (gst_alloc_trace_print_all): Sort the list.
17439         (gst_alloc_trace_print): Align columns.
17440
17441         * gst/elements/gstttypefindelement.c:
17442         * gst/elements/gsttee.c:
17443         * gst/base/gstbasesrc.c:
17444         * gst/base/gstbasesink.c:
17445         * gst/base/gstbasetransform.c:
17446         * gst/gstqueue.c: Adapt for pad activation changes.
17447
17448         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
17449         sched.
17450         (gst_pipeline_dispose): Drop ref on sched.
17451
17452         * gst/gstpad.c (gst_pad_init): Set the default activate func.
17453         (gst_pad_activate_default): Push mode by default.
17454         (pre_activate_switch, post_activate_switch): New stubs, things to
17455         do before and after switching activation modes on pads.
17456         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
17457         the pad's activate function to choose which mode to activate.
17458         Shortcut on deactivation and call the right function directly.
17459         (gst_pad_activate_pull): New API, (de)activates a pad in pull
17460         mode.
17461         (gst_pad_activate_push): New API, same for push mode.
17462         (gst_pad_set_activate_function) 
17463         (gst_pad_set_activatepull_function) 
17464         (gst_pad_set_activatepush_function): Setters for new API.
17465
17466         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
17467         Trace all miniobjects.
17468         (gst_mini_object_make_writable): Unref the arg if we copy, like
17469         gst_caps_make_writable.
17470
17471         * gst/gstmessage.c (_gst_message_initialize): No trace init.
17472
17473         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
17474         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
17475         Adapt for new pad API.
17476
17477         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
17478
17479         * gst/gstelement.h:
17480         * gst/gstelement.c (gst_element_iterate_src_pads) 
17481         (gst_element_iterate_sink_pads): New API functions.
17482         
17483         * gst/gstelement.c (iterator_fold_with_resync): New utility,
17484         should fold into gstiterator.c in some form.
17485         (gst_element_pads_activate): Simplified via use of fold and
17486         delegation of decisions to gstpad->activate.
17487
17488         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
17489         help in debugging.
17490
17491         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
17492         class once in init, like gstmessage. Didn't run into this issue
17493         but it seems correct. Don't initialize a trace, gstminiobject does
17494         that.
17495
17496         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
17497         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
17498         to the bus.
17499         (assert_live_count): New util function, uses alloc traces to check
17500         cleanup.
17501
17502         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
17503         To be modified when unlink drops the internal pad.
17504
17505 2005-06-27  Wim Taymans  <wim@fluendo.com>
17506
17507         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
17508         (gst_bin_change_state):
17509         Cleanup the get_state() function a little, make sure it
17510         iterates the same set of elements.
17511         Added stub iterate_state_order().
17512
17513 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
17514
17515         * docs/gst/gstreamer-docs.sgml:
17516         * docs/gst/gstreamer-sections.txt:
17517         * docs/gst/gstreamer.types:
17518         * docs/gst/tmpl/gstbasesink.sgml:
17519         * docs/gst/tmpl/gstbasesrc.sgml:
17520         * docs/gst/tmpl/gstbasetransform.sgml:
17521         * docs/gst/tmpl/gstelement.sgml:
17522         * docs/gst/tmpl/gstiterator.sgml:
17523         * gst/base/gstbasesrc.c:
17524         * gst/base/gstbasesrc.h:
17525         * gst/base/gstbasetransform.h:
17526         * gst/gstelement.c:
17527         * gst/gstiterator.h:
17528           adding basetransform and iterator docs
17529
17530 2005-06-27  Andy Wingo  <wingo@pobox.com>
17531
17532         * docs/design/part-activation.txt: Notes on how activation should
17533         work -- not quite implemented yet.
17534
17535 2005-06-25  Wim Taymans  <wim@fluendo.com>
17536
17537         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
17538         At least get the chain function correct, needs more
17539         fixing.
17540
17541 2005-06-25  Wim Taymans  <wim@fluendo.com>
17542
17543         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
17544         (gst_basesink_handle_object), (gst_basesink_event),
17545         (gst_basesink_do_sync), (gst_basesink_handle_event),
17546         (gst_basesink_change_state):
17547         * gst/gsttask.h:
17548         Right, two problems here: ghostpads don't take locks and
17549         glib _rec_mutex_lock_full() with depth==0 still locks.
17550         Catch illegal locking and g_warn them.
17551
17552 2005-06-25  Wim Taymans  <wim@fluendo.com>
17553
17554         * check/states/sinks.c: (START_TEST), (gst_object_suite):
17555         Have to check for completion now...
17556
17557 2005-06-25  Wim Taymans  <wim@fluendo.com>
17558
17559         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
17560         (gst_basesink_handle_object), (gst_basesink_event),
17561         (gst_basesink_do_sync), (gst_basesink_handle_event),
17562         (gst_basesink_change_state):
17563         * gst/gstpad.h:
17564         Unlock STREAM_LOCK whatever the recursion was.
17565
17566 2005-06-25  Wim Taymans  <wim@fluendo.com>
17567
17568         * gst/base/gstbasesink.c: (gst_basesink_set_property),
17569         (gst_basesink_preroll_queue_empty),
17570         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
17571         (gst_basesink_event), (gst_basesink_do_sync),
17572         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
17573         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
17574         (gst_basesink_change_state):
17575         Reworked the base sink, handle event and buffer serialisation
17576         correctly and removed possible deadlock.
17577         Handle EOS correctly.
17578
17579 2005-06-25  Wim Taymans  <wim@fluendo.com>
17580
17581         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
17582         (gst_pipeline_change_state):
17583         * tools/gst-launch.c: (check_intr), (event_loop), (main):
17584         Allow elements to post EOS in the state change function.
17585         Fix up -launch, make it exit the poll loop when the
17586         pipeline actually changed state.
17587         Fix up warning parsing in -launch.
17588
17589 2005-06-25  Wim Taymans  <wim@fluendo.com>
17590
17591         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
17592         (gst_tee_sink_activate):
17593         Core takes STREAM_LOCK for us now.
17594
17595 2005-06-25  Wim Taymans  <wim@fluendo.com>
17596
17597         * gst/gstelement.c: (gst_element_get_state_func),
17598         (gst_element_set_state):
17599         * gst/gstelement.h:
17600         * gst/gstmessage.c: (gst_message_parse_error),
17601         (gst_message_parse_warning):
17602         Keep track of current target state while performing a state
17603         change so that subclasses can do something interesting.
17604         Fix parsing of warning/error messages when GError is NULL.
17605
17606 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17607
17608         * docs/gst/Makefile.am:
17609         * docs/gst/gstreamer-docs.sgml:
17610         * docs/gst/gstreamer-sections.txt:
17611         * docs/gst/gstreamer.types:
17612         * docs/gst/tmpl/gstbasesink.sgml:
17613         * docs/gst/tmpl/gstbasesrc.sgml:
17614         * docs/gst/tmpl/gstbin.sgml:
17615         * docs/gst/tmpl/gstcompat.sgml:
17616         * docs/gst/tmpl/gstfakesink.sgml:
17617         * docs/gst/tmpl/gstfakesrc.sgml:
17618         * docs/gst/tmpl/gstfilesink.sgml:
17619         * docs/gst/tmpl/gstfilesrc.sgml:
17620         * docs/gst/tmpl/gstindex.sgml:
17621         * docs/manual/appendix-quotes.xml:
17622         * gst/base/gstbasesrc.h:
17623         * gst/elements/gstfakesrc.h:
17624         * gst/gstmessage.h:
17625           start pulling in base classes and elements in our docs
17626
17627 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
17628
17629         * docs/gst/Makefile.am:
17630         * docs/libs/Makefile.am:
17631           fixed make distcheck with gtk-doc 1.3
17632
17633 2005-06-23  Wim Taymans  <wim@fluendo.com>
17634
17635         * gst/gstelement.c: (gst_element_get_state_func),
17636         (gst_element_set_state), (gst_element_change_state):
17637         When the state did not change, also report NO_PREROLL
17638         when it matters.
17639
17640 2005-06-23  Wim Taymans  <wim@fluendo.com>
17641
17642         * gst/gstpad.c: (gst_pad_event_default):
17643         * gst/gstqueue.c: (gst_queue_loop):
17644         No unsafe task pausing please.
17645
17646 2005-06-23  Wim Taymans  <wim@fluendo.com>
17647
17648         * gst/schedulers/threadscheduler.c:
17649         (gst_thread_scheduler_task_start),
17650         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
17651         Ref the task before pushing it on the threadpool. This
17652         makes sure that we have a ref when the threadfunction is
17653         actually called.
17654
17655 2005-06-23  Andy Wingo  <wingo@pobox.com>
17656
17657         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
17658         offset is greater than the file's size.
17659
17660         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
17661         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
17662         * gst/gstobject.c (gst_object_class_init): Make the class lock
17663         recursive. Wim won't let me drop deep_notify. Decodebin works
17664         again, whoopdy doo.
17665
17666         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
17667         internal pad, and hacks accordingly. Doesn't do it on the target
17668         pad because we change its caps. Probably catches all cases of
17669         interest tho.
17670         (gst_ghost_pad_set_property): Connect to notify::caps as
17671         appropritate.
17672
17673         * tests/network-clock.scm (plot-simulation): Pipe data to the
17674         elite python skript.
17675
17676         * tests/network-clock-utils.scm (define-parameter): New macro,
17677         defines a parameter that can be set via the command line.
17678         (set-parameter!, parse-parameter-arguments): Command line args
17679         parser.
17680
17681         * tests/plot-data: Simple matplotlib-based plotter, takes input on
17682         stdin.
17683
17684 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
17685
17686         * gst/elements/gsttypefindelement.c:
17687         (gst_type_find_element_handle_event):
17688           Don't restart typefinding on a discont.
17689         * gst/gstelement.c: (gst_element_set_state):
17690           Debug spelling fix.
17691         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
17692           Allow changing mode of an active pad.
17693           Debug output fixes.
17694         * gst/registries/gstlibxmlregistry.c: (load_feature):
17695           Don't cast a static pad template to a normal pad template.
17696
17697 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17698
17699         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17700         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
17701           remove gst_strtoll completely, since it didn't actually do
17702           anything more than what g_ascii_strtoull already does.
17703           check for range errors when deserializing
17704           do a cast for the unsigned cases; but further fixing needs
17705           a decision on what the interpretation of "(int)" and
17706           deserialization should be for values that fall outside the
17707           type's boundaries (ie, refuse, or interpret as casting)
17708
17709 2005-06-23  Wim Taymans  <wim@fluendo.com>
17710
17711         * check/Makefile.am:
17712         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
17713         * docs/design/part-live-source.txt:
17714         * docs/design/part-states.txt:
17715         * gst/base/gstbasesrc.c: (gst_basesrc_init),
17716         (gst_basesrc_set_live), (gst_basesrc_is_live),
17717         (gst_basesrc_get_range), (gst_basesrc_activate),
17718         (gst_basesrc_change_state):
17719         * gst/base/gstbasesrc.h:
17720         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17721         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
17722         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
17723         * gst/gstelement.c: (gst_element_get_state_func),
17724         (gst_element_set_state):
17725         * gst/gstelement.h:
17726         * gst/gsttypes.h:
17727         * tools/gst-launch.c: (event_loop), (main):
17728         Added support for live sources and other elements that
17729         cannot do preroll.
17730         Updated design docs, added live-source design doc.
17731         Implemented live source functionality in basesrc
17732         Fix error condition in _bin_get_state()
17733         Implement live source handling in -launch.
17734         Added check for live sources.
17735         Fixed case in GstBin where elements were changed state
17736         multiple times.
17737
17738
17739 2005-06-23  Andy Wingo  <wingo@pobox.com>
17740
17741         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
17742         borken refcounting.
17743
17744         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
17745         gst_caps_replace takes care of this for us.
17746
17747         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
17748         gst_pad_set_caps on the target, not just its setcaps() function.
17749
17750         * tests/network-clock.scm: 
17751         * tests/network-clock-utils.scm: A network clock simulator.
17752         Something of an algorithmic testbed before doing something in C.
17753
17754 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17755
17756         * check/Makefile.am:
17757         * check/gst/capslist.h:
17758           copy over from 0.8, and add two with bitmasks specified with
17759           (int) 0xFF...
17760         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
17761           add test to parse everything from capslist.h
17762         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
17763         (main):
17764           add test for structure deserialization
17765         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17766           add tests for deserialization of strings to int types
17767         * gst/gststructure.c: (gst_structure_nth_field_name):
17768         * gst/gststructure.h:
17769           add a way to get the name of a field referenced by index
17770         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
17771           instead of checking if the resulting long long lies between
17772           min and max, we check if the long long would fit into
17773           a number of bytes for the final type.
17774           This fixes cases where a string represents 2^32 - 1, which
17775           when cast to int would be the (valid) -1, but is bigger than
17776           G_MAXINT
17777
17778 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17779
17780         * gst/parse/grammar.y:
17781           add a log line for type deserialization
17782
17783 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17784
17785         * check/gst/gstvalue.c: (START_TEST):
17786         * gst/gstvalue.c: (gst_value_deserialize):
17787           return long long, not int, so gint64 deserialization actually
17788           works.  Is there any flag that makes the compiler check this ?
17789           Fixes #308559
17790
17791 2005-06-22  Wim Taymans  <wim@fluendo.com>
17792
17793         * gst/gstbuffer.h:
17794         Added convenience macros for setting buffers in GValue.
17795
17796 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17797
17798         * check/gst/.cvsignore:
17799         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17800           add a test deserializing int64, and comment part out because
17801           it fails, yay !
17802
17803 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17804
17805         * check/Makefile.am:
17806         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
17807         * testsuite/Makefile.am:
17808         * testsuite/caps/Makefile.am:
17809         * testsuite/caps/value_serialize.c:
17810         * testsuite/test_gst_init.c:
17811           move a value_serialize test over
17812
17813 2005-06-20  Wim Taymans  <wim@fluendo.com>
17814
17815         * gst/gstpad.c:
17816         Small doc updates.
17817         
17818         * gst/gstvalue.c: (gst_value_compare_buffer),
17819         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
17820         (gst_value_compare_flags), (gst_value_serialize_flags),
17821         (gst_value_deserialize_flags), (_gst_value_initialize):
17822         Fix serialisation of buffers, they are not boxed types anymore
17823
17824 2005-06-20  Wim Taymans  <wim@fluendo.com>
17825
17826         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
17827         Testcase to show error in buffer-on-caps serialisation.
17828
17829 2005-06-20  Andy Wingo  <wingo@pobox.com>
17830
17831         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
17832         will be adding to later.
17833
17834         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
17835         if its socks fill with rocks.
17836         (gst_system_clock_obtain): Set the name on object construction.
17837         Avoid double-checked locking.
17838
17839 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
17840
17841         * gst/gsturi.c: (gst_element_make_from_uri):
17842           Fix potential endless loop.
17843
17844 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17845
17846         * check/Makefile.am:
17847           add gsttag
17848         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
17849         (main):
17850           move over from testsuite dir and clean up
17851         * configure.ac:
17852         * gst/gsttag.c:
17853         * testsuite/Makefile.am:
17854         * testsuite/tags/.cvsignore:
17855         * testsuite/tags/Makefile.am:
17856         * testsuite/tags/merge.c:
17857           remove testsuite/tags
17858
17859 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17860
17861         * docs/gst/gstreamer-sections.txt:
17862         * docs/gst/tmpl/gstenumtypes.sgml:
17863         * win32/gstenumtypes.c:
17864           clean up documentation build a little
17865
17866 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17867
17868         * check/gstcheck.h:
17869           add macros for checking refcounts on objects and caps
17870         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
17871           add some more unit tests
17872         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17873         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
17874           fix leaked refcounts (I hope :)) so unittest works
17875         * gst/gstpad.h:
17876           whitespace removal
17877
17878 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17879
17880         * configure.ac: back to HEAD
17881
17882 === release 0.9.1 ===
17883
17884 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
17885
17886         * NEWS:
17887         * RELEASE:
17888           updated
17889
17890 2005-06-17  Andy Wingo  <wingo@pobox.com>
17891
17892         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
17893         assert; it's always possible that the pad gets deactivated in
17894         between the checks in gstpad.c and the implementation. Rely on
17895         finish_preroll() to return a FLUSHING or similar instead of on the
17896         assert.
17897         
17898         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
17899         clock and post an EOS message if we come out of finish_preroll in
17900         the playing state.
17901
17902 2005-06-16  David Schleef  <ds@schleef.org>
17903
17904         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
17905         (gst_capsfilter_set_property): Allow NULL as possible value
17906         for filter_caps property, indicating GST_CAPS_ANY.
17907
17908 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17909
17910         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
17911           fix debug output
17912         * gst/schedulers/Makefile.am:
17913           use libgst prefix
17914         * gstreamer.spec.in:
17915           fix spec for it
17916
17917 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17918
17919         * gstreamer.spec.in:
17920           clean up
17921
17922 2005-06-08  Andy Wingo  <wingo@pobox.com>
17923
17924         * gst/gstutils.c: RPAD fixes all around.
17925         (gst_element_link_pads): Refcounting fixes.
17926
17927         * tools/gst-inspect.c:
17928         * tools/gst-xmlinspect.c:
17929         * parse/grammar.y:
17930         * gst/base/gsttypefindhelper.c:
17931         * gst/base/gstbasesink.c:
17932         * gst/gstqueue.c: RPAD fixes.
17933
17934         * gst/gstghostpad.h:
17935         * gst/gstghostpad.c: New ghost pad implementation as full proxy
17936         pads. The tricky thing is they provide both source and sink
17937         interfaces, since they proxy the internal pad for the external
17938         pad, and vice versa. Implement with lower-level ProxyPad objects,
17939         with the interior proxy pad as a child of the exterior ghost pad.
17940         Should write a doc on this.
17941         
17942         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
17943         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
17944         gst_object API.
17945         
17946         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
17947         pads are real pads. No ghost pads in this file. Not documenting
17948         the myriad s/RPAD/PAD/ and REALIZE fixes.
17949         (gst_pad_class_init): Add properties for "direction" and
17950         "template". Both are construct-only, so they can't change during
17951         the life of the pad. Fixes properly deriving from GstPad.
17952         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
17953         derived objects, just set properties when creating the objects via
17954         g_object_new.
17955         (gst_pad_get_parent): Implement as a function, return NULL if the
17956         parent is not an element.
17957         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
17958         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
17959         
17960         * gst/gstobject.c (gst_object_class_init): Make name a construct
17961         property. Don't set it in the object init.
17962
17963         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
17964         with UNKNOWN direction.
17965         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
17966         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
17967         (gst_element_remove_pad): Remove ghost-pad special cases.
17968         (gst_element_pads_activate): Remove rpad cruft.
17969
17970         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
17971         catch the pad's-parent-not-an-element case.
17972
17973         * gst/gst.h: Include gstghostpad.h.
17974
17975         * gst/gst.c (init_post): No more real, ghost pads.
17976
17977         * gst/Makefile.am: Add gstghostpad.[ch].
17978
17979         * check/Makefile.am:
17980         * check/gst/gstbin.c:
17981         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
17982         into a bin creates ghost pads, and that the refcounts are right.
17983         Partly moved from gstbin.c.
17984
17985 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17986
17987         * check/gst-libs/.cvsignore:
17988         * check/gst/.cvsignore:
17989         * check/pipelines/.cvsignore:
17990           ignore more
17991         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
17992         (START_TEST), (cleanup_suite), (main):
17993           add some tests related to cleanup after running pipelines
17994
17995 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17996
17997         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
17998           add a testsuite for GstBuffer
17999
18000 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
18001
18002         * gst/gstminiobject.h:
18003           add defines for accessing the refcount
18004
18005 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
18006
18007         * Makefile.am: added support for html unit test coverage reports
18008
18009 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
18010
18011         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
18012           Free existing caps if the capsfilter changes. Add a FIXME about
18013           setting those caps on the pads.
18014
18015         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
18016           Before adding a ghost pad to a parent bin, check that there isn't
18017           already one for the element on the bin. Prevents infinite recursion
18018           when using decodebin in parse pipelines. Andy says he'll rewrite the
18019           way this works anyway, so ignore the hack.
18020
18021 2005-06-02  Andy Wingo  <wingo@pobox.com>
18022
18023         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
18024         file size, pass it on to the type find helper.
18025
18026         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
18027         segment_start and segment_end properly according to the seek
18028         method. Segment_end is still a bit flaky because offset can be
18029         negative for CUR and END cases, but it takes -1 as an "unset"
18030         value.
18031
18032 2005-06-02  Wim Taymans  <wim@fluendo.com>
18033
18034         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
18035         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
18036         (gst_basesink_activate):
18037         * gst/base/gstbasesink.h:
18038         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
18039         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
18040         (gst_pad_query), (gst_pad_start_task):
18041         * gst/gstpad.h:
18042         * gst/gstqueue.c: (gst_queue_bufferalloc),
18043         (gst_queue_handle_sink_event), (gst_queue_chain):
18044         Bufferalloc: return GstFlowReturn to more accuratly report
18045         why allocation failed.
18046
18047 2005-06-02  Wim Taymans  <wim@fluendo.com>
18048
18049         * gst/gstpipeline.c: (gst_pipeline_send_event):
18050         Take snapshot of state without blocking.
18051
18052 2005-06-02  Wim Taymans  <wim@fluendo.com>
18053
18054         * docs/design/part-TODO.txt:
18055         * docs/design/part-caps.txt:
18056         * docs/design/part-clocks.txt:
18057         * docs/design/part-negotiation.txt:
18058         * docs/design/part-preroll.txt:
18059         Small doc updates 
18060
18061 2005-05-30  Wim Taymans  <wim@fluendo.com>
18062
18063         * gst/elements/gstidentity.c: (gst_identity_event),
18064         (gst_identity_transform), (gst_identity_get_property):
18065         Protect last_message property as it is accessed from
18066         multiple threads.
18067
18068 2005-05-30  Wim Taymans  <wim@fluendo.com>
18069
18070         * gst/gstelement.c: (gst_element_init),
18071         (gst_element_pads_activate), (gst_element_change_state):
18072         Slicker pad activation code.
18073
18074 2005-05-30  Wim Taymans  <wim@fluendo.com>
18075
18076         * gst/Makefile.am:
18077         * gst/gstelement.h:
18078         * gst/gstelementfactory.h:
18079         * gst/gsttypes.h:
18080         Move elementfactory methods to separate .h file.
18081
18082 2005-05-30  Wim Taymans  <wim@fluendo.com>
18083
18084         * docs/design/part-overview.txt:
18085         * gst/gstsystemclock.h:
18086         Small typo fixes, doc updates.
18087
18088 2005-05-30  Wim Taymans  <wim@fluendo.com>
18089
18090         * gst/gst.c: (gst_init_get_popt_table), (init_post),
18091         (init_popt_callback):
18092         Remove cpu-opt flag.
18093
18094 2005-05-30  Wim Taymans  <wim@fluendo.com>
18095
18096         * gst/gstbuffer.c: (gst_subbuffer_finalize),
18097         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
18098         * gst/gstbuffer.h:
18099         Avoid typechecking in places where not needed.
18100         Added accessor for malloc_data.
18101
18102 2005-05-30  Wim Taymans  <wim@fluendo.com>
18103
18104         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
18105         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
18106         (gst_pad_configure_sink), (gst_pad_configure_src),
18107         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
18108         (gst_pad_start_task):
18109         Propagate errors from _set_caps() in configure_src/sink
18110         functions instead of returning TRUE.
18111         FLUSH events can travel up and downstream
18112
18113
18114 2005-05-30  Wim Taymans  <wim@fluendo.com>
18115
18116         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
18117         (gst_basesink_activate):
18118         Handle EOS in preroll.
18119
18120 2005-05-30  Wim Taymans  <wim@fluendo.com>
18121
18122         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18123         (gst_queue_loop), (gst_queue_handle_src_event):
18124         Remove old pieces of code
18125         Flushing the queue in an upstream event is a very bad idea.
18126
18127 2005-05-26  Andy Wingo  <wingo@pobox.com>
18128
18129         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
18130         gst_value_set_mini_object so as to add a ref on the object (which
18131         will be removed when the value is unset).
18132
18133         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
18134         arg type in ::handoff.
18135
18136         * gst/gstelement.c (gst_element_change_state): Also deactivate
18137         pads in READY->NULL, just in case the element didn't make it to
18138         PAUSED. Wingo tested, Wim approved.
18139
18140 2005-05-26  Wim Taymans  <wim@fluendo.com>
18141
18142         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
18143         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
18144         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
18145         A flushing pad cannot be used to alloc_buffer from.
18146
18147 2005-05-26  Wim Taymans  <wim@fluendo.com>
18148
18149         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
18150         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
18151         (gst_bus_source_dispatch), (gst_bus_source_finalize),
18152         (gst_bus_create_watch), (gst_bus_add_watch_full):
18153         * gst/gstbus.h:
18154         Implement a real GSource and use g_main_context_wakeup() to
18155         signal new messages instead of the socketpair.
18156
18157 2005-05-25  Wim Taymans  <wim@fluendo.com>
18158
18159         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
18160         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
18161         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
18162         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
18163         (gst_pad_send_event), (gst_pad_start_task):
18164         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
18165         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
18166         (gst_queue_sink_activate), (gst_queue_src_activate),
18167         (gst_queue_change_state):
18168         * gst/gstqueue.h:
18169         Fix state changes for non sinks. We now change sinks, then elements
18170         with unconnected srcpads, then the rest.
18171         More efficient queue unlocking in flush and state changes.
18172         Set the pad activate mode even if it does not have an activate
18173         function.
18174
18175 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18176
18177         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
18178           Don't go in pull mode for non-seekable sources.
18179         * gst/elements/gsttypefindelement.h:
18180         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
18181         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
18182         (free_entry), (stop_typefinding),
18183         (gst_type_find_element_handle_event), (find_peek),
18184         (gst_type_find_element_chain), (do_pull_typefind),
18185         (gst_type_find_element_change_state):
18186           Allow typefinding (w/o seeking) in push-mode, simplified version
18187           of what was in 0.8.
18188         * gst/gstutils.c: (gst_buffer_join):
18189         * gst/gstutils.h:
18190           gst_buffer_join() from 0.8.
18191
18192 2005-05-25  Wim Taymans  <wim@fluendo.com>
18193
18194         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
18195         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
18196         (gst_pad_send_event), (gst_pad_start_task):
18197         Disable attempt at mode switching until it is figured out.
18198
18199 2005-05-25  Wim Taymans  <wim@fluendo.com>
18200
18201         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
18202         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
18203         (gst_basesink_finish_preroll), (gst_basesink_chain),
18204         (gst_basesink_loop), (gst_basesink_activate),
18205         (gst_basesink_change_state):
18206         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
18207         (gst_basesrc_get_range), (gst_basesrc_loop),
18208         (gst_basesrc_activate):
18209         * gst/elements/gsttee.c: (gst_tee_sink_activate):
18210         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
18211         (gst_real_pad_init), (gst_real_pad_set_property),
18212         (gst_real_pad_get_property), (gst_pad_set_active),
18213         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
18214         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
18215         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
18216         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
18217         (gst_pad_event_default_dispatch), (gst_pad_event_default),
18218         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
18219         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
18220         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
18221         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
18222         (gst_pad_stop_task):
18223         * gst/gstpad.h:
18224         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18225         (gst_queue_loop), (gst_queue_src_activate):
18226         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
18227         (gst_task_get_state):
18228         * gst/gsttask.h:
18229         * gst/schedulers/threadscheduler.c:
18230         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
18231         Implement gst_pad_pause/start/stop_task(), take STREAM lock
18232         in task function.
18233         Remove ACTIVE pad flag, use FLUSHING everywhere
18234         Added _pad_chain(), _pad_get_range() to call chain/getrange 
18235         functions.
18236         Add locks around IS_FLUSHING when reading.
18237         Take STREAM lock in chain(), get_range() functions so plugins
18238         don't need to take it anymore.
18239         
18240
18241
18242 2005-05-25  Wim Taymans  <wim@fluendo.com>
18243
18244         * tools/gst-launch.c: (event_loop):
18245         Unref message after using its contents instead of
18246         before.
18247
18248 2005-05-24  Wim Taymans  <wim@fluendo.com>
18249
18250         * docs/design/draft-ghostpads.txt:
18251         * docs/design/draft-push-pull.txt:
18252         * docs/design/draft-query.txt:
18253         * docs/design/part-overview.txt:
18254         Docs updates, added general overview doc.
18255
18256 2005-05-21  David Schleef  <ds@schleef.org>
18257
18258         * docs/gst/tmpl/old/GstBin.sgml:
18259         * docs/gst/tmpl/old/GstBuffer.sgml:
18260         * docs/gst/tmpl/old/GstCaps.sgml:
18261         * docs/gst/tmpl/old/GstClock.sgml:
18262         * docs/gst/tmpl/old/GstCompat.sgml:
18263         * docs/gst/tmpl/old/GstData.sgml:
18264         * docs/gst/tmpl/old/GstElement.sgml:
18265         * docs/gst/tmpl/old/GstEvent.sgml:
18266         * docs/gst/tmpl/old/GstIndex.sgml:
18267         * docs/gst/tmpl/old/GstStructure.sgml:
18268         * docs/gst/tmpl/old/GstTag.sgml:
18269         * docs/gst/tmpl/old/cothreads.sgml:
18270         * docs/gst/tmpl/old/cothreads_compat.sgml:
18271         * docs/gst/tmpl/old/gettext.sgml:
18272         * docs/gst/tmpl/old/gobject2gtk.sgml:
18273         * docs/gst/tmpl/old/grammar.tab.sgml:
18274         * docs/gst/tmpl/old/gst-i18n-app.sgml:
18275         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
18276         * docs/gst/tmpl/old/gst_private.sgml:
18277         * docs/gst/tmpl/old/gstaggregator.sgml:
18278         * docs/gst/tmpl/old/gstarch.sgml:
18279         * docs/gst/tmpl/old/gstatomic_impl.sgml:
18280         * docs/gst/tmpl/old/gstbufferstore.sgml:
18281         * docs/gst/tmpl/old/gstdata_private.sgml:
18282         * docs/gst/tmpl/old/gstdisksink.sgml:
18283         * docs/gst/tmpl/old/gstdisksrc.sgml:
18284         * docs/gst/tmpl/old/gstelementfactory.sgml:
18285         * docs/gst/tmpl/old/gstextratypes.sgml:
18286         * docs/gst/tmpl/old/gstfakesink.sgml:
18287         * docs/gst/tmpl/old/gstfakesrc.sgml:
18288         * docs/gst/tmpl/old/gstfdsink.sgml:
18289         * docs/gst/tmpl/old/gstfdsrc.sgml:
18290         * docs/gst/tmpl/old/gstfilesink.sgml:
18291         * docs/gst/tmpl/old/gstfilesrc.sgml:
18292         * docs/gst/tmpl/old/gsthttpsrc.sgml:
18293         * docs/gst/tmpl/old/gstidentity.sgml:
18294         * docs/gst/tmpl/old/gstindexfactory.sgml:
18295         * docs/gst/tmpl/old/gstmarshal.sgml:
18296         * docs/gst/tmpl/old/gstmd5sink.sgml:
18297         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
18298         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
18299         * docs/gst/tmpl/old/gstpadtemplate.sgml:
18300         * docs/gst/tmpl/old/gstpipefilter.sgml:
18301         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
18302         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
18303         * docs/gst/tmpl/old/gstshaper.sgml:
18304         * docs/gst/tmpl/old/gstspider.sgml:
18305         * docs/gst/tmpl/old/gstspideridentity.sgml:
18306         * docs/gst/tmpl/old/gststatistics.sgml:
18307         * docs/gst/tmpl/old/gsttee.sgml:
18308         * docs/gst/tmpl/old/gsttimecache.sgml:
18309         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
18310         * docs/gst/tmpl/old/gstxmlregistry.sgml:
18311         * docs/gst/tmpl/old/gthread-cothreads.sgml:
18312         * docs/gst/tmpl/old/types.sgml:
18313           I didn't intend to add these or check them in.
18314
18315 2005-05-19  David Schleef  <ds@schleef.org>
18316
18317         * configure.ac: Use -no-common everywhere.  In a sane world, it
18318           would be the default in libtool, because without it, you can't
18319           build DLLs on Windows.
18320         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
18321         * docs/gst/gstreamer-sections.txt:
18322         * docs/gst/tmpl/gstcpu.sgml:
18323         * docs/gst/tmpl/gstdata.sgml:
18324         * docs/gst/tmpl/gstthread.sgml:
18325
18326 2005-05-19  David Schleef  <ds@schleef.org>
18327
18328         * gst/gstminiobject.c: (gst_value_set_mini_object),
18329         (gst_value_take_mini_object), (gst_value_get_mini_object):
18330         * gst/gstminiobject.h: Add GValue set/get functions.
18331
18332 2005-05-19  Wim Taymans  <wim@fluendo.com>
18333
18334         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
18335         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
18336         (gst_subbuffer_init), (gst_buffer_is_span_fast):
18337         * gst/gstbuffer.h:
18338         * gst/gstbus.c: (gst_bus_post):
18339         * gst/gstelement.c: (gst_element_get_random_pad):
18340         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
18341         Make subbufer unref the parent in finalize.
18342         some more debugging info.
18343
18344
18345 2005-05-19  Wim Taymans  <wim@fluendo.com>
18346
18347         * gst/base/gstbasesink.c: (gst_basesink_class_init),
18348         (gst_basesink_init), (gst_basesink_finalize),
18349         (gst_basesink_activate), (gst_basesink_change_state):
18350         Don't free preroll queue too early.
18351
18352 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18353
18354         * gst/Makefile.am:
18355         * gst/ROADMAP:
18356           Hi, I'm outdated. Please shoot me.
18357
18358 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18359
18360         * gst/gstpipeline.c: (gst_pipeline_send_event):
18361           Do not access variables after they have been deleted.
18362
18363 2005-05-19  Wim Taymans  <wim@fluendo.com>
18364
18365         * tools/gst-inspect.c: (print_plugin_features):
18366         A plugin feature does unfortunatly not use the
18367         object name yet...
18368
18369 2005-05-18  Wim Taymans  <wim@fluendo.com>
18370
18371         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
18372         Port _span() functions to new subbuffers.
18373
18374 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18375
18376         * gst/gstbin.c: (gst_bin_add_func):
18377           Fix clock settery in bins when adding kids after the clock has
18378           been selected.
18379
18380 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18381
18382         * gst/elements/gstidentity.c: (gst_identity_class_init):
18383           Workaround until signals support GstMiniObject.
18384
18385 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
18386
18387         * gst/gstbuffer.c:
18388         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
18389
18390 2005-05-18  Wim Taymans  <wim@fluendo.com>
18391
18392         * gst/base/Makefile.am:
18393         * gst/base/gstadapter.c: (gst_adapter_base_init),
18394         (gst_adapter_class_init), (gst_adapter_init),
18395         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
18396         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
18397         (gst_adapter_flush), (gst_adapter_available),
18398         (gst_adapter_available_fast):
18399         * gst/base/gstadapter.h:
18400         Ported and added adapter to the base classes.
18401
18402 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18403
18404         * gst/gst.c:
18405         * gst/gstmessage.c:
18406           Make sure the class is reffed/unreffed once before threads can be
18407           used.  Fixes #304551.
18408
18409 2005-05-17  Wim Taymans  <wim@fluendo.com>
18410
18411         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
18412         (gst_basesink_chain_unlocked), (gst_basesink_activate):
18413         * gst/gstminiobject.c: (gst_mini_object_get_type),
18414         (gst_mini_object_free):
18415         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
18416         (gst_pad_push), (gst_pad_push_event):
18417         * gst/gstqueue.c: (gst_queue_change_state):
18418         Don't queue buffers in basesink when we are flushing.
18419         Unref buffer when flushing in basesink.
18420         Flush queue when going to READY
18421         Unref buffer when _push() returns an error.
18422         Don't free MiniObject instance when refcount is incremented
18423         in _finalize() so that we can recover objects.
18424
18425 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
18426
18427         * docs/manual/advanced-schedulers.xml:
18428         * docs/manual/appendix-checklist.xml:
18429         * docs/pwg/advanced-clock.xml:
18430         * docs/pwg/advanced-interfaces.xml:
18431         * docs/pwg/advanced-request.xml:
18432         * docs/pwg/advanced-types.xml:
18433         * docs/pwg/intro-preface.xml:
18434         * examples/plugins/example.c: (gst_example_get_type),
18435         (gst_example_class_init), (gst_example_chain),
18436         (gst_example_set_property), (gst_example_get_property),
18437         (gst_example_change_state), (plugin_init):
18438         * examples/plugins/example.h:
18439           small doc fixes
18440
18441 2005-05-17  Wim Taymans  <wim@fluendo.com>
18442
18443         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
18444         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
18445         * gst/gstqueue.c: (gst_queue_change_state):
18446         Clear queue when going to READY.
18447         Remove IN_SETCAPS flag too.
18448
18449 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
18450
18451         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
18452           Remove implicit cast from gboolean to GstElementStateReturn;
18453           make sure we still return failure in paused => ready case if
18454           the parent class fails to change state and our own stop 
18455           vfunc succeeds.
18456
18457 2005-05-17  Wim Taymans  <wim@fluendo.com>
18458
18459         * tools/gst-launch.c: (event_loop):
18460         Message was unreffed too soon.
18461
18462 2005-05-16  Andy Wingo  <wingo@pobox.com>
18463
18464         * gst/gstbin.c (sink_iterator_filter): Err... um...
18465
18466         * check/gst/gstbin.c (test_ghost_pads): New test for the
18467         ghosting-if-elements-not-in-same-bin behavior.
18468
18469 2005-05-16  David Schleef  <ds@schleef.org>
18470
18471         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
18472         accessing refcount directly.
18473
18474 2005-05-15  David Schleef  <ds@schleef.org>
18475
18476         * check/Makefile.am: remove GstData checks
18477         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
18478         * gst/Makefile.am: add miniobject, remove data
18479         * gst/gst.h: add miniobject, remove data
18480         * gst/gstdata.c: remove
18481         * gst/gstdata.h: remove
18482         * gst/gstdata_private.h: remove
18483         * gst/gsttypes.h: remove GstEvent and GstMessage
18484         * gst/gstelement.c: (gst_element_post_message): fix for API changes
18485         * gst/gstmarshal.list: change BOXED -> OBJECT
18486
18487         Implement GstMiniObject.
18488         * gst/gstminiobject.c:
18489         * gst/gstminiobject.h:
18490
18491         Modify to be subclasses of GstMiniObject.
18492         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
18493         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
18494         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
18495         (gst_subbuffer_get_type), (gst_subbuffer_init),
18496         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
18497         (gst_buffer_span):
18498         * gst/gstbuffer.h:
18499         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
18500         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
18501         (_gst_event_copy), (gst_event_new):
18502         * gst/gstevent.h:
18503         * gst/gstmessage.c: (_gst_message_initialize),
18504         (gst_message_get_type), (gst_message_class_init),
18505         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
18506         (gst_message_new), (gst_message_new_error),
18507         (gst_message_new_warning), (gst_message_new_tag),
18508         (gst_message_new_state_changed), (gst_message_new_application):
18509         * gst/gstmessage.h:
18510         * gst/gstprobe.c: (gst_probe_perform),
18511         (gst_probe_dispatcher_dispatch):
18512         * gst/gstprobe.h:
18513         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
18514         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
18515         (_gst_query_copy), (gst_query_new):
18516
18517         Update elements for GstData -> GstMiniObject changes
18518         * gst/gstquery.h:
18519         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
18520         (gst_queue_chain), (gst_queue_loop):
18521         * gst/elements/gstbufferstore.c:
18522         (gst_buffer_store_add_buffer_func),
18523         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
18524         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
18525         (gst_fakesink_render):
18526         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
18527         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
18528         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
18529         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
18530         (gst_filesrc_create_read):
18531         * gst/elements/gstidentity.c: (gst_identity_class_init):
18532         * gst/elements/gsttypefindelement.c:
18533         (gst_type_find_element_src_event), (free_entry_buffers),
18534         (gst_type_find_element_handle_event):
18535         * libs/gst/dataprotocol/dataprotocol.c:
18536         (gst_dp_header_from_buffer):
18537         * libs/gst/dataprotocol/dataprotocol.h:
18538         * libs/gst/dataprotocol/dp-private.h:
18539
18540 2005-05-15  David Schleef  <ds@schleef.org>
18541
18542         * gst/elements/gstelements.c: Don't include headers that were
18543         just removed.
18544
18545 2005-05-15  David Schleef  <ds@schleef.org>
18546
18547         * gst/elements/Makefile.am: Remove some elements that don't
18548         need to be in the core (or even exist at all).
18549         * gst/elements/gstaggregator.c:
18550         * gst/elements/gstaggregator.h:
18551         * gst/elements/gstmd5sink.c:
18552         * gst/elements/gstmd5sink.h:
18553         * gst/elements/gstmultifilesrc.c:
18554         * gst/elements/gstmultifilesrc.h:
18555         * gst/elements/gstpipefilter.c:
18556         * gst/elements/gstpipefilter.h:
18557         * gst/elements/gstshaper.c:
18558         * gst/elements/gstshaper.h:
18559         * gst/elements/gststatistics.c:
18560         * gst/elements/gststatistics.h:
18561         * po/POTFILES.in: Remove above files.
18562
18563 2005-05-14  Andy Wingo  <wingo@pobox.com>
18564
18565         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
18566         so as to get the refs right.
18567         (sink_iterator_filter): New function, wraps bin_element_is_sink,
18568         unreffing objects that don't pass the filter.
18569
18570         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
18571         gst_element_set_bus.
18572         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
18573         normal cases, this will destroy the bus.
18574
18575         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
18576         object.
18577
18578         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
18579         has no sinks.
18580
18581 2005-05-13  Andy Wingo  <wingo@pobox.com>
18582
18583         * gst/gstutils.c (gst_element_link_pads): Instead of calling
18584         gst_pad_link, call pad_link_maybe_ghosting,
18585         (pad_link_maybe_ghosting): Links pads, making sure that the
18586         elements being linked are in the same bin.
18587         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
18588         Helpers for pad_link_maybe_ghosting.
18589
18590 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
18591
18592         * configure.ac:
18593           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
18594
18595 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
18596
18597         * docs/design/part-element-source.txt:
18598           Mention GstPushSrc
18599
18600 2005-05-12  Wim Taymans  <wim@fluendo.com>
18601
18602         * gst/base/gstbasesink.c: (gst_basesink_init),
18603         (gst_basesink_activate):
18604         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
18605         (gst_basesrc_is_seekable):
18606         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
18607         (bin_element_is_sink), (gst_bin_change_state):
18608         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
18609         * gst/gstelement.h:
18610         Identify sinks by their flag to avoid overly complicated
18611         checks (fow now).
18612         Do state changes even for elements not reachable from the
18613         sinks.
18614         BaseSink is a sink now :)
18615         Some more debugging info in the basesrc.
18616
18617
18618 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18619
18620         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
18621           Implement _query on a bin, similar to _send_event.
18622
18623 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
18624
18625         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
18626           Discont event offset format should be GST_FORMAT_BYTES,
18627           not GST_FORMAT_TIME.
18628
18629 2005-05-12  Wim Taymans  <wim@fluendo.com>
18630
18631         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
18632         Same fix as Ronald's but without the signal. 
18633
18634 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18635
18636         * gst/gstutils.c: (gst_element_query_position):
18637           No, an element is not a pad.
18638
18639 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18640
18641         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
18642         (gst_bin_get_state):
18643           If a child is removed from a bin while we remove the child from
18644           the bin and while we're retrieving its state, signal this to the
18645           get_state function so we abort the wait (instead of waiting for
18646           a timeout) and can immediately re-iterate over all other elements.
18647
18648 2005-05-12  Wim Taymans  <wim@fluendo.com>
18649
18650         * gst/base/Makefile.am:
18651         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
18652         (gst_basesrc_start):
18653         * gst/base/gstbasesrc.h:
18654         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
18655         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
18656         (gst_pushsrc_init), (gst_pushsrc_create):
18657         * gst/base/gstpushsrc.h:
18658         Added is_seekable to BaseSrc
18659         Added simple PushSrc.
18660
18661 2005-05-11  Wim Taymans  <wim@fluendo.com>
18662
18663         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
18664         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18665         (gst_element_link_pads), (gst_element_query_position),
18666         (gst_element_query_convert), (intersect_caps_func),
18667         (gst_pad_query_position), (gst_pad_query_convert):
18668         Fix refcounting in utils function.
18669         No point in trying to activate a pad when it's added, it could
18670         be added from the state change function and then we deadlock, the
18671         element has to decide what to do.
18672
18673 2005-05-10  Andy Wingo  <wingo@pobox.com>
18674
18675         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
18676         *all* the arguments.
18677
18678         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
18679         stream lock if it's a FLUSH_DONE; normal flushes don't get the
18680         lock (according to the docs -- if this is wrong change the docs).
18681
18682         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
18683         flush messages in the NULL state.
18684
18685         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
18686         message immediately and return.
18687         (gst_bus_set_flushing): New function. If a bus is flushing, it
18688         flushes out any queued messages and immediately unrefs new
18689         messages. This is so when an element goes to NULL, all of the
18690         unhandled messages coming from it can be freed, and their
18691         references to the element dropped. In other words: message source
18692         ref considered harmful :P
18693
18694         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
18695         we're finished with it.
18696
18697         * gst/gstmessage.c (gst_message_new_state_changed): 
18698
18699 2005-05-10  Wim Taymans  <wim@fluendo.com>
18700
18701         * gst/gstvalue.c: (gst_value_compare_flags),
18702         (gst_value_serialize_flags), (gst_value_deserialize_flags),
18703         (_gst_value_initialize):
18704         Added flags serialize/deserialize/compare code.
18705
18706 2005-05-09  Andy Wingo  <wingo@pobox.com>
18707
18708         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
18709         Intersect the peer's caps with our caps.
18710
18711 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18712
18713         * gst/base/gsttypefindhelper.c: (helper_find_peek):
18714         * gst/elements/gsttypefindelement.c: (find_peek):
18715           Handle negative offsets better. Fixes decodebin.
18716
18717 2005-05-09  Wim Taymans  <wim@fluendo.com>
18718
18719         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
18720         (gst_base_transform_event):
18721         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
18722         Implement accept_caps.
18723         Fix silly lock/unlock mismatch in base class.
18724
18725 2005-05-09  Wim Taymans  <wim@fluendo.com>
18726
18727         * docs/design/draft-push-pull.txt:
18728         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
18729         * gst/elements/gstfilesink.c: (gst_filesink_init),
18730         (gst_filesink_query):
18731         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
18732         (gst_type_find_handle_src_query), (find_element_get_length):
18733         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
18734         * gst/gstelement.h:
18735         * gst/gstmessage.c:
18736         * gst/gstmessage.h:
18737         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
18738         (gst_real_pad_get_caps_unlocked),
18739         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
18740         (gst_pad_event_default_dispatch), (gst_pad_event_default),
18741         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
18742         (gst_real_pad_dispose), (gst_real_pad_finalize),
18743         (gst_pad_load_and_link), (gst_pad_save_thyself),
18744         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
18745         (gst_pad_check_pull_range), (gst_pad_pull_range),
18746         (gst_pad_template_get_type), (gst_pad_template_class_init),
18747         (gst_pad_template_init), (gst_pad_template_dispose),
18748         (name_is_valid), (gst_static_pad_template_get),
18749         (gst_pad_template_new), (gst_static_pad_template_get_caps),
18750         (gst_pad_template_get_caps), (gst_pad_set_element_private),
18751         (gst_pad_get_element_private), (gst_pad_start_task),
18752         (gst_pad_pause_task), (gst_pad_stop_task),
18753         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
18754         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
18755         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
18756         (gst_ghost_pad_new):
18757         * gst/gstpad.h:
18758         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
18759         (gst_query_new_position), (gst_query_set_position),
18760         (gst_query_parse_position), (gst_query_new_convert),
18761         (gst_query_set_convert), (gst_query_parse_convert):
18762         * gst/gstquery.h:
18763         * gst/gstqueryutils.c:
18764         * gst/gstqueryutils.h:
18765         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
18766         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
18767         (gst_queue_handle_src_query):
18768         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18769         (gst_element_query_position), (gst_element_query_convert),
18770         (intersect_caps_func), (gst_pad_query_position),
18771         (gst_pad_query_convert):
18772         * gst/gstutils.h:
18773         * tools/gst-inspect.c: (print_pad_info):
18774         * tools/gst-xmlinspect.c: (print_element_info):
18775         Remove old query functions. Ported old code.
18776         Added position/convert helper functions to gstutils.
18777         Reordered gstpad.c code, grouping relevant things.
18778         Remove gst_message_new(), always need to speficy a specific
18779         message.
18780
18781
18782 2005-05-09  Andy Wingo  <wingo@pobox.com>
18783
18784         * gst/gstiterator.h: Add some includes.
18785
18786         * gst/gstqueryutils.h: Include more headers.
18787
18788         * gst/gstpad.h:
18789         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
18790         some uses of gst_pad_query.
18791
18792         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
18793         NULL out parameters.
18794         (gst_query_new_position): New proc, allocates a new position
18795         query.
18796
18797         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
18798         gstqueryutils.c to the build.
18799
18800         * gst/gststructure.c (gst_structure_set_valist): Implement with
18801         the generic G_VALUE_COLLECT.
18802         
18803 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
18804
18805         * gst/Makefile.am: (gst_headers):
18806         Added gstqueryutils.h to the list of headers to install, that was
18807         a 'nachty' move wingo :)
18808
18809 2005-05-06  Andy Wingo  <wingo@pobox.com>
18810
18811         * gst/gstquery.h
18812         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
18813         GstData, init a memchunk.
18814         (standard_definitions): Add a few query types, deprecate a few.
18815         (gst_query_get_type): New proc.
18816         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
18817         implementation.
18818         (gst_query_new_application, gst_query_get_structure): New public
18819         procs.
18820
18821         * docs/design/draft-query.txt: Removed LINKS from the query types,
18822         because all the rest can be dispatched to other pads -- seemed
18823         ugly to have a query that couldn't be dispatched. internal_links
18824         is fine as a pad method.
18825
18826         * gst/gstpad.h: Add query2 as a pad method, add the new functions
18827         in gstpad.c, but maintain binary compatibility for the moment.
18828         Will fix before 0.9 is out.
18829
18830         * gst/gstqueryutils.c: 
18831         * gst/gstqueryutils.h: New files, implement 3 methods for each
18832         query type: parse_query, parse_response, and set. Probably need an
18833         allocator as well.
18834
18835         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
18836
18837         * gst/elements/gstfilesink.c (gst_filesink_query2):
18838         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
18839         query_types, and formats methods.
18840
18841         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
18842         (gst_pad_set_query2_function): New functions.
18843         (gst_real_pad_init): Set query2_default as the default query2
18844         function. Basically just dispatches to internally linked pads.
18845
18846         Needs review!
18847         
18848         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
18849         without using the atomic operations. Only one thread can possibly
18850         be accessing the data at this point. Changed so as to avoid
18851         gst_atomic operations.
18852
18853 2005-05-06  Wim Taymans  <wim@fluendo.com>
18854
18855         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
18856         Also set caps if we use the fallback buffer alloc.
18857
18858 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
18859
18860         * docs/gst/Makefile.am:
18861         * docs/gst/gstreamer-docs.sgml:
18862         * docs/gst/gstreamer-sections.txt:
18863         * docs/gst/tmpl/gstatomic.sgml:
18864         * docs/gst/tmpl/gstmemchunk.sgml:
18865         * testsuite/elements/struct_i386.h:
18866         * win32/GStreamer.vcproj:
18867         * win32/Makefile:
18868           Purge GstAtomic stuff from docs and win32 makefiles as well
18869
18870 2005-05-06  Wim Taymans  <wim@fluendo.com>
18871
18872         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
18873         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
18874         * gst/gstpad.c: (gst_pad_peer_get_caps):
18875         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
18876         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
18877         (gst_queue_src_activate), (gst_queue_change_state):
18878         * gst/gstqueue.h:
18879         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18880         (intersect_caps_func):
18881         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
18882         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
18883         Some fixes for the peer_get_caps() change.
18884
18885 2005-05-06  Wim Taymans  <wim@fluendo.com>
18886
18887         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
18888         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
18889         (gst_basesink_activate):
18890         Actually do something with error codes returned from the push
18891         functions.
18892
18893 2005-05-06  Wim Taymans  <wim@fluendo.com>
18894
18895         * docs/design/part-element-sink.txt:
18896         * docs/design/part-element-source.txt:
18897         * gst/base/gstbasesink.c: (gst_basesink_class_init),
18898         (gst_basesink_event), (gst_basesink_activate):
18899         * gst/base/gstbasesink.h:
18900         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
18901         (gst_basesrc_activate):
18902         * gst/base/gstbasesrc.h:
18903         * gst/gstelement.c: (gst_element_pads_activate):
18904         Some more documentation.
18905         Fixed scheduling decision in _pads_activate().
18906
18907 2005-05-05  Andy Wingo  <wingo@pobox.com>
18908
18909         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
18910         the test suite.
18911
18912 2005-05-05  Wim Taymans  <wim@fluendo.com>
18913
18914         * gst/base/Makefile.am:
18915         * gst/base/gstbasesink.h:
18916         * gst/base/gstbasesrc.c: (gst_basesrc_init),
18917         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
18918         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
18919         (gst_collectpads_class_init), (gst_collectpads_init),
18920         (gst_collectpads_finalize), (gst_collectpads_new),
18921         (gst_collectpads_set_function), (gst_collectpads_add_pad),
18922         (find_pad), (gst_collectpads_remove_pad),
18923         (gst_collectpads_is_active), (gst_collectpads_collect),
18924         (gst_collectpads_collect_range), (gst_collectpads_start),
18925         (gst_collectpads_stop), (gst_collectpads_peek),
18926         (gst_collectpads_pop), (gst_collectpads_available),
18927         (gst_collectpads_read), (gst_collectpads_flush),
18928         (gst_collectpads_chain):
18929         * gst/base/gstcollectpads.h:
18930         * gst/elements/Makefile.am:
18931         * gst/elements/gstelements.c:
18932         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
18933         (gst_fakesink_get_times), (gst_fakesink_event),
18934         (gst_fakesink_preroll), (gst_fakesink_render):
18935         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
18936         (gst_filesink_init), (gst_filesink_set_location),
18937         (gst_filesink_open_file), (gst_filesink_close_file),
18938         (gst_filesink_pad_query), (gst_filesink_event),
18939         (gst_filesink_render), (gst_filesink_change_state):
18940         * gst/elements/gstfilesink.h:
18941         Added object to help in making collect pad based elements.
18942         Ported filesink.
18943         Make event function in sink baseclass return gboolean.
18944
18945 2005-05-05  Wim Taymans  <wim@fluendo.com>
18946
18947         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
18948         (gst_bin_get_by_name):
18949         * gst/gstbuffer.h:
18950         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
18951         (gst_clock_finalize):
18952         * gst/gstdata.c: (gst_data_replace):
18953         * gst/gstdata.h:
18954         * gst/gstelement.c: (gst_element_request_pad),
18955         (gst_element_pads_activate):
18956         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
18957         (gst_object_unref):
18958         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18959         (gst_pad_set_checkgetrange_function),
18960         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
18961         (gst_pad_check_pull_range), (gst_pad_pull_range),
18962         (gst_static_pad_template_get_caps), (gst_pad_start_task),
18963         (gst_pad_pause_task), (gst_pad_stop_task):
18964         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18965         (gst_element_request_pad), (gst_pad_proxy_getcaps):
18966         Fix name lookup in GstBin.
18967         Added _data_replace() function and _buffer_replace()
18968         Use finalize method to clean up clock.
18969         Fix refcounting on request pads.
18970         Fix pad schedule mode error.
18971         Some more object refcounting debug info,
18972
18973
18974 2005-05-04  Andy Wingo <wingo@pobox.com>
18975
18976         * check/Makefile.am:
18977         * docs/gst/tmpl/gstatomic.sgml:
18978         * docs/gst/tmpl/gstplugin.sgml:
18979         * gst/base/gstbasesink.c: (gst_basesink_activate):
18980         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
18981         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
18982         (gst_basesrc_query), (gst_basesrc_set_property),
18983         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
18984         (gst_basesrc_activate):
18985         * gst/base/gstbasesrc.h:
18986         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
18987         (gst_base_transform_src_activate):
18988         * gst/elements/gstelements.c:
18989         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18990         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
18991         * gst/elements/gsttee.c: (gst_tee_sink_activate):
18992         * gst/elements/gsttypefindelement.c: (find_element_get_length),
18993         (gst_type_find_element_checkgetrange),
18994         (gst_type_find_element_activate):
18995         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
18996         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
18997         (gst_caps_load_thyself):
18998         * gst/gstelement.c: (gst_element_pads_activate),
18999         (gst_element_save_thyself), (gst_element_restore_thyself):
19000         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
19001         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
19002         * gst/gstpad.h:
19003         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
19004         (gst_xml_parse_file), (gst_xml_parse_memory),
19005         (gst_xml_get_element), (gst_xml_make_element):
19006         * gst/indexers/gstfileindex.c: (gst_file_index_load),
19007         (_file_index_id_save_xml), (gst_file_index_commit):
19008         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
19009         (read_enum), (load_pad_template), (load_feature), (load_plugin),
19010         (load_paths):
19011         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
19012         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
19013         * tools/gst-complete.c: (main):
19014         * tools/gst-compprep.c: (main):
19015         * tools/gst-inspect.c: (print_element_properties_info):
19016         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
19017         * tools/gst-xmlinspect.c: (print_element_properties):
19018         GCC 4 fixen.
19019         
19020 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
19021
19022         * gst/gstplugin.c: (gst_plugin_check_module),
19023         (gst_plugin_check_file), (gst_plugin_load_file):
19024             apply patch from #172526 to make register work on MacOSX
19025
19026 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19027
19028         * docs/gst/tmpl/gstconfig.sgml:
19029         * gst/gstconfig.h.in:
19030           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
19031         * testsuite/debug/printf_extension.c: (main):
19032           Do not use GST_PTR_FORMAT on pointers to types with
19033           sizeof < sizeof(gpointer).  Fixes test on 64-bit
19034         * testsuite/elements/property.h:
19035           use correct printf format
19036
19037 2005-05-02  Wim Taymans  <wim@fluendo.com>
19038
19039         * docs/design/draft-push-pull.txt:
19040         * docs/design/draft-query.txt:
19041         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
19042         (gst_basesrc_start):
19043         Added draft for new query API.
19044         Added draft for better selecting scheduling methods.
19045         Make basesrc ignore length if the subclass does not support
19046         it.
19047
19048 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19049
19050         * gst/Makefile.am:
19051           possible fixes for automake-1.5 - _LIBADD is reserved
19052
19053 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19054
19055         * docs/faq/Makefile.am:
19056         * docs/manual/Makefile.am:
19057         * docs/manuals.mak:
19058         * docs/pwg/Makefile.am:
19059         * gst/Makefile.am:
19060           possible fixes for automake-1.5
19061
19062 2005-04-28  Wim Taymans  <wim@fluendo.com>
19063
19064         * gst/base/gstbasesink.c: (gst_basesink_base_init),
19065         (gst_basesink_pad_getcaps), (gst_basesink_init),
19066         (gst_basesink_do_sync):
19067         * gst/gstclock.c: (gst_clock_entry_new):
19068         * gst/gstevent.c: (gst_event_discont_get_value):
19069         * gst/gstpipeline.c: (pipeline_bus_handler),
19070         (gst_pipeline_change_state):
19071         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
19072         Better debugging of clocking info.
19073         Allow NULL values when getting discont values.
19074
19075 2005-04-27  Wim Taymans  <wim@fluendo.com>
19076
19077         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
19078         * check/gst/gstpad.c: (gst_pad_suite):
19079         Increase timeout for checks.
19080
19081 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19082
19083         * check/Makefile.am:
19084           fix the broken rule for cleanup.  Apparently this rule is
19085           only needed on FC2, so maybe this warrants further autotool
19086           inspection.
19087
19088 2005-04-26  Wim Taymans  <wim@fluendo.com>
19089
19090         * gst/gsttrashstack.h:
19091         Ooohh. a nasty one! After having a failed pop() from the stack,
19092         it's possible that the stack is empty. In that case, don't
19093         follow the NULL pointer.
19094
19095 2005-04-25  Wim Taymans  <wim@fluendo.com>
19096
19097         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19098         (gst_pad_set_checkgetrange_function),
19099         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
19100         (gst_pad_check_pull_range), (gst_pad_pull_range),
19101         (gst_static_pad_template_get_caps), (gst_pad_start_task),
19102         (gst_pad_pause_task), (gst_pad_stop_task):
19103         * gst/gstplugin.c: (gst_plugin_load):
19104         * gst/gstplugin.h:
19105         Remove gst_library_load as it does more harm than good with
19106         the new g_module flags.
19107         Revert bogus caps template check in pad linking, pad caps
19108         are important when linking not the template, which is more
19109         general than the current caps.
19110
19111 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19112
19113         * gst/autoplug/.cvsignore:
19114         * gst/autoplug/Makefile.am:
19115         * gst/autoplug/gstsearchfuncs.c:
19116         * gst/autoplug/gstsearchfuncs.h:
19117         * gst/autoplug/gstspider.c:
19118         * gst/autoplug/gstspider.h:
19119         * gst/autoplug/gstspideridentity.c:
19120         * gst/autoplug/gstspideridentity.h:
19121         * gst/autoplug/spidertest.c:
19122           Die, spider, die.
19123
19124 2005-04-25  Wim Taymans  <wim@fluendo.com>
19125
19126         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19127         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
19128         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
19129         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
19130         * gst/gstpad.h:
19131         Added stubs for unimplemented functions. 
19132
19133 2005-04-24  David Schleef  <ds@schleef.org>
19134
19135         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
19136         please fix.
19137
19138 2005-04-24  David Schleef  <ds@schleef.org>
19139
19140         Convert everything from GstAtomicInt to g_atomic_int_*, and
19141         remove gstatomic.
19142         * gst/Makefile.am:
19143         * gst/gstatomic.c:
19144         * gst/gstatomic.h:
19145         * gst/gstatomic_impl.h:
19146         * gst/gstbuffer.c:
19147         * gst/gstcaps.c:
19148         * gst/gstcaps.h:
19149         * gst/gstclock.c:
19150         * gst/gstclock.h:
19151         * gst/gstdata.c:
19152         * gst/gstdata.h:
19153         * gst/gstdata_private.h:
19154         * gst/gstevent.c:
19155         * gst/gstinfo.c:
19156         * gst/gstinfo.h:
19157         * gst/gstmessage.c:
19158         * gst/gstobject.c:
19159         * gst/gstobject.h:
19160         * gst/gststructure.c:
19161         * gst/gststructure.h:
19162         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
19163         * gst/gstutils.h:
19164
19165 2005-04-24  David Schleef  <ds@schleef.org>
19166
19167         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
19168         make the regressions tests work.  Remove some code that is no
19169         longer true.
19170         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
19171         Disable warning for pads without templates.
19172
19173 2005-04-24  David Schleef  <ds@schleef.org>
19174
19175         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
19176         functions that handle filtered links.
19177         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
19178         removed functions.
19179         * gst/gstutils.c: Fix/remove utility functions that handle
19180         filtered caps.
19181         * gst/gstutils.h:
19182         * gst/gstvalue.c: Add serialization/deserialization of caps
19183         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
19184         requires fixing so that the filter caps notation creates
19185         a capsfilter element and sets the filter_caps property.  I
19186         think everyone probably wants to keep the shorthand notation.
19187         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
19188         * docs/gst/tmpl/gstpad.sgml:
19189
19190         * gst/elements/gstelements.c: Register capsfilter element.
19191         * gst/Makefile.am: fix spacing
19192         * docs/random/ds/0.9-suggested-changes: random
19193
19194 2005-04-23  David Schleef  <ds@schleef.org>
19195
19196         * gst/elements/Makefile.am:
19197         * gst/elements/gstcapsfilter.c: New element that acts like an
19198         identity, but filters caps.  Will eventually replace filtered
19199         caps in pad linking.
19200         * gst/gstutils.c: (gst_element_create_all_pads): New function
19201         to create all the ALWAYS pads that are registered with an
19202         element class.  This functionality should eventually be
19203         merged in with GstElement initialization.
19204         * gst/gstutils.h:
19205         * testsuite/trigger/README: part of trigger test code that should
19206         have been checked in a long time ago.
19207
19208 2005-04-23  David Schleef  <ds@schleef.org>
19209
19210         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
19211         needed with new versions of libtool (nobody will confirm this),
19212         and hard to carry around.
19213         * gst/autoplug/Makefile.am:
19214         * gst/base/Makefile.am:
19215         * gst/elements/Makefile.am:
19216         * gst/indexers/Makefile.am:
19217         * gst/schedulers/Makefile.am:
19218         * libs/gst/bytestream/Makefile.am:
19219         * libs/gst/control/Makefile.am:
19220         * libs/gst/dataprotocol/Makefile.am:
19221         * libs/gst/getbits/Makefile.am:
19222
19223 2005-04-21  Wim Taymans  <wim@fluendo.com>
19224
19225         * docs/design/draft-push-pull.txt:
19226         * docs/design/part-MT-refcounting.txt:
19227         * docs/design/part-TODO.txt:
19228         * docs/design/part-caps.txt:
19229         * docs/design/part-events.txt:
19230         * docs/design/part-gstbus.txt:
19231         * docs/design/part-gstpipeline.txt:
19232         * docs/design/part-messages.txt:
19233         * docs/design/part-push-pull.txt:
19234         * docs/design/part-query.txt:
19235         Some more docs.
19236
19237 2005-04-21  Wim Taymans  <wim@fluendo.com>
19238
19239         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
19240         (gst_message_new), (gst_message_new_error),
19241         (gst_message_new_warning), (gst_message_new_tag),
19242         (gst_message_new_state_changed), (gst_message_new_application),
19243         (gst_message_get_structure):
19244         * gst/gstmessage.h:
19245         * gst/gststructure.c: (gst_structure_set_parent_refcount),
19246         (gst_structure_copy_conditional):
19247         Use parent refcount in GstMessage to ensure GstStructure
19248         consistency.
19249         Cleaned up headers a bit.
19250         
19251
19252 2005-04-20  Wim Taymans  <wim@fluendo.com>
19253
19254         * gst/base/gstbasesink.c: (gst_basesink_base_init),
19255         (gst_basesink_pad_getcaps), (gst_basesink_init),
19256         (gst_basesink_chain_unlocked):
19257         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
19258         (gst_type_find_helper):
19259         * gst/elements/gsttypefindelement.c:
19260         (gst_type_find_element_have_type), (gst_type_find_element_init),
19261         (stop_typefinding), (gst_type_find_element_handle_event),
19262         (find_suggest), (gst_type_find_element_chain),
19263         (gst_type_find_element_checkgetrange),
19264         (gst_type_find_element_getrange), (do_typefind),
19265         (gst_type_find_element_activate):
19266         * gst/gstbuffer.c: (_gst_buffer_sub_free),
19267         (gst_buffer_default_free), (gst_buffer_default_copy),
19268         (gst_buffer_set_caps):
19269         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
19270         (gst_caps_replace):
19271         * gst/gstmessage.c: (gst_message_new),
19272         (gst_message_new_state_changed):
19273         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19274         (gst_pad_set_checkgetrange_function),
19275         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
19276         (gst_pad_set_caps), (gst_pad_check_pull_range),
19277         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
19278         * gst/gstpad.h:
19279         * gst/gsttypefind.c: (gst_type_find_register):
19280         Make gst_caps_replace() work like other _replace() functions.
19281         Use _caps_replace() where possible.
19282         Make sure _message_new() initialises its field.
19283         Add gst_static_pad_template_get_caps()
19284
19285
19286 2005-04-18  Andy Wingo  <wingo@pobox.com>
19287
19288         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
19289         on the peer, not the pad. I think that was a typo. Pass an extra
19290         arg to see if random access is possible. Activate the pads as
19291         PULL_RANGE if possible.
19292
19293         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
19294
19295         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
19296         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
19297         to PROP_....
19298
19299 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19300
19301         * docs/faq/using.xml:
19302           Add note on gstreamer-properties (#154996).
19303
19304 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19305
19306         * docs/random/bbb/optional-properties:
19307           Some analysis on optional properties.
19308
19309 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19310
19311         * docs/gst/tmpl/gstelementfactory.sgml:
19312         * gst/gstelement.h:
19313         * gst/gstelementfactory.c: (gst_element_factory_init),
19314         (gst_element_factory_cleanup), (gst_element_register),
19315         (__gst_element_factory_add_static_pad_template),
19316         (gst_element_factory_get_static_pad_templates),
19317         (gst_element_factory_can_src_caps),
19318         (gst_element_factory_can_sink_caps):
19319         * gst/registries/Makefile.am:
19320         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
19321         (gst_xml_registry_class_init), (gst_xml_registry_init),
19322         (gst_xml_registry_new), (gst_xml_registry_set_property),
19323         (gst_xml_registry_get_property), (get_time), (make_dir),
19324         (gst_xml_registry_get_perms_func),
19325         (plugin_times_older_than_recurse), (plugin_times_older_than),
19326         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
19327         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
19328         (add_to_char_array), (read_string), (read_uint), (read_enum),
19329         (load_pad_template), (load_feature), (load_plugin), (load_paths),
19330         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
19331         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
19332         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
19333         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
19334         (gst_xml_registry_rebuild):
19335         * gst/registries/gstlibxmlregistry.h:
19336         * tools/gst-compprep.c: (main):
19337         * tools/gst-inspect.c: (print_pad_templates_info):
19338         * tools/gst-xmlinspect.c: (print_element_info):
19339           Use libxml2 for registry parsing, use staticpadtemplates in
19340           elementfactories. Makes gst_init() +/- 10x faster.
19341
19342 2005-04-12  Wim Taymans  <wim@fluendo.com>
19343
19344         * gst/base/Makefile.am:
19345         * gst/base/gstbasesink.c: (gst_basesink_base_init),
19346         (gst_basesink_pad_getcaps), (gst_basesink_init),
19347         (gst_basesink_event), (gst_basesink_change_state):
19348         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
19349         (gst_basesrc_init), (gst_basesrc_query),
19350         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
19351         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
19352         (gst_basesrc_check_get_range), (gst_basesrc_loop),
19353         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
19354         (gst_basesrc_stop), (gst_basesrc_activate),
19355         (gst_basesrc_change_state):
19356         * gst/base/gsttypefindhelper.c: (helper_find_peek),
19357         (helper_find_suggest), (gst_type_find_helper):
19358         * gst/base/gsttypefindhelper.h:
19359         * gst/elements/Makefile.am:
19360         * gst/elements/gstelements.c:
19361         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
19362         (gst_fakesink_get_times), (gst_fakesink_event),
19363         (gst_fakesink_preroll), (gst_fakesink_render):
19364         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19365         (gst_fakesrc_init), (gst_fakesrc_event_handler),
19366         (gst_fakesrc_get_property), (gst_fakesrc_create),
19367         (gst_fakesrc_start), (gst_fakesrc_stop):
19368         * gst/elements/gstfakesrc.h:
19369         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
19370         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
19371         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
19372         (gst_filesrc_create_read), (gst_filesrc_create),
19373         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
19374         (gst_filesrc_start):
19375         * gst/elements/gsttypefindelement.c:
19376         (gst_type_find_element_have_type), (gst_type_find_element_init),
19377         (start_typefinding), (stop_typefinding), (push_buffer_store),
19378         (gst_type_find_element_handle_event),
19379         (gst_type_find_element_chain),
19380         (gst_type_find_element_checkgetrange),
19381         (gst_type_find_element_getrange), (do_typefind),
19382         (gst_type_find_element_activate),
19383         (gst_type_find_element_change_state):
19384         * gst/elements/gsttypefindelement.h:
19385         * gst/gstpipeline.c: (pipeline_bus_handler):
19386         Added typefind helper.
19387         Small preroll fix in the base sink.
19388         Disable typefind code in basesrc.
19389         Crude port of typefindelement.
19390         Fakesrc cleanups.
19391
19392
19393 2005-04-11  Wim Taymans  <wim@fluendo.com>
19394
19395         * check/gst/gstbus.c: (gstbus_suite):
19396         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
19397         * check/gstcheck.h:
19398           Fix up the timeout so that the test does not fail.
19399
19400 2005-04-06  Wim Taymans  <wim@fluendo.com>
19401
19402         * gst/base/README:
19403         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
19404         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
19405         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
19406         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
19407         (gst_basesrc_check_get_range), (gst_basesrc_loop),
19408         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
19409         (gst_basesrc_stop), (gst_basesrc_activate),
19410         (gst_basesrc_change_state), (basesrc_find_peek),
19411         (basesrc_find_suggest), (gst_basesrc_type_find):
19412         * gst/base/gstbasesrc.h:
19413         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
19414         (gst_filesrc_class_init), (gst_filesrc_init),
19415         (gst_filesrc_finalize), (gst_filesrc_set_location),
19416         (gst_filesrc_set_property), (gst_filesrc_get_property),
19417         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
19418         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
19419         (gst_filesrc_create_read), (gst_filesrc_create),
19420         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
19421         * gst/elements/gstfilesrc.h:
19422         * gst/gstelement.c: (gst_element_get_state_func),
19423         (gst_element_lost_state), (gst_element_pads_activate):
19424         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19425         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
19426         (gst_pad_pull_range):
19427         * gst/gstpad.h:
19428         More work on the generic source base class, implement seeking,
19429         query.
19430         Make filesrc extend the base source class.
19431         Added gst_pad_set_checkgetrange_function to GstPad.
19432
19433 2005-04-06  Andy Wingo  <wingo@pobox.com>
19434
19435         * pkgconfig/gstreamer-base.pc.in:
19436         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
19437
19438         * pkgconfig/Makefile.am:
19439         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
19440
19441 2005-04-04  Wim Taymans  <wim@fluendo.com>
19442
19443         * gst/base/Makefile.am:
19444         * gst/base/README:
19445         * gst/base/gstbasesink.c: (gst_basesink_base_init),
19446         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
19447         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
19448         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
19449         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
19450         (gst_basesrc_base_init), (gst_basesrc_class_init),
19451         (gst_basesrc_init), (gst_basesrc_get_formats),
19452         (gst_basesrc_get_query_types), (gst_basesrc_query),
19453         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
19454         (gst_basesrc_set_property), (gst_basesrc_get_property),
19455         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
19456         (gst_basesrc_loop), (gst_basesrc_activate),
19457         (gst_basesrc_change_state):
19458         * gst/base/gstbasesrc.h:
19459         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
19460         (gst_fakesrc_class_init), (gst_fakesrc_init),
19461         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
19462         (gst_fakesrc_get_property), (gst_fakesrc_create):
19463         * gst/elements/gstfakesrc.h:
19464         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
19465         (gst_filesrc_open_file), (gst_filesrc_loop),
19466         (gst_filesrc_activate), (filesrc_find_peek),
19467         (gst_filesrc_type_find):
19468         Made base source class, make fakesrc extend it.
19469         Add comments to basesink class.
19470         Some filesrc cleanup.
19471
19472 2005-03-31  David Schleef  <ds@schleef.org>
19473
19474         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
19475         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
19476         expected to link against libgstreamer.
19477         * gst/base/Makefile.am: link against libgstreamer
19478         * gst/elements/Makefile.am: same
19479
19480 2005-03-31  Andy Wingo  <wingo@pobox.com>
19481
19482         * tests/instantiate/Makefile.am:
19483         * tests/instantiate/caps.c: Add test to test speed of caps copy
19484         and free.
19485
19486         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
19487         GMemChunk to be fair.
19488
19489         * gst/gsttrashstack.h: Remove warning about using the fallback
19490         trash stack implementation, it's still faster than malloc.
19491
19492 2005-03-30  Andy Wingo  <wingo@pobox.com>
19493
19494         * tests/complexity.c: Add a copyright.
19495
19496 2005-03-31  Wim Taymans  <wim@fluendo.com>
19497
19498         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
19499         (gst_base_transform_class_init), (gst_base_transform_init),
19500         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
19501         (gst_base_transform_get_property),
19502         (gst_base_transform_sink_activate),
19503         (gst_base_transform_src_activate),
19504         (gst_base_transform_change_state):
19505         * gst/base/gstbasetransform.h:
19506         * gst/elements/gstidentity.c: (gst_identity_class_init),
19507         (gst_identity_event), (gst_identity_check_perfect),
19508         (gst_identity_transform), (gst_identity_start),
19509         (gst_identity_stop):
19510         Added start/stop methods to transform base class so subclasses 
19511         don't need to deal with state changes even.
19512
19513 2005-03-31  Wim Taymans  <wim@fluendo.com>
19514
19515         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
19516         (gst_event_new_discontinuous), (gst_event_discont_get_value):
19517         * gst/gstevent.h:
19518         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19519         (gst_pad_pull_range):
19520         Added rate to the discont event to prepare for variable speed
19521         and reverse playback.
19522
19523 2005-03-29  David Schleef  <ds@schleef.org>
19524
19525         * configure.ac:
19526         * testsuite/trigger/Makefile.am:
19527         * testsuite/trigger/trigger.c: A little example program to show
19528         how trigger-based elements can work.
19529
19530 2005-03-29  Wim Taymans  <wim@fluendo.com>
19531
19532         * gst/base/Makefile.am:
19533         * gst/base/README:
19534         * gst/base/gstbasesink.c: (gst_basesink_get_type),
19535         (gst_basesink_base_init), (gst_basesink_class_init),
19536         (gst_basesink_pad_getcaps), (gst_basesink_init),
19537         (gst_basesink_activate), (gst_basesink_change_state):
19538         * gst/base/gstbasesink.h:
19539         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
19540         (gst_base_transform_base_init), (gst_base_transform_finalize),
19541         (gst_base_transform_class_init), (gst_base_transform_init),
19542         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
19543         (gst_base_transform_event), (gst_base_transform_getrange),
19544         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
19545         (gst_base_transform_set_property),
19546         (gst_base_transform_get_property),
19547         (gst_base_transform_sink_activate),
19548         (gst_base_transform_src_activate),
19549         (gst_base_transform_change_state):
19550         * gst/base/gstbasetransform.h:
19551         * gst/elements/gstidentity.c: (gst_identity_finalize),
19552         (gst_identity_class_init), (gst_identity_init),
19553         (gst_identity_event), (gst_identity_check_perfect),
19554         (gst_identity_transform), (gst_identity_set_property),
19555         (gst_identity_get_property), (gst_identity_change_state):
19556         * gst/elements/gstidentity.h:
19557         * gst/gstelement.c: (gst_element_get_state_func),
19558         (gst_element_lost_state), (gst_element_pads_activate):
19559         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19560         (gst_pad_check_pull_range), (gst_pad_pull_range):
19561         * gst/gstpad.h:
19562         Simplify pad activation.
19563         Added function to check if pull_range can be performed.
19564         Error out when pulling inactive or flushing pads.
19565         Removed const from refcounted types as it does not make sense.
19566         Simplify pad templates in basesink
19567         Added base class for simple 1-to-1 transforms.
19568         Make identity subclass the base transform.
19569
19570 2005-03-29  Andy Wingo  <wingo@pobox.com>
19571
19572         * docs/libs/gstreamer-libs-overrides.txt: 
19573         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
19574         really don't understand what's going on, but like whatever. I want
19575         green buildbot!
19576
19577         * docs/gst/Makefile.am:
19578         * docs/libs/Makefile.am: Dist the overrides files.
19579
19580         * check/Makefile.am (clean-local): Remove .libs directories.
19581
19582         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
19583         elements to EXTRA_DIST, so po/ files are happy.
19584
19585         * po/POTFILES.in: Er, remove it here.
19586
19587         * po/POTFILES: Remove gstspider.c.
19588
19589         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
19590
19591         * docs/libs/gstreamer-libs-docs.sgml: 
19592         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
19593         bytestream.
19594
19595         * tests/complexity.c (main): Set the length of the preroll queue
19596         on the sinks to prevent a lockup.
19597
19598         * libs/gst/dataprotocol/Makefile.am: 
19599         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
19600         the same as the one in check/gst-libs/gdp.c.
19601
19602         * po/, docs/gst/: Commit automatic changes to docs and po files.
19603
19604         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
19605         the versioned libgstbase.
19606
19607         * check/Makefile.am: Depend on an unversioned gst-register, seems
19608         to make autoconf happier.
19609
19610         * gst/base/Makefile.am: Make libgstbase a versioned lib.
19611
19612 2005-03-28  Wim Taymans  <wim@fluendo.com>
19613
19614         * configure.ac:
19615         * docs/design/part-gstelement.txt:
19616         * docs/design/part-negotiation.txt:
19617         * docs/design/part-preroll.txt:
19618         * docs/design/part-scheduling.txt:
19619         * docs/design/part-states.txt:
19620         * gst/Makefile.am:
19621         * gst/base/Makefile.am:
19622         * gst/base/README:
19623         * gst/base/gstbasesink.c: (gst_basesink_get_template),
19624         (gst_basesink_base_init), (gst_basesink_class_init),
19625         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
19626         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
19627         (gst_basesink_set_pad_functions),
19628         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
19629         (gst_basesink_set_property), (gst_basesink_get_property),
19630         (gst_base_sink_get_template), (gst_base_sink_get_caps),
19631         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
19632         (gst_basesink_preroll_queue_push),
19633         (gst_basesink_preroll_queue_empty),
19634         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
19635         (gst_basesink_event), (gst_basesink_get_times),
19636         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
19637         (gst_basesink_chain_unlocked), (gst_basesink_chain),
19638         (gst_basesink_loop), (gst_basesink_activate),
19639         (gst_basesink_change_state):
19640         * gst/base/gstbasesink.h:
19641         * gst/elements/Makefile.am:
19642         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
19643         (gst_fakesink_class_init), (gst_fakesink_init),
19644         (gst_fakesink_set_property), (gst_fakesink_get_property),
19645         (gst_fakesink_get_times), (gst_fakesink_event),
19646         (gst_fakesink_preroll), (gst_fakesink_render),
19647         (gst_fakesink_change_state):
19648         * gst/elements/gstfakesink.h:
19649         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
19650         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
19651         * gst/gstelement.c: (gst_element_add_pad),
19652         (gst_element_get_state_func), (gst_element_abort_state),
19653         (gst_element_commit_state), (gst_element_lost_state),
19654         (gst_element_set_state), (gst_element_pads_activate):
19655         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
19656         * gst/gstpipeline.c: (gst_pipeline_send_event),
19657         (gst_pipeline_change_state):
19658         Added state change code.
19659         Added/updated docs.
19660         Added sink base class, make fakesink extend the base class.
19661         Small cleanups in GstPipeline.
19662
19663 2005-03-26  David Schleef  <ds@schleef.org>
19664
19665         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
19666         is broken and should be implemented in a different library.
19667         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
19668         * gst/gst.h: remove gstcpu.h
19669         * gst/gstcpu.c: remove
19670         * gst/gstcpu.h: remove
19671         * gst/Makefile.am.future: Remove this file.  It's ancient.
19672
19673 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19674
19675         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
19676         (gst_bin_send_event):
19677           Add default event/set_manager handlers. The set_manager handler
19678           takes care that the manager is distributed over kids that were
19679           already in the bin before the manager was set. The event handler
19680           is a utility virtual function that sends the event over all sinks,
19681           so that gst_element_send_event (bin, event); has the expected
19682           behaviour.
19683         * gst/gstpad.c: (gst_pad_event_default):
19684           Re-install default event handling for discontinuities, so that
19685           seeking works without requiring hacks in applications or extra
19686           code in sinks.
19687         * gst/gstpipeline.c: (gst_pipeline_class_init),
19688         (gst_pipeline_send_event):
19689           Half hack, half utility: set a pipeline to PAUSED for seek events,
19690           since that is the only way we can guarantee a/v sync. Means that
19691           you can do gst_element_seek (pipeline, method, pos); on a pipeline
19692           and it "just works".
19693
19694 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19695
19696         * gst/gstpipeline.c: (gst_pipeline_use_clock):
19697           Lock/unlock mismatch.
19698
19699 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
19700
19701         * docs/faq/gst-uninstalled:
19702           add gst-plugins-base
19703         * docs/gst/Makefile.am:
19704           don't error out until docs are fixed
19705         * docs/gst/gstreamer.types:
19706           remove thread
19707
19708 2005-03-22  Wim Taymans  <wim@fluendo.com>
19709
19710         * check/Makefile.am:
19711         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
19712         * gst/gststructure.c: (gst_structure_set_valist),
19713         (gst_structure_copy_conditional):
19714         Activated more tests.
19715         Added message test.
19716         Added G_TYPE_POINTER to GstStructure.
19717         
19718
19719 2005-03-22  Wim Taymans  <wim@fluendo.com>
19720
19721         * docs/design/part-TODO.txt:
19722         * docs/design/part-events.txt:
19723         * docs/design/part-gstbin.txt:
19724         * docs/design/part-gstbus.txt:
19725         * docs/design/part-gstpipeline.txt:
19726         * docs/design/part-messages.txt:
19727         * gst/gstbus.c:
19728         * gst/gstmessage.c:
19729         Docs updates
19730
19731 2005-03-21  Wim Taymans  <wim@fluendo.com>
19732
19733         * gst/gstbus.c: (gst_bus_post):
19734         Fix copy-and-paste error.
19735
19736 2005-03-21  Wim Taymans  <wim@fluendo.com>
19737
19738         * check/Makefile.am:
19739         * gst/Makefile.am:
19740         * gst/elements/Makefile.am:
19741         * gst/elements/gstelements.c:
19742         * gst/elements/gstfakesink.c: (gst_fakesink_init),
19743         (gst_fakesink_event), (gst_fakesink_chain):
19744         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19745         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
19746         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
19747         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
19748         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
19749         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
19750         (gst_fakesrc_loop), (gst_fakesrc_activate),
19751         (gst_fakesrc_change_state):
19752         * gst/elements/gstfakesrc.h:
19753         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
19754         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
19755         (gst_filesrc_open_file), (gst_filesrc_loop),
19756         (gst_filesrc_activate), (gst_filesrc_change_state),
19757         (filesrc_find_peek), (filesrc_find_suggest),
19758         (gst_filesrc_type_find):
19759         * gst/elements/gstidentity.c: (gst_identity_finalize),
19760         (gst_identity_class_init), (gst_identity_init),
19761         (gst_identity_proxy_getcaps), (identity_queue_push),
19762         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
19763         (gst_identity_getrange), (gst_identity_chain),
19764         (gst_identity_sink_loop), (gst_identity_src_loop),
19765         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
19766         (gst_identity_set_property), (gst_identity_get_property),
19767         (gst_identity_change_state):
19768         * gst/elements/gstidentity.h:
19769         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
19770         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
19771         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
19772         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
19773         (gst_tee_sink_activate):
19774         * gst/elements/gsttee.h:
19775         * gst/gst.c: (gst_register_core_elements), (init_post):
19776         * gst/gst.h:
19777         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
19778         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
19779         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
19780         (gst_bin_change_state):
19781         * gst/gstbin.h:
19782         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
19783         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
19784         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
19785         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
19786         (gst_bus_set_sync_handler), (gst_bus_create_watch),
19787         (bus_watch_callback), (bus_watch_destroy),
19788         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
19789         (poll_timeout), (gst_bus_poll):
19790         * gst/gstbus.h:
19791         * gst/gstcaps.h:
19792         * gst/gstdata.h:
19793         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
19794         (gst_element_post_message), (gst_element_message_full),
19795         (gst_element_get_state_func), (gst_element_get_state),
19796         (gst_element_abort_state), (gst_element_commit_state),
19797         (gst_element_lost_state), (gst_element_set_state),
19798         (gst_element_pads_activate), (gst_element_change_state),
19799         (gst_element_dispose), (gst_element_set_manager_func),
19800         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
19801         (gst_element_set_manager), (gst_element_get_manager),
19802         (gst_element_set_bus), (gst_element_get_bus),
19803         (gst_element_set_scheduler), (gst_element_get_scheduler):
19804         * gst/gstelement.h:
19805         * gst/gstevent.c: (gst_event_new_segment_seek),
19806         (gst_event_new_flush):
19807         * gst/gstevent.h:
19808         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
19809         (_gst_message_free), (gst_message_get_type), (gst_message_new),
19810         (gst_message_new_eos), (gst_message_new_error),
19811         (gst_message_new_warning), (gst_message_new_tag),
19812         (gst_message_new_state_changed), (gst_message_new_application),
19813         (gst_message_get_structure), (gst_message_parse_tag),
19814         (gst_message_parse_state_changed), (gst_message_parse_error),
19815         (gst_message_parse_warning):
19816         * gst/gstmessage.h:
19817         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
19818         (gst_real_pad_set_property), (gst_pad_set_active),
19819         (gst_pad_is_active), (gst_pad_set_blocked_async),
19820         (gst_pad_set_blocked), (gst_pad_is_blocked),
19821         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
19822         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
19823         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
19824         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
19825         (gst_pad_link_filtered), (gst_pad_relink_filtered),
19826         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
19827         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
19828         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
19829         (gst_pad_set_caps), (gst_pad_configure_sink),
19830         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
19831         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
19832         (gst_real_pad_dispose), (gst_real_pad_finalize),
19833         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
19834         (gst_pad_event_default_dispatch), (gst_pad_event_default),
19835         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
19836         * gst/gstpad.h:
19837         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
19838         (pipeline_bus_handler), (gst_pipeline_change_state),
19839         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
19840         * gst/gstpipeline.h:
19841         * gst/gstprobe.h:
19842         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
19843         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
19844         (gst_queue_link_src), (gst_queue_bufferalloc),
19845         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
19846         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
19847         (gst_queue_loop), (gst_queue_handle_src_event),
19848         (gst_queue_handle_src_query), (gst_queue_src_activate),
19849         (gst_queue_change_state):
19850         * gst/gstqueue.h:
19851         * gst/gstscheduler.c: (gst_scheduler_init),
19852         (gst_scheduler_dispose), (gst_scheduler_create_task),
19853         (gst_scheduler_factory_create):
19854         * gst/gstscheduler.h:
19855         * gst/gststructure.c: (gst_structure_get_type),
19856         (gst_structure_copy_conditional):
19857         * gst/gststructure.h:
19858         * gst/gsttaginterface.h:
19859         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
19860         (gst_task_init), (gst_task_dispose), (gst_task_create),
19861         (gst_task_get_state), (gst_task_start), (gst_task_stop),
19862         (gst_task_pause):
19863         * gst/gsttask.h:
19864         * gst/gstthread.c:
19865         * gst/gstthread.h:
19866         * gst/gsttypes.h:
19867         * gst/schedulers/Makefile.am:
19868         * gst/schedulers/cothreads_compat.h:
19869         * gst/schedulers/entryscheduler.c:
19870         * gst/schedulers/faircothreads.c:
19871         * gst/schedulers/faircothreads.h:
19872         * gst/schedulers/fairscheduler.c:
19873         * gst/schedulers/gstbasicscheduler.c:
19874         * gst/schedulers/gstoptimalscheduler.c:
19875         * gst/schedulers/gthread-cothreads.h:
19876         * gst/schedulers/threadscheduler.c:
19877         (gst_thread_scheduler_task_get_type),
19878         (gst_thread_scheduler_task_class_init),
19879         (gst_thread_scheduler_task_init),
19880         (gst_thread_scheduler_task_start),
19881         (gst_thread_scheduler_task_stop),
19882         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
19883         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
19884         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
19885         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
19886         (plugin_init):
19887         * libs/gst/Makefile.am:
19888         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
19889         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
19890         (gst_file_pad_parent_set):
19891         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
19892         (gst_dp_event_from_packet):
19893         * tests/complexity.c: (main):
19894         * tests/mass_elements.c: (main):
19895         * testsuite/states/locked.c: (message_received), (main):
19896         * testsuite/states/parent.c: (main):
19897         * tools/gst-inspect.c: (print_element_flag_info),
19898         (print_implementation_info), (print_pad_info):
19899         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
19900         (main):
19901         * tools/gst-md5sum.c: (event_loop), (main):
19902         * tools/gst-typefind.c: (main):
19903         * tools/gst-xmlinspect.c: (print_element_info):
19904         Next big merge.
19905         Added GstBus for mainloop integration.
19906         Added GstMessage for sending notifications on the bus.
19907         Added GstTask as an abstraction for pipeline entry points.
19908         Removed GstThread.
19909         Removed Schedulers.
19910         Simplified GstQueue for multithreaded core.
19911         Made _link threadsafe, removed old capsnego.
19912         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
19913         Added pad blocking functions.
19914         Reworked scheduling functions in GstPad to prepare for
19915         scheduling updates soon.
19916         Moved events out of data stream.
19917         Simplified GstEvent types.
19918         Added return values to push/pull.
19919         Removed clocking from GstElement.
19920         Added prototypes for state change function for next merge.
19921         Removed iterate from bins and state change management.
19922         Fixed some elements, disabled others for now.
19923         Fixed -inspect and -launch.
19924         Added check for GstBus.
19925
19926 2005-03-10  Wim Taymans  <wim@fluendo.com>
19927
19928         * docs/design/part-MT-refcounting.txt:
19929         * docs/design/part-clocks.txt:
19930         * docs/design/part-gstelement.txt:
19931         * docs/design/part-gstobject.txt:
19932         * docs/design/part-standards.txt:
19933         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19934         (gst_bin_remove_func), (gst_bin_remove):
19935         * gst/gstbin.h:
19936         * gst/gstbuffer.c:
19937         * gst/gstcaps.h:
19938         * testsuite/clock/clock1.c: (main):
19939         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
19940         (main):
19941         * testsuite/dlopen/loadgst.c: (do_test):
19942         * testsuite/refcounting/bin.c: (add_remove_test1),
19943         (add_remove_test2), (main):
19944         * testsuite/refcounting/element.c: (main):
19945         * testsuite/refcounting/element_pad.c: (main):
19946         * testsuite/refcounting/pad.c: (main):
19947         * tools/gst-launch.c: (sigint_handler_sighandler):
19948         * tools/gst-typefind.c: (main):
19949         Doc updates.
19950         Added doc about clock.
19951         removed gst_bin_iterate_recurse_up(), marked methods
19952         for removal.
19953         Fix more testsuites.
19954
19955 2005-03-09  Wim Taymans  <wim@fluendo.com>
19956
19957         * gst/gstpad.c: (gst_pad_get_direction),
19958         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
19959         (gst_pad_collect_valist):
19960         * testsuite/bins/interface.c: (main):
19961         * testsuite/caps/audioscale.c: (test_caps):
19962         * testsuite/caps/caps.c: (test1), (test2), (test3):
19963         * testsuite/caps/deserialize.c: (main):
19964         * testsuite/caps/enumcaps.c: (main):
19965         * testsuite/caps/filtercaps.c: (main):
19966         * testsuite/caps/intersect2.c: (main):
19967         * testsuite/caps/random.c: (main):
19968         * testsuite/caps/renegotiate.c: (my_fixate), (main):
19969         * testsuite/caps/sets.c: (check_caps):
19970         * testsuite/caps/simplify.c: (check_caps), (main):
19971         * testsuite/caps/subtract.c: (check_caps):
19972         Fix _pad_get_direction wrt ghostpads.
19973         Fix caps testsuite.
19974
19975 2005-03-09  Wim Taymans  <wim@fluendo.com>
19976
19977         * check/Makefile.am:
19978         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
19979         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
19980         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
19981         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
19982         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
19983         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
19984         (gst_bin_remove), (gst_bin_iterate_recurse_up),
19985         (bin_element_is_sink), (gst_bin_iterate_sinks),
19986         (gst_bin_iterate_all_by_interface):
19987         * gst/gstbin.h:
19988         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
19989         (gst_element_change_state), (gst_element_dispose),
19990         (gst_element_finalize), (gst_element_set_loop_function):
19991         * gst/gstelement.h:
19992         * gst/gstiterator.c: (find_custom_fold_func):
19993         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
19994         (gst_pad_collectv), (gst_pad_collect_valist),
19995         (gst_pad_template_new):
19996         * gst/gstpipeline.c: (gst_pipeline_class_init),
19997         (gst_pipeline_dispose), (gst_pipeline_set_property),
19998         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
19999         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
20000         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
20001         * gst/gstutils.h:
20002         * gst/schedulers/entryscheduler.c:
20003         * gst/schedulers/gstbasicscheduler.c:
20004         (gst_basic_scheduler_cothreaded_chain),
20005         (gst_basic_scheduler_chain_add_element):
20006         * testsuite/bins/interface.c: (main):
20007         Added GstBin test.
20008         Added GstSystemClock test.
20009         Implemented clock distribution code in GstBin.
20010         Implemented iterate sinks method for future use.
20011         Rearranged gstelement.h
20012         Fix GstIterator comparison bug.
20013         Moved some code to GstPipeline, mostly clocking related.
20014
20015 2005-03-09  Wim Taymans  <wim@fluendo.com>
20016
20017         * configure.ac:
20018         * gst/gst_private.h:
20019         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
20020         (gst_bin_remove_func), (gst_bin_remove),
20021         (gst_bin_get_by_name_recurse_up):
20022         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
20023         (gst_clock_id_compare_func), (gst_clock_id_wait),
20024         (gst_clock_id_wait_async), (gst_clock_init),
20025         (gst_clock_adjust_unlocked), (gst_clock_get_time):
20026         * gst/gstelement.h:
20027         * gst/gstinfo.c: (_gst_debug_init):
20028         * gst/gstobject.h:
20029         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
20030         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
20031         * gst/gstpad.h:
20032         Bump version number, we're now 0.9.0
20033         Add future debugging category.
20034         Fix NULL _unref() in _get_by_name_recurse_up
20035         Rearrange gstpad.h.
20036         Update some docs.
20037
20038 2005-03-08  Wim Taymans  <wim@fluendo.com>
20039
20040         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
20041         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
20042         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
20043         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
20044         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
20045         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
20046         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
20047         * gst/elements/gstidentity.c: (gst_identity_class_init):
20048         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
20049         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
20050         * gst/elements/gstshaper.c: (gst_shaper_class_init):
20051         * gst/elements/gststatistics.c: (gst_statistics_class_init):
20052         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
20053         (gst_tee_link):
20054         * gst/gstelement.c: (gst_element_class_init),
20055         (gst_element_base_class_init), (gst_element_init),
20056         (gst_element_get_random_pad), (gst_element_wait_state_change),
20057         (gst_element_change_state), (gst_element_dispose),
20058         (gst_element_finalize), (gst_element_set_loop_function):
20059         * gst/gstelement.h:
20060         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
20061         * gst/gstthread.c: (gst_thread_class_init),
20062         (gst_thread_release_children_locks), (gst_thread_change_state):
20063         * gst/schedulers/gstbasicscheduler.c:
20064         (gst_basic_scheduler_loopfunc_wrapper),
20065         (gst_basic_scheduler_chain_wrapper),
20066         (gst_basic_scheduler_src_wrapper),
20067         (gst_basic_scheduler_remove_element):
20068         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
20069         Remove threadsafe properties. Fix elements because GObject
20070         complains when installing a property before declaring a
20071         set/get_property handler.
20072         Rearrange gstelement.h file, use STATE macros for state locks.
20073         Free mutexes in the finalize method instead of dispose.
20074
20075 2005-03-08  Wim Taymans  <wim@fluendo.com>
20076
20077         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
20078         * gst/gstthread.c: (gst_thread_release_children_locks):
20079         Added parentage check.
20080         Fix build og GstThread again.
20081
20082 2005-03-08  Wim Taymans  <wim@fluendo.com>
20083
20084         * docs/design/part-MT-refcounting.txt:
20085         * docs/design/part-conventions.txt:
20086         * docs/design/part-gstobject.txt:
20087         * docs/design/part-relations.txt:
20088         * docs/design/part-standards.txt:
20089         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
20090         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
20091         (gst_bin_get_by_name), (gst_bin_get_by_interface),
20092         (gst_bin_iterate_all_by_interface):
20093         * gst/gstbuffer.h:
20094         * gst/gstclock.h:
20095         * gst/gstelement.c: (gst_element_class_init),
20096         (gst_element_change_state), (gst_element_set_loop_function):
20097         * gst/gstelement.h:
20098         * gst/gstiterator.c:
20099         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
20100         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
20101         (gst_object_dispatch_properties_changed), (gst_object_set_name),
20102         (gst_object_set_parent), (gst_object_unparent),
20103         (gst_object_check_uniqueness):
20104         * gst/gstobject.h:
20105         Docs updates, clean up some headers.
20106
20107 2005-03-07  Wim Taymans  <wim@fluendo.com>
20108
20109         * check/.cvsignore:
20110         * check/Makefile.am:
20111         * check/gst-libs/.cvsignore:
20112         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
20113         * check/gst/.cvsignore:
20114         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
20115         (START_TEST), (gstbus_suite), (main):
20116         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
20117         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
20118         (gst_data_suite), (main):
20119         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
20120         (add_fold_func), (gstiterator_suite), (main):
20121         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
20122         (thread_name_object), (thread_name_object_default),
20123         (gst_object_name_compare), (gst_object_suite), (main):
20124         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
20125         (gst_pad_suite), (main):
20126         * check/gstcheck.c: (gst_check_log_message_func),
20127         (gst_check_log_critical_func), (gst_check_init):
20128         * check/gstcheck.h:
20129         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
20130         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
20131         Added checks.
20132
20133 2005-03-07  Wim Taymans  <wim@fluendo.com>
20134
20135         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
20136         (gst_list_iterator_next), (gst_list_iterator_resync),
20137         (gst_list_iterator_free), (gst_iterator_new_list),
20138         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
20139         (gst_iterator_free), (gst_iterator_push), (filter_next),
20140         (filter_resync), (filter_uninit), (filter_free),
20141         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
20142         (gst_iterator_foreach), (find_custom_fold_func),
20143         (gst_iterator_find_custom):
20144         * gst/gstiterator.h:
20145         Added missing files.
20146
20147 2005-03-07  Wim Taymans  <wim@fluendo.com>
20148
20149         * Makefile.am:
20150         * configure.ac:
20151         * docs/design/part-MT-refcounting.txt:
20152         * docs/design/part-conventions.txt:
20153         * docs/design/part-gstobject.txt:
20154         * docs/design/part-relations.txt:
20155         * examples/mixer/mixer.c: (main):
20156         * examples/thread/thread.c: (eos), (main):
20157         * gst/Makefile.am:
20158         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
20159         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
20160         (gst_spider_plug_from_srcpad):
20161         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
20162         (gst_spider_identity_change_state),
20163         (gst_spider_identity_sink_loop_type_finding):
20164         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
20165         * gst/elements/gstidentity.c: (gst_identity_init):
20166         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
20167         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
20168         * gst/elements/gsttypefindelement.c: (free_entry):
20169         * gst/gst.c:
20170         * gst/gst.h:
20171         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
20172         (gst_bin_set_clock_func), (gst_bin_auto_clock),
20173         (gst_bin_set_index), (gst_bin_set_element_sched),
20174         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
20175         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
20176         (gst_bin_iterate_elements), (iterate_child_recurse),
20177         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
20178         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
20179         (compare_interface), (gst_bin_get_by_interface),
20180         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
20181         * gst/gstbin.h:
20182         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
20183         (gst_buffer_default_free), (gst_buffer_default_copy),
20184         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
20185         (gst_buffer_create_sub):
20186         * gst/gstbuffer.h:
20187         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
20188         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
20189         (gst_caps_unref), (gst_static_caps_get),
20190         (gst_caps_remove_and_get_structure), (gst_caps_append),
20191         (gst_caps_append_structure), (gst_caps_remove_structure),
20192         (gst_caps_copy_nth), (gst_caps_set_simple),
20193         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
20194         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
20195         (gst_caps_structure_intersect_field), (gst_caps_intersect),
20196         (gst_caps_structure_subtract_field), (gst_caps_subtract),
20197         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
20198         (gst_caps_structure_figure_out_union),
20199         (gst_caps_switch_structures), (gst_caps_do_simplify),
20200         (gst_caps_replace), (gst_caps_from_string),
20201         (gst_caps_copy_conditional):
20202         * gst/gstcaps.h:
20203         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
20204         (_gst_clock_id_free), (gst_clock_id_unref),
20205         (gst_clock_id_compare_func), (gst_clock_id_wait),
20206         (gst_clock_id_wait_async), (gst_clock_class_init),
20207         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
20208         (gst_clock_get_time), (gst_clock_set_time_adjust),
20209         (gst_clock_set_property), (gst_clock_get_property):
20210         * gst/gstclock.h:
20211         * gst/gstcompat.h:
20212         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
20213         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
20214         * gst/gstdata.h:
20215         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
20216         (gst_element_requires_clock), (gst_element_provides_clock),
20217         (gst_element_set_clock), (gst_element_clock_wait),
20218         (gst_element_wait), (gst_element_set_time_delay),
20219         (gst_element_is_indexable), (gst_element_add_pad),
20220         (gst_element_add_ghost_pad), (gst_element_remove_pad),
20221         (pad_compare_name), (gst_element_get_static_pad),
20222         (gst_element_request_pad), (gst_element_get_request_pad),
20223         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
20224         (gst_element_class_get_pad_template_list),
20225         (gst_element_class_get_pad_template), (gst_element_error_func),
20226         (gst_element_get_random_pad), (gst_element_get_event_masks),
20227         (gst_element_send_event), (gst_element_seek),
20228         (gst_element_get_query_types), (gst_element_query),
20229         (gst_element_get_formats), (gst_element_convert),
20230         (gst_element_is_locked_state), (gst_element_set_locked_state),
20231         (gst_element_sync_state_with_parent), (gst_element_change_state),
20232         (gst_element_finalize), (gst_element_yield),
20233         (gst_element_interrupt), (gst_element_set_scheduler),
20234         (gst_element_get_scheduler), (gst_element_set_loop_function):
20235         * gst/gstelement.h:
20236         * gst/gstevent.h:
20237         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
20238         (gst_format_get_by_nick), (gst_format_get_details),
20239         (gst_format_iterate_definitions):
20240         * gst/gstformat.h:
20241         * gst/gstindex.c: (gst_index_gtype_resolver):
20242         * gst/gstinfo.c:
20243         * gst/gstinfo.h:
20244         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
20245         (gst_mem_chunk_free):
20246         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
20247         (gst_object_ref), (gst_object_unref), (gst_object_sink),
20248         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
20249         (gst_object_dispatch_properties_changed),
20250         (gst_object_set_name_default), (gst_object_set_name),
20251         (gst_object_get_name), (gst_object_set_name_prefix),
20252         (gst_object_get_name_prefix), (gst_object_set_parent),
20253         (gst_object_get_parent), (gst_object_unparent),
20254         (gst_object_check_uniqueness), (gst_object_save_thyself),
20255         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
20256         (gst_object_set_property), (gst_object_get_property),
20257         (gst_object_get_path_string):
20258         * gst/gstobject.h:
20259         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
20260         (gst_real_pad_init), (gst_real_pad_get_property),
20261         (gst_pad_custom_new), (gst_pad_get_direction),
20262         (gst_pad_set_active), (gst_pad_is_active),
20263         (gst_pad_set_event_function), (gst_pad_is_linked),
20264         (gst_pad_link_free), (gst_pad_link_intersect),
20265         (gst_pad_link_fixate), (gst_pad_set_caps),
20266         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
20267         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
20268         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
20269         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
20270         (gst_pad_get_caps), (gst_pad_peer_get_caps),
20271         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
20272         (gst_pad_realize), (gst_pad_get_allowed_caps),
20273         (gst_real_pad_dispose), (gst_real_pad_finalize),
20274         (gst_pad_collectv), (gst_pad_collect_valist),
20275         (gst_pad_template_dispose), (gst_pad_template_new),
20276         (gst_pad_get_internal_links):
20277         * gst/gstpad.h:
20278         * gst/gstpipeline.c: (gst_pipeline_dispose),
20279         (gst_pipeline_change_state):
20280         * gst/gstpipeline.h:
20281         * gst/gstplugin.c:
20282         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
20283         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
20284         * gst/gstpluginfeature.h:
20285         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
20286         * gst/gstquery.c: (_gst_query_type_initialize),
20287         (gst_query_type_register), (gst_query_type_get_by_nick),
20288         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
20289         * gst/gstquery.h:
20290         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
20291         * gst/gstscheduler.c: (gst_scheduler_add_element),
20292         (gst_scheduler_factory_create):
20293         * gst/gststructure.c: (gst_structure_set_parent_refcount),
20294         (gst_structure_free), (gst_structure_set_name),
20295         (gst_structure_id_set_value), (gst_structure_set_value),
20296         (gst_structure_set_valist), (gst_structure_remove_field),
20297         (gst_structure_remove_fields),
20298         (gst_structure_remove_fields_valist),
20299         (gst_structure_remove_all_fields), (gst_structure_foreach),
20300         (gst_structure_map_in_place),
20301         (gst_caps_structure_fixate_field_nearest_int),
20302         (gst_caps_structure_fixate_field_nearest_double):
20303         * gst/gststructure.h:
20304         * gst/gstsystemclock.c: (gst_system_clock_class_init),
20305         (gst_system_clock_init), (gst_system_clock_dispose),
20306         (gst_system_clock_async_thread),
20307         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
20308         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
20309         * gst/gstsystemclock.h:
20310         * gst/gsttag.c: (gst_tag_list_add_value_internal),
20311         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
20312         * gst/gsttaginterface.c:
20313         * gst/gstthread.c: (gst_thread_dispose),
20314         (gst_thread_release_children_locks), (gst_thread_change_state),
20315         (gst_thread_main_loop):
20316         * gst/gsttrashstack.h:
20317         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
20318         * gst/gsttypes.h:
20319         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
20320         (gst_element_request_pad), (gst_element_get_pad_from_template),
20321         (gst_element_request_compatible_pad),
20322         (gst_element_get_compatible_pad_filtered),
20323         (gst_element_get_compatible_pad), (gst_element_state_get_name),
20324         (gst_element_link_pads_filtered), (gst_element_link_filtered),
20325         (gst_element_link_many), (gst_element_link),
20326         (gst_element_link_pads), (gst_element_unlink_pads),
20327         (gst_element_unlink_many), (gst_element_unlink),
20328         (gst_pad_can_link_filtered), (gst_pad_can_link),
20329         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
20330         (gst_object_default_error), (gst_bin_add_many),
20331         (gst_bin_remove_many), (gst_element_populate_std_props),
20332         (gst_element_class_install_std_props), (gst_buffer_merge),
20333         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
20334         (link_fold_func), (gst_pad_proxy_setcaps):
20335         * gst/gstutils.h:
20336         * gst/gstvalue.c: (gst_value_deserialize_string):
20337         * gst/parse/grammar.y:
20338         * gst/schedulers/gstbasicscheduler.c:
20339         (gst_basic_scheduler_cothreaded_chain),
20340         (gst_basic_scheduler_chain_recursive_add),
20341         (gst_basic_scheduler_pad_link):
20342         * gst/schedulers/gstoptimalscheduler.c:
20343         (get_group_schedule_function),
20344         (gst_opt_scheduler_state_transition),
20345         (gst_opt_scheduler_add_element), (element_get_reachables_func):
20346         * libs/gst/bytestream/bytestream.c:
20347         * libs/gst/dataprotocol/dataprotocol.c:
20348         (gst_dp_header_from_buffer):
20349         * po/nb.po:
20350         * po/ru.po:
20351         * tests/threadstate/threadstate2.c: (eos):
20352         * tools/gst-compprep.c: (main):
20353         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
20354         (print_pad_info), (print_children_info):
20355         * tools/gst-launch.c: (idle_func), (main):
20356         * tools/gst-md5sum.c: (idle_func), (main):
20357         * tools/gst-xmlinspect.c: (print_element_info):
20358         First THREADED backport attempt, focusing on adding locks and
20359         making sure the API is threadsafe. Needs more work. More docs
20360         follow this week.
20361
20362 2005-02-24  Andy Wingo  <wingo@pobox.com>
20363
20364         * tests/bench-complexity.scm:
20365         * tests/complexity.gnuplot: New files, good for running complexity
20366         benchmarks.
20367
20368         * tests/Makefile.am:
20369         * tests/complexity.c: New test, sets up N elements, at each level
20370         teeing into M streams per element. Eeeenteresting.
20371
20372         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
20373         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
20374         running bench-mass_elements.scm.
20375
20376         * tests/bench-mass_elements.scm: New script, runs mass_elements
20377         for various numbers of identities, outputting the results to a
20378         file. Requires guile 1.6. Just for testing.
20379
20380 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20381
20382         * gst/schedulers/fairscheduler.c:
20383           compile with debug disabled
20384
20385 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20386
20387         * configure.ac:
20388           hunting season on 0.9 is now OPEN