libs/gst/check/gstcheck.c: Activate/deactivate pads in setup/teardown respectively.
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-10-10  Wim Taymans  <wim@fluendo.com>
2
3         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
4         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
5         (gst_check_teardown_sink_pad):
6         Activate/deactivate pads in setup/teardown respectively.
7
8 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9
10         Patch by: Josep Torre Valles <josep@fluendo.com>
11
12         * gst/Makefile.am:
13         Cast values when making gstenumtypes.h.  This pacifies Forte
14         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
15         in the enumeration.
16
17 2006-10-09  Wim Taymans  <wim@fluendo.com>
18
19         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
20         Rename some more @cur to @start to fix docs. 
21
22         * gst/gstsegment.c: (gst_segment_set_seek):
23         Fix typo.
24         time and start must always stay in sync as defined in design doc.
25
26         * gst/gsttaglist.c: (gst_tag_list_is_empty):
27         Rename param to fix docs.
28
29         * tests/check/gst/gstsegment.c: (GST_START_TEST):
30         Check that start and time are in sync.
31
32         * tests/check/pipelines/parse-launch.c:
33         (gst_parse_test_element_change_state):
34         Activate pad before adding to the element.
35
36 2006-10-09  Wim Taymans  <wim@fluendo.com>
37
38         * docs/design/part-qos.txt:
39         Fix typo.
40
41         * gst/gstevent.c:
42         * gst/gstevent.h:
43         Update seek event docs regarding negative rates.
44         Rename @cur to @start. 
45
46         * gst/gstsegment.c: (gst_segment_set_seek):
47         * gst/gstsegment.h:
48         Update set_seek docs regarding negative rates.
49         Correctly update last_stop to @stop when dealing with negative
50         rates.
51         Rename @cur to @start. 
52
53         * tests/check/gst/gstpad.c: (GST_START_TEST):
54         Activate pads before trying to use them.
55
56         * tests/check/gst/gstsegment.c: (GST_START_TEST),
57         (gst_segment_suite):
58         Add simple check for segments and negative rates.
59
60 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
61
62         * gst/gsttaglist.c: (gst_tag_list_is_empty):
63         * gst/gsttaglist.h:
64         * docs/gst/gstreamer-sections.txt:
65           API: add gst_tag_list_is_empty() (#360467).
66
67         * tests/check/gst/gsttag.c: (GST_START_TEST):
68           And a test case.
69
70 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
71
72         * gst/gstmessage.h:
73         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
74         a value that doesn't fit on enumeration.
75
76 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
77
78         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
79         Remove local debugging system and use Gstreamer's instead.
80
81 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
82
83         Patch by: Josep Torre Valles <josep@fluendo.com>
84
85         * common/m4/gst-error.m4:
86         Disable warning of statement not reached on Forte.
87         * gst/gstmessage.h:
88         Fix warning on Forte (value doesn't fit on enumeration).
89         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
90         Fix warning on Forte (value doesn't fit on enumeration).
91         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
92         DEBUG macro says it takes minimum of 2 args and so Forte
93         complains about the use with just 1 arg.
94         * plugins/elements/gstfdsink.c:
95         * plugins/elements/gstfdsrc.c:
96         * plugins/elements/gstfilesink.c:
97         * plugins/elements/gstfilesrc.c:
98         Use correct return type for the uri handler implementations.
99
100         All these fix warnings in Forte.  Fixes bug #360860.
101
102 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
103
104         * gst/gstelement.h:
105           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
106           format string, so don't use G_GNUC_PRINTF for those versions.
107
108 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
109
110         * gst/gsttaglist.c: (gst_is_tag_list):
111         * gst/gsttaglist.h:
112           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
113
114         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
115           Small test for the above.
116
117 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
118
119         * gst/gsttaglist.h:
120           Less tabs, more spaces.
121
122 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
123
124         * gst/gstinfo.h:
125           Those two function declarations do actually belong there, revert
126           commit from yesterday that turned them intro macros.
127
128 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
129
130         Patch by: Josep Torre Valles <josep@fluendo.com>
131
132         * gst/gst.c: (gst_init_get_option_group):
133         Fix empty declaration and type mismatch.
134         * gst/gstbin.c: (gst_bin_change_state_func):
135         Fix type mismatch.
136         * gst/gstelement.c: (gst_element_continue_state),
137         (gst_element_set_state_func), (gst_element_change_state),
138         (gst_element_change_state_func):
139         Fix type mismatches.
140         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
141         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
142         Cast as appropriate.
143         * gst/gstobject.c: (gst_class_signal_connect):
144         Cast as appropriate.  The function pointer parameter really
145         has the wrong type but would break API if we change it.
146         * gst/gstquery.c:
147         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
148         order of including string.h.
149         * gst/gstutils.c: (gst_element_state_get_name):
150         Remove unreachable line.
151         * gst/gstxml.c: (gst_xml_parse_doc):
152         Fix type mismatch.
153         All these caught by Forte.
154
155 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
156
157         Patch by: Josep Torre Valles <josep@fluendo.com>
158
159         * common/m4/gst-error.m4:
160         Fixed bug #360151.
161         We need to disable warnings on Forte for empty declarations
162         due to gst-indent adding ;s to lines that just use macros
163         where the macro actually doesn't need a ; at end to end
164         statement.
165
166 2006-10-06  Wim Taymans  <wim@fluendo.com>
167
168         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
169         (gst_file_sink_close_file), (gst_file_sink_event),
170         (gst_file_sink_render):
171         Add some FIXME for the NEWSEGMENT handling.
172
173 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
174
175         * gst/parse/grammar.y:
176         Remove static function gst_parse_element_lock as all it does
177         is return.  Looks like cruft from 0.8.
178
179 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
180
181         Patch by: Josep Torre Valles <josep@fluendo.com>
182
183         * common/m4/gst-error.m4:
184         * configure.ac:
185         * libs/gst/net/Makefile.am:
186         Fix a compilation issue with Forte on Solaris.  inet_aton is in
187         libresolv.
188
189 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
190
191         * gst/gstpad.c: (pre_activate):
192         * gst/gstregistry.c: (gst_registry_scan_path_level):
193         * gst/gstregistryxml.c: (load_plugin):
194         * libs/gst/controller/gstcontroller.c:
195         (gst_controlled_property_set_interpolation_mode):
196         * libs/gst/dataprotocol/dataprotocol.c:
197         (gst_dp_packet_from_event_1_0):
198         * libs/gst/net/gstnetclientclock.c:
199         (gst_net_client_clock_observe_times):
200         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
201           Printf fixes.
202
203 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
204
205         * configure.ac:
206         * docs/gst/gstreamer-sections.txt:
207         * gst/gstconfig.h.in:
208         * gst/gstelement.h:
209         * gst/gstinfo.h:
210           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
211           whether we can use G_GNUC_PRINTF in other header files and at
212           least check the printf format/arguments of debug messages and
213           GST_ELEMENT_ERROR messages when the printf extension is not
214           being used.
215           Replace more tabs with spaces in gstinfo.h and remove two spurious
216           function declarations in GST_DISABLE_DEBUG part with macros.
217
218 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
219
220         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
221           More docs for the sync-message signal (mention that it is not
222           emitted by default); log message structures of messages posted on
223           the bus as well.
224
225 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
226
227         * gst/gst.c: (ensure_current_registry_forking):
228         Use a pipe pair to receive status results from the forked child, and
229         ignore the result from waitpid. Fixes #355499
230
231 2006-10-02  Wim Taymans  <wim@fluendo.com>
232
233         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
234         (gst_ghost_pad_suite):
235         Fix leak in check.
236
237 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
238
239         * gst/gstpad.c:
240           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
241
242 2006-10-02  Edward Hervey  <edward@fluendo.com>
243
244         * docs/design/part-block.txt:
245         Further explain the use of flushing on blocked pads.
246         * docs/gst/gstreamer-sections.txt:
247         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
248         (gst_pad_push_event):
249         * gst/gstpad.h:
250         Added new GstPadFlag : GST_PAD_BLOCKING.
251         Adds the notion of pads really blocking, which enables to properly
252         handle FLUSH_START/FLUSH_STOP events on blocked pads.
253         Fixes #358999
254         API: gst_pad_is_blocking()
255         API: GST_PAD_IS_BLOCKING() macro
256         API: GST_PAD_BLOCKING GstPadFlag
257         
258 2006-10-02  Wim Taymans  <wim@fluendo.com>
259
260         Patch by: mrcgran <mrc.gran at gmail dot com>
261
262         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
263         Filter the proxied caps against the padtemplate if we have one.
264
265         * gst/gstquery.c: (gst_query_new_segment):
266         Add include for gstinfo.h so that compilation with
267         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
268
269 2006-10-02  Wim Taymans  <wim@fluendo.com>
270
271         Patch by: Alessandro Decina  <alessandro at nnva org>
272
273         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
274         (gst_file_sink_set_location), (gst_file_sink_open_file),
275         (gst_file_sink_close_file), (gst_file_sink_event),
276         (gst_file_sink_render):
277         Set file to NULL when closing filesink so that we can set a new filename
278         in READY. Fixes #358613.
279
280 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
281
282         Patch by: Alessandro Decina  <alessandro at nnva org>
283
284         * gst/gstevent.c: (_gst_event_copy):
285           Fix gst_mini_object_make_writable() and gst_event_copy() for events
286           with event structures by setting the parent refcount address of the
287           copied structure to the address of the refcount member of the newly
288           copied event rather than the address of the refcount member of the
289           original event. Fixes #358737.
290
291         * tests/check/gst/gstevent.c: (GST_START_TEST):
292           Unit test for the above.
293
294 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
295
296         * docs/design/Makefile.am:
297           Dist some more files.
298
299 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
300
301         * tests/check/libs/controller.c: (GST_START_TEST),
302         (gst_controller_suite):
303           Add test for the previous fix; add some more tests
304           for correct refcounting behaviour; fix a few leaks
305           in test cases; call gst_controller_init() at start
306           of all tests.
307
308 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
309
310         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
311         (gst_controller_set_from_list):
312           Don't g_return_val_if_fail() on timed values with invalid timestamps
313           inside a critical section without unlocking the mutex. Spotted by
314           René Stadler. (#357617)
315           Also, fix up refcounting properly: when returning an existing
316           controller, we should increase the reference only once and not
317           once per property and when trying to control a property again
318           we should also increase the refcount.
319
320 2006-09-29  Wim Taymans  <wim@fluendo.com>
321
322         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
323         * libs/gst/net/gstnettimeprovider.c:
324         (gst_net_time_provider_thread):
325         Stop reading commands when EOF as well.
326
327         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
328         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
329         * plugins/elements/gstidentity.c: (gst_identity_class_init):
330         Unify description of the dump property.
331
332 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
333
334         * tests/examples/manual/.cvsignore:
335         OK, so it's actually cvsignore that needs changing. Stop laughing.
336
337 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
338
339         * tests/examples/manual/Makefile.am:
340         Gah, declare vars *before* using them
341
342 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
343
344         * gst/gst.c: (init_pre), (scan_and_update_registry),
345         (ensure_current_registry_nonforking),
346         (ensure_current_registry_forking), (ensure_current_registry),
347         (init_post), (gst_debug_help), (gst_deinit):
348         * gst/gst_private.h:
349         * gst/gstregistry.c: (gst_registry_finalize),
350         (gst_registry_remove_features_for_plugin_unlocked),
351         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
352         (gst_registry_scan_path),
353         (_priv_gst_registry_remove_cache_plugins),
354         (_priv_gst_registry_cleanup):
355         * gst/gstregistry.h:
356         Re-commit the registry changes, along with an extra fix:
357           When a cached plugin is encountered at a different file path,
358           update the stored path in the registry cache so that the parent
359           process knows where it actually is now when it re-reads the registry
360           cache. Fixes the thing that broke distcheck with the previous commit.
361
362         * tests/check/Makefile.am:
363         Clean up files named 'core' too when running make clean.
364
365         * tests/examples/manual/Makefile.am:
366         Set up a registry path for running these tests, and clean it properly
367         for distcheck.
368
369 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
370
371         * configure.ac:
372         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
373         want gmodule-no-export-2.0.pc instead so that we don't drag in
374         --export-dynamic on every project that links to GStreamer.
375
376         Also, make our export regex only match the start of symbols, rather 
377         than any symbol that contains '_gst' somewhere.
378
379         * libs/gst/check/Makefile.am:
380         The libgstcheck we build does however need export-dynamic, as it
381         produces some symbols that don't match our _gst... style regex.
382         Fixes: #318031
383
384 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
385
386         * gst/gst.c: (init_pre), (scan_and_update_registry),
387         (ensure_current_registry_nonforking),
388         (ensure_current_registry_forking), (ensure_current_registry),
389         (init_post), (gst_debug_help), (gst_deinit):
390         * gst/gst_private.h:
391         * gst/gstregistry.c: (gst_registry_finalize),
392         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
393         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
394         (_gst_registry_cleanup):
395         * gst/gstregistry.h:
396           Revert previous change until I figure out why it breaks distcheck.
397
398 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
399
400         * gst/gst.c: (init_pre), (scan_and_update_registry),
401         (ensure_current_registry_nonforking),
402         (ensure_current_registry_forking), (ensure_current_registry),
403         (init_post), (gst_debug_help), (gst_deinit):
404
405           Make init_pre and init_post take the full complement of GOptionFunc
406           args so they can return useful GErrors. Make the registry updating
407           functions do so.
408
409           Call _priv_gst_registry_remove_cache_plugins after scanning files to
410           ensure that the registry we're about to write out doesn't contain
411           stale information about old-deleted plugin files.
412
413           Make _priv_gst_registry_remove_cache_plugins return a boolean so
414           that deletion of plugin files is considered a registry change.
415
416         * gst/gst_private.h:
417         * gst/gstregistry.c: (gst_registry_finalize),
418         (gst_registry_remove_features_for_plugin_unlocked),
419         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
420         (gst_registry_scan_path),
421         (_priv_gst_registry_remove_cache_plugins),
422         (_priv_gst_registry_cleanup):
423         * gst/gstregistry.h:
424         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
425         by adding _priv prefix, so that they won't appear in the global
426         symbol table. They still do atm though because of #318031. Move the
427         prototypes to gst_private.h
428
429         When removing a plugin, remove all features for that plugin too. 
430         Fixes #340878.
431
432 2006-09-27  Wim Taymans  <wim@fluendo.com>
433
434         * docs/random/moving-plugins:
435         Make it clear that the "compiled-in descriptions" really mean
436         the element details.
437
438         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
439         (gst_base_sink_wait_preroll):
440         Update docs.
441
442         * docs/libs/gstreamer-libs-sections.txt:
443         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
444         (gst_base_src_get_range), (gst_base_src_activate_push):
445         * libs/gst/base/gstbasesrc.h:
446         Added function to block while waiting for PLAYING, this function
447         is used by live sources that block on the clock.
448         API: gst_base_src_wait_playing()
449
450 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
451
452         Patch by: Peter Kjellerstedt <pkj at axis com>
453
454         * Makefile.am:
455           gst-element-check.m4 is generated and should therefore be
456           copied from the build dir rather than the source dir (#357593).
457           'make distcheck' hasn't noticed this because we were disting
458           the file as well, so stop doing that.
459
460 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
461
462         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
463           Add some tests for gst_caps_intersect().
464
465         * tools/gst-launch.c: (event_loop):
466           Print all buffering percentages we get, even the 100% one.
467
468 2006-09-26  Wim Taymans  <wim@fluendo.com>
469
470         * tools/gst-inspect.c: (print_element_properties_info),
471         (print_signal_info):
472         Fix printing of flags to match the look of enums.
473
474 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
475
476         * gst/gstelementfactory.c:
477           Fix typo in docs blurb.
478
479 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
480
481         * gst/gsturi.c: (search_by_entry):
482           Don't assert/crash here if a uri handler doesn't return any
483           supported protocols. The list of protocols could be generated
484           dynamically at runtime or at plugin registration, and an error
485           in the underlying library shouldn't be fatal (#353301).
486
487 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
488
489         * gst/gstinfo.c:
490           Fix warning if HAVE_PRINTF_EXTENSION is undefined
491           (spotted by Peter Kjellerstedt).
492
493 2006-09-23  Wim Taymans  <wim@fluendo.com>
494
495         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
496
497         * libs/gst/base/gstbasesrc.c:
498         (gst_base_src_default_check_get_range), (gst_base_src_start),
499         (gst_base_src_activate_push), (gst_base_src_activate_pull),
500         (gst_base_src_change_state):
501         Match _start/_stop calls in the activate functions. Remove redundant
502         _stop call from the state change function. Fixes #356910.
503         Turn failure DEBUG into ERROR. 
504
505 2006-09-22  Wim Taymans  <wim@fluendo.com>
506
507         * docs/design/part-buffering.txt:
508         * gst/gstmessage.c: (gst_message_new_buffering),
509         (gst_message_parse_buffering):
510         Update docs about buffering.
511
512         * docs/design/part-trickmodes.txt:
513         Fix typo.
514
515 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
516
517         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
518         (gst_controller_new_list):
519           Ref instances when returning them again (fixes #357180)
520
521 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
522
523         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
524           Don't forget to release proxy lock when there's an error.
525
526 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
527
528         * gst/gstcaps.h:
529           Add extra initialisers for Caps things, to fix some plugin warnings
530           when using -Wextra
531
532 2006-09-18  Wim Taymans  <wim@fluendo.com>
533
534         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
535           Also set template on the internal pad so that a getcaps from the 
536           target pad returns the template caps.
537
538 2006-09-18  Wim Taymans  <wim@fluendo.com>
539
540         * gst/gstelement.c: (gst_element_post_message),
541         (gst_element_dispose):
542         Use _DEBUG_OBJECT some more.
543
544         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
545         Avoid typechecks.
546
547         * tools/gst-launch.c: (main):
548         If the toplevel element is not a GstPipeline, it must be put in a
549         pipeline so that a bus and clock is selected.
550
551 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
552
553         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
554           JITTER, RATE, and LATENCY query should be handled by the
555           default case and not by the CONVERT query code.
556
557 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
558
559         * gst/gstformat.c: (gst_format_register):
560           Fix locking order (must take lock before using n_values).
561
562         * gst/gstvalue.c: (gst_value_serialize_enum),
563         (gst_value_deserialize_enum_iter_cmp),
564         (gst_value_deserialize_enum):
565           Fix serialisation/deserialisation of custom registered GstFormats.
566
567         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
568           Unit test for custom format serialisation/deserialisation.
569
570 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
571
572         * docs/pwg/building-boiler.xml:
573         * plugins/elements/gstcapsfilter.c:
574         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
575         section.
576
577 2006-09-16  Edward Hervey  <edward@fluendo.com>
578
579         * libs/gst/base/gstbasetransform.c:
580         (gst_base_transform_buffer_alloc):
581         Check if requested caps are the same as the sinks caps IF
582         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
583         is FALSE.
584         This fixes the renegotiation issues stated in #352827.
585
586 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
587
588         * configure.ac:
589         * docs/manual/advanced-autoplugging.xml:
590         * tests/examples/Makefile.am:
591         * tests/examples/manual/.cvsignore:
592         * tests/examples/manual/Makefile.am:
593         * tests/examples/manual/extract.pl:
594           Extract the manual examples again like we used to do.
595           Fix one of them.
596
597 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
598
599         * win32/common/config.h:
600           update for version
601
602 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
603
604         * gst/gsterror.c:
605           Documents how to receive errors.
606
607 2006-09-15  Wim Taymans  <wim@fluendo.com>
608
609         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
610         (event_loop), (main):
611         Added some comments here and there.
612         Post an application message when an interrupt is caught instead of doing
613         an uncontrolled state change.
614         Clean up the event loop.
615         Handle buffering messages, pause/resume the pipeline.
616         Make shutdown because of an interrupt more reliable.
617
618 2006-09-15  Wim Taymans  <wim@fluendo.com>
619
620         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
621         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
622         (gst_base_sink_preroll_object):
623         Make sure that our internal state is correct when we commit our state
624         asynchronously. This solves a race where a state change to PLAYING
625         could cause the sink to remain blocked in preroll in some situations.
626
627 2006-09-15  Wim Taymans  <wim@fluendo.com>
628
629         * tools/gst-inspect.c: (print_element_properties_info),
630         (print_signal_info):
631         List flags as hex so it's easier to deal with.
632
633 2006-09-15  Wim Taymans  <wim@fluendo.com>
634
635         * docs/libs/gstreamer-libs-sections.txt:
636         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
637         (gst_base_sink_do_sync):
638         * libs/gst/base/gstbasesink.h:
639         Expose logic to wait for preroll so that subclasses such as audiosink
640         can also use this method.
641         API: gst_base_sink_wait_preroll()
642
643 2006-09-15  Wim Taymans  <wim@fluendo.com>
644
645         * gst/gstobject.c: (gst_object_set_parent):
646         * gst/gstpipeline.c: (do_pipeline_seek):
647         Small cleanups in docs and code.
648
649         * gst/gstsegment.c: (gst_segment_clip):
650         * tests/check/gst/gstsegment.c: (GST_START_TEST):
651         if stop == start and start is in the segment, no clipping should be
652         done. Also add a test for this.
653
654 2006-09-15  Wim Taymans  <wim@fluendo.com>
655
656         * docs/design/part-buffering.txt:
657         * docs/gst/gstreamer-sections.txt:
658         * gst/gstmessage.c: (gst_message_new_buffering),
659         (gst_message_parse_buffering):
660         * gst/gstmessage.h:
661         Added methods to create and parse BUFFERING messages.
662         Added preliminary docs about buffering.
663         API: gst_message_new_buffering
664         API: gst_message_parse_buffering
665
666 2006-09-06  Wim Taymans  <wim@fluendo.com>
667
668         * gst/gstbin.c:
669         Update documentation.
670
671         * gst/gstelement.c: (gst_element_class_init),
672         (gst_element_release_request_pad), (gst_element_set_clock),
673         (gst_element_get_index), (gst_element_add_pad),
674         (gst_element_remove_pad), (gst_element_get_random_pad),
675         (gst_element_send_event), (gst_element_get_query_types),
676         (gst_element_query), (gst_element_post_message),
677         (gst_element_message_full), (gst_element_continue_state),
678         (gst_element_lost_state), (gst_element_save_thyself),
679         (gst_element_restore_thyself):
680         Documentation updates.
681         Rename last bit of the new-pad -> pad-added signal rename.
682         Fix the case where an element query would only work if the source
683         pad was linked.
684         Avoid some useless type checking in message handling.
685
686         * gst/gstevent.c:
687         * gst/gstevent.h:
688         * gst/gstutils.c:
689         Documentation updates.
690
691 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
692
693         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
694           add an INFO line for when we actually update the fd
695
696 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
697
698         * configure.ac:
699           back to TRUNK
700
701 === release 0.10.10 ===
702
703 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
704
705         * configure.ac:
706           releasing 0.10.10, "Pais"
707
708 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
709
710         * docs/manual/advanced-position.xml:
711           Fix typo in sample code.
712
713 2006-09-05  Wim Taymans  <wim@fluendo.com>
714
715         * libs/gst/net/gstnetclientclock.c: (inet_aton),
716         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
717         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
718         * libs/gst/net/gstnetclientclock.h:
719         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
720         * libs/gst/net/gstnettimepacket.h:
721         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
722         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
723         (gst_net_time_provider_thread), (gst_net_time_provider_new):
724         * libs/gst/net/gstnettimeprovider.h:
725         Make stuff compile on windows. Fixes #345295.
726
727 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
728
729         * gst/gst.c: (ensure_current_registry_forking):
730           Print better details when child was terminated by signal.
731
732 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
733
734         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
735           Print a warning rather than g_assert() if a plugin feature
736           is a URI handler but returns no protocols (#353976).
737
738 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
739
740         * docs/random/moving-plugins:
741         Fix two typos.         
742
743 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
744
745         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
746           Fix locking order, handle NULL function values properly.
747
748         * gst/gstinfo.h:
749           Fix docs.
750
751         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
752           Initialise variable before using it and fix debug statement to
753           print the address of the function rather than the address of the
754           variable on the stack holding the address of the function.
755
756 2006-09-01  Wim Taymans  <wim@fluendo.com>
757
758         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
759         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
760         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
761         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
762         (gst_ghost_pad_parent_unset),
763         (gst_ghost_pad_internal_do_activate_push),
764         (gst_ghost_pad_internal_do_activate_pull),
765         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
766         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
767         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
768         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
769         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
770         (gst_ghost_pad_new_no_target_from_template),
771         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
772         More cleanups.
773         Avoid needless typechecking in macros.
774         Since the internal pad is always present and never changes, there is
775         no need to locking or ref when retrieving it.
776         Improve debugging a bit.
777         Handle link errors when setting the target. Fixes #341029.
778
779 2006-09-01  Wim Taymans  <wim@fluendo.com>
780
781         * docs/libs/gstreamer-libs-sections.txt:
782         * docs/plugins/gstreamer-plugins-sections.txt:
783         Fix docs some more.
784
785         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
786         (gst_collect_pads_event):
787         * libs/gst/base/gstcollectpads.h:
788         Documentation updates.
789         Free queued buffer when removing a pad.
790
791 2006-08-31  Michael Smith  <msmith@fluendo.com>
792
793         * gst/gstutils.c: (gst_element_link_pads),
794         (gst_element_link_pads_filtered):
795           Ensure that we set a capsfilter to NULL if we failed to link it
796           when doing filtered linking, to avoid criticals.
797
798           No need to check for unreffing srcpad, which is explicly NULLed
799           above (a trivial code cleanup).
800
801 2006-08-31  Wim Taymans  <wim@fluendo.com>
802
803         * docs/design/part-gstghostpad.txt:
804         Update ascii art in documentation.
805
806         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
807         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
808         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
809         (gst_ghost_pad_internal_do_activate_push),
810         (gst_ghost_pad_internal_do_activate_pull),
811         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
812         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
813         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
814         (gst_ghost_pad_set_target):
815         Small cleanups and leak fixes.
816         Remove some checks now that the internal pad is never NULL.
817         Fix the case where linking pads without a target would create nasty
818         criticals. Fixes #341029.
819         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
820         value of _set_target().
821
822         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
823         (gst_ghost_pad_suite):
824         Some more tests for creating and linking untargeted ghostpads.
825
826 2006-08-31  Edward Hervey  <edward@fluendo.com>
827
828         * docs/gst/gstreamer-sections.txt:
829         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
830         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
831         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
832         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
833         (gst_ghost_pad_new_from_template),
834         (gst_ghost_pad_new_no_target_from_template):
835         * gst/gstghostpad.h:
836         Refactored *_new() functions.
837         Templates are now used as a g_object_new() parameter.
838         Use template in _do_getcaps() if we don't have a target.
839         Small documentation cleanups.
840         Added two new constructors:
841         gst_ghost_pad_new_from_template()
842         gst_ghost_pad_new_no_target_from_template()
843         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
844         (gst_ghost_pad_suite):
845         Added tests for new ghostpad instanciation functions.
846
847         API additions: gst_ghost_pad_new_from_template,
848         gst_ghost_pad_new_no_target_from_template
849
850 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
851
852         * docs/random/ensonic/profiling.txt:
853           Ideas about qos profiling.
854
855 2006-08-29  Wim Taymans  <wim@fluendo.com>
856
857         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
858         Code cleanups.
859         Fix memleak.
860
861 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
862
863         * gst/gstxml.c:
864           Improve and detypofy docs.
865
866         * tests/check/Makefile.am:
867         * tests/check/gst/.cvsignore:
868         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
869           Add a basic test suite for GstXML.
870
871 2006-08-29  Wim Taymans  <wim@fluendo.com>
872
873         * gst/gstelement.c: (activate_pads), (clear_caps),
874         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
875         Clear the pad caps when the element shut down all of the pads and
876         is not streaming data that could modify the caps. 
877         Fixes #352958.
878
879 2006-08-28  Michael Smith  <msmith@fluendo.com>
880
881         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
882           Revert previous change; I misunderstood single-segment mode.
883
884 2006-08-28  Michael Smith  <msmith@fluendo.com>
885
886         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
887           Unset DISCONT on buffers when using single-segment mode.
888
889 2006-08-28  Wim Taymans  <wim@fluendo.com>
890
891         * gst/gstcaps.c: (gst_caps_merge_structure):
892         * gst/gstcaps.h:
893         Fix docs and indentation again.
894
895         * tests/check/gst/gstquery.c: (GST_START_TEST):
896         Fix leak in tests and add some more tests.
897
898 2006-08-28  Edward Hervey  <edward@fluendo.com>
899
900         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
901         Inform GstSegment of the last stop position in order for the current
902         segment to have a proper duration if it doesn't have a specific stop
903         position from which a duration could be calculated.
904         This bug was noticeable when a non-flushing, non-update new segment was
905         followed by another segment (all buffers from the new segment were being
906         dropped).
907
908 2006-08-28  Wim Taymans  <wim@fluendo.com>
909
910         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
911         Small comment update.
912
913         * plugins/elements/gstidentity.c: (gst_identity_class_init),
914         (gst_identity_transform_ip):
915         Drop-probability is broken, mention this in the code with a 
916         FIXME and also in the property description.
917         Make silent also be silent about the drop messages.
918
919 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
920
921         * docs/manual/appendix-win32.xml:
922           Remove mention of popt, we don't depend on that any
923           longer (#353136). Add some comments pointing out that
924           this section is slightly outdated.
925
926 2006-08-28  Wim Taymans  <wim@fluendo.com>
927
928         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
929
930         * gst/gstquery.c: (gst_query_new_segment):
931         * tests/check/gst/gstquery.c: (GST_START_TEST):
932         Initialize variables when creating a new segment query.
933         Fixes #353121.
934
935 2006-08-28  Wim Taymans  <wim@fluendo.com>
936
937         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
938
939         * gst/gstelement.c: (gst_element_get_bus):
940         * tests/check/gst/gstelement.c: (GST_START_TEST):
941         Check for NULL before _reffing the bus. Fixes #353122.
942
943 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
944
945         * docs/manual/basics-bus.xml:
946           Docs update: fix wrong callback return value explanation; add
947           some lines about the implicit relationship between main loop
948           and main context; remove duplicate main loop variable declaration.
949
950 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
951
952         * tests/check/gst/gstcaps.c: (GST_START_TEST):
953           Don't leak caps in unit test; add a few more simple
954           checks. 
955
956 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
957
958         * docs/gst/gstreamer-sections.txt:
959         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
960         (gst_caps_structure_is_subset), (gst_caps_merge),
961         (gst_caps_merge_structure):
962         * gst/gstcaps.h:
963         * libs/gst/base/gstbasetransform.c:
964         (gst_base_transform_transform_caps):
965         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
966           implement caps merging (fixes #352580)
967
968 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
969
970         * tools/Makefile.am:
971         * tools/gst-plot-timeline.py:
972           add debug-log plotting developer tool (#340674)
973
974 2006-08-23  Wim Taymans  <wim@fluendo.com>
975
976         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
977         (gst_pad_stop_task):
978         Improve debugging for task functions.
979
980         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
981         (gst_task_start), (gst_task_pause), (gst_task_join):
982         Make sure that the task function started and finished after a 
983         join(). 
984         Don't try to push the task function on the threadpool multiple
985         times.
986         Improve the g_warning message with some useful suggestions
987         about how to fix the problem. 
988
989 2006-08-23  Wim Taymans  <wim@fluendo.com>
990
991         * gst/gstutils.c: (gst_pad_proxy_getcaps):
992         Handle RESYNC correctly in _proxy_getcaps.
993
994 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
995
996         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
997         (gst_xml_parse_memory), (gst_xml_get_element):
998           Chain up to parent class in dispose function and also
999           unref the elements in the toplevel_elements GList.
1000           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
1001           Always return a reference in gst_xml_get_element() rather
1002           than only sometimes.
1003
1004         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
1005           Don't leak GstXml object.
1006
1007 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
1008
1009         * docs/gst/gstreamer-sections.txt:
1010         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
1011         (gst_caps_merge):
1012         * gst/gstcaps.h:
1013         * libs/gst/base/gstbasetransform.c:
1014         (gst_base_transform_transform_caps):
1015           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
1016           in a better way
1017
1018 2006-08-21  Edward Hervey  <edward@fluendo.com>
1019
1020         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
1021         Implement GObject::dispose virtual method in GstXML so we can free the
1022         top_elements GList.
1023
1024 2006-08-21  Wim Taymans  <wim@fluendo.com>
1025
1026         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
1027         (gst_buffer_create_sub):
1028         Copy duration/offset_end/caps when creating a subbuffer of the
1029         complete parent.
1030         Make the subbuffer read-only when we make the metadata writable for
1031         now. Fixes #351768.
1032
1033         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1034         Added check for metadata copy when creating subbuffers.
1035
1036 2006-08-21  Edward Hervey  <edward@fluendo.com>
1037
1038         * libs/gst/base/gstbasetransform.c:
1039         (gst_base_transform_buffer_alloc):
1040         Only call downstream buffer_alloc if transform element is passthrough
1041         or always_in_place. Closes #350449.
1042
1043 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
1044
1045         * ChangeLog:
1046           ChangeLog surgery to add comments to previous changes
1047
1048 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
1049
1050         * gst/gst.c:
1051           Add comments
1052
1053         * gst/gstpad.c: (gst_pad_set_active):
1054           Be more verbose in the log
1055
1056         * libs/gst/base/gstbasetransform.c:
1057         (gst_base_transform_transform_caps):
1058           Simplify caps to get rid of duplicates, fixes #345444
1059
1060 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
1061
1062         * gst/gstvalue.c:
1063         * gst/gstvalue.h:
1064           Use these optimizations only internally.
1065
1066 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
1067
1068         * gst/gstvalue.c: (gst_value_compare_list),
1069         (gst_value_compare_fraction_range),
1070         (gst_value_intersect_fraction_fraction_range),
1071         (gst_value_intersect_fraction_range_fraction_range),
1072         (gst_value_subtract_fraction_fraction_range),
1073         (gst_value_subtract_fraction_range_fraction_range),
1074         (gst_value_get_compare_func), (gst_value_compare),
1075         (gst_value_compare_with_func):
1076         * gst/gstvalue.h:
1077           Saves the expensive lookup of the compare function in many cases
1078          (#345444)
1079
1080 2006-08-18  Edward Hervey  <edward@fluendo.com>
1081
1082         * tests/check/gst/gstinfo.c: (gst_info_suite):
1083         Disable test that require gstdebug if it wasn't built in core.
1084
1085 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
1086
1087         * docs/random/ensonic/logging.txt:
1088           update ideas
1089           
1090         * gst/gstinfo.c: (gst_debug_log_default):
1091           reorder fields, save some columns, add optional color codes for log
1092           levels
1093
1094 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
1095
1096         * docs/random/ensonic/logging.txt:
1097           add ideas about making the logs a bit more useful
1098
1099 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
1100
1101         * docs/pwg/advanced-events.xml:
1102         * docs/pwg/titlepage.xml:
1103           Update for 0.10 API (#340627). Add myself
1104           to authors list.
1105
1106 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
1107
1108         * docs/libs/gstreamer-libs-docs.sgml:
1109         * docs/libs/gstreamer-libs-sections.txt:
1110         * libs/gst/check/gstbufferstraw.c:
1111           Make gstcheck stuff show up in docs (still needs to
1112           be documented properly though).
1113
1114 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
1115
1116         * docs/gst/gstreamer-sections.txt:
1117         * gst/Makefile.am:
1118         * gst/gst.c: (init_post):
1119         * gst/gst_private.h:
1120         * gst/gstquark.c: (_priv_gst_quarks_initialize):
1121         * gst/gstquark.h:
1122         * gst/gstquery.c: (gst_query_new_position),
1123         (gst_query_set_position), (gst_query_parse_position),
1124         (gst_query_new_duration), (gst_query_set_duration),
1125         (gst_query_parse_duration), (gst_query_new_convert),
1126         (gst_query_set_convert), (gst_query_parse_convert),
1127         (gst_query_new_segment), (gst_query_set_segment),
1128         (gst_query_parse_segment), (gst_query_new_seeking),
1129         (gst_query_set_seeking), (gst_query_parse_seeking):
1130         Add internal helpers for pre-registering quarks from static strings
1131         and using the quark values directly instead of looking them up when
1132         creating and parsing queries. Can be used for event construction too.
1133         Closes #350432.
1134
1135 2006-08-16  Wim Taymans  <wim@fluendo.com>
1136
1137         * gst/gstbin.c:
1138         Fix bogus docs.
1139
1140 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
1141
1142         * gst/gstutils.c: (gst_util_set_value_from_string):
1143           Fix memleak (#351502).
1144
1145         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1146           Add unit test for most of gst_util_set_value_from_string()
1147           (not that one would want to encourage use of this function).
1148
1149 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
1150
1151         * libs/gst/check/gstcheck.h:
1152           Use const gchar * variables in fail_unless_equals_string
1153           macro to avoid compiler warnings (and don't use tabs for
1154           indenting).
1155
1156 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
1157
1158         * tools/gst-launch.c: (print_tag):
1159           More space on the left for the tag names, to cater
1160           for the 'extended comment' tag (not touching the
1161           string for the first line since it's translated).
1162
1163 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
1164
1165         * libs/gst/check/gstcheck.h:
1166           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
1167           print something when they fail.
1168
1169 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
1170
1171         * docs/gst/gstreamer-sections.txt:
1172         * gst/gsttaglist.c: (_gst_tag_initialize):
1173         * gst/gsttaglist.h:
1174           API: add GST_TAG_EXTENDED_COMMENT (#350935).
1175           Also change merge function for GST_TAG_COMMENT to
1176           use_first.
1177
1178 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
1179
1180         * gst/gstinfo.c: (gst_debug_print_object):
1181           Make GST_PTR_FORMAT print messages as well.
1182
1183         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
1184         (GST_START_TEST), (gst_info_suite):
1185           More tests.
1186
1187 2006-08-14  Edward Hervey  <edward@fluendo.com>
1188
1189         * gst/gstelementfactory.c: (gst_element_register):
1190         If the GstElementClass doesn't have a GstElementDetails with all fields
1191         filled up correctly (longname, description AND author), then error out
1192         nicely instead of crashing.
1193
1194 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
1195
1196         * gst/gststructure.c:
1197           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
1198
1199         * gst/gstvalue.h:
1200           Expand on the difference between arrays and lists as we use them.
1201           
1202 2006-08-14  Wim Taymans  <wim@fluendo.com>
1203
1204         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
1205         If the parent state change function failed, don't assume we can safely
1206         stop the source, this will be done when the pads are deactivated.
1207
1208 2006-08-14  Wim Taymans  <wim@fluendo.com>
1209
1210         * gst/gstbuffer.c:
1211         * gst/gsttask.c: (gst_task_join):
1212         Small doc updates.
1213
1214         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
1215         (gst_pad_stop_task):
1216         When pad (de)activation failed for some reason, restore the old
1217         activation mode and set the pad to flushing instead of assuming the
1218         pad is deactivated.
1219         If the _task_join() failed, reinstall the task on the pad so that it can
1220         be stopped later and return an error.
1221
1222 2006-08-11  Andy Wingo  <wingo@pobox.com>
1223
1224         * configure.ac:
1225         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
1226         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
1227         is only for users of API that don't want to see deprecated
1228         functions in the headers; people that want to compile out
1229         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
1230         CFLAGS. Fixes the build of multifdsink, or will soon..
1231
1232 2006-08-11  Wim Taymans  <wim@fluendo.com>
1233
1234         * docs/gst/gstreamer-sections.txt:
1235         Add GstClockClass vmethod docs.
1236
1237         * gst/gstcaps.h:
1238         Mark #endif with comment for associated #if
1239
1240         * gst/gstclock.c: (gst_clock_id_wait):
1241         * gst/gstclock.h:
1242         Add vmethod wait_jitter to avoid an unneeded _get_time() for
1243         most clock implementations.
1244         Document vmethods.
1245         Flesh out docs about resolution methods.
1246         API: GstClockClass::wait_jitter
1247
1248         * gst/gstsystemclock.c: (gst_system_clock_class_init),
1249         (gst_system_clock_async_thread),
1250         (gst_system_clock_id_wait_jitter_unlocked),
1251         (gst_system_clock_id_wait_jitter):
1252         Use base class wait_jitter variant for improved performance
1253         due to less clock polling.
1254
1255 2006-08-11  Edward Hervey  <edward@fluendo.com>
1256
1257         * gst/gst.c: (gst_init_check), (init_post):
1258         Set gst as being initialized before scanning/updating the registry,
1259         since there might be my python plugin loader that calls gst_init() and
1260         we don't want to loop back in.
1261         Closes #350879
1262
1263 2006-08-11  Wim Taymans  <wim@fluendo.com>
1264
1265         * docs/design/part-qos.txt:
1266         Bring docs in line with the code. Mostly the sign of the jitter was
1267         wrong in the docs. Fixes #349943.
1268
1269         * gst/gstclock.c:
1270         Fix the docs for the jitter.
1271
1272         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
1273         (gst_event_parse_tag), (gst_event_new_buffer_size),
1274         (gst_event_parse_buffer_size), (gst_event_parse_qos),
1275         (gst_event_new_seek), (gst_event_parse_seek),
1276         (gst_event_new_navigation):
1277         Make sure the GstStructure has no parent when creating custom
1278         events.
1279         Add some more argument checking so that we avoid 0.0 rates.
1280         Flesh out the docs for the QoS event some more.
1281
1282 2006-08-11  Wim Taymans  <wim@fluendo.com>
1283
1284         * docs/gst/gstreamer-sections.txt:
1285         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
1286         (ensure_current_registry_forking), (ensure_current_registry),
1287         (parse_one_option), (parse_goption_arg), (gst_deinit),
1288         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
1289         * gst/gst.h:
1290         Doc updates.
1291         Added API and command line option to disable registry forking in
1292         addition to the environment variable.
1293         Constify some static arrays.
1294         Added some more debug.
1295         Don't deinit twice.
1296         API: gst_registry_fork_is_enabled()
1297         API: gst_registry_fork_set_enabled()
1298         API: --gst-disable-registry-fork command line option
1299         Fixes #348918.
1300
1301 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
1302
1303         * gst/gst.c: (gst_init):
1304           Fix typo in error message.
1305
1306 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
1307
1308         * libs/gst/controller/gstcontroller.h:
1309           fix ABI size-correction
1310
1311         * tests/check/libs/gdp.c: (gst_dp_suite):
1312           make tests that use deprecated API conditional
1313
1314 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
1315
1316         * docs/libs/gstreamer-libs-sections.txt:
1317         * libs/gst/controller/gstcontroller.c:
1318         (_gst_controller_get_property), (_gst_controller_set_property),
1319         (_gst_controller_init), (_gst_controller_class_init):
1320         * libs/gst/controller/gstcontroller.h:
1321         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
1322         (gst_object_set_control_rate):
1323           API: add gst_object_{s,g}et_control_rate(), add private data section,
1324           fix docs
1325
1326         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
1327         * libs/gst/dataprotocol/dataprotocol.h:
1328           add deprecation guards to make gtk-doc happy and allow disabling cruft
1329
1330 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
1331
1332         * tests/check/Makefile.am:
1333         * tests/check/gst/.cvsignore:
1334           Let's enable the new unit test as well.
1335
1336 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
1337
1338         * configure.ac:
1339         * docs/gst/gstreamer-sections.txt:
1340         * gst/gstconfig.h.in:
1341         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
1342         (_gst_info_printf_extension_ptr),
1343         (_gst_info_printf_extension_segment):
1344           API: add GST_SEGMENT_FORMAT, which is a printf extension we
1345           register that lets us easily dump GstSegments into debug
1346           logs (#350419).
1347
1348         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
1349         (info_segment_format_printf_extension), (gst_info_suite):
1350           Add simple unit test that logs a bunch of different segments (not
1351           valgrinded at the moment because of leaks in
1352           gst_debug_add_log_function).
1353
1354 2006-08-09  Edward Hervey  <edward@fluendo.com>
1355
1356         * libs/gst/base/gstbasetransform.c:
1357         (gst_base_transform_buffer_alloc):
1358         Even if we can't figure out the proper format to request downstream,
1359         call buffer_alloc() downstream with the input parameters without setting
1360         the caps on the srcpad. This will force negotiation in the chain
1361         function.
1362         Closes #350449
1363
1364 2006-08-08  Edward Hervey  <edward@fluendo.com>
1365
1366         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
1367         Unlinking from a pad without a target is now a perfectly valid case
1368         which should NOT raise an assertion.
1369         This case would happen if a linked ghostpad its target set to NULL after
1370         it was previously linked.
1371
1372 2006-08-08  Edward Hervey  <edward@fluendo.com>
1373
1374         * tests/check/libs/gdp.c:
1375         Also comment out the test (see below).
1376
1377 2006-08-08  Edward Hervey  <edward@fluendo.com>
1378
1379         * tests/check/libs/gdp.c: (gst_dp_suite):
1380         Use the architecture information from config.h and not gcc macros
1381         in order to properly disable a test that fails on PPC64.
1382
1383 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
1384
1385         * gst/gstelement.c: (gst_element_remove_pad):
1386           Don't crash printing the warning if the pad has no parent.
1387
1388 2006-08-02  Wim Taymans  <wim@fluendo.com>
1389
1390         * libs/gst/dataprotocol/dataprotocol.c:
1391         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
1392         (gst_dp_crc), (gst_dp_header_payload_length),
1393         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
1394         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
1395         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
1396         (gst_dp_event_from_packet), (gst_dp_validate_header),
1397         (gst_dp_validate_payload):
1398         Make debug category static
1399         Constify the crc table.
1400         Do some more arg checking in public functions.
1401         Fix some docs and do some small cleanups.
1402
1403         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
1404         Add some more checks to see if GDP deals with bogus input.
1405
1406 2006-07-31  Wim Taymans  <wim@fluendo.com>
1407
1408         * gst/gstvalue.c: (gst_value_compare_list):
1409         Fix GstValueList comparison code. Fixes #347293.
1410
1411         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1412         Check to test GstValueList comparison.
1413
1414 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
1415
1416         * gst/gstelementfactory.c: (gst_element_factory_create):
1417         Remove unnecessary ref/unref pair
1418
1419         * gst/parse/grammar.y:
1420         Make sure to free the parse buffer on all code paths.
1421         Move a g_free up to the error handler where it's easier to see.
1422
1423         * tests/check/gst/gstevent.c: (test_event):
1424         Extending timeout for downstream travelling events to 10 seconds to
1425         hopefully avoid intermittent failure on the buildbots.
1426
1427         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
1428         Don't manually set the state of the src element - it will happen as a
1429         natural consequence of the pipeline changing state, and that way it
1430         will do it in the right order too.
1431
1432 2006-07-31  Wim Taymans  <wim@fluendo.com>
1433
1434         * libs/gst/base/gstbasetransform.c:
1435         (gst_base_transform_buffer_alloc):
1436         Use OBJECT_LOCK and refcounting to get the pad caps in the
1437         buffer_alloc function because the caps could change while we are
1438         busy with them. Fixes #349105
1439
1440 2006-07-31  Wim Taymans  <wim@fluendo.com>
1441
1442         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
1443         Protect _PAD_CAPS with OBJECT_LOCK.
1444
1445 2006-07-31  Wim Taymans  <wim@fluendo.com>
1446
1447         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
1448         (gst_pad_get_property), (gst_pad_activate_pull),
1449         (gst_pad_activate_push), (gst_pad_set_blocked_async),
1450         (gst_pad_set_activate_function),
1451         (gst_pad_set_activatepull_function),
1452         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
1453         (gst_pad_set_getrange_function),
1454         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
1455         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
1456         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
1457         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
1458         (gst_pad_set_acceptcaps_function),
1459         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
1460         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
1461         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
1462         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
1463         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
1464         (gst_pad_configure_sink), (gst_pad_configure_src),
1465         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
1466         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
1467         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
1468         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
1469         (gst_pad_send_event):
1470         Use _DEBUG_OBJECT when it makes sense.
1471         Protect GST_PAD_CAPS with the OBJECT_LOCK.
1472         Small cleanups and code reflows.
1473         Avoid caps refcounting in _accept_caps.
1474         Refactor alloc_buffer so that the code performed on the peer is in a
1475         separate function. Also if the pad does not implement a buffer alloc
1476         function, we should still check if the pad is flushing before falling
1477         back to the default allocator.
1478
1479 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
1480
1481         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1482         Make all uses of identity and fakesink have silent=true to avoid
1483         serialising every passing data structure, which is breaking tests
1484         on FC4 for some unknown reason.
1485
1486 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
1487
1488         * gst/parse/Makefile.am:
1489         * gst/parse/grammar.y:
1490         * gst/parse/parse.l:
1491           Reverted previous patch as it required to bump the flex dependency to
1492           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
1493
1494 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
1495
1496         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
1497
1498         * gst/parse/Makefile.am:
1499         * gst/parse/grammar.y:
1500         * gst/parse/parse.l:
1501           push & pop the state of the lexer for reentrant use case
1502           Fixes #349180
1503
1504 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
1505
1506         * libs/gst/base/gstbasesrc.h:
1507           Note in the docs that the ::newsegment vfunc is not actually used by
1508           GstBaseSrc.
1509
1510 2006-07-28  Wim Taymans  <wim@fluendo.com>
1511
1512         * libs/gst/base/gstcollectpads.c:
1513         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
1514         (gst_collect_pads_clear), (gst_collect_pads_flush),
1515         (gst_collect_pads_event), (gst_collect_pads_chain):
1516         When flushing a pad, also clear the queued buffer so that we don't
1517         accidentally use it when we shouldn't.
1518         Fix leaks by inreffing incomming buffer.
1519         Flush out queued buffers in case of errors.
1520         Fixes #347452.
1521
1522 2006-07-28  Wim Taymans  <wim@fluendo.com>
1523
1524         * docs/random/phonon-gst:
1525         Random notes about a Phonon backend.
1526
1527 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
1528
1529         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1530         Extra debug output
1531         * tests/check/libs/gdp.c: (gst_dp_suite):
1532         Take a whack at fixing the ppc compile using a different define to
1533         disable the broken test.
1534
1535         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1536         Remove excess g_print()
1537
1538 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
1539
1540         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
1541         Oops, meant to uncomment this line too to dampen the noise a bit.
1542
1543 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
1544
1545         * gst/parse/grammar.y:
1546         * gst/parse/parse.l:
1547         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
1548         (GST_START_TEST), (parse_suite):
1549         Fix some of the leaks exposed by extending the parse-launch testsuite,
1550         and move the 3 I can't figure out into a separate test that won't run
1551         the pipelines unless the appropriate line is uncommented.
1552
1553 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
1554
1555         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1556           Requesting 0 bytes before the end of the file should result in
1557           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
1558           unit test.
1559
1560 2006-07-27  Wim Taymans  <wim@fluendo.com>
1561
1562         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
1563         Fix useless assert, a uint is always positive.
1564
1565         * gst/gststructure.c: (gst_structure_nth_field_name),
1566         (gst_structure_foreach), (gst_structure_map_in_place):
1567         Check input arguments for public functions to avoid obvious crashes.
1568
1569         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
1570         * plugins/elements/gstfakesink.h:
1571         Do less useless typechecking.
1572
1573 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
1574
1575         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1576           Do not use mmap() by default since there are a number of error
1577           conditions that we would like to handle in a non-fatal way that
1578           will result in a SIGBUS if we use mmap(). Examples: external
1579           devices (USB harddrive, portable music player) being unplugged
1580           while in use; file on mounted CD/DVD that can't be read because
1581           the medium is partly damaged. Fixes #348455 and #348475.
1582
1583 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
1584
1585         * gst/gstquery.h:
1586         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
1587         rates are a gdouble
1588
1589 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
1590
1591         * gst/gstregistry.c:
1592           Move big documentation comment into class section header, so that it
1593           appears in the API docs.
1594
1595 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1596
1597         * docs/gst/gstreamer-sections.txt:
1598         Oops. Commit the docs additions too for new API.
1599         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
1600
1601 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1602
1603         * gst/gststructure.c: (gst_structure_id_set),
1604         (gst_structure_id_set_valist):
1605         * gst/gststructure.h:
1606         Add API for setting values into structures without performing
1607         a quark lookup, if the appropriate quark is already known.
1608
1609         API: gst_structure_id_set
1610         API: gst_structure_id_set_valist
1611
1612         * gst/parse/grammar.y:
1613         * gst/parse/parse.l:
1614         Remove some dead code shown by the coverage information.
1615         Don't throw a critical g_warning when encountering a syntax error,
1616         just warn and let the normal error path handle it.
1617
1618         * plugins/elements/gstelements.c:
1619         Bump the rank of filesink up to PRIMARY so that it is preferred over
1620         gnomevfssink for file:// sink uri's
1621
1622         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
1623         (GST_START_TEST), (run_delayed_test),
1624         (gst_parse_test_element_base_init),
1625         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
1626         (gst_parse_test_element_change_state),
1627         (gst_register_parse_element), (parse_suite):
1628         Beef up the tests for parse syntax to check that more error cases
1629         fail as they are supposed to. Increases the test coverage a bit.
1630
1631 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
1632
1633         * docs/manual/basics-elements.xml:
1634           Fix gst_element_link() example.
1635
1636         * gst/gstutils.c:
1637           Mention in API docs that one should usually gst_bin_add()
1638           elements to a bin or pipeline before doing the linking.
1639           
1640 2006-07-26  Wim Taymans  <wim@fluendo.com>
1641
1642         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
1643         (gst_subbuffer_get_type), (gst_buffer_create_sub):
1644         Avoid function call for known types by keeping the buffer and
1645         subbuffer GType global.
1646
1647         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1648         Random silly optimisations in read() path.
1649
1650 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1651
1652         * tools/gst-launch.c: (main):
1653           If the top-level of the parse is a normal bin, it doesn't do the
1654           right logic to run as a top-level element, so place it inside a
1655           pipeline.
1656
1657 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
1658
1659         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
1660           Remove superfluous g_object_notify() calls, GObject does
1661           that for us automatically.
1662
1663 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
1664
1665         * gst/gstinfo.h:
1666           on Win32, use dllspec to export the debug category symbols
1667
1668 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
1669
1670         * gst/gsttaglist.c: (_gst_tag_initialize):
1671           Allow more than one GST_TAG_IMAGE per taglist.
1672
1673 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1674
1675         * gst/gstminiobject.c:
1676           update docs
1677         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
1678         (gst_fd_src_create):
1679           log recurring events at LOG level
1680           add more debug for when the fd gets set
1681
1682 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
1683
1684         * gst/gstparse.c: (gst_parse_launch):
1685           Also remove reentrance checks if flex is MT safe (#348179)
1686          Fix my empty ChangeLog entry below
1687
1688 2006-07-21  Andy Wingo  <wingo@pobox.com>
1689
1690         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
1691
1692         * libs/gst/check/Makefile.am
1693         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
1694         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
1695         * libs/gst/check/gstbufferstraw.h:
1696         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
1697         functions, thus proving I am still a GStreamer haxor. OK I wrote
1698         them a long time ago, but anyways.
1699
1700 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
1701
1702         * configure.ac:
1703         * gst/gstparse.c: (gst_parse_launch):
1704           Check for flex version and omit mutex if we have a MT save flex
1705           (fixes #348179)
1706
1707 2006-07-21  Wim Taymans  <wim@fluendo.com>
1708
1709         * gst/gstparse.c: (gst_parse_launch):
1710         Protect recursive calls to _parse with a recursive mutex
1711         and busy flag.
1712
1713 2006-07-21  Wim Taymans  <wim@fluendo.com>
1714
1715         * tests/check/gst/gstpad.c: (GST_START_TEST):
1716         Fix leak in test.
1717
1718 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
1719
1720         * gst/gstparse.c: (gst_parse_launch):
1721           Do not hang on recursive usage of gst_parse_launch()
1722
1723 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
1724
1725         * gst/gsttaglist.c:
1726           Add some more docs, comments and FIXME 0.11s here and there
1727           and also fix some typos.
1728
1729 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
1730
1731         * gst/gstsegment.h:
1732           Convert tabs to spaces for better readability. 
1733
1734 2006-07-20  Edward Hervey  <edward@fluendo.com>
1735
1736         * tests/check/libs/gdp.c: (gst_dp_suite):
1737         the test_buffer test fails at line 140 on ppc64 at the following
1738         check:
1739         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
1740                 GST_BUFFER_FLAG_IN_CAPS),
1741                 "GST_BUFFER_IN_CAPS flag should have been copied !");
1742         See bug #348114 for more details.
1743
1744 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
1745
1746         * docs/pwg/advanced-scheduling.xml:
1747         * gst/gstpad.c:
1748           Fix typos (#348000).
1749
1750 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
1751
1752         * docs/pwg/intro-basics.xml:
1753           Fix wrong links (#347927).
1754
1755 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
1756
1757         * gst/gstregistry.h:
1758         * gst/gstregistryxml.c: (load_feature),
1759         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1760         * win32/common/config.h:
1761           make --disable-index work (#342564)
1762
1763 2006-07-18  Wim Taymans  <wim@fluendo.com>
1764
1765         Patch by: Peter Kjellerstedt <pkj at axis dot com>
1766
1767         * gst/Makefile.am:
1768         * gst/gsttrace.h:
1769         The attached patch adds two missing defines to gsttrace.h when tracing
1770         is disabled.  It also corrects one existing define.
1771         Fixes #347756.
1772
1773 2006-07-17  Wim Taymans  <wim@fluendo.com>
1774
1775         * docs/gst/gstreamer-sections.txt:
1776         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
1777         * gst/gst.h:
1778         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
1779         Add two functions to check and change the SIGSEGV behaviour
1780         when loading plugins.
1781         Don't mess with the SIGSEGV handler when we were told not to.
1782         Fixes #347794.
1783         API: gst_segtrap_is_enabled
1784         API: gst_segtrap_set_enabled
1785
1786 2006-07-14  Wim Taymans  <wim@fluendo.com>
1787
1788         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
1789         * tests/check/elements/filesrc.c: (GST_START_TEST):
1790         Revert fix for regression in #347408 after release.
1791
1792 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
1793
1794         Patch by: Antoine Tremblay <hexa00 at gmail com>
1795
1796         * gst/gstutils.c: (gst_element_unlink):
1797           Free iterator when done (#347311).
1798
1799         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1800           And add a test case for this.
1801
1802 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
1803
1804         * configure.ac:
1805         Bump nano back to CVS
1806
1807 === release 0.10.9 ===
1808
1809 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
1810
1811         * configure.ac:
1812           releasing 0.10.9, "On the road again"
1813
1814 2006-07-13  Wim Taymans  <wim@fluendo.com>
1815
1816         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
1817         * tests/check/elements/filesrc.c: (GST_START_TEST):
1818         Revert pull-0 fix for release. Disable check. Fixes #347408.
1819
1820 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1821
1822         * libs/gst/dataprotocol/dataprotocol.c:
1823         (gst_dp_event_from_packet_1_0):
1824           Fixes #347337: failure to deserialize event packets with
1825           empty payload (only event type)
1826
1827 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1828
1829         * gst/Makefile.am:
1830           do not install a .c file in the header directory
1831
1832 2006-07-13  Edward Hervey  <edward@fluendo.com>
1833
1834         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
1835         GhostPad no longer implicitely use the padtemplates of the targets.
1836         Fixes #347384
1837
1838 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
1839
1840         * gst/gstvalue.c: (gst_value_compare_list),
1841         (gst_value_compare_array), (_gst_value_initialize):
1842         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1843         Make GstValueArray comparison be order dependent as designed.
1844         Add checks for value lists and value array comparisons.
1845         Fixes #347221
1846
1847 2006-07-11  Edward Hervey  <edward@fluendo.com>
1848
1849         * gst/gstbin.c: (activate_pads),
1850         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
1851         (gst_bin_change_state_func):
1852         (de)activate src pads before calling state_change on the childs.
1853         This is to avoid the case where a src ghostpad is blocked (holding the
1854         stream lock), which would block the deactivation of the ghostpad's
1855         target pad.
1856         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
1857         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
1858         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
1859         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
1860         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
1861         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1862         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
1863         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
1864         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
1865         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
1866         (gst_ghost_pad_class_init),
1867         (gst_ghost_pad_internal_do_activate_push),
1868         (gst_ghost_pad_internal_do_activate_pull),
1869         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
1870         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
1871         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
1872         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
1873         GhostPads now create their internal GstProxyPad at creation (and not
1874         when they're linked, as it was being done previously).
1875         The internal and target pads are linked straight away.
1876         The data will also travel through the other pad in order to make
1877         pad blocking and probes non-hackish (the probe/block now really happens
1878         on the GhostPad and not on the target).
1879         * gst/gstpad.c: (gst_pad_set_blocked_async),
1880         (gst_pad_link_prepare), (gst_pad_push_event):
1881         Remove previous ghostpad cruft.
1882         * gst/gstutils.c: (gst_pad_add_data_probe),
1883         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1884         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1885         (gst_pad_remove_buffer_probe):
1886         Remove previous ghost pad cruft.
1887         Added more detailed debug statements.
1888         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1889         Fix the testsuite for refcounting changes.
1890         The comments about who has references were correct, but the refcount
1891         being checked wasn't the same (!?!).
1892
1893         Fixes #341029
1894
1895 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
1896
1897         * docs/gst/gstreamer-sections.txt:
1898         * gst/gstconfig.h.in:
1899         More docs for configuration options, add docs to gtk-doc.
1900
1901 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
1902
1903         * gst/Makefile.am:
1904         * gst/gstconfig.h.in:
1905         * win32/common/config.h:
1906         Fix build when disabling tracing (fixes #344016). Also start to document
1907         the defines that disable the sub-systems.
1908
1909 2006-07-10  Edward Hervey  <edward@fluendo.com>
1910
1911         * gst/gst.c: (ensure_current_registry_forking):
1912         let's make valgrind happy...
1913
1914 2006-07-09  Wim Taymans  <wim@fluendo.com>
1915
1916         * gst/gstelement.c: (activate_pads),
1917         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
1918         Better pad activation code: Reset the collect value too on resync.
1919         Add some comments.
1920
1921 2006-07-09  Wim Taymans  <wim@fluendo.com>
1922
1923         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
1924         (gst_pad_activate_push):
1925         Use some more macros where it makes sense.
1926         Allow pad mode switching instead of asserting. When a pad
1927         is activated in one mode and we activate it in another, 
1928         deactivate it first before activating it in a different mode.
1929         Fixes #329198.
1930
1931 2006-07-08  Andy Wingo  <wingo@pobox.com>
1932
1933         * tools/gst-launch.c (main): Handle err == NULL.
1934
1935         * gst/gst.c (init_post, ensure_current_registry)
1936         (ensure_current_registry_forking)
1937         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
1938         factoring out the registry scanning into separate functions. Don't
1939         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
1940         Better environment var name/interface suggestions accepted.
1941
1942 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1943
1944         * gst/gstobject.c: (gst_object_set_name_default),
1945         (gst_object_set_name):
1946           Random micro-optimisation: don't use a hash table
1947           with strings as keys and the usual strdup/strcmp
1948           involved, but rather just use the GQuark of the
1949           type name as key, since it needs to be looked up
1950           anyway to get the type name string.
1951
1952         * tests/check/gst/gstobject.c: (GST_START_TEST):
1953           Fix various leaks.
1954
1955 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1956
1957         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
1958         (gst_bin_iterate_all_by_interface):
1959           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
1960           GTypes are gulongs and thus the top 4 bytes might be cut
1961           off on some platforms when doing GPOINTER_TO_INT, leading
1962           to invalid GTypes and bad things happening (see RH bug #179654).
1963           Also add a check to make sure the type passed in is really
1964           an interface type.
1965
1966 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1967
1968         * .cvsignore:
1969           Ignore more.
1970
1971 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1972
1973         * Makefile.am:
1974         * configure.ac:
1975         * gst-element-check.m4:
1976         * gst-element-check.m4.in:
1977           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
1978           instead of the unversioned gst-inspect (#324176, #168659).
1979
1980 2006-07-06  Wim Taymans  <wim@fluendo.com>
1981
1982         * gst/gstmessage.h:
1983         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
1984         warnings.
1985
1986 2006-07-06  Wim Taymans  <wim@fluendo.com>
1987
1988         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1989         (gst_base_src_wait), (gst_base_src_update_length),
1990         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
1991         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
1992         (gst_base_src_loop), (gst_base_src_start),
1993         (gst_base_src_activate_pull):
1994         Update docs.
1995         blocksize == 0 now means the default blocksize when working in push
1996         based mode.
1997         Remove some pointless asserts in _wait function.
1998         Fix offset/length calculations and EOS handling. We can now pull 0
1999         bytes as well, which is allowed.
2000         use _check_get_range() to decide if we can operate in _pull based
2001         mode.
2002         Fix refcounting leak when check_get_range function was not 
2003         implemented.
2004         API GstBaseSrc::blocksize range can be 0 too now (default)
2005
2006         * tests/check/elements/filesrc.c: (GST_START_TEST),
2007         (filesrc_suite):
2008         Added check to test _get_range() behaviour.
2009
2010 2006-07-06  Wim Taymans  <wim@fluendo.com>
2011
2012         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
2013         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
2014         (gst_pad_pull_range):
2015         * gst/gstpad.h:
2016         Lots of comments and docs added to the pad functions.
2017         Flesh out the expected behaviour of the get_range() functions.
2018
2019 2006-07-06  Wim Taymans  <wim@fluendo.com>
2020
2021         * gst/gstbus.h:
2022         * gst/gstclock.h:
2023         * gst/gstevent.h:
2024         * gst/gstiterator.h:
2025         * gst/gstpad.h:
2026         * gst/gstplugin.h:
2027         * gst/gsttask.h:
2028         Remove comma at end of enumerator list. 
2029
2030 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
2031
2032         * win32/common/libgstbase.def:
2033         * win32/common/libgstdataprotocol.def:
2034         * win32/common/libsgtreamer.def:
2035         Add new exported functions.
2036
2037 2006-07-05  Wim Taymans  <wim@fluendo.com>
2038
2039         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
2040         Add some more docs here and there.
2041
2042 2006-07-05  Wim Taymans  <wim@fluendo.com>
2043
2044         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
2045         (gst_base_sink_loop), (gst_base_sink_get_position):
2046         When operating in pull mode update the offset so that we
2047         read sequentially.
2048
2049 2006-07-05  Wim Taymans  <wim@fluendo.com>
2050
2051         * gst/gstregistryxml.c: (read_string):
2052         Avoid strdup. (will happen in libxml, but hey!)
2053
2054         * gst/gsturi.c:
2055         Add some more docs.
2056
2057 2006-07-05  Wim Taymans  <wim@fluendo.com>
2058
2059         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
2060         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
2061         (gst_buffer_suite):
2062         No point in checking if the size of the subbuffer > 0, the
2063         code handles it correclty as demonstrated by unit test.
2064         Also add a unit test for the zero sized _new_and_alloc and
2065         _copy. Fixes #346663.
2066
2067 2006-07-05  Wim Taymans  <wim@fluendo.com>
2068
2069         * libs/gst/base/gstbasetransform.c:
2070         (gst_base_transform_prepare_output_buffer),
2071         (gst_base_transform_buffer_alloc),
2072         (gst_base_transform_handle_buffer):
2073         Make sure the buffer we pass to transform_ip has a refcount of
2074         1 and thus is writable. Fixes #343196
2075
2076 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
2077
2078         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2079         (gst_file_src_init), (gst_file_src_set_property),
2080         (gst_file_src_get_property), (gst_file_src_map_region):
2081         * plugins/elements/gstfilesrc.h:
2082         Add "sequential" property, off by default, to use madvise and hint
2083         to the kernel that sequential access is desired.
2084         Touch all retrieved pages by default to ensure they are pulled
2085         into memory. (Closes #345720)
2086
2087 2006-07-03  Wim Taymans  <wim@fluendo.com>
2088
2089         * docs/design/part-block.txt:
2090         * docs/design/part-dynamic.txt:
2091         Small docs updates.
2092
2093 2006-07-03  Wim Taymans  <wim@fluendo.com>
2094
2095         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
2096         (gst_caps_unref), (gst_static_caps_get),
2097         (gst_caps_append_structure):
2098         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
2099         Use GSlice when the glib we build against is >= 2.10
2100
2101 2006-07-03  Wim Taymans  <wim@fluendo.com>
2102
2103         * gst/gstelement.c: (gst_element_pads_activate):
2104         Small cleanup in pad activation code.
2105
2106 2006-07-03  Wim Taymans  <wim@fluendo.com>
2107
2108         Patch by: Peter Kjellerstedt <pkj at axis dot com>
2109
2110         * gst/gst-i18n-app.h:
2111         * gst/gst-i18n-lib.h:
2112         * tools/gst-inspect.c: (print_signal_info):
2113         The attached patch will make the inclusion of gettext.h unconditional in
2114         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
2115         libintl.h in tools/gst-inspect.c.
2116         This allows use of --disable-nls again and fixes #344642.
2117
2118 2006-07-03  Edward Hervey  <edward@fluendo.com>
2119
2120         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
2121         Implement pad blocking on events according to part-block.txt.
2122         More comments on behaviour.
2123         * tests/check/gst/gstevent.c: (test_event):
2124         Send event to peer pad of blocked pad (else it will block).
2125
2126 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2127
2128         * libs/gst/check/gstcheck.c: (gst_check_message_error),
2129         (gst_check_run_suite):
2130           if we get the wrong message, give us the types as string
2131         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2132           Fix a translatable
2133         * tests/check/elements/filesrc.c: (GST_START_TEST):
2134           add a test for trying to open a non-existing file
2135
2136 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2137
2138         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
2139           add a test for adding self
2140
2141 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
2142
2143         * libs/gst/check/gstcheck.h:
2144           add some assert_ as alias for fail_unless_*
2145         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
2146           increase test coverage
2147
2148 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2149
2150         * Makefile.am:
2151           include lcov.mak for lcov coverage generation
2152         * tools/Makefile.am:
2153           add to CLEANFILES
2154
2155 2006-07-02  Edward Hervey  <edward@fluendo.com>
2156
2157         * tests/check/elements/.cvsignore:
2158         moaping
2159
2160 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2161
2162         * configure.ac:
2163           don't set CFLAGS and friends for gcov, done from GST_GCOV now
2164         * tests/check/Makefile.am:
2165           clean up gcov files
2166
2167 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2168
2169         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
2170           remove gst_caps_simplify; it was not declared and not used
2171           and deprecated in 0.8
2172
2173 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2174
2175         * docs/faq/gst-uninstalled:
2176           don't put empty paths on PYTHONPATH
2177         * docs/gst/gstreamer-sections.txt:
2178           remove some symbols that are not there
2179
2180 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2181
2182         * gst/gstcaps.c: (gst_caps_compare_structures):
2183           whitespace fixes
2184         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
2185         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
2186           add more tests
2187
2188 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2189
2190         * libs/gst/dataprotocol/Makefile.am:
2191           build dataprotocol test by linking to the lib, instead of
2192           compiling the source, so we get coverage
2193         * tests/check/Makefile.am:
2194         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
2195         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
2196           add a test for filesrc
2197
2198 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2199
2200         * tests/check/gst/gststructure.c: (GST_START_TEST),
2201         (gst_structure_suite):
2202           Push coverage from 59.04% to 70.00%
2203
2204 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2205
2206         * tests/check/Makefile.am:
2207           gst-inspect every element; this makes sure that we also get
2208           coverage on element's get/set functions
2209
2210 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2211
2212         * configure.ac:
2213           set CFLAGS and friends to -O0 if gcov is being used
2214           add GCOV LIBS
2215         * gst/Makefile.am:
2216         * libs/gst/base/Makefile.am:
2217         * libs/gst/check/Makefile.am:
2218         * libs/gst/controller/Makefile.am:
2219         * libs/gst/dataprotocol/Makefile.am:
2220         * libs/gst/net/Makefile.am:
2221         * plugins/elements/Makefile.am:
2222         * plugins/indexers/Makefile.am:
2223           add makefile rules to generate gcov data and clean up
2224         * tests/check/Makefile.am:
2225           add a coverage target that generates an html overview
2226           of coverage data
2227
2228 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2229
2230         * tests/check/elements/fakesink.c:
2231         * tests/check/elements/fakesrc.c:
2232         * tests/check/elements/fdsrc.c:
2233         * tests/check/elements/identity.c:
2234         * tests/check/generic/sinks.c: (gst_sinks_suite):
2235         * tests/check/generic/states.c:
2236         * tests/check/gst/gst.c:
2237         * tests/check/gst/gstabi.c:
2238         * tests/check/gst/gstbin.c:
2239         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
2240         * tests/check/gst/gstbus.c: (gst_bus_suite):
2241         * tests/check/gst/gstcaps.c: (GST_START_TEST):
2242         * tests/check/gst/gstelement.c:
2243         * tests/check/gst/gstevent.c: (gst_event_suite):
2244         * tests/check/gst/gstghostpad.c:
2245         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
2246         * tests/check/gst/gstmessage.c: (gst_message_suite):
2247         * tests/check/gst/gstminiobject.c:
2248         * tests/check/gst/gstobject.c:
2249         * tests/check/gst/gstpad.c:
2250         * tests/check/gst/gstpipeline.c:
2251         * tests/check/gst/gstplugin.c:
2252         * tests/check/gst/gstquery.c: (gst_query_suite):
2253         * tests/check/gst/gstsegment.c: (gst_segment_suite):
2254         * tests/check/gst/gststructure.c:
2255         * tests/check/gst/gstsystemclock.c:
2256         * tests/check/gst/gsttag.c:
2257         * tests/check/gst/gsttask.c: (gst_task_suite):
2258         * tests/check/gst/gstutils.c:
2259         * tests/check/gst/gstvalue.c:
2260         * tests/check/libs/adapter.c:
2261         * tests/check/libs/basesrc.c:
2262         * tests/check/libs/collectpads.c:
2263         * tests/check/libs/controller.c:
2264         * tests/check/libs/gdp.c: (gst_dp_suite):
2265         * tests/check/libs/gstnetclientclock.c:
2266         * tests/check/libs/gstnettimeprovider.c:
2267         * tests/check/libs/libsabi.c: (libsabi_suite):
2268         * tests/check/libs/typefindhelper.c:
2269         * tests/check/pipelines/cleanup.c:
2270         * tests/check/pipelines/parse-launch.c:
2271         * tests/check/pipelines/simple-launch-lines.c:
2272         * tests/check/pipelines/stress.c: (stress_suite):
2273           use the new macro
2274
2275 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2276
2277         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
2278         * libs/gst/check/gstcheck.h:
2279           create a macro and function so that the simple unit test
2280           case can be just one macro to create main()
2281
2282 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
2283
2284         * gst/gstbin.c: (gst_bin_restore_thyself):
2285         * gst/gstxml.c: (gst_xml_make_element):
2286           Fix deserialisation from XML. Set parent manually
2287           instead of using gst_bin_add(), since gst_bin_add()
2288           will unlink all pads of the element being added.
2289           Fixes #341667.
2290
2291 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
2292
2293         Patch by: Peter Kjellerstedt <pkj at axis com>
2294
2295         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
2296           Fix missing g_strdup() and double free when using the
2297           --gst-plugin-load command line option (#346097).
2298
2299 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
2300
2301         * gst/gstinfo.c:
2302           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
2303
2304         * libs/gst/net/gstnetclientclock.c:
2305         * libs/gst/net/gstnettimeprovider.c:
2306           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
2307
2308 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
2309
2310         * docs/manual/advanced-dataaccess.xml:
2311           Fix buffer probe example compilation in
2312           ADM (#345708).
2313         
2314 2006-06-22  Edward Hervey  <edward@fluendo.com>
2315
2316         * gst/gstelement.c: (gst_element_pads_activate):
2317         We need to deactivate src pads first and then sink pads.
2318         The reason is the src pads might be blocking while holding the streaming
2319         lock, so we need to deactivate them first so that deactivating the sink
2320         pads doesn't block (since it will require the streaming lock).
2321
2322 2006-06-22  Wim Taymans  <wim@fluendo.com>
2323
2324         * libs/gst/base/gstbasetransform.c:
2325         (gst_base_transform_buffer_alloc):
2326         Forgot to remove two unneeded unrefs.
2327         Simplify a check _is_equal allready checks the obvious case.
2328
2329 2006-06-22  Wim Taymans  <wim@fluendo.com>
2330
2331         * docs/design/part-block.txt:
2332         Some docs about what pad_block should do.
2333
2334 2006-06-22  Wim Taymans  <wim@fluendo.com>
2335
2336         * gst/gstcaps.c: (gst_caps_replace):
2337         Fix crasher when passed NULL. Doc clarification.
2338         Optimize for the trivial case.
2339
2340         * gst/gstpipeline.c: (gst_pipeline_change_state):
2341         Small cleanups.
2342
2343         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
2344         Small documentation cleanup.
2345
2346         * libs/gst/base/gstbasetransform.c:
2347         (gst_base_transform_buffer_alloc):
2348         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
2349         is what we need and it avoids a whole lot of redundant 
2350         refcount operations.
2351
2352 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
2353
2354         Patch by: Philip Jägenstedt  <philip at lysator liu se>
2355
2356         * docs/manual/advanced-dataaccess.xml:
2357           Fix 'Embedding static elements' section to use
2358           GST_PLUGIN_DEFINE_STATIC (#345607).
2359
2360 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
2361
2362         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
2363           Attempt to 'fix' spuriously failing test case: it seems like the
2364           timeout of half a second is simply too small when the system is under
2365           load otherwise, and the timeout doesn't really seem to serve any
2366           particular purpose here. Give the pipeline a few seconds to preroll
2367           first, and then give it another half a second to go from PAUSED to
2368           PLAYING and marshal the message into the main thread.
2369
2370 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
2371
2372         * tools/gst-feedback-m.m:
2373           Don't only use unversioned tools, try versioned tools as well
2374           (#345086).
2375
2376 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
2377
2378         * gst/gstbus.c: (gst_bus_class_init):
2379           Fix some typos, make docs more explicit.
2380
2381 2006-06-20  Wim Taymans  <wim@fluendo.com>
2382
2383         * tests/check/gst/gstghostpad.c: (block_callback),
2384         (GST_START_TEST), (gst_ghost_pad_suite):
2385         Added some more ghostpad tests, mainly blocking
2386         and probes.
2387
2388 2006-06-16  Wim Taymans  <wim@fluendo.com>
2389
2390         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2391         (gst_file_sink_close_file), (gst_file_sink_do_seek),
2392         (gst_file_sink_event), (gst_file_sink_render):
2393         * plugins/elements/gstfilesink.h:
2394         Check if we can seek in the file instead of assuming
2395         we always can. Post an error when we are asked to seek in a
2396         non-seekable file (like a fifo). Fixes #343312.
2397         Some cleanups.
2398
2399 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
2400
2401         * tools/gst-launch.1.in:
2402           Un-garble (fourcc) bit in filtered caps section.
2403
2404 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
2405
2406         * docs/manual/advanced-autoplugging.xml:
2407         * docs/manual/basics-helloworld.xml:
2408         * docs/manual/highlevel-components.xml:
2409           Don't leak bus reference in sample code.
2410
2411 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
2412
2413         * autogen.sh:
2414           Add default for new --enable-plugin-docs switch.
2415
2416         * configure.ac:
2417           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
2418           Fixes #344039.
2419
2420         * docs/Makefile.am:
2421           Use new ENABLE_PLUGIN_DOCS conditional.
2422
2423 2006-06-14  Wim Taymans  <wim@fluendo.com>
2424
2425         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
2426         Make it clear with a FIXME and a real define what the #if 0
2427         previously disabled.
2428
2429 2006-06-14  Wim Taymans  <wim@fluendo.com>
2430
2431         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2432         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
2433         * libs/gst/base/gstbasetransform.c:
2434         (gst_base_transform_sink_eventfunc):
2435         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
2436         Don't randomly and silently reset a segment when the format 
2437         changes as this is a bug somewhere upstream. Fixes #330379.
2438
2439 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2440
2441         Patch by: Wouter Paesen  <wouter at kangaroot net>
2442
2443         * libs/gst/controller/gstcontroller.c:
2444         (gst_controlled_property_new):
2445           Fix controlling of float properties (#344849).
2446
2447         * tests/check/libs/controller.c:
2448         (gst_test_mono_source_get_property),
2449         (gst_test_mono_source_set_property),
2450         (gst_test_mono_source_class_init), (GST_START_TEST):
2451           While we're at it, add some float stuff to unit test.
2452
2453 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2454
2455         * docs/README:
2456         * docs/images/gdp-header.svg:
2457           add a gdp image
2458         * docs/libs/Makefile.am:
2459         * docs/libs/gdp-header.png:
2460         * libs/gst/dataprotocol/dataprotocol.c:
2461           add it to the API docs
2462         * docs/manual/intro-motivation.xml:
2463           fix typo
2464
2465 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
2466
2467         * gst/gst.c: (scan_and_update_registry), (init_post):
2468           If the fork()'ed child process can't write the updated registry cache
2469           file to disk for some reason, make it exit with a failure exit code,
2470           so that the parent can then re-scan the plugins itself and update the
2471           registry structures in memory and work with that (rather than failing
2472           when creating elements because seemingly no plugins are available).
2473           Refactor registry scanning code into separate function for this and
2474           also separate fork() and non-fork() code paths. Fixes #344748.
2475
2476 2006-06-13  Wim Taymans  <wim@fluendo.com>
2477
2478         * docs/manual/advanced-dataaccess.xml:
2479         Fix wrong PluginDesc. Fixes #344755.
2480
2481 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
2482
2483         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
2484           Fix silly bug that prevented us from creating
2485           ~/.gstreamer-0.10 and writing the registry in one
2486           go (the first call to g_mkstemp() would overwrite the
2487           placeholder in the template string, so the second call
2488           to g_mkstemp() after creating the missing directory
2489           would then error out with 'invalid argument').
2490
2491 2006-06-13  Edward Hervey  <edward@fluendo.com>
2492
2493         * gst/gst.c: (init_post):
2494         Free string.
2495
2496 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2497
2498         * gst/glib-compat-private.h:
2499         * gst/glib-compat.c:
2500         * gst/glib-compat.h:
2501         * gst/gstvalue.c: (gst_value_serialize_flags):
2502           remove GLib 2.6 compatibility code
2503
2504 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
2505
2506         * gst/parse/Makefile.am:
2507           Fix build with 'make -j N' even more (#340016).
2508
2509 2006-06-12  Wim Taymans  <wim@fluendo.com>
2510
2511         * docs/gst/gstreamer-sections.txt:
2512         Fix docs.
2513
2514 2006-06-12  Wim Taymans  <wim@fluendo.com>
2515
2516         * gst/gstsegment.c: (gst_segment_set_duration),
2517         (gst_segment_set_last_stop), (gst_segment_set_seek),
2518         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
2519         (gst_segment_to_running_time), (gst_segment_clip):
2520         Use G_UNLIKELY to help the compiler a bit.
2521
2522 2006-06-12  Wim Taymans  <wim@fluendo.com>
2523
2524         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
2525
2526         * gst/gstevent.c: (gst_event_get_type):
2527         * gst/gstmessage.c:
2528         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
2529         (gst_pad_push):
2530         constify quark registration strings. Fixes #344115
2531         Avoid unneeded type checking is _pad_push() by internally
2532         calling gst_pad_chain_unchecked().
2533
2534 2006-06-12  Wim Taymans  <wim@fluendo.com>
2535
2536         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
2537         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
2538         (gst_subbuffer_finalize), (gst_buffer_create_sub),
2539         (gst_buffer_is_span_fast), (gst_buffer_span):
2540         Init _type for consistency.
2541         Use _FLAGS macro to avoid type check.
2542         Avoid unneeded type checks in subbufer code.
2543
2544 2006-06-12  Wim Taymans  <wim@fluendo.com>
2545
2546         * gst/gst.c: (gst_debug_help):
2547         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
2548         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
2549         (gst_plugin_feature_list_free):
2550         * gst/gstregistry.c: (gst_registry_add_plugin),
2551         (gst_registry_add_feature), (gst_registry_plugin_filter),
2552         (gst_registry_feature_filter), (gst_registry_find_plugin),
2553         (gst_registry_find_feature), (gst_registry_get_plugin_list),
2554         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
2555         * gst/gstregistryxml.c: (load_feature),
2556         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
2557         * gst/gstminiobject.c: (gst_mini_object_unref),
2558         (gst_mini_object_replace), (gst_value_mini_object_free),
2559         (gst_value_mini_object_copy):
2560         Use _CAST macros to avoid unneeded type checking.
2561         Added some more G_UNLIKELY.
2562
2563 2006-06-12  Wim Taymans  <wim@fluendo.com>
2564
2565         * gst/gstbuffer.h:
2566         Avoid unneeded type checking.
2567         API: GST_BUFFER_IS_DISCONT
2568
2569         * gst/gstminiobject.h:
2570         Avoid type check in flag accessor.
2571
2572         * gst/gstelementfactory.h:
2573         * gst/gstplugin.h:
2574         * gst/gstpluginfeature.h:
2575         Add _CAST macros.
2576         API: GST_ELEMENT_FACTORY_CAST
2577         API: GST_PLUGIN_CAST
2578         API: GST_PLUGIN_FEATURE_CAST
2579
2580 2006-06-12  Wim Taymans  <wim@fluendo.com>
2581
2582         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
2583         (gst_object_unref):
2584         Add G_UNLIKELY in type registration.
2585         Avoid type check in _ref/_unref since that is also
2586         done in glib.
2587
2588 2006-06-12  Wim Taymans  <wim@fluendo.com>
2589
2590         * gst/gsterror.c: (gst_g_error_get_type):
2591         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
2592         (gst_static_pad_template_get_type):
2593         * gst/gsttaglist.c: (gst_tag_list_get_type):
2594         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
2595         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
2596         * gst/gsturi.c: (gst_uri_handler_get_type):
2597         * gst/gstvalue.c: (gst_date_get_type):
2598         * gst/gstxml.c: (gst_xml_get_type):
2599         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
2600         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
2601         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
2602         Add G_UNLIKELY in type registration.
2603
2604 2006-06-12  Wim Taymans  <wim@fluendo.com>
2605
2606         * tools/gst-inspect.c: (print_signal_info):
2607         Properly print enum values.
2608
2609 2006-06-12  Wim Taymans  <wim@fluendo.com>
2610
2611         * gst/gstinfo.c: (gst_debug_set_active),
2612         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
2613         * gst/gstinfo.h:
2614         Add some G_[UN]LIKELY.
2615         Maintain __gst_debug_min to avoid formatting the arguments of
2616         debug messages that will be dropped anyway to avoid a lot of 
2617         overhead from the debugging system.
2618
2619 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
2620
2621         * po/POTFILES.in:
2622         * po/POTFILES.skip:
2623           add missing files containing translatable strings, tell intltool about
2624           one exception
2625
2626 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
2627
2628         * tests/check/libs/.cvsignore:
2629         add test-binary to ignore list
2630
2631 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
2632
2633         * docs/libs/gstreamer-libs-docs.sgml:
2634         reorder (put dp into a chapter) and indent
2635
2636 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2637
2638         * configure.ac:
2639           back to HEAD
2640
2641 === release 0.10.8 ===
2642
2643 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
2644
2645         * configure.ac:
2646           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
2647
2648 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2649
2650         * gst/gst.c: (init_post):
2651           move pid declaration to declaration block
2652
2653 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2654
2655         * gst/gst.c: (init_post):
2656           use _exit() instead of exit() in our forked child; this ensures
2657           that none of the registered exit handlers from whatever is using
2658           GStreamer get executed.  This fixes gnome-mixer-applet failing
2659           to load, because ORBit would shut down.
2660           Spotted by: Edward Hervey  <edward@fluendo.com>
2661           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
2662           Fixes #344474
2663
2664 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2665
2666         * configure.ac:
2667           back to TRUNK
2668
2669 === release 0.10.7 ===
2670
2671 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
2672
2673         * configure.ac:
2674           releasing 0.10.7, "Soepeke, ik zie ou"
2675
2676 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2677
2678         * configure.ac:
2679         * po/af.po:
2680         * po/az.po:
2681         * po/bg.po:
2682         * po/ca.po:
2683         * po/cs.po:
2684         * po/de.po:
2685         * po/en_GB.po:
2686         * po/fr.po:
2687         * po/it.po:
2688         * po/nb.po:
2689         * po/nl.po:
2690         * po/ru.po:
2691         * po/sq.po:
2692         * po/sr.po:
2693         * po/sv.po:
2694         * po/tr.po:
2695         * po/uk.po:
2696         * po/vi.po:
2697         * po/zh_CN.po:
2698         * po/zh_TW.po:
2699         * win32/common/config.h:
2700           0.10.6.2 prerelease
2701
2702 2006-06-07  Wim Taymans  <wim@fluendo.com>
2703
2704         * gst/gstindex.c: (gst_index_gtype_resolver):
2705         * tools/gst-xmlinspect.c: (print_plugin_info):
2706         Fix leak spotted by coverity checker. Fixes #343827
2707         Fix another other leak found by paolo borelli.
2708
2709 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2710
2711         * libs/gst/dataprotocol/dataprotocol.c:
2712         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
2713         (gst_dp_version_get_type), (gst_dp_init),
2714         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
2715         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
2716         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
2717         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
2718         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
2719         (gst_dp_packetizer_free):
2720         * libs/gst/dataprotocol/dataprotocol.h:
2721           API: add a GstDPPacketizer object, and create/free functions
2722           API: add GstDPVersion enum
2723           Add 1.0 event function that uses the string serialization
2724           Serialize more useful buffer flags
2725           Fixes #343988
2726
2727 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2728
2729         * tests/check/Makefile.am:
2730         * tests/check/gst/gstabi.c:
2731         * tests/check/gst/struct_ppc64.h:
2732         * tests/check/libs/libsabi.c:
2733         * tests/check/libs/struct_ppc64.h:
2734           add ppc64 structure sizes
2735
2736 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2737
2738         * tests/check/Makefile.am:
2739         * tests/check/gst/gstabi.c:
2740         * tests/check/gst/struct_x86_64.h:
2741         * tests/check/libs/libsabi.c:
2742         * tests/check/libs/struct_x86_64.h:
2743           generate and add structure size lists for x86_64
2744
2745 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2746
2747         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
2748         * libs/gst/check/gstcheck.h:
2749           factor out the method from tests that checks size of structures,
2750           and add code to generate the header containing these sizes
2751         * tests/check/gst/gstabi.c: (GST_START_TEST):
2752         * tests/check/gst/struct_i386.h:
2753         * tests/check/libs/libsabi.c: (GST_START_TEST):
2754         * tests/check/libs/struct_i386.h:
2755           use it
2756
2757 2006-06-06  Michael Smith  <msmith@fluendo.com>
2758
2759         * gst/gstsegment.h:
2760           Don't use c++-style comments, fixes #343929
2761
2762 2006-06-05  Edward Hervey  <edward@fluendo.com>
2763
2764         * gst/gst.c:
2765         plugin_paths is not used if we build without registry support.
2766
2767         * gst/gstsegment.c: (gst_segment_copy): 
2768         _copy() was always returning NULL...
2769
2770 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2771
2772         * libs/gst/dataprotocol/dataprotocol.c:
2773         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2774         (gst_dp_packet_from_event):
2775           factor out CRC code
2776
2777 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2778
2779         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
2780           make sure we unset caps
2781
2782 2006-06-02  Michael Smith  <msmith@fluendo.com>
2783
2784         * libs/gst/check/gstcheck.c: (gst_check_init),
2785         (gst_check_chain_func):
2786         * libs/gst/check/gstcheck.h:
2787           Add a cond/mutex to the check support lib, signal this whenever we
2788           add to the buffers list. This will allow tests to not busy-wait on
2789           the buffer-list.
2790
2791 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2792
2793         * libs/gst/dataprotocol/dataprotocol.c:
2794         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2795         (gst_dp_packet_from_event):
2796           factor out some common header init code
2797
2798 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2799
2800         * docs/libs/gstreamer-libs-sections.txt:
2801         * docs/libs/tmpl/gstdataprotocol.sgml:
2802         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
2803         * libs/gst/dataprotocol/dataprotocol.h:
2804           API: make gst_dp_crc() public
2805
2806 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
2807
2808         * plugins/indexers/gstindexers.c: (plugin_init):
2809         conditionally register fileindexer (fixes #343598)
2810
2811 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
2812
2813         * gst/gsttagsetter.h:
2814         Can't cast ifaces to a class
2815
2816         * libs/gst/net/gstnetclientclock.h:
2817         * libs/gst/net/gstnettimeprovider.h:
2818         * plugins/elements/gstfakesink.h:
2819         * plugins/elements/gstfakesrc.h:
2820         * plugins/elements/gstfdsink.h:
2821         * plugins/elements/gstfdsrc.h:
2822         * plugins/elements/gstfilesink.h:
2823         * plugins/elements/gstfilesrc.h:
2824         * plugins/elements/gstidentity.h:
2825         * plugins/elements/gstqueue.h:
2826         * plugins/elements/gsttee.h:
2827         * plugins/indexers/gstfileindex.c:
2828         * plugins/indexers/gstmemindex.c:
2829         * tests/old/examples/plugins/example.h:
2830         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
2831
2832 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2833
2834         * libs/gst/dataprotocol/dataprotocol.c:
2835         (gst_dp_header_from_buffer):
2836           make sure we zero the whole ABI-compatible area
2837
2838 2006-06-01  Wim Taymans  <wim@fluendo.com>
2839
2840         Patch by: Alessandro Decina <alessandro at nnva dot org>
2841
2842         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
2843         Make sure the EOS flag is cleared from pads after a flush
2844         or stop. Fixes #343538.
2845
2846         * tests/check/libs/collectpads.c: (GST_START_TEST),
2847         (gst_collect_pads_suite):
2848         Added test for collectpads reusage after EOS.
2849
2850 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
2851
2852         * gst/gst.c:
2853          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
2854         * win32/common/libgstbase.def:
2855          export gst_collect_pads_set_flushing
2856         * win32/common/libgstreamer.def:
2857          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
2858          gst_value_fraction_multiply
2859         * win32/vs6/gst_inspect.dsp:
2860          add a link to intl.lib
2861
2862 2006-05-30  Wim Taymans  <wim@fluendo.com>
2863
2864         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
2865         (gst_collect_pads_chain):
2866         Handle the case where a pad is removed from the collection
2867         that could cause the other pads to become collectable.
2868
2869 2006-05-30  Wim Taymans  <wim@fluendo.com>
2870
2871         * gst/gstelement.c:
2872         Clarify the use of _release_request_pad() and
2873         _get_request_pad() a bit better.
2874
2875         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
2876         (gst_adapter_take_buffer):
2877         Fix some doc and comment typos.
2878
2879 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2880
2881         * docs/gst/gstreamer-sections.txt:
2882         * docs/libs/gstreamer-libs-sections.txt:
2883           add declared symbols
2884
2885 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
2886
2887         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
2888         Add debug that can be enabled using a #define at the top of the file,
2889         for dumping stats about how late/early we were when waking up from
2890         waiting on the clock.
2891
2892 2006-05-30  Wim Taymans  <wim@fluendo.com>
2893
2894         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
2895         When rebuilding the pad list, don't leak the previous list.
2896
2897 2006-05-30  Wim Taymans  <wim@fluendo.com>
2898
2899         Patch by: Lutz Mueller <lutz at topfrose dot de>
2900
2901         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2902         (gst_base_src_get_query_types), (gst_base_src_update_length):
2903         Publish supported query types.
2904         Update last_stop field in get_range mode so the position
2905         query works. Fixes #342321.
2906
2907 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
2908
2909         * docs/gst/gstreamer-sections.txt:
2910         * gst/gsttaglist.c: (_gst_tag_initialize):
2911         * gst/gsttaglist.h:
2912           API: add GST_TAG_PREVIEW_IMAGE (#343341).
2913
2914 2006-05-30  Wim Taymans  <wim@fluendo.com>
2915
2916         Patch by: Alessandro Decina <alessandro at nnva dot org>
2917
2918         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
2919         Unlock mutex when removing an unknown pad.
2920         Fixes #343334.
2921
2922         * tests/check/Makefile.am:
2923         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
2924         (push_event), (setup), (teardown), (GST_START_TEST),
2925         (gst_collect_pads_suite), (main):
2926         Added collecpads check, disabled for now as check crashes for
2927         some reason.
2928
2929 2006-05-29  Wim Taymans  <wim@fluendo.com>
2930
2931         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
2932         Don't leak pads lists.
2933
2934 2006-05-29  Wim Taymans  <wim@fluendo.com>
2935
2936         * docs/libs/gstreamer-libs-sections.txt:
2937         * libs/gst/base/gstcollectpads.c:
2938         (gst_collect_pads_set_flushing_unlocked),
2939         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
2940         (gst_collect_pads_stop):
2941         * libs/gst/base/gstcollectpads.h:
2942         API: gst_collect_pads_set_flushing()
2943         Added api to set the pads to flushing, useful for seeking
2944         code in elements using collectpads.
2945         Clear segment when receiving a flush.
2946
2947 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
2948
2949         * gst/gst.c: (add_path_func), (init_post):
2950           Don't scan registry paths passed via --gst-plugin-path immediately
2951           (will crash, because absolutely nothing is set up and no types are
2952           registered etc.); do this later in init_post(). Fixes #343057.
2953
2954 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2955
2956         * gst/gst.c: (init_post):
2957           if we have fork, fork while reading/rebuilding the registry
2958           so the parent doesn't take the hit of having all plugins loaded
2959           in memory.  Fixes #342777.
2960         * configure.ac:
2961           Check if we have fork()
2962         * win32/common/config.h.in:
2963           no fork() on win32
2964
2965 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
2966
2967         * plugins/elements/gstelements.c:
2968         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2969         (gst_file_src_init), (gst_file_src_set_property),
2970         (gst_file_src_get_property), (gst_file_src_start):
2971         * plugins/elements/gstfilesrc.h:
2972           API: GstFileSrc::use-mmap
2973
2974         Add a use-mmap property to enable easier testing of all code paths.
2975         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
2976         in the absence of gnomevfssrc. (Closes #340501)
2977
2978 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2979
2980         * tools/gst-inspect.c:
2981         Add missing include, removes warning of ngettext not being defined on
2982         some arches.
2983
2984 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
2985
2986         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2987         Handle NULL input and output pointers silently as a failed conversion,
2988         rather than g_warnings.
2989
2990 2006-05-25  Wim Taymans  <wim@fluendo.com>
2991
2992         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
2993         Initialize variable before using. Fixes #342820.
2994
2995 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
2996
2997         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
2998           Fix off-by-one bug that would only allow peeks of N-1 bytes
2999           from the start even if the buffer to typefind on contains
3000           in fact N bytes of data (makes vorbis typefinding from a
3001           vorbis identification header buffer work).
3002
3003         * tests/check/Makefile.am:
3004         * tests/check/libs/.cvsignore:
3005         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
3006         (gst_typefindhelper_suite), (main), (foobar_typefind),
3007         (plugin_init):
3008           Add very basic unit test for gst_type_find_helper_for_buffer()
3009           that checks for the problem fixed above.
3010
3011 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3012
3013         * tools/gst-inspect.c: (print_interfaces),
3014         (print_element_properties_info), (print_element_list), (main):
3015           add more translatable strings
3016
3017 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
3018
3019         Patch by: Julien Moutte  <julien at moutte net>
3020
3021         * docs/gst/gstreamer-sections.txt:
3022           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
3023           
3024         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
3025         (gst_fake_sink_preroll):
3026         * plugins/elements/gstfakesink.h:
3027           API: Add new GstFakeSink::preroll-handoff signal (#337100).
3028
3029 2006-05-23  Wim Taymans  <wim@fluendo.com>
3030
3031         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
3032         * gst/gstpad.h:
3033         Added _CUSTOM error and success GstFlowReturn that can be
3034         used be elements internally. 
3035         Added macro to check for SUCCESS flowreturns.
3036         API: GST_FLOW_CUSTOM_SUCCESS
3037         API: GST_FLOW_CUSTOM_ERROR
3038         API: GST_FLOW_IS_SUCCESS
3039
3040         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
3041         Added check for GstFlowReturn sanity.
3042
3043 2006-05-23  Wim Taymans  <wim@fluendo.com>
3044
3045         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
3046
3047         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
3048         (gst_collect_pads_event):
3049         clear/reset segment info in FLUSH_STOP.
3050         Fixes #336929.
3051
3052 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
3053
3054         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
3055         (gst_collect_pads_check_collected):
3056         Flush queued buffer on _stop(), fixes playing again (#342454)
3057
3058 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3059
3060         * tests/check/gst/gststructure.c: (GST_START_TEST),
3061         (gst_structure_suite):
3062           add a test for a complete structure
3063
3064 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
3065
3066         * docs/faq/developing.xml:
3067         * docs/faq/faq.xml:
3068         * docs/faq/troubleshooting.xml:
3069         * docs/faq/using.xml:
3070           Some minor FAQ updates that won't change the fact that
3071           our FAQ is badly structured, full of information hardly
3072           anyone new to GStreamer needs to know and lacking lots
3073           of information people constantly ask for.
3074           
3075 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
3076
3077         * gst/gstpad.c: (gst_pad_set_caps):
3078           Short-circuit gst_pad_set_caps if setting the existing
3079           caps pointer again, and avoid printing debug and 
3080           reffing/unreffing the caps.
3081
3082         * plugins/elements/gstqueue.c: (gst_queue_push_one):
3083           There's actually no need to set the caps before pushing -
3084           the acceptcaps method will handle it anyway.
3085
3086 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
3087
3088         * docs/gst/gstreamer-sections.txt:
3089         * win32/common/libgstreamer.def:
3090         * gst/gstutils.c: (gst_element_seek_simple):
3091         * gst/gstutils.h:
3092           API: add gst_element_seek_simple() (#342238).
3093
3094 2006-05-18  Edward Hervey  <edward@fluendo.com>
3095
3096         * gst/gsttypefind.c: (gst_type_find_get_type):
3097         * gst/gsttypefind.h:
3098         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
3099         registered for GstTypeFind pointers. This allows wrapping the structure
3100         in bindings (i.e. gst-python).
3101
3102 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
3103
3104         * gst/gsttagsetter.c:
3105           Docs additions and fixes (see #339918).
3106
3107 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
3108
3109         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3110         The caps intersection algorithm can produce multiple copies of the
3111         caps. Until that is fixed, we need to simplify the result to be
3112         sure whether the allowed caps are fixed or not.
3113
3114         * plugins/elements/gstqueue.c: (gst_queue_init),
3115         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
3116         (gst_queue_push_one):
3117         Proxied buffer alloc should not set the caps on the source pad.
3118         When pushing buffers, we always accept the caps change that triggers.
3119         This prevents negotiation errors caused by caps changing mid-stream 
3120         and then being refused on our source pad (because upstream is now
3121         refusing those caps).
3122
3123 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
3124
3125         * tests/examples/helloworld/helloworld.c: (main):
3126           Must plug audioconvert and audioresample between decoder
3127           and audio sink.
3128
3129 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
3130
3131         * gst/gstregistryxml.c: (read_string), (load_pad_template),
3132         (load_feature), (load_plugin):
3133         Allow empty strings for some of the plugin fields so we don't 
3134         drop valid plugin entries that were written out correctly
3135         (Fixes #341479)
3136
3137 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
3138         
3139         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
3140           Use g_remove and g_rename instead of remove and rename that don't 
3141           handle utf8 characters. rename was failing for users who had specific
3142           characters in their name then the registry was built at each 
3143           gstreamer init.
3144         * win32/vs6/gst_inspect.dsp:
3145         * win32/vs6/gst_launch.dsp:
3146         * win32/vs6/libgstbase.dsp:
3147         * win32/vs6/libgstcoreelements.dsp:
3148         * win32/vs6/libgstreamer.dsp:
3149           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
3150           build of libgstreamer and clean unused libraries in projects link 
3151           settings.
3152
3153 2006-05-17  Edward Hervey  <edward@fluendo.com>
3154
3155         * plugins/elements/gstqueue.c: (gst_queue_push_one):
3156         The queue is not responsible for pushing an EOS when receiving a fatal
3157         flow error. It's up to the real element driving the pipeline to do that.
3158
3159 2006-05-16  Edward Hervey  <edward@fluendo.com>
3160
3161         * plugins/elements/gstqueue.c: (gst_queue_push_one):
3162         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
3163         buffer returned a fatal error. It should just send an EOS and stop
3164         its task.
3165         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
3166         when pushing buffers on the queue and will be able to handle the event.
3167
3168 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
3169
3170         * docs/manual/basics-bins.xml:
3171         * docs/manual/basics-init.xml:
3172           Fix typos and minor errors in sample code (#341856).
3173
3174 2006-05-16  Wim Taymans  <wim@fluendo.com>
3175
3176         * docs/design/part-qos.txt:
3177         Fix indexes in formulas to make more sense.
3178
3179 2006-05-15  Wim Taymans  <wim@fluendo.com>
3180
3181         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3182         Don't report POSITION based on clock time if sync is
3183         disabled in a sink.
3184
3185 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
3186
3187         * gst/gstobject.h:
3188           Add cast to make compiler happy - refcount variable was a gint
3189           in GstObject but is a guint in GObject and g_atomic_int_get()
3190           wants a gint *.
3191
3192 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
3193
3194         * gst/parse/Makefile.am:
3195           chain commands using &&, which also makes parallel make work
3196
3197 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
3198
3199         * docs/gst/gstreamer-sections.txt:
3200         * gst/gstevent.c:
3201         * gst/gstevent.h:
3202         * gst/gstmessage.h:
3203           Minor docs fixes.
3204
3205 === release 0.10.6 ===
3206
3207 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
3208
3209         * configure.ac:
3210           releasing 0.10.6, "Take the cannoli"
3211
3212 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
3213
3214         * tools/gst-launch.c: (print_tag):
3215           Fix use of uninitialized variable in the hypothetical
3216           case that some broken plugin creates a GST_TAG_IMAGE
3217           tag containing a NULL buffer (#341667).
3218
3219 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
3220
3221         * tools/gst-launch.c: (print_tag):
3222           Print something more intelligible for image tags when
3223           using the -t switch (#341556).
3224
3225 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3226
3227         * Makefile.am:
3228           updates for win32
3229         * configure.ac:
3230           define GST_MAJORMINOR so we have it available in win32/common/config.h
3231           Possibly remove it from our Makefile.am files later
3232         * win32/common/config.h:
3233         * win32/common/config.h.in:
3234           added GST_MAJORMINOR
3235         * win32/common/gstenumtypes.c: (register_gst_resource_error):
3236         * win32/common/gstversion.h:
3237           updated
3238
3239 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
3240
3241         * win32/MANIFEST:
3242           Update win32 files listing.
3243         * win32/common/gstversion.h:
3244           Add GST_MAJORMINOR definition.
3245         * win32/common/libgstreamer.def:
3246           Add new exported functions.
3247           
3248 2006-05-12  Michael Smith  <msmith@fluendo.com>
3249
3250         * gst/gstplugin.c: (gst_plugin_load_file):
3251           If an so file has no plugin entry point, unload the module.
3252
3253 2006-05-11  Wim Taymans  <wim@fluendo.com>
3254
3255         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
3256         (gst_queue_set_property):
3257         Don't forget to signal the _chain or _loop function 
3258         when the queue size or thresholds change since that might
3259         cause them to make progres again.
3260
3261 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
3262
3263         * gst/gstclock.c: (gst_clock_class_init):
3264         * gst/gstindex.c: (gst_index_class_init):
3265         * gst/gstobject.c: (gst_object_class_init):
3266         * gst/gstpad.c: (gst_pad_class_init):
3267         * gst/gstpipeline.c: (gst_pipeline_class_init):
3268         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3269         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
3270         * libs/gst/base/gstbasetransform.c:
3271         (gst_base_transform_class_init):
3272         * libs/gst/net/gstnetclientclock.c:
3273         (gst_net_client_clock_class_init):
3274         * libs/gst/net/gstnettimeprovider.c:
3275         (gst_net_time_provider_class_init):
3276         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
3277         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3278         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3279         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
3280         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3281         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3282         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
3283         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3284         * plugins/elements/gsttee.c: (gst_tee_class_init):
3285         * tests/old/examples/plugins/example.c: (gst_example_class_init):
3286         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
3287           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
3288
3289 2006-05-11  Wim Taymans  <wim@fluendo.com>
3290
3291         * gst/gstbuffer.c: (_gst_buffer_initialize):
3292         Register subbufer along with the buffer type so that
3293         it does not accidentally gets registered from N
3294         different streaming threads in a non threadsafe way.
3295
3296 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
3297
3298         * gst/gstbuffer.h:
3299         * gst/gstevent.h:
3300         * gst/gstmessage.h:
3301           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
3302           gst_event_ref() and gst_message_ref() functions again
3303           (ugly hack, please do fix if there's a better way besides
3304           overrides.txt, which doesn't seem to work).
3305
3306 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3307
3308         * libs/gst/check/gstcheck.h:
3309           add an assert for setting state to avoid lots of repetitive code
3310           in the future
3311
3312 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3313
3314         * gst/gstvalue.c: (gst_value_serialize_flags):
3315           fix a leak if no flags are set
3316         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3317           fix leak in tests
3318
3319 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
3320
3321         * docs/manual/basics-pads.xml:
3322           Expand a bit on caps and filtered links and update
3323           examples that were still using the no longer existing
3324           gst_pad_link_filtered() (#338206).
3325
3326 2006-05-10  Wim Taymans  <wim@fluendo.com>
3327
3328         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3329         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3330         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
3331         (gst_collect_pads_stop):
3332         * libs/gst/base/gstcollectpads.h:
3333         No need to call _stop in _finalize.
3334         Iterate the main pad list in _finalize.
3335         Added some more debug.
3336         Free lists and data in the right order.
3337         Also free data whem doing _remove_pad when stopped for
3338         backward compatibility protect ::started with PAD_LOCK as
3339         well.
3340
3341 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3342
3343         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
3344         (gst_structure_parse_value):
3345           add some comments
3346           rename a method so that it actually says what it does better
3347
3348 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3349
3350         * gst/gstevent.c: (_gst_event_initialize):
3351         * gst/gstformat.c: (_gst_format_initialize):
3352           make sure some essential types used by events are registered
3353           as part of gst_init()
3354         * gst/gstvalue.c: (gst_value_serialize_flags):
3355           if no flags are set, serialize them to a value that represents NONE
3356           so that deserializing them works
3357         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3358           add tests for serialization and deserialization of flags
3359
3360 2006-05-10  Wim Taymans  <wim@fluendo.com>
3361
3362         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
3363         (gst_collect_pads_collect_range), (gst_collect_pads_available),
3364         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
3365         (gst_collect_pads_event), (gst_collect_pads_chain):
3366         Update docs.
3367         Better debug info.
3368         Catch and return errors from the collect function
3369         Refuse data on eos pads.
3370
3371 2006-05-10  Edward Hervey  <edward@fluendo.com>
3372
3373         * gst/gstinterface.h:
3374         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
3375         GInterface type checking.
3376         They were previously using non-defined macros.
3377
3378 2006-05-09  Wim Taymans  <wim@fluendo.com>
3379
3380         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
3381         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
3382         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
3383         (gst_collect_pads_start), (gst_collect_pads_stop),
3384         (gst_collect_pads_peek), (gst_collect_pads_pop),
3385         (gst_collect_pads_available), (gst_collect_pads_read),
3386         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
3387         (gst_collect_pads_is_collected), (gst_collect_pads_event),
3388         (gst_collect_pads_chain):
3389         * libs/gst/base/gstcollectpads.h:
3390         Clean up the mess that is collectpads, add comments and
3391         FIXMEs where needed.
3392         Maintain a separate pad list so we can add pads while
3393         collecting the other ones. For this we need a new separate 
3394         lock (see comics).
3395         Fix memory leak in finalize.
3396         Refactor some weird code to set/unset pad flushing flags, mark
3397         with comments.
3398         Don't crash in _available, _read, _flush when we're EOS.
3399
3400         * tests/check/libs/.cvsignore:
3401         Ignore adapter check binary.
3402
3403 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3404
3405         * gst/gstindex.c: (gst_index_resolver_get_type):
3406         * plugins/elements/gstfakesink.c:
3407         (gst_fake_sink_state_error_get_type):
3408         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
3409         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
3410         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
3411           Const-ify GEnumValue arrays.
3412
3413 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3414
3415         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
3416           Add test case for flags + gst_buffer_make_metadata_writable().
3417
3418 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3419
3420         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
3421           gst_buffer_make_metadata_writable() should maintain the
3422           buffer flags (those that make sense at least) (see #340859).
3423
3424 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3425
3426         * tools/gst-inspect.c:
3427         * tools/gst-launch.c:
3428         * tools/gst-typefind.c:
3429         * tools/gst-xmlinspect.c:
3430         * tools/tools.h:
3431           Fix up includes: need to include stdlib.h in tools.h for exit().
3432
3433 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3434
3435         * gst/gsttaglist.c: (_gst_tag_initialize):
3436         * gst/gsttaglist.h:
3437           API: add GST_TAG_IMAGE tag (#340721).
3438
3439 2006-05-08  Wim Taymans  <wim@fluendo.com>
3440
3441         * gst/gstquery.c:
3442         Added some docs for the segment query.
3443
3444 2006-05-08  Wim Taymans  <wim@fluendo.com>
3445
3446         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3447         (gst_base_src_loop), (gst_base_src_change_state):
3448         Always push non-flushing serialized events in the streaming 
3449         thread.
3450
3451 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3452
3453         * gst/gsterror.c: (_gst_stream_errors_init):
3454           Add a missing error string.
3455
3456 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
3457
3458         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
3459         Add applied_rate to the debug
3460
3461         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3462         Copy applied_rate into the outgoing NEWSEGMENT event
3463
3464 2006-05-08  Wim Taymans  <wim@fluendo.com>
3465
3466         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
3467
3468         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
3469         (gst_base_sink_change_state):
3470         call ::unlock before taking the PREROLL_LOCK so we can safely
3471         handle elements that lock in ::render.
3472         Fixes #340174.
3473
3474 2006-05-08  Edward Hervey  <edward@fluendo.com>
3475
3476         * autogen.sh: (CONFIGURE_DEF_OPT): 
3477         Darwin's libtoolize is in fact called glibtoolize.
3478         Adding glibtoolize to the list of accepted names for libtoolize.
3479
3480 2006-05-08  Wim Taymans  <wim@fluendo.com>
3481
3482         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3483         Unify error handling, don't post an error message
3484         when a push() returns EOS but perform our normal EOS
3485         handling code. Fixes #340772.
3486
3487 2006-05-08  Wim Taymans  <wim@fluendo.com>
3488
3489         * docs/design/part-overview.txt:
3490         Make upsteam/downstream concepts more clear.
3491         Give an example of serialized/non-serialized events.
3492
3493         * docs/design/part-events.txt:
3494         * docs/design/part-streams.txt:
3495         Mention applied_rate.
3496
3497         * docs/design/part-trickmodes.txt:
3498         Mention applied rate, flesh out some more use cases.
3499
3500         * gst/gstevent.c: (gst_event_new_new_segment),
3501         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
3502         (gst_event_parse_new_segment_full), (gst_event_new_tag),
3503         (gst_event_parse_tag), (gst_event_new_buffer_size),
3504         (gst_event_parse_buffer_size), (gst_event_new_qos),
3505         (gst_event_parse_qos), (gst_event_parse_seek),
3506         (gst_event_new_navigation):
3507         * gst/gstevent.h:
3508         Add applied_rate field to NEWSEGMENT event.
3509         API: gst_event_new_new_segment_full()
3510         API: gst_event_parse_new_segment_full()
3511
3512         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
3513         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
3514         (gst_segment_to_stream_time), (gst_segment_to_running_time):
3515         * gst/gstsegment.h:
3516         Add applied_rate to GstSegment structure.
3517         Make calculation of stream_time and running_time more correct
3518         wrt rate/applied_rate.
3519         Add some more docs.
3520         API: GstSegment::applied_rate field
3521         API: gst_segment_set_newsegment_full();
3522
3523         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
3524         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
3525         * libs/gst/base/gstbasetransform.c:
3526         (gst_base_transform_sink_eventfunc),
3527         (gst_base_transform_handle_buffer):
3528         Parse and use applied_rate in the GstSegment field.
3529
3530         * tests/check/gst/gstevent.c: (GST_START_TEST):
3531         Add check for applied_rate field.
3532
3533         * tests/check/gst/gstsegment.c: (GST_START_TEST),
3534         (gstsegments_suite):
3535         Add more checks for various GstSegment operations.
3536
3537 2006-05-08  Wim Taymans  <wim@fluendo.com>
3538
3539         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
3540         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
3541         (gst_base_sink_get_position), (gst_base_sink_change_state):
3542         Store the sync time of the buffer end position separatly in a
3543         new variable eos_rtime so we can properly sync the EOS event.
3544         Fixes #340697.
3545         Fix the docs for gst_base_sink_set_qos_enabled().
3546         Don't set segment start to invalid value when we receive a 
3547         non TIME newsegment.
3548         get closer to handling position reporting for negative rates 
3549         correctly.
3550
3551 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
3552
3553         * gst/gstcaps.c:
3554         Docs about how to print caps for debug purposes.
3555
3556         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
3557         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
3558
3559 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
3560
3561         * gst/gstelement.c:
3562           use full enum names and preprend a '%' in docs strings to make recent 
3563           gtk-doc turn that into a link
3564
3565 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3566
3567         * docs/manual/basics-bins.xml:
3568         * docs/manual/basics-bus.xml:
3569         * docs/manual/basics-pads.xml:
3570           Some typo fixes, some additions, some clarifications. 
3571
3572 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3573
3574         * tools/gst-inspect.c: (main):
3575         * tools/gst-launch.c: (main):
3576         * tools/gst-run.c: (main):
3577         * tools/gst-typefind.c: (main):
3578         * tools/gst-xmlinspect.c: (main):
3579           Use the string passed to g_option_context_new() for
3580           what it's intended for - the program name is already
3581           printed elsewhere.
3582
3583 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3584
3585         * tools/Makefile.am:
3586         * tools/gst-inspect.c: (main):
3587         * tools/gst-launch.c: (main):
3588         * tools/gst-xmlinspect.c: (main):
3589         * tools/tools.h:
3590           Add back --version command line option (#340460).
3591
3592         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
3593           Add --version option and use GOption for argument parsing; refactor a
3594           bit; accept directories as arguments and recurse into them; lastly,
3595           print a decent error message when things go wrong.
3596
3597 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3598
3599         * docs/manual/basics-bins.xml:
3600         Don't mention GstThread (#340611)
3601         * docs/manual/basics-elements.xml:
3602         Update link to GObject tutorial (#340607)
3603         
3604 2006-05-05  Wim Taymans  <wim@fluendo.com>
3605
3606         * gst/gstbuffer.h:
3607         * gst/gstminiobject.c:
3608         Add note about refcounting and miniobject/buffer writeability
3609         to docs. Fixes #340604
3610
3611         * gst/gstelementfactory.h:
3612         Added some explanation about @klass.
3613
3614 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3615
3616         * docs/manual/intro-motivation.xml:
3617         * docs/manual/manual.xml:
3618         Avoid CORBA & Bonobo references (#340598)
3619
3620 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3621
3622         * docs/manual/basics-bus.xml:
3623         * docs/manual/basics-pads.xml:
3624         Fix up some inaccuracies and omissions (#340609)
3625         
3626 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3627
3628         * gst/gstghostpad.c:
3629           Small typo in docs (#340625)
3630
3631 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3632
3633         * gst/parse/Makefile.am:
3634           Make 'make -j' proof (see #340698).
3635
3636 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3637
3638         * configure.ac:
3639           Require GLib-2.8 here as well.
3640
3641 2006-05-05  Wim Taymans  <wim@fluendo.com>
3642
3643         * gst/glib-compat.c:
3644         * gst/gst.c: (init_pre):
3645         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
3646         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
3647         (gst_object_dispatch_properties_changed):
3648         * gst/gstobject.h:
3649         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
3650         * gst/gststructure.c: (gst_structure_set_valist):
3651         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3652         Remove pre glib2.8 compatibility, fixes #340508
3653
3654 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
3655
3656         * gst/gsttaglist.h:
3657           Mention type of tags in doc blurbs.
3658
3659 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
3660
3661         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
3662         (gst_pad_configure_src), (gst_pad_push):
3663         Restore acceptcaps checking behaviour now that good plugins have
3664         been released.
3665
3666 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
3667
3668         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
3669
3670         * gst/gst.c:
3671         * gst/gstbus.c:
3672         * gst/gstclock.c:
3673         * gst/gstevent.c:
3674         * gst/gstformat.c:
3675         * gst/gstmessage.c:
3676         * gst/gstparse.c:
3677         * gst/gstquery.c:
3678         * gst/gstutils.c:
3679         * gst/parse/Makefile.am:
3680         * libs/gst/base/gstadapter.c:
3681         * libs/gst/base/gstbasesrc.c:
3682         * libs/gst/base/gstpushsrc.c:
3683         * libs/gst/base/gsttypefindhelper.c:
3684         * plugins/elements/gstfakesrc.c:
3685         * plugins/elements/gstidentity.c:
3686           Make sure gstprivate.h and/or config.h are
3687           always included first, otherwise some of our
3688           defines (like _FILE_OFFSET_BITS) might be
3689           redefined in the system headers. Fixes build
3690           on opensolaris (#340016).
3691
3692 2006-05-04  Wim Taymans  <wim@fluendo.com>
3693
3694         * docs/libs/gstreamer-libs-sections.txt:
3695         API: addition: gst_adapter_take_buffer()
3696         
3697         * libs/gst/base/gstadapter.c: (gst_adapter_push),
3698         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
3699         (gst_adapter_available_fast):
3700         * libs/gst/base/gstadapter.h:
3701         Prepare for optimizing the hell out of this hugely inefficient
3702         piece of code. 
3703         Added gst_adapter_take_buffer() so we can at least start thinking
3704         about subbuffering and merging.
3705         Added some comments.
3706
3707         * tests/check/Makefile.am:
3708         * tests/check/libs/adapter.c: (GST_START_TEST),
3709         (gst_adapter_suite), (main):
3710         Added GstAdapter check.
3711
3712 2006-05-04  Wim Taymans  <wim@fluendo.com>
3713
3714         * docs/design/part-overview.txt:
3715         Fix some typos, add blurb about buffer flags.
3716
3717 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3718
3719         * docs/libs/gstreamer-libs-sections.txt:
3720           make sure GstBaseTransformClass shows up in the docs
3721         * libs/gst/base/gstbasetransform.c:
3722         * libs/gst/base/gstbasetransform.h:
3723           move docs so gtk-doc picks it up now
3724
3725 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
3726
3727         * docs/libs/gstreamer-libs-sections.txt:
3728           add missing symbols to docs
3729
3730 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
3731
3732         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
3733           back out the newsegment handling change, see #340060 for ongoing
3734           discussion
3735
3736 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
3737
3738         * tools/gst-run.c: (get_candidates), (main):
3739           Fix wrong g_file_test() usage (see glib docs for why it doesn't
3740           work); fix typo in error message. Fixes #340079.
3741
3742 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3743
3744         * common/Makefile.am:
3745         * docs/Makefile.am:
3746         * docs/faq/Makefile.am:
3747         * docs/gst/Makefile.am:
3748         * docs/libs/Makefile.am:
3749         * docs/manual/Makefile.am:
3750         * docs/plugins/Makefile.am:
3751         * docs/pwg/Makefile.am:
3752         * docs/slides/Makefile.am:
3753         * docs/upload.mak:
3754         * common/upload.mak:
3755           move upload.mak to common
3756
3757 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3758
3759         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3760           add more asserts on refcounts
3761           do more cleanup at end of tests
3762           fix test leaks showing in FC5
3763
3764 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
3765
3766         * plugins/elements/gsttypefindelement.c:
3767         (gst_type_find_element_handle_event):
3768         reverted wrong change and reflowed code to avoid others falling into
3769         this trap
3770
3771 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3772
3773         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
3774           fix changelog entry about last collectpads change,
3775           add notes about proper fix
3776
3777 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3778
3779         * gst/gst.c:
3780         * gst/gstregistry.c: (gst_registry_scan_path_level),
3781         (gst_registry_scan_path):
3782         * gst/gstregistry.h:
3783           only write out registry if it has changed, fixes #338339
3784
3785 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3786
3787         * gst/gstbin.c:
3788         * gst/gstpipeline.c:
3789         * plugins/elements/gstcapsfilter.c:
3790         * plugins/elements/gstfakesink.c:
3791         * plugins/elements/gstfakesrc.c:
3792         * plugins/elements/gstfdsink.c:
3793         * plugins/elements/gstfdsrc.c:
3794         * plugins/elements/gstfilesink.c:
3795         * plugins/elements/gstfilesrc.c:
3796         * plugins/elements/gstidentity.c:
3797         * plugins/elements/gstqueue.c:
3798         * plugins/elements/gsttee.c:
3799         * plugins/elements/gsttypefindelement.c:
3800         (gst_type_find_element_handle_event):
3801           make GstElementDetails const
3802
3803 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3804
3805         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
3806         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3807         (gst_collect_pads_is_collected), (gst_collect_pads_event):
3808           more detailed debug and formatting cleanup,
3809           forward newsegments to src-pad (so that e.g. adder not eats them)
3810
3811 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3812
3813         * gst/gstutils.c: (gst_element_link_pads):
3814           cleanup double code
3815
3816 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3817
3818         * libs/gst/controller/gstcontroller.c:
3819         (gst_controller_sync_values):
3820           some little tuning
3821         * tests/check/libs/controller.c: (GST_START_TEST),
3822         (gst_controller_suite):
3823           a new test for live value handling
3824
3825 2006-04-28  Wim Taymans  <wim@fluendo.com>
3826
3827         * gst/gstutils.c: (push_and_ref):
3828         Added some more docs.
3829         Fix refcount issue whith gst_element_found_tags() helper 
3830         function. Fixes #338335
3831
3832         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3833         Added testsuite for gst_element_found_tags().
3834
3835 2006-04-28  Michael Smith  <msmith@fluendo.com>
3836
3837         * gst/gstvalue.c: (gst_value_serialize_flags):
3838           Avoid NULL dereference when trying to serialize flags containing
3839           invalid values.
3840
3841 2006-04-28  Michael Smith  <msmith@fluendo.com>
3842
3843         * plugins/elements/gsttypefindelement.c:
3844         (gst_type_find_element_handle_event):
3845           If we get EOS before any data is accumulated, don't use
3846           uninitialised local variables.
3847
3848 2006-04-28  Michael Smith  <msmith@fluendo.com>
3849
3850         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
3851         (gst_dp_event_from_packet):
3852           Fixes in reading/writing events over GDP (not currently used?) - 
3853           dereferencing NULL events for unknown/invalid event types, memory
3854           leak, and change g_warning to GST_WARNING.
3855
3856 2006-04-28  Wim Taymans  <wim@fluendo.com>
3857
3858         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
3859         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
3860         (gst_base_sink_get_position), (gst_base_sink_change_state):
3861         When frame dropping is enabled, we should not ignore frames
3862         without a duration.
3863         Update some documentation.
3864
3865 2006-04-28  Wim Taymans  <wim@fluendo.com>
3866
3867         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3868         (gst_base_src_send_event), (gst_base_src_change_state):
3869         Documentation updates.
3870
3871 2006-04-28  Wim Taymans  <wim@fluendo.com>
3872
3873         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
3874         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
3875         handle EAGAIN, EINTR and short writes correctly. Also clean
3876         up some error cases, avoid a deadlock on bad file descriptors and
3877         use GST_DEBUG_OBJECT.
3878         Fixes #339843
3879
3880 2006-04-28  Wim Taymans  <wim@fluendo.com>
3881
3882         * gst/gstvalue.c: (gst_value_serialize_buffer),
3883         (gst_value_deserialize_buffer):
3884         Don't try to serialize a GValue with a NULL buffer. 
3885         Fixes #339821.
3886
3887         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3888         Added check for serialisation of NULL buffers.
3889
3890 2006-04-28  Wim Taymans  <wim@fluendo.com>
3891
3892         * gst/gstminiobject.c: (gst_value_take_mini_object):
3893         Taking a NULL miniobject is valid, fix the case where
3894         we try to unref the NULL miniobject.
3895
3896 2006-04-28  Wim Taymans  <wim@fluendo.com>
3897
3898         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
3899
3900         * gst/gstbin.c: (gst_bin_handle_message_func):
3901         Update docs.
3902         Don't leak bin refcount when a state recalc is
3903         in progress and we delay another one #339808.
3904
3905 2006-04-28  Wim Taymans  <wim@fluendo.com>
3906
3907         * docs/design/part-TODO.txt:
3908         Mention QoS as an ongoing work item.
3909
3910         * docs/design/part-buffering.txt:
3911         New doc about buffering that needs to be fleshed out
3912         at some point.
3913
3914         * docs/design/part-qos.txt:
3915         More QoS policy for decoders/demuxers/transforms
3916
3917         * docs/design/part-trickmodes.txt:
3918         Small update.
3919
3920 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3921
3922         * configure.ac:
3923           back to HEAD
3924
3925 === release 0.10.5 ===
3926
3927 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
3928
3929         * configure.ac:
3930           releasing 0.10.5, "Fogo"
3931
3932 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3933
3934         patch by: Wim Taymans
3935
3936         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
3937         (gst_pad_configure_src), (gst_pad_push):
3938         * gst/gstpipeline.c: (gst_pipeline_init):
3939           Fix internal data flow errors.  Fixes #338711.
3940
3941 2006-04-12  Wim Taymans  <wim@fluendo.com>
3942
3943         * tests/check/gst/gstelement.c: (GST_START_TEST):
3944         Don't leak the factory.
3945
3946 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3947
3948         * configure.ac:
3949         * win32/common/config.h:
3950           prerelease
3951
3952 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3953
3954         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
3955         (gst_controller_unset_all):
3956           Free allocated GstTimedValues when freeing list nodes.
3957           Should fix leaks 'make check-valgrind' complains about.
3958
3959         * win32/common/libgstcontroller.def:
3960           Add gst_controller_unset_all.
3961
3962 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
3963
3964         * docs/libs/gstreamer-libs-sections.txt:
3965         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
3966         (gst_controller_unset_all):
3967         * libs/gst/controller/gstcontroller.h:
3968         API: Added new method gst_controller_unset_all()
3969         fixed gst_controller_unset()
3970         * tests/check/libs/controller.c: (GST_START_TEST),
3971         (gst_controller_suite):
3972         Added two testcases for new and fixed method
3973
3974 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
3975
3976         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3977           MSG_DONTWAIT is not defined on Cygwin, so work
3978           around that (fixes #317048).
3979           
3980 2006-04-11  Wim Taymans  <wim@fluendo.com>
3981
3982         * gst/gstelementfactory.c: (gst_element_register),
3983         (gst_element_factory_create), (gst_element_factory_make):
3984         Some cleanups.
3985         Fixed a FIXME.
3986         Updated docs (Fixes #131079)
3987
3988         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
3989         Small cleanups.
3990
3991         * tests/check/gst/gstelement.c: (GST_START_TEST),
3992         (gst_element_suite):
3993         Added testcase for elementfactory class field.
3994
3995 2006-04-10  Wim Taymans  <wim@fluendo.com>
3996
3997         * gst/gstsegment.c:
3998         Added some more docs.
3999
4000         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
4001         (gst_base_sink_reset_qos):
4002         Calculate more accurate rate values.
4003
4004 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
4005
4006         * gst/gst_private.h:
4007           add a new #ifdef to use __declspec(dllimport) only for
4008           other modules and not for gstreamer core
4009         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
4010           use gst_guint64_to_gdouble for conversion
4011         * win32/common/libgstreamer.def:
4012           add new exported functions
4013         * win32/vs6/gst_inspect.dsp:
4014         * win32/vs6/gst_launch.dsp:
4015         * win32/vs6/libgstbase.dsp:
4016         * win32/vs6/libgstcontroller.dsp:
4017         * win32/vs6/libgstcoreelements.dsp:
4018         * win32/vs6/libgstdataprotocol.dsp:
4019         * win32/vs6/libgstnet.dsp:
4020           update project files
4021
4022 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
4023
4024         * gst/gstbuffer.c: (gst_subbuffer_class_init):
4025         * gst/gstclock.c: (gst_clock_class_init):
4026         * gst/gstelement.c: (gst_element_class_init):
4027         * gst/gstindex.c: (gst_index_class_init):
4028         * gst/gstindexfactory.c: (gst_index_factory_class_init):
4029         * gst/gstobject.c: (gst_object_class_init),
4030         (gst_signal_object_class_init):
4031         * gst/gstpad.c: (gst_pad_class_init):
4032         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
4033         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
4034         * gst/gstregistry.c: (gst_registry_class_init):
4035         * gst/gstsystemclock.c: (gst_system_clock_class_init):
4036         * gst/gsttask.c: (gst_task_class_init):
4037         * gst/gstxml.c: (gst_xml_class_init):
4038         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4039         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4040         (gst_base_src_loop):
4041         * libs/gst/controller/gstcontroller.c:/
4042         (_gst_controller_class_init):
4043         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
4044         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
4045         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
4046         * tests/old/examples/plugins/example.c: (gst_example_class_init):
4047         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
4048         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
4049
4050 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
4051
4052         * gst/gstpad.c: (gst_pad_link):
4053           Must set peer pads before calling the link function, otherwise
4054           a task started from a link function might get a flow-not-linked
4055           result when trying to push because the other thread where the
4056           linking happens hasn't had a chance to set the peers yet. This
4057           might happen for example when a queue gets linked to a downstream
4058           element, as queue starts a streaming task when its source pad
4059           gets linked. Happens in real life when playing back flac/musepack
4060           files in playbin (#332390).
4061           
4062 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
4063
4064         * gst/gstindex.h:
4065         * gst/gstxml.h:
4066         * libs/gst/base/gstadapter.h:
4067         * libs/gst/base/gstbasesink.h:
4068         * libs/gst/base/gstbasesrc.h:
4069         * libs/gst/base/gstbasetransform.h:
4070         * libs/gst/base/gstcollectpads.h:
4071         * libs/gst/base/gstpushsrc.h:
4072         Fix broken GObject macros
4073
4074 2006-04-07  Wim Taymans  <wim@fluendo.com>
4075
4076         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4077         Initialize start and stop times, thanks valgrind.
4078
4079 2006-04-07  Wim Taymans  <wim@fluendo.com>
4080
4081         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4082         Be a bit nicer to badly behaving upstream elements that expect
4083         us to deal with non TIME segments and timestamps (such as fakesrc
4084         in the testsuite).
4085
4086 2006-04-07  Wim Taymans  <wim@fluendo.com>
4087
4088         * gst/gstbus.c:
4089         Small documentation clarification about the signal watch.
4090
4091         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
4092         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
4093         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
4094         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
4095         (gst_base_sink_get_position_last),
4096         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
4097         Convert and store timestamps in stream time and running time, the
4098         raw timestamps are not usefull, also document this better.
4099         Use different window sizes for good and bad QoS observations so
4100         we react to badness a little quicker.
4101         Keep track of the amount of rendered and dropped buffers.
4102         Send QoS timestamps in running time.
4103
4104         * libs/gst/base/gstbasetransform.c:
4105         (gst_base_transform_sink_eventfunc),
4106         (gst_base_transform_handle_buffer):
4107         Compare QoS timestamps against running time.
4108
4109 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
4110
4111         * gst/gstpad.c:
4112           Typo fixes in docs.
4113
4114 2006-04-06  Michael Smith  <msmith@fluendo.com>
4115
4116         * gst/gstpad.c: (gst_pad_set_property):
4117           Use g_value_get_object() instead of g_value_dup_gst_object(),
4118           to avoid double-reffing the pad template (which we then sink,
4119           so this worked previously if (and only if) the pad template
4120           was floating.
4121
4122         * gst/gstpadtemplate.c: (gst_pad_template_init),
4123         (gst_pad_template_pad_created):
4124           Never return floating references to pad templates, create
4125           them as initially-sunken.
4126
4127           Document an extra function (and make this stop sinking our
4128           pad template, since that is now guaranteed to do nothing,
4129           since we created it sunken).
4130
4131         * gst/gstghostpad.c:
4132           Fix docs typo.
4133
4134 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
4135
4136         * gst/gstinfo.c: (__gst_in_valgrind):
4137           Add some newlines.
4138
4139         * plugins/elements/gsttypefindelement.c:
4140         (gst_type_find_element_chain):
4141           Don't leak buffer caps.
4142
4143 2006-04-06  Michael Smith  <msmith@fluendo.com>
4144
4145         * gst/parse/grammar.y:
4146           Fix a leak in parse-launch for any source-or-sink named element 
4147           references used.
4148
4149         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
4150           Unref the pipeline if it exists after we've failed parsing.
4151
4152 2006-04-05  Michael Smith  <msmith@fluendo.com>
4153
4154         * gst/gstpipeline.c: (gst_pipeline_init):
4155           When we create a pipeline bus, initially create it in flushing mode.
4156           Fixes leaks in at least one test, and makes a new pipeline work the
4157           same as one that has gone to READY and then back to NULL.
4158
4159         * gst/gstelement.c:
4160           Typo fix in docs.
4161
4162 2006-04-05  Michael Smith  <msmith@fluendo.com>
4163
4164         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4165           Unref a pad we reffed.
4166         * tests/check/gst/gstutils.c: (GST_START_TEST):
4167           Unref bins
4168
4169 2006-04-05  Michael Smith  <msmith@fluendo.com>
4170
4171         * gst/gstquery.c: (gst_query_set_formats),
4172         (gst_query_set_formatsv):
4173           Fix leaking GValues in queries, as shown by valgrind/testsuite.
4174
4175 2006-04-05  Michael Smith  <msmith@fluendo.com>
4176
4177         * tests/check/generic/sinks.c: (GST_START_TEST):
4178           Fix a variety of memleaks in sinks check, which are only sometimes 
4179           shown by running the tests under valgrind (weird?).
4180
4181 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
4182
4183         * docs/version.entities.in:
4184           Fix the substituted entity name after thomas' changes on the
4185           weekend.
4186
4187 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
4188
4189         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
4190         VALGRIND_PRINTF
4191         
4192 2006-04-05  Andy Wingo  <wingo@pobox.com>
4193
4194         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
4195
4196         * libs/gst/base/gstbasetransform.c
4197         (gst_base_transform_sink_eventfunc): When resetting our segment on
4198         FLUSH_STOP, also update the flag saying we haven't seen a
4199         newsegment.
4200
4201 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
4202
4203         Patch by: Paolo Borelli  <pborelli at katamail dot com>
4204
4205         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
4206         (gst_plugin_check_license):
4207           minor clean-ups: G_DEFINE_TYPE already takes care of the
4208           parent_class stuff, no need to do it twice. Mark array of
4209           license strings as constant. (#337103)
4210           
4211 2006-04-04  Michael Smith  <msmith@fluendo.com>
4212
4213         * tools/gst-inspect.c: (print_element_list):
4214           Free the right plugin list; fixes a memory leak.
4215
4216 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
4217
4218         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
4219
4220         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
4221           Don't error out on empty buffers (#336945).
4222           
4223 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
4224
4225         * docs/libs/gstreamer-libs-sections.txt:
4226         * gst/gsttaglist.c:
4227         * libs/gst/base/gstbasesink.c:
4228         * libs/gst/base/gstbasesink.h:
4229         * libs/gst/base/gstbasesrc.c:
4230         * libs/gst/base/gstbasesrc.h:
4231           Documentation updates. Make BaseSink and BaseSrc docs contain the
4232           class structure so that people can actually see the prototypes for
4233           virtual functions they're supposed to be overriding.
4234
4235 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
4236
4237         * plugins/elements/gsttypefindelement.c:
4238         (gst_type_find_element_chain):
4239           More debug info; when skipping typefinding, send cached
4240           events in all cases.
4241
4242 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4243
4244         * configure.ac:
4245           use new AS_VERSION and AS_NANO macros
4246         * gst/gst-i18n-lib.h:
4247         * gst/gst.c:
4248         * gst/gsterror.c:
4249         * gst/gstversion.h.in:
4250         * win32/common/config.h:
4251         * win32/common/config.h.in:
4252           update accordingly
4253
4254 2006-03-31  Michael Smith  <msmith@fluendo.com>
4255
4256         * plugins/elements/gsttypefindelement.c:
4257         (gst_type_find_element_chain):
4258           Do not typefind content if the buffers already have caps.
4259           Neccesary for icydemux (#333657), and the right thing to do anyway.
4260
4261 2006-03-30  Wim Taymans  <wim@fluendo.com>
4262
4263         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4264         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
4265         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
4266         (gst_base_sink_record_qos_observation),
4267         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
4268         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
4269         (gst_base_sink_change_state):
4270         More QoS measurements as described in the design doc.
4271         Get rid of ringbuffer with observations, running average is
4272         more simple and equally good.
4273         Calculates valid proportion now.
4274         Added beginning of flood measurement.
4275
4276 2006-03-29  Wim Taymans  <wim@fluendo.com>
4277
4278         * docs/design/part-qos.txt:
4279         * gst/gstclock.c:
4280         Small documentation updates and additions.
4281
4282 2006-03-29  Wim Taymans  <wim@fluendo.com>
4283
4284         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
4285         (gst_base_src_send_event), (gst_base_src_loop),
4286         (gst_base_src_change_state):
4287         Perform the EOS logic when we reach the segment stop position.
4288         Fix compilation on gcc4.1
4289
4290 2006-03-29  Wim Taymans  <wim@fluendo.com>
4291
4292         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
4293
4294         * plugins/elements/gstqueue.c: (gst_queue_init),
4295         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
4296         (gst_queue_set_property):
4297         * plugins/elements/gstqueue.h:
4298         In queue, when EOS is received, if minimum threshold > max_size -
4299         current_level, there is chance that queue blocks forever in conditional
4300         item del wait. This is because the queue is not emptied completely due
4301         to minimum threshold.  Here is another approach. Instead of setting
4302         cur_levels to max in EOS, just zero all minimum threshold levels. This
4303         should make sure that queue gives out all data. When going to READY
4304         (stop) state, just reset the original minimum threshold levels.
4305         Fixes #336336.
4306
4307 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
4308
4309         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
4310         (gst_type_find_element_handle_event),
4311         (gst_type_find_element_send_cached_events),
4312         (gst_type_find_element_change_state):
4313         * plugins/elements/gsttypefindelement.h:
4314           When typefinding is done in push mode, we should cache
4315           events we receive during typefinding instead of just
4316           dropping them (e.g. newsegment, custom events from
4317           dvdreadsrc etc.) and then send them out once we've
4318           determined the type of the stream (and decodebin
4319           has had a chance to plug in a decoder/demuxer).
4320           
4321 2006-03-27  Wim Taymans  <wim@fluendo.com>
4322
4323         * docs/design/part-qos.txt:
4324         First QoS ideas.
4325
4326 2006-03-27  Wim Taymans  <wim@fluendo.com>
4327
4328         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
4329
4330         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
4331         (gst_base_src_send_event), (gst_base_src_change_state):
4332         Handle element seek correctly when we are streaming.
4333         Fixes #326998.
4334
4335 2006-03-24  Michael Smith  <msmith@fluendo.com>
4336
4337         * docs/faq/gst-uninstalled:
4338           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
4339           allow you to correctly run intalled applications built against old 
4340           core, using plugins that require updated core (e.g. running
4341           installed totem against a full uninstalled gstreamer stack)
4342
4343 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
4344
4345         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
4346         more debug details
4347
4348 2006-03-24  Wim Taymans  <wim@fluendo.com>
4349
4350         * docs/gst/gstreamer-sections.txt:
4351         Rearrange the order of the methods so that related methods
4352         are grouped together in sections.
4353
4354 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
4355
4356         * gst/gstelement.c:
4357           Little clarification in the docs
4358
4359 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
4360
4361         * docs/README:
4362         formatting fix
4363         * plugins/elements/gstidentity.c:
4364         * plugins/elements/gstqueue.c:
4365         * plugins/elements/gsttee.c:
4366         * plugins/elements/gsttypefindelement.c:
4367         GST_ELEMENT_DETAILS formatting
4368
4369 2006-03-24  Wim Taymans  <wim@fluendo.com>
4370
4371         * libs/gst/base/gstbasesink.h:
4372         Only add fields, not insert or we break ABI.
4373
4374 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
4375
4376         * win32/common/libgstbase.def:
4377         * win32/common/libgstreamer.def:
4378           Update, add recently added functions.
4379
4380 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
4381
4382         * docs/gst/gstreamer-sections.txt:
4383         * gst/gstutils.c: (gst_pad_query_peer_position),
4384         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
4385         * gst/gstutils.h:
4386           API: add some new utility functions:
4387            - gst_pad_query_peer_position()
4388            - gst_pad_query_peer_duration()
4389            - gst_pad_query_peer_convert()
4390           
4391 2006-03-23  Wim Taymans  <wim@fluendo.com>
4392
4393         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4394         (gst_base_sink_init), (gst_base_sink_finalize),
4395         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
4396         (gst_base_sink_set_property), (gst_base_sink_get_property),
4397         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
4398         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
4399         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
4400         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
4401         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
4402         (gst_base_sink_preroll_object), (gst_base_sink_event),
4403         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
4404         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
4405         (gst_base_sink_query), (gst_base_sink_change_state):
4406         Decouple max-lateness and the fact that QoS messages are generated
4407         with a new property (qos).
4408         added API: GstBaseSink::async_play()
4409         Add vmethod so subclasses can be notified of ASYNC playing
4410         state changes.
4411         Collect timestamp start and stop to report better current
4412         position in EOS/PLAYING/PAUSED/READY/NULL.
4413         Refactor QoS/frame dropping and other measurements.
4414         API: GstBaseSrc::qos
4415         Fixes #326311
4416
4417         * libs/gst/base/gstbasesink.h:
4418         Added Private struct.
4419         API: gst_base_sink_set_qos_enabled()
4420         API: gst_base_sink_is_qos_enabled()
4421
4422 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
4423
4424         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
4425           If compiling against GLib-2.8 or newer, try to read the
4426           registry file using GMappedFile first before falling back
4427           to fopen() + fread() (#332151).
4428
4429 2006-03-22  Wim Taymans  <wim@fluendo.com>
4430
4431         * gst/gstinfo.c: (gst_debug_set_active),
4432         (gst_debug_category_set_threshold):
4433         Disable debugging unless explicitly activated.
4434         Fixes #335480.
4435
4436 2006-03-22  Wim Taymans  <wim@fluendo.com>
4437
4438         * gst/gstelement.c: (gst_element_set_locked_state),
4439         (gst_element_dispose):
4440         Cleanup the error case.
4441
4442         * gst/gstobject.c: (gst_object_dispose):
4443         print a critical when some object was disposed with
4444         a parent, also revive the object since it might
4445         crash the parent.
4446
4447 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
4448
4449         * tools/gst-launch.1.in:
4450           Fix another typo.
4451
4452 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4453
4454         * configure.ac:
4455         * tests/check/Makefile.am:
4456           disable some tests when we don't have a registry
4457         * tests/check/gst/gstutils.c: (gst_utils_suite):
4458           don't build the part that needs parsing
4459
4460 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4461
4462         * gst/Makefile.am
4463         * tests/examples/Makefile.am:
4464           fix --disable-parse build
4465
4466 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4467
4468         * tools/gst-feedback.1.in:
4469           Fix typo: s/feeback/feedback/ (#133494).
4470
4471 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4472
4473         * tools/Makefile.am:
4474         * tools/gst-launch.1.in:
4475           Add FILES section and correct entry about GST_REGISTRY_PATH
4476           environment variable (#133495; #133494).
4477
4478 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4479
4480         * tools/Makefile.am:
4481         * tools/gst-md5sum.1.in:
4482         * tools/gst-md5sum.c:
4483           Remove gst-md5sum and man page (the md5sink element
4484           required was removed ages ago)
4485
4486 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4487
4488         * gst/gststructure.c: (gst_structure_id_set_value):
4489           Make sure that string fields in structures/taglists
4490           contain valid UTF-8 - we don't want to pass rubbish to
4491           applications because of a buggy plugin (cp. #334167).
4492
4493 2006-03-21  Edward Hervey  <edward@fluendo.com>
4494
4495         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
4496         (gst_bin_handle_message_func):
4497         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
4498         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
4499         (gst_element_set_bus_func):
4500         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
4501         * gst/gstminiobject.c: (gst_value_set_mini_object),
4502         (gst_value_take_mini_object):
4503         * gst/gstpad.c: (gst_pad_set_pad_template):
4504         * gst/gstpipeline.c: (gst_pipeline_dispose),
4505         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4506         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
4507         (gst_collect_pads_chain):
4508         * libs/gst/net/gstnettimeprovider.c:
4509         (gst_net_time_provider_set_property):
4510         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
4511         It's in fact all issues with gst_*object_replace().
4512
4513 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4514
4515         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
4516         
4517         * pkgconfig/gstreamer-check-uninstalled.pc.in:
4518         * pkgconfig/gstreamer-check.pc.in:
4519           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
4520
4521 2006-03-21  Edward Hervey  <edward@fluendo.com>
4522
4523         * gst/gstbuffer.h:
4524         * gst/gstevent.h:
4525         * gst/gstmessage.h:
4526         gst_[buffer|event|message]_ref() macros are replaced by a static
4527         inline functions because gcc-4.1 will about if the return value
4528         isn't used.
4529         * tests/check/gst/gstevent.c: (event_probe):
4530         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
4531
4532 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
4533
4534         * gst/gstutils.h:
4535         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
4536         the type' case. (Closes: #335195 for now). In the future, when we
4537         depend on GLib 2.10, we could also intern the type name using
4538         g_intern_static_string()
4539
4540 2006-03-20  Wim Taymans  <wim@fluendo.com>
4541
4542         * gst/gstbin.c: (gst_bin_handle_message_func),
4543         (bin_query_max_init), (bin_query_position_fold),
4544         (bin_query_position_done), (gst_bin_query):
4545         Position query should also take max of all streams.
4546
4547 2006-03-20  Wim Taymans  <wim@fluendo.com>
4548
4549         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4550         (gst_fake_src_finalize):
4551         Fix leaks in fakesrc.
4552
4553         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4554         Fix leaks in the testcase.
4555
4556 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
4557
4558         * gst/gst_private.h:
4559           add win32 specific import decoration(__declspec(dllimport)) 
4560           for all extern GstDebugCategory * variables
4561         * win32/common/libgstbase.def:
4562         * win32/common/libgstcontroller.def:
4563         * win32/common/libgstreamer.def:
4564           Add some exports, remove empty lines
4565         * win32/common/libgstdataprotocol.def:
4566         * win32/common/libgstdataprotocol.dsp:
4567         * win32/common/libgstnet.def:
4568         * win32/common/libgstnet.dsp:
4569           new project files and exportation files added
4570         
4571 2006-03-19  Wim Taymans  <wim@fluendo.com>
4572
4573         * tests/check/libs/basesrc.c: (eos_event_counter):
4574         Use proper return value for probe.
4575
4576 2006-03-17  Wim Taymans  <wim@fluendo.com>
4577
4578         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
4579         (gst_pad_push):
4580         Don't leak buffers, caps and pads on negotiation errors.
4581
4582 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
4583
4584         * docs/faq/cvs.xml:
4585         * docs/faq/dependencies.xml:
4586         * docs/faq/developing.xml:
4587         * docs/faq/faq.xml:
4588         * docs/faq/general.xml:
4589         * docs/faq/getting.xml:
4590         * docs/faq/legal.xml:
4591         * docs/faq/troubleshooting.xml:
4592         * docs/faq/using.xml:
4593         Faq review and update.
4594
4595 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
4596
4597         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
4598         (gst_pad_push):
4599         Don't pound the cpu to pieces by checking get_caps when accept_caps
4600         is called with the same caps as the pad already has.
4601         Use GST_DEBUG_OBJECT when outputting caps change information.
4602
4603 2006-03-15  Wim Taymans  <wim@fluendo.com>
4604
4605         * gst/gstclock.c: (gst_clock_class_init):
4606         Fix docs.
4607
4608 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
4609
4610         * gst/gstbuffer.h:
4611         Documentation fix.
4612
4613         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
4614         (gst_pad_accept_caps), (gst_pad_configure_sink),
4615         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
4616         Make the default acceptcaps behaviour be to check the requested 
4617         caps against the gst_pad_get_caps output. 
4618
4619         Ensure that gst_pad_accept_caps is used to check caps when a pad
4620         doesn't have a setcaps function, so that pads automatically refuse 
4621         caps that they don't allow in their pad template. (Fixes #332986)
4622
4623         When a buffer with attached caps is pushed, ensure that the source 
4624         pad receives those caps even if the element didn't call
4625         gst_pad_set_caps first.
4626
4627 2006-03-15  Wim Taymans  <wim@fluendo.com>
4628
4629         * libs/gst/base/gstadapter.c:
4630         Add some docs.
4631
4632 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
4633
4634         * win32/common/libgstbase.def:
4635         * win32/common/libgstcontroller.def:
4636         * win32/common/libgstreamer.def:
4637           Add a whole bunch of missing functions (#334434).
4638
4639 2006-03-14  Wim Taymans  <wim@fluendo.com>
4640
4641         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
4642         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
4643         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
4644         Better debug info when we receive a segment event.
4645         Reorganize a bit so we can pass the get_times() results around.
4646         Use the segment format when calculating the running time.
4647         Don't do QoS is sync is disabled or we have no clock or the
4648         element does not want us to sync to the clock.
4649         Don't drop buffers if QoS is disabled for now.
4650
4651 2006-03-14  Wim Taymans  <wim@fluendo.com>
4652
4653         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
4654         Marked the stats property as unimplemented so people don't get
4655         wild ideas.
4656         Add debug message when regression goes wrong.
4657         Added some more docs.
4658
4659 2006-03-14  Wim Taymans  <wim@fluendo.com>
4660
4661         * gst/gstsegment.c: (gst_segment_to_stream_time):
4662         Return correct return type in case of errors.
4663
4664 2006-03-14  Wim Taymans  <wim@fluendo.com>
4665
4666         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
4667           Don't segfault on invalid formats.
4668
4669 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
4670
4671         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4672           Can't use gst_segment_to_running_time() when the segment
4673           is not in GST_TIME_FORMAT (like with filesink, for example).
4674           Stops flac encoding pipelines from spewing critical warnings
4675           at EOS (#331248).
4676           
4677 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
4678
4679         * gst/gstpipeline.c: (gst_pipeline_class_init):
4680           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
4681
4682         * plugins/elements/gsttypefindelement.c:
4683         (gst_type_find_element_handle_event):
4684           Don't try to typefind empty streams.
4685
4686 2006-03-14  Wim Taymans  <wim@fluendo.com>
4687
4688         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
4689         (gst_base_sink_do_qos):
4690         Separate QoS calculation.
4691         Only drop buffers when lateness is bigger than the 
4692         duration of the buffer.
4693
4694 2006-03-13  Wim Taymans  <wim@fluendo.com>
4695
4696         * gst/gstpipeline.c: (gst_pipeline_set_property),
4697         (gst_pipeline_get_property), (do_pipeline_seek),
4698         (gst_pipeline_change_state), (gst_pipeline_set_delay),
4699         (gst_pipeline_get_delay):
4700         Don't deadlock when reading properties.
4701
4702 2006-03-13  Wim Taymans  <wim@fluendo.com>
4703
4704         * libs/gst/base/gstbasetransform.c:
4705         (gst_base_transform_class_init), (gst_base_transform_init),
4706         (gst_base_transform_sink_event),
4707         (gst_base_transform_sink_eventfunc),
4708         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
4709         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
4710         (gst_base_transform_set_property),
4711         (gst_base_transform_get_property),
4712         (gst_base_transform_change_state), (gst_base_transform_update_qos),
4713         (gst_base_transform_set_qos_enabled),
4714         (gst_base_transform_is_qos_enabled):
4715         * libs/gst/base/gstbasetransform.h:
4716         Make basetransform virtual method for src events too.
4717         Handle QOS in basetransform.
4718         API: gst_base_transform_update_qos()
4719         API: gst_base_transform_set_qos_enabled()
4720         API: gst_base_transform_is_qos_enabled()
4721
4722 2006-03-13  Wim Taymans  <wim@fluendo.com>
4723
4724         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4725         (gst_base_sink_do_sync):
4726         Small cleanups.
4727         Use QOS debug category.
4728
4729 2006-03-13  Wim Taymans  <wim@fluendo.com>
4730
4731         * plugins/elements/gstqueue.c:
4732         Very small doc update.
4733
4734 2006-03-13  Wim Taymans  <wim@fluendo.com>
4735
4736         * gst/gst_private.h:
4737         * gst/gstinfo.c: (_gst_debug_init):
4738         Added QOS debug category
4739
4740 2006-03-13  Wim Taymans  <wim@fluendo.com>
4741
4742         * docs/gst/gstreamer-sections.txt:
4743         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
4744         * gst/gstbin.h:
4745         * gst/gstbus.c: (gst_bus_class_init):
4746         * gst/gstbus.h:
4747         * gst/gstclock.c:
4748         * gst/gstelement.c: (gst_element_set_locked_state):
4749         * gst/gstsegment.c:
4750         Documentation updates.
4751
4752         * gst/gstpipeline.c: (gst_pipeline_get_type),
4753         (gst_pipeline_class_init), (gst_pipeline_init),
4754         (gst_pipeline_dispose), (gst_pipeline_set_property),
4755         (gst_pipeline_get_property), (do_pipeline_seek),
4756         (gst_pipeline_send_event), (gst_pipeline_change_state),
4757         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
4758         (gst_pipeline_get_delay):
4759         * gst/gstpipeline.h:
4760         Added methods for setting the delay.
4761         API: gst_pipeline_set_delay()
4762         API: gst_pipeline_get_delay()
4763         Add pipeline debug category
4764         Various cleanups.
4765         Updated docs.
4766         Don't reset stream time when seek failed.
4767
4768 2006-03-13  Wim Taymans  <wim@fluendo.com>
4769
4770         * docs/design/draft-klass.txt:
4771         * docs/design/part-clocks.txt:
4772         * docs/design/part-events.txt:
4773         * docs/design/part-gstbin.txt:
4774         * docs/design/part-gstpipeline.txt:
4775         * docs/design/part-messages.txt:
4776         * docs/design/part-negotiation.txt:
4777         * docs/design/part-overview.txt:
4778         * docs/design/part-preroll.txt:
4779         * docs/design/part-seeking.txt:
4780         * docs/design/part-states.txt:
4781         * docs/design/part-streams.txt:
4782         Documentation updates.
4783
4784 2006-03-12  Julien MOUTTE  <julien@moutte.net>
4785
4786         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
4787         us to leak strings...
4788
4789 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4790
4791         * libs/gst/net/gstnettimeprovider.c:
4792           fix docs
4793         * win32/common/config.h:
4794           update
4795
4796 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
4797
4798         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
4799
4800         * configure.ac:
4801           Don't check for libgnomeui (leftover from old examples
4802           that aren't built or disted any longer) (#334303).
4803           
4804 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
4805
4806         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
4807         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
4808           Emit RESOURCE_NO_SPACE_LEFT error here as well when
4809           there's no space left on the device.
4810
4811 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
4812
4813         * gst/gstclock.h:
4814           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
4815           to cast the input to GstClockTime before comparing with
4816           another GstClockTime value.
4817
4818 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4819
4820         * configure.ac:
4821           back to trunk
4822
4823 === release 0.10.4 ===
4824
4825 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
4826
4827         * configure.ac:
4828           releasing 0.10.4, "Light"
4829
4830 2006-03-10  Michael Smith  <msmith@fluendo.com>
4831
4832         * libs/gst/dataprotocol/dataprotocol.c:
4833           Fix docs for dataprocotol to not get the return types completely
4834           wrong for a few functions.
4835
4836 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
4837
4838         * docs/gst/gstreamer-sections.txt:
4839         * gst/gstpipeline.c: (gst_pipeline_class_init),
4840         (gst_pipeline_init), (gst_pipeline_set_property),
4841         (gst_pipeline_get_property), (gst_pipeline_change_state),
4842         (gst_pipeline_set_auto_flush_bus),
4843         (gst_pipeline_get_auto_flush_bus):
4844         * gst/gstpipeline.h:
4845           Add new API: gst_pipeline_set_auto_flush_bus() and
4846           gst_pipeline_get_auto_flush_bus() to disable automatic
4847           flushing of the pipeline's GstBus when going from READY
4848           to NULL state (#332045).
4849
4850 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
4851
4852         * docs/gst/gstreamer-sections.txt:
4853         * gst/gsturi.c: (gst_uri_has_protocol):
4854         * gst/gsturi.h:
4855            Add new API: gst_uri_has_protocol() (#333779).
4856
4857 2006-03-09  Wim Taymans  <wim@fluendo.com>
4858
4859         * gst/gstclock.c: (gst_clock_entry_new),
4860         (gst_clock_id_compare_func), (gst_clock_id_wait),
4861         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
4862         (gst_clock_init), (gst_clock_get_internal_time),
4863         (gst_clock_set_master), (do_linear_regression),
4864         (gst_clock_add_observation), (gst_clock_set_property):
4865         * gst/gstclock.h:
4866         Review docs.
4867         Small cleanups.
4868         Fix a possible segfault when the window-size is made smaller.
4869         Calculate jitter before performing the clock wait. Ideally
4870         the clock implementation should calculate jitter but we need
4871         API breakage for that.
4872
4873         * gst/gstsystemclock.c: (gst_system_clock_init):
4874         Docs review.
4875         
4876         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4877         Remove leftover else
4878
4879         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
4880         (gst_systemclock_suite):
4881         Added check to test GST_CLOCK_DIFF.
4882
4883 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
4884
4885         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
4886         (gst_type_find_helper_get_range):
4887           If we are provided with the size, we should implement
4888           GstTypeFind::get_length, so that typefind functions who
4889           want to can actually peek at the middle of a file.
4890
4891 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
4892
4893         * docs/manual/advanced-dataaccess.xml:
4894           Add some very very basic error checking.
4895
4896         * docs/pwg/appendix-checklist.xml:
4897           Some updates to the list of things to check when writing an element.
4898
4899 2006-03-08  Wim Taymans  <wim@fluendo.com>
4900
4901         * docs/design/part-element-transform.txt:
4902         Added some docs about the design of tranform elements.
4903
4904         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
4905         (gst_base_src_loop), (gst_base_src_change_state):
4906         Mark buffers with the DISCONT flag.
4907
4908 2006-03-08  Michael Smith  <msmith@fluendo.com>
4909
4910         * gst/gstregistry.h:
4911         * gst/gstregistryxml.c: (gst_registry_save),
4912         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
4913         (gst_registry_xml_save_pad_template),
4914         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
4915         (gst_registry_xml_write_cache):
4916           Rewrite registry-saving to avoid race conditions and check for
4917           failed writes.
4918
4919 2006-03-08  Wim Taymans  <wim@fluendo.com>
4920
4921         * libs/gst/base/gstbasetransform.c:
4922         (gst_base_transform_transform_caps),
4923         (gst_base_transform_transform_size),
4924         (gst_base_transform_prepare_output_buffer),
4925         (gst_base_transform_get_unit_size),
4926         (gst_base_transform_buffer_alloc),
4927         (gst_base_transform_handle_buffer),
4928         (gst_base_transform_change_state):
4929         Cleanups, separate normal flow from errors, add sensible
4930         DEBUG lines.
4931         Don't try to renegotiate when allocating an output buffer.
4932         Also copy DISCONT buffer flag when copying a buffer.
4933         Reset the transform after we finish streaming, not during.
4934
4935 2006-03-08  Wim Taymans  <wim@fluendo.com>
4936
4937         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4938         Use last buffer timestamp in qos message.
4939
4940 2006-03-07  Wim Taymans  <wim@fluendo.com>
4941
4942         Patch by: Christophe Fergeau
4943
4944         * docs/pwg/advanced-tagging.xml:
4945         * docs/pwg/building-pads.xml:
4946           fixes #333416
4947
4948 2006-03-07  Wim Taymans  <wim@fluendo.com>
4949
4950         * docs/libs/gstreamer-libs-sections.txt:
4951         Added basesink new methods.
4952
4953         * gst/gstevent.c:
4954         * gst/gstevent.h:
4955         Docs updates. Flesh out the QoS docs.
4956
4957         * libs/gst/base/gstadapter.c:
4958         Small doc clarification about ownership and flushing.
4959
4960         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
4961         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
4962         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
4963         (gst_base_sink_get_property), (gst_base_sink_do_sync):
4964         * libs/gst/base/gstbasesink.h:
4965         API additions: 
4966         Added new methods to allow subclass to control max-lateness 
4967         and sync.
4968         Generate very basic QoS events based on last sync observation.
4969         Updated docs, fix typo, added some QoS blurb.
4970
4971         * libs/gst/base/gstbasesrc.c:
4972         Remove obsolete _get_state() calls from docs.
4973
4974 2006-03-07  Wim Taymans  <wim@fluendo.com>
4975
4976         * docs/libs/gstreamer-libs-sections.txt:
4977         * libs/gst/base/gstbasetransform.h:
4978         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
4979         Fix docs for GstBaseSrc.
4980
4981 2006-03-07  Wim Taymans  <wim@fluendo.com>
4982
4983         * docs/gst/gstreamer-sections.txt:
4984         * gst/gstbuffer.h:
4985         * gst/gstvalue.c:
4986         * libs/gst/base/gstbasetransform.h:
4987         Small documentation fixes.
4988
4989 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
4990
4991         * gst/gstvalue.c:
4992           Document thread-unsafety of gst_value_register_foo_func()
4993           when used at the same time as gst_value_foo() (#322628).
4994
4995 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
4996
4997         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
4998         (gst_push_src_check_get_range):
4999           Push sources don't support pull mode by default.
5000
5001 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
5002
5003         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5004         (gst_base_src_init), (gst_base_src_pad_check_get_range),
5005         (gst_base_src_default_check_get_range):
5006         * libs/gst/base/gstbasesrc.h:
5007           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
5008           provide default implementation, and rename
5009           gst_base_src_check_get_range() to
5010           gst_base_src_pad_check_get_range() for clarity.
5011
5012 2006-03-06  Wim Taymans  <wim@fluendo.com>
5013
5014         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
5015         Make property overridable.
5016
5017 2006-03-06  Wim Taymans  <wim@fluendo.com>
5018
5019         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5020         (gst_base_sink_init), (gst_base_sink_set_property),
5021         (gst_base_sink_get_property), (gst_base_sink_do_sync):
5022         * libs/gst/base/gstbasesink.h:
5023         API addition: Make max-lateness a property.
5024
5025 2006-03-06  Wim Taymans  <wim@fluendo.com>
5026
5027         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
5028         (gst_base_sink_do_sync), (gst_base_sink_render_object):
5029         Don't ever draw a frame that is >10ms late.
5030
5031 2006-03-06  Michael Smith  <msmith@fluendo.com>
5032
5033         * gst/gstmessage.c: (_gst_message_copy):
5034           When copying a message, set the parent_refcount of the enclosed
5035           structure to point at the copy, not the original message.
5036
5037 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
5038
5039         Patch by: Christophe Fergeau
5040
5041         * gst/gstutils.h:
5042           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
5043           usable in c++ code (#333417)
5044
5045 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5046
5047         * gst/gstclock.h:
5048           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
5049
5050 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
5051
5052         * libs/gst/base/gstbasetransform.c:
5053         (gst_base_transform_transform_caps):
5054           Make sure caps are writable before passing them to
5055           gst_caps_append().
5056
5057 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
5058
5059         * gst/gsterror.h:
5060           Fix some minor docs errors.
5061
5062 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
5063
5064           Patch by: Ross Burton <ross at burtonini dot com>
5065
5066         * gst/gsterror.c: (_gst_resource_errors_init):
5067         * gst/gsterror.h:
5068           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
5069
5070 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
5071
5072         * gst/gst.c:
5073         Add a check and output a g_warning when GStreamer is built
5074         against GLib 2.6 but running against 2.8 or higher, and vice 
5075         versa. (Closes: #323542)
5076
5077 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
5078
5079         * gst/parse/parse.l:
5080           Commit patch for parse_launch syntax from #331255. Removes 
5081           support for quoted strings and mimetypes when writing filtered 
5082           caps. See the bug report for more details - I'm pretty sure this
5083           obscure feature is not in use by _anyone_ anywhere.
5084
5085           With this simple change, the size of the gstreamer.so here 
5086           drops from 2193KB to 1565KB.
5087
5088 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
5089
5090         * plugins/elements/gsttypefindelement.h:
5091         * plugins/elements/gsttypefindelement.c:
5092         (gst_type_find_element_src_event), (start_typefinding),
5093         (stop_typefinding), (gst_type_find_element_handle_event),
5094         (gst_type_find_element_chain),
5095         (gst_type_find_element_chain_do_typefinding):
5096           Use gst_type_find_helper_for_buffer() for chain-based
5097           typefinding.
5098
5099 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
5100
5101         * plugins/elements/gsttypefindelement.c:
5102         (gst_type_find_element_class_init),
5103         (gst_type_find_element_set_property),
5104         (gst_type_find_element_get_property):
5105           Deprecate "maximum" property (not only was it only taken into
5106           account for typefinding in push-mode anyway, it also was never
5107           actually possible to set it in the first place because the
5108           property was registered with the numeric property ID for the
5109           "minimum" property). Register "maximum" property correctly,
5110           for the sake of future copy'n'pasters. Remove some cruft
5111           from property get/set functions.
5112
5113 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
5114
5115         * plugins/elements/gsttypefindelement.c:
5116         (gst_type_find_element_activate):
5117           Use gst_type_find_helper_get_range() here, so we
5118           can honour the "minimum" property and also emit
5119           the signal with the correct probability of the found caps.
5120
5121 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
5122
5123         * docs/libs/gstreamer-libs-sections.txt:
5124         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
5125         (helper_find_suggest), (gst_type_find_helper_get_range),
5126         (gst_type_find_helper):
5127         * libs/gst/base/gsttypefindhelper.h:
5128           New API: gst_type_find_helper_get_range() (#333042).
5129
5130 2006-03-02  Michael Smith  <msmith@fluendo.com>
5131
5132         * gst/gstregistryxml.c: (load_feature):
5133           Asserting on a failure to read part of the registry is Not Cool.
5134           Just log a warning and return NULL (which is already handled)
5135
5136 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
5137
5138         * win32/common/libgstbase.def:
5139           added export of gst_type_find_helper_for_buffer
5140         * win32/common/libgstbase.def:
5141           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
5142           gst_ghost_pad_get_target
5143
5144 2006-02-28  Wim Taymans  <wim@fluendo.com>
5145
5146         * docs/design/draft-klass.txt:
5147         We use Filter now.
5148         Added Connector to mark elements that are only used to
5149         allow pipeline connections.
5150         Moved Debug to extra feature since most of them are 
5151         functionally something else.
5152
5153 2006-02-28  Wim Taymans  <wim@fluendo.com>
5154
5155         * docs/design/draft-klass.txt:
5156         Some updates and clarifications.
5157
5158 2006-02-28  Wim Taymans  <wim@fluendo.com>
5159
5160         * docs/design/draft-klass.txt:
5161         Proposal for klass field values.
5162
5163         * docs/design/part-streams.txt:
5164         Start of a doc describing stream anatomy.
5165
5166 2006-02-28  Wim Taymans  <wim@fluendo.com>
5167
5168         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
5169         Help the compiler a bit with type registration.
5170         Use existing forward cod path instead of duplicating it when 
5171         handling a message.
5172         
5173         * gst/gstbus.c: (gst_bus_get_type):
5174         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
5175         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
5176         * gst/gstclock.c: (gst_clock_get_type):
5177         * gst/gstelement.c: (gst_element_get_type),
5178         * gst/gstelementfactory.c: (gst_element_factory_get_type):
5179         * gst/gstindexfactory.c: (gst_index_factory_get_type):
5180         * gst/gstminiobject.c: (gst_mini_object_get_type):
5181         * gst/gstpad.c: (gst_pad_get_type):
5182         * gst/gstsegment.c: (gst_segment_get_type):
5183         * gst/gststructure.c: (gst_structure_get_type):
5184         * gst/gstsystemclock.c: (gst_system_clock_get_type):
5185         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
5186         * gst/gstvalue.c:
5187         Help compiler with type registration.
5188
5189         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
5190         Small doc update.
5191
5192 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
5193
5194         * plugins/elements/gsttypefindelement.c:
5195         (gst_type_find_element_handle_event):
5196           When we get an EOS event and have not found a type yet
5197           (most likely because we had not yet accumulated
5198           TYPE_FIND_MIN_SIZE of data yet), try to determine the
5199           type given the data we have so far. Fixes typefinding
5200           for very short streams again, most notably quicktime
5201           redirections as used on Apple's trailer site (#331701).
5202
5203 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
5204
5205         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
5206         (gst_type_find_helper):
5207           Try typefinding factories with the highest rank first.
5208
5209 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
5210
5211         * docs/libs/gstreamer-libs-docs.sgml:
5212         * docs/libs/gstreamer-libs-sections.txt:
5213         * libs/gst/base/gsttypefindhelper.c:
5214           Add section for typefind helper and add documentation
5215           for the old and the new function.
5216
5217 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
5218
5219         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
5220         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
5221         (gst_type_find_helper_for_buffer):
5222         * libs/gst/base/gsttypefindhelper.h:
5223           New API: gst_type_find_helper_for_buffer() (#332723).
5224           
5225 2006-02-27  Michael Smith  <msmith@fluendo.com>
5226
5227         Patch by: Loïc Minier
5228
5229         * configure.ac:
5230         * docs/Makefile.am:
5231         * docs/slides/Makefile.am:
5232           prevent CVS directories getting disted.
5233
5234 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
5235
5236         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
5237           Use the REFCOUNTING category for caps refcounting.
5238           
5239 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
5240
5241         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
5242           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
5243
5244 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
5245
5246         * plugins/elements/gsttypefindelement.c:
5247         (gst_type_find_element_activate):
5248           Use gst_pad_check_pull_range() before _activate_pull()
5249           to avoid unnecessary open/close (see #331690).
5250
5251 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
5252
5253         * gst/gstutils.c:
5254           Docs enhancement: make it crystal clear what the
5255           gst_pad_add_*_probe() callbacks should look like.
5256
5257 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
5258
5259         * libs/gst/base/gstbasesrc.c:
5260           Document how applications can stop recording from
5261           live sources (see #330996).
5262
5263 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
5264
5265         * tests/check/Makefile.am:
5266         * tests/check/libs/basesrc.c: (eos_event_counter),
5267         (basesrc_eos_events_pull), (basesrc_eos_events_push),
5268         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
5269         (gst_basesrc_suite), (main):
5270           ... and add some tests for the base source EOS stuff.
5271
5272 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
5273
5274         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
5275           Test case originally showed the problem fixed below,
5276           but was then amended. Add checks back at the place
5277           where they used to be.
5278
5279 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
5280
5281         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5282         (gst_base_src_init), (gst_base_src_loop),
5283         (gst_base_src_activate_push), (gst_base_src_activate_pull),
5284         (gst_base_src_change_state):
5285         * libs/gst/base/gstbasesrc.h:
5286           Don't unconditionally send EOS when going from PAUSED to
5287           READY state, esp. make sure we don't send two EOS events
5288           in some cases (e.g. one when reaching EOS and one when
5289           going from PAUSED to READY). Also, we don't want to send
5290           EOS events when operating in pull mode. However, we do
5291           want to send an EOS event when shutting down a live
5292           source explicitly, for example (fixes #330996).
5293           
5294 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
5295
5296         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
5297           Update src->read_position after a seek when not using mmap.
5298           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
5299
5300 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
5301
5302         * gst/Makefile.am:
5303         * gst/gstparse.h:
5304         * gst/gstutils.c:
5305         * gst/gstutils.h:
5306         Make things work with --disable-parse as they do with 
5307         --disable-load-save - the symbols involved disappear, but the
5308         header is still installed and GST_DISABLE_PARSE is included via
5309         gstconfig.h
5310
5311 2006-02-20  Julien MOUTTE  <julien@moutte.net>
5312
5313         * libs/gst/base/gstbasetransform.c:
5314         (gst_base_transform_change_state): Fix a stupid bug. I was 
5315         sure I compiled that.
5316
5317 2006-02-20  Julien MOUTTE  <julien@moutte.net>
5318
5319         * gst/gstpad.c: (gst_pad_set_blocked_async):
5320         * gst/gstutils.c: (gst_pad_add_data_probe),
5321         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
5322         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
5323         (gst_pad_remove_buffer_probe): Make those function act on the
5324         ghostpad target when it's a ghostpad. (Closes #331727)
5325
5326 2006-02-20  Julien MOUTTE  <julien@moutte.net>
5327
5328         * libs/gst/base/gstbasetransform.c:
5329         (gst_base_transform_change_state): Make basetransform reusable.
5330         (Closes #331898)
5331
5332 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
5333
5334         * docs/random/release:
5335         Move the current documentation of how to do a release to the top
5336         of the file.
5337
5338         * gst/gstbin.c: (gst_bin_class_init),
5339         (gst_bin_handle_message_func):
5340         Allow multiple state-recalculation threads. (Closes #328873)
5341
5342 2006-02-19  Julien MOUTTE  <julien@moutte.net>
5343
5344         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
5345         * gst/gstpad.c: (gst_pad_set_event_function),
5346         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
5347         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
5348         2 strings. You can't use the STR_NULL macro on that.
5349
5350 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
5351
5352         * gst/gstpad.c: (gst_pad_set_event_function),
5353         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
5354         (gst_pad_set_getcaps_function)
5355         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
5356           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
5357           So now, we can use --gst-debug-level=5 on Windows
5358         * win32/common/libgstcontroller.def:
5359           Added export of gst_controller_init
5360         * win32/vs6/libgstcontroller.dsp:
5361           Fixed Release post build configuration
5362
5363 2006-02-17  Wim Taymans  <wim@fluendo.com>
5364
5365         * tests/check/gst/gstquery.c: (GST_START_TEST):
5366         Added another check.
5367
5368 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
5369
5370         * plugins/elements/gsttypefindelement.c: (find_peek):
5371           We can do peeks at non-zero offsets, as long as they
5372           fall within the buffer we have.
5373
5374 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
5375
5376         * tests/check/Makefile.am:
5377         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
5378         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
5379         (parse_suite), (main):
5380           Add testsuite for parse launch syntax
5381
5382 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
5383
5384         * plugins/elements/gsttypefindelement.c:
5385         (gst_type_find_element_chain):
5386           When typefinding is unsuccessful in the chain function, don't
5387           error out immediately. Only error out with NO_CAPS_FOUND if
5388           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
5389           otherwise simply wait for more data so we can try typefinding
5390           again with more data later. Also, don't attempt to typefind
5391           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
5392           this should improve typefinding from network sources where the
5393           size of the first buffer can be somewhat random.
5394
5395 2006-02-14  Wim Taymans  <wim@fluendo.com>
5396
5397         * docs/gst/gstreamer-sections.txt:
5398         * gst/gstpadtemplate.c:
5399         * gst/gstpadtemplate.h:
5400         Fix padtemplate docs, fixes #328805.
5401
5402 2006-02-14  Wim Taymans  <wim@fluendo.com>
5403
5404         * tools/gst-launch.c: (main):
5405         NO_PREROLL is not an ERROR so don't send confusing messages
5406         to the user.
5407
5408 2006-02-14  Wim Taymans  <wim@fluendo.com>
5409
5410         Patch by: Torsten Schoenfeld
5411
5412         * gst/gstregistry.c: (gst_registry_get_default),
5413         (_gst_registry_cleanup):
5414         Protect default registry with lock and ref/sink it.
5415         Fixes #324818
5416
5417 2006-02-14  Wim Taymans  <wim@fluendo.com>
5418
5419         * gst/gstbuffer.c:
5420         * gst/gstquery.c: (gst_query_list_add_format),
5421         (gst_query_set_formatsv), (gst_query_parse_formats_length),
5422         (gst_query_parse_formats_nth):
5423         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5424         Docs fixes.
5425
5426 2006-02-14  Wim Taymans  <wim@fluendo.com>
5427
5428         * docs/gst/gstreamer-sections.txt:
5429         Reworked query docs.
5430
5431         * gst/gstquery.c: (gst_query_new_formats),
5432         (gst_query_list_add_format), (gst_query_set_formats),
5433         (gst_query_set_formatsv), (gst_query_parse_formats_length),
5434         (gst_query_parse_formats_nth):
5435         * gst/gstquery.h:
5436         Flesh out formats query, added some new methods.
5437         Fix part of #324398.
5438
5439         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
5440         Added query creation tests.
5441
5442 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
5443
5444         * gst/gstpad.c: (fixate_value):
5445         Add a default fixation for fraction lists.
5446
5447 2006-02-13  Wim Taymans  <wim@fluendo.com>
5448
5449         * gst/gsttask.c: (gst_task_init), (gst_task_func),
5450         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
5451         (gst_task_join):
5452         * gst/gsttask.h:
5453         Detect and warn for obvious deadlocks. fixes #320340
5454         Fix error case where lock was not released.
5455
5456         * tests/check/Makefile.am:
5457         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
5458         (task_func), (gst_element_suite), (main):
5459         Add task check.
5460
5461 2006-02-13  Wim Taymans  <wim@fluendo.com>
5462
5463         * docs/gst/gstreamer-sections.txt:
5464         * gst/gstbus.c:
5465         Add new functions to docs.
5466
5467 2006-02-13  Wim Taymans  <wim@fluendo.com>
5468
5469         * docs/design/part-TODO.txt:
5470         Updated TODO list, basesrc supports seeking to non-bytes
5471         formats.
5472
5473         * docs/design/part-element-sink.txt:
5474         Update docs.
5475
5476         * gst/gstbin.c: (bin_replace_message),
5477         (gst_bin_handle_message_func):
5478         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
5479         * gst/gstevent.c: (gst_event_finalize):
5480         * gst/gstpad.c: (gst_pad_event_default_dispatch),
5481         (gst_pad_send_event):
5482         Use shiny new _TYPE_NAME macros.
5483
5484         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
5485         Move debug statement up.
5486
5487         * gst/gstelement.c: (gst_element_set_locked_state):
5488         Add some debugging.
5489
5490 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
5491
5492         * docs/gst/gstreamer-sections.txt:
5493         * gst/gstmessage.h:
5494         * gst/gstquery.h:
5495           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
5496           macros (#330906). Also, document the already existing
5497           GST_QUERY_TYPE macro.
5498
5499 2006-02-13  Wim Taymans  <wim@fluendo.com>
5500
5501         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
5502         (event_probe), (GST_START_TEST):
5503         Only events up to the pipeline EOS are counted, there are
5504         some more when going to NULL currently which we don't care
5505         about for now.
5506
5507 2006-02-13  Wim Taymans  <wim@fluendo.com>
5508
5509         * gst/gstpad.c: (gst_pad_send_event):
5510         Correctly check flushing and emit probes. fixes #330125
5511
5512 2006-02-10  Andy Wingo  <wingo@pobox.com>
5513
5514         * gst/gstbus.c (gst_bus_class_init): Declare our private data
5515         structure.
5516         (gst_bus_init): Cache the location of the private data in the
5517         instance structure.
5518         (gst_bus_enable_sync_message_emission) 
5519         (gst_bus_disable_sync_message_emission): Implement new public
5520         functions.
5521         (gst_bus_post): Emit the sync-message signal if the user asked for
5522         it. Fixes #330684.
5523
5524         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
5525         location of the bus-private structure.
5526         (gst_bus_enable_sync_message_emission)
5527         (gst_bus_disable_sync_message_emission): API addition
5528
5529 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
5530
5531         Patch by: Vincent Torri
5532
5533         * docs/pwg/building-boiler.xml:
5534         PWG patch from #326800
5535
5536 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5537
5538         * configure.ac:
5539         * docs/Makefile.am:
5540         * docs/design/Makefile.am:
5541           Dist design docs.
5542
5543 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
5544
5545         * configure.ac:
5546           back to CVS
5547
5548 === release 0.10.3 ===
5549
5550 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
5551
5552         * configure.ac:
5553           releasing 0.10.3, "Like a virgin"
5554
5555 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
5556
5557         * configure.ac:
5558           2nd prerelease of 0.10.3
5559           Bump libtool versioning.
5560
5561 2006-02-07  Andy Wingo  <wingo@pobox.com>
5562
5563         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
5564         update last_stop if we're in TIME format and the timestamp is
5565         valid.
5566
5567         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
5568         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
5569         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
5570         If we get a new newsegment with a different format, adapt
5571         accordingly.
5572
5573         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
5574         of 0. Not a problem, really.
5575
5576         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
5577         warn if sync=true.
5578
5579 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
5580
5581         * configure.ac:
5582           Prelease of 0.10.3
5583
5584 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
5585
5586         * win32/vs7:
5587           project files updated to the default vs7 configuration
5588         * win32/common/libgstbase.def:
5589         * win32/common/libgstreamer.def:
5590           added new symbols,
5591           removed empty lines,
5592           sorted all exported symbols alphabetically
5593         * win32/common/dirent.c:
5594         * win32/common/dirent.h:
5595         * win32/common/gchar.h:
5596           use windows line end.
5597           
5598 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
5599
5600         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
5601           Send EOS event when stopping.
5602
5603 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
5604
5605         * docs/README:
5606           Tell folks what to do if the plugin-foobar.xml file
5607           hasn't been generated for a newly-added plugin.
5608
5609 2006-02-05  Julien MOUTTE  <julien@moutte.net>
5610
5611         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
5612         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
5613         (gst_collect_pads_start), (gst_collect_pads_stop),
5614         (gst_collect_pads_event): Collectpads now holds a reference
5615         to the GstPad that was added. Indeed we don't want to look
5616         at pads that might just go away with no warning...
5617
5618 2006-02-05  Julien MOUTTE  <julien@moutte.net>
5619
5620         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
5621         (gst_collect_pads_start), (gst_collect_pads_stop),
5622         (gst_collect_pads_event), (gst_collect_pads_chain):
5623         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
5624         Mark Nauwelaerts's patch on bug #328491.
5625
5626 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
5627
5628         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
5629         (gst_utils_suite):
5630           Add some simple tests for gst_parse_bin_from_description() and
5631           gst_bin_find_unconnected_pad() (#329069).
5632
5633 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
5634
5635         * tools/gst-launch.c: (event_loop), (main):
5636           Catch errors during preroll (#320084).
5637
5638 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
5639
5640         * plugins/elements/gsttypefindelement.c:
5641         (gst_type_find_element_activate):
5642           Post TYPE_NOT_FOUND error message when typefinding
5643           is unsuccessful in the activate function as well.
5644
5645 2006-02-02  Wim Taymans  <wim@fluendo.com>
5646
5647         * docs/design/part-element-sink.txt:
5648         Updated doc.
5649
5650 2006-02-02  Wim Taymans  <wim@fluendo.com>
5651
5652         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
5653         (gst_base_sink_render_object),
5654         (gst_base_sink_queue_object_unlocked):
5655         Only keep track of prerollable items when we are 
5656         prerolling.
5657         Before rendering after preroll, always check if we
5658         have queued items.
5659         Added some more debugging.
5660
5661 2006-02-02  Wim Taymans  <wim@fluendo.com>
5662
5663         * gst/gstelement.c: (gst_element_continue_state),
5664         (gst_element_set_state_func), (gst_element_change_state):
5665         Fixed #326576, been running this for quite some time with
5666         no regressions at all.
5667
5668 2006-02-02  Wim Taymans  <wim@fluendo.com>
5669
5670         * common/gst.supp:
5671         Added more suppressions
5672
5673 2006-02-02  Wim Taymans  <wim@fluendo.com>
5674
5675         * docs/design/part-element-sink.txt:
5676         Updated document.
5677
5678         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5679         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
5680         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
5681         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
5682         (gst_base_sink_do_sync), (gst_base_sink_render_object),
5683         (gst_base_sink_preroll_object),
5684         (gst_base_sink_queue_object_unlocked),
5685         (gst_base_sink_queue_object), (gst_base_sink_event),
5686         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
5687         (gst_base_sink_loop), (gst_base_sink_activate_pull),
5688         (gst_base_sink_get_position), (gst_base_sink_change_state):
5689         * libs/gst/base/gstbasesink.h:
5690         Totally refactored matching the design doc.
5691         Use two segments, one to clip incomming buffers and another to
5692         perform sync.
5693         Handle queueing correctly, bypass the queue when playing.
5694         Make EOS cancelable.
5695         Handle errors correctly when operating in pull based mode.
5696
5697         * tests/check/elements/fakesink.c: (GST_START_TEST),
5698         (fakesink_suite):
5699         Added new check for sinks.
5700
5701 2006-02-02  Wim Taymans  <wim@fluendo.com>
5702
5703         * gst/gstsegment.c: (gst_segment_clip):
5704         No reason to refuse to clip when start == -1
5705
5706 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
5707
5708         * docs/README:
5709         * docs/manual/intro-basics.xml:
5710         * docs/manual/intro-preface.xml:
5711         * docs/manual/manual.xml:
5712         * docs/pwg/advanced-dparams.xml:
5713         * docs/pwg/intro-basics.xml:
5714         * docs/pwg/intro-preface.xml:
5715         * docs/pwg/pwg.xml:
5716           describe dparams (controller) for plugins
5717           unify docs a little more
5718
5719 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
5720
5721         * docs/gst/gstreamer-sections.txt:
5722         * gst/gstutils.c: (element_find_unconnected_pad),
5723         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
5724         * gst/gstutils.h:
5725           Add new API: gst_parse_bin_from_description() and
5726           gst_bin_find_unconnected_pad() (#329069).
5727
5728 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
5729
5730         * docs/manual/README:
5731           uncover a nasty detail of the docs build
5732
5733 2006-01-31  Wim Taymans  <wim@fluendo.com>
5734
5735         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
5736         Don't cache duration messages if we're not going to use or
5737         free them.
5738
5739 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
5740
5741         * docs/manual/advanced-dparams.xml:
5742         * docs/pwg/advanced-dparams.xml:
5743           more dparam docs
5744         * gst/gstindex.c:
5745           fix docs
5746         * libs/gst/controller/lib.c: (gst_controller_init):
5747           init just once
5748
5749 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
5750
5751         * gst/gstelement.c: (gst_element_message_full):
5752           also show file/line/func if no additional debug was given
5753
5754 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
5755         
5756         * win32/vs7/grammar.vcproj:
5757           activate copy of autogenerated files for Release mode
5758
5759 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
5760         
5761         * win32/common/libgstreamer.def:
5762           export gst_value_compare
5763
5764 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
5765
5766         * plugins/elements/Makefile.am:
5767         * plugins/elements/gstelements.c:
5768         * plugins/elements/gstfdsink.c: (_do_init),
5769         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
5770         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
5771         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
5772         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
5773         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
5774         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
5775         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
5776         * plugins/elements/gstfdsink.h:
5777         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
5778
5779 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
5780
5781         * docs/manual/advanced-dparams.xml:
5782           describe controller
5783         * docs/manual/advanced-position.xml:
5784         * docs/manual/basics-init.xml:
5785         * docs/manual/manual.xml:
5786         * docs/manual/titlepage.xml:
5787         * docs/pwg/pwg.xml:
5788         * docs/pwg/titlepage.xml:
5789           cleanup xml (more to come)
5790         * libs/gst/controller/gstcontroller.c:
5791           fix typo
5792
5793 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
5794         
5795         * win32/vs6/grammar.dsp:
5796           add autogen of gstmarshal.c,h for Release mode
5797                 
5798 2006-01-30  Wim Taymans  <wim@fluendo.com>
5799
5800         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5801         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
5802         (gst_base_sink_handle_object), (gst_base_sink_event),
5803         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
5804         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
5805         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
5806         (gst_base_sink_deactivate), (gst_base_sink_activate),
5807         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
5808         (gst_base_sink_query), (gst_base_sink_change_state):
5809         Basesink cleanups, remove some old code.
5810         Handle the case where a subclass can preroll in the render
5811         method (mostly audiosinks).
5812         Handle more events.
5813         Remove some locks around variables that are now protected
5814         with the PREROLL_LOCK (clock_id, flushing, ..).
5815         Optimize position query some more, do correct locking.
5816         Remove old code to push queue in state change, this is not
5817         needed anymore since preroll blocks on all prerollable items 
5818         now.
5819         Almost implemented as described in design doc.
5820
5821 2006-01-30  Wim Taymans  <wim@fluendo.com>
5822
5823         * tests/check/gst/gstbin.c: (GST_START_TEST):
5824         Wait for refcount to settle down before checking.
5825
5826 2006-01-30  Wim Taymans  <wim@fluendo.com>
5827
5828         * docs/design/part-element-sink.txt:
5829         Pseudo code overview of desired sink behaviour regarding
5830         preroll.
5831
5832 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5833         * win32/vs6/grammar.dsp:
5834           fix some bugs in Release mode for autogenerated files
5835                 
5836 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5837         * win32/common/libgstbase.def:
5838         * win32/common/libgstreamer.def:
5839           export some new symbols: gst_base_src_set_format,
5840           gst_iterator_next, gst_structure_set_valist
5841
5842 2006-01-29  Julien MOUTTE  <julien@moutte.net>
5843
5844         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
5845         Set pad functions unconditionally. Fixes #329105.
5846
5847 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5848         * win32/vs8:
5849           add vs8 project files created by Sergey Scobich
5850
5851 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
5852
5853         * gst/gstutils.c: (gst_element_unlink_pads):
5854         Don't leak pad references.
5855
5856         * tests/check/elements/fakesink.c: (GST_START_TEST):
5857         * tests/check/generic/sinks.c: (GST_START_TEST):
5858         * tests/check/generic/states.c: (GST_START_TEST):
5859         * tests/check/gst/gstbin.c: (GST_START_TEST):
5860         * tests/check/gst/gstcaps.c: (GST_START_TEST):
5861         * tests/check/gst/gstelement.c: (GST_START_TEST):
5862         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
5863         * tests/check/gst/gstiterator.c: (GST_START_TEST):
5864         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5865         Fix a bunch of leaks. Make generic/sinks.c
5866         use a bit less cpu by slowing the buffer rate
5867         between fakesrc and fakesink.
5868         
5869 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
5870         * gst/gstcaps.c:
5871         * gst/gstelement.c: (gst_element_send_event):
5872         * gst/gstevent.c:
5873         * gst/gstinfo.c:
5874         * gst/gstiterator.c:
5875         * gst/gstiterator.h:
5876         * gst/gstpad.c: (gst_pad_send_event):
5877         * gst/gststructure.c:
5878         * gst/gsturi.c:
5879         * gst/gstutils.c:
5880         * gst/gstvalue.c:
5881         * libs/gst/base/gstadapter.c:
5882           doc fixes, to link to function, just write gst_cool_function(), don't
5883           prefix with '#'
5884
5885 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
5886
5887         * plugins/elements/gsttee.c: (gst_tee_do_push),
5888         (gst_tee_handle_buffer):
5889         Always prefer an actual return value from a src
5890         pad in place of NOT_LINKED. This means we return
5891         WRONG_STATE when all src pads are WRONG_STATE
5892         instead of NOT_LINKED.
5893
5894         Lock when replacing the last message to prevent
5895         racing with the get_property method.
5896
5897         Add debug output
5898
5899 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
5900
5901         * tests/check/Makefile.am:
5902         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
5903         (main):
5904         Add a very simple check that should have caught the memleak I fixed
5905         last night (if not for the slice allocator hiding it)
5906
5907 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
5908
5909         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
5910         (gst_bin_remove_func), (gst_bin_handle_message_func),
5911         (bin_query_duration_fold), (bin_query_generic_fold):
5912         Clean up references to the clock provider when disposed or when
5913         handling a clock-lost message from it.
5914
5915         Unref sinks when performing a query via gst_iterator_fold, as the
5916         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
5917
5918         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
5919         (gst_clock_set_master):
5920         Drop our reference to the master clock, if any, when we are disposed.
5921
5922         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
5923         Chain up in dispose. 
5924
5925 2006-01-26  Wim Taymans  <wim@fluendo.com>
5926
5927         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
5928         Add some debugging.
5929
5930 2006-01-26  Julien MOUTTE  <julien@moutte.net>
5931
5932         * plugins/elements/gsttee.c: (gst_tee_do_push),
5933         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
5934         handles pad being NOT_LINKED or in WRONG_STATE.
5935
5936 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
5937
5938         * win32/MANIFEST:
5939           more updating
5940
5941 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
5942
5943         * win32/MANIFEST:
5944           remove obsolete entry
5945
5946 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
5947
5948         * docs/gst/gstreamer-sections.txt:
5949         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
5950         (gst_bin_iterate_sources), (gst_bin_send_event):
5951         * gst/gstbin.h:
5952         * gst/gstelement.c: (gst_element_send_event):
5953         * gst/gstevent.c:
5954         * gst/gstpad.c: (gst_pad_send_event):
5955           added code for downstream events, reviewed docs in gstevent.c
5956
5957 2006-01-25  Julien MOUTTE  <julien@moutte.net>
5958
5959         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5960         We only query position using the clock in the playing state.
5961         Query peer in the other cases.
5962         * win32/common/config.h: Updates.
5963
5964 2006-01-24  Wim Taymans  <wim@fluendo.com>
5965
5966         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
5967         A clock entry that is scheduled for the exact time of the
5968         clock is still in time.
5969
5970         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5971         (gst_base_sink_do_sync):
5972         Add some more debug info.
5973
5974 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
5975
5976         * win32/vs7:
5977           Add new vs7 project files and solution.
5978
5979 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
5980
5981         * win32/vs7:
5982           all files removed as they were out-dated.
5983
5984 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5985
5986         * docs/random/release:
5987           update notes
5988         * gst/gstbin.c: (gst_bin_init):
5989         * gst/gstbus.c: (gst_bus_new):
5990         * gst/gstbus.h:
5991         * gst/gstpipeline.c: (gst_pipeline_init):
5992           use gst_bus_new(), improve logging, fix docs
5993         * win32/common/config.h:
5994           update for cvs build
5995
5996 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5997
5998         * autogen.sh:
5999           up required version of automake to 1.7
6000
6001 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
6002
6003         * win32/common/libgstreamer.def:
6004           export gst_buffer_is_metadata_writable
6005
6006 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
6007
6008         * docs/gst/gstreamer-sections.txt:
6009         * gst/gstevent.h:
6010           Add gst_event_replace() (#327001)
6011
6012 2006-01-20  Wim Taymans  <wim@fluendo.com>
6013
6014         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
6015         Make it actually compile too..
6016
6017 2006-01-20  Wim Taymans  <wim@fluendo.com>
6018
6019         * gst/gstcaps.c:
6020         Clarify behaviour of _is_equal() when passing NULL parameters.
6021
6022         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
6023         (gst_pad_set_caps):
6024         Cleanups. Don't unref NULL caps.
6025         When setting the same caps, protect caps of the pad with
6026         proper lock.
6027         Use full functionality of _is_equal() when comparing caps.
6028
6029 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
6030
6031         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
6032         Don't loop infinitely if there are no buffers to present. Partially
6033         fixes #327197, but collectpads is just broken for reusing elements
6034         to do multiple encodes atm.
6035
6036 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
6037
6038         * tools/gst-inspect.c: (print_element_features):
6039         * tools/gst-xmlinspect.c: (main):
6040         URL_HANDLER is not a plugin feature we can search for in
6041         the registry.
6042
6043 2006-01-19  Edward Hervey  <edward@fluendo.com>
6044
6045         * gst/gstelement.c: (gst_element_pads_activate): 
6046         When activating, do src pads first, then sink pads.
6047         When de-activating, do sink pads first, then src pads.
6048
6049 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6050
6051         * docs/gst/gstreamer-sections.txt:
6052         Add gst_index_add_associationv to the docs
6053
6054 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6055
6056         * gst/gstevent.c:
6057           Fix docs typo
6058
6059         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
6060         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
6061           Do some refactoring. Doesn't actually change functionality,
6062           but makes landing the DRAIN event easier later.
6063
6064 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
6065
6066         * docs/pwg/advanced-scheduling.xml:
6067           Update from 0.9.x to 0.10 API and make example a bit
6068           clearer.
6069
6070 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6071
6072         * docs/gst/gstreamer-sections.txt:
6073         Add gst_buffer_(is|make)_metadata_writable methods.
6074
6075 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
6076
6077         * docs/design/part-sparsestreams.txt:
6078         Update sparse streams doc, hopefully for greater clarity
6079
6080 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
6081
6082         * docs/design/part-events.txt:
6083         Remove mention of FILLER events.
6084         Add DRAIN event.
6085
6086         * docs/design/part-sparsestreams.txt:
6087         Write some things about using NEWSEGMENT to keep sparse streams
6088         flowing.
6089
6090 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
6091
6092         * gst/gstbin.c: (gst_bin_dispose):
6093           Guard gst_object_unref call against a NULL object (dispose
6094           can theoretically be called multiple times).
6095           
6096 2006-01-18  Wim Taymans  <wim@fluendo.com>
6097
6098         * gst/gstbin.c: (gst_bin_element_set_state):
6099         * gst/gstclock.c: (gst_clock_id_wait):
6100         Added some more debug info.
6101
6102         * libs/gst/base/gstadapter.c:
6103         Added more docs.
6104
6105         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6106         (gst_base_sink_do_sync), (gst_base_sink_chain):
6107         Added some comments.
6108
6109 2006-01-18  Wim Taymans  <wim@fluendo.com>
6110
6111         * tests/check/Makefile.am:
6112         * tests/check/elements/fakesink.c: (chain_async_buffer),
6113         (chain_async), (chain_async_return), (GST_START_TEST),
6114         (fakesink_suite), (main):
6115         Added fakesink test that checks prerolling and clipping
6116         behaviour.
6117
6118         * tests/check/gst/gstutils.c: (GST_START_TEST):
6119         Make check run faster so that buildbots don't timeout.
6120
6121 2006-01-18  Wim Taymans  <wim@fluendo.com>
6122
6123         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6124         (gst_base_sink_do_sync):
6125         Some cleanups.
6126         When the sink finishes blocking on the preroll buffer, it can
6127         immediatly render it instead of rendering when the next buffer
6128         arrives.
6129
6130 2006-01-18  Wim Taymans  <wim@fluendo.com>
6131
6132         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
6133         (gst_base_sink_get_property), (gst_base_sink_do_sync),
6134         (gst_base_sink_chain):
6135         Small cleanups.
6136         GST_ELEMENT_CLOCK and sync are protected with LOCK.
6137         Don't store _last_stop if the buffer is dropped.
6138
6139 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
6140
6141         * plugins/elements/gsttypefindelement.c:
6142         (gst_type_find_element_class_init):
6143           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
6144           object method handler that sets the caps on the pad and we want
6145           that to happen before we emit the signal (fixes e.g. feeding a
6146           plain text file to decodebin).
6147
6148 2006-01-18  Christian Schaller  <Christian@fluendo.com>
6149
6150         * gst/gstplugin.c: Add MPL and Proprietary as license options
6151
6152 2006-01-18  Andy Wingo  <wingo@pobox.com>
6153
6154         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
6155         symbol was exported before, it appears this was just an oversight.
6156         Fixes #168703.
6157         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
6158
6159         * gst/gstindex.c (gst_index_add_associationv): Changed int in
6160         prototype to gint. OK since this prototype was not in the header.
6161
6162 2006-01-17  Andy Wingo  <wingo@pobox.com>
6163
6164         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
6165         registry while we remove plugins.
6166
6167         * tools/gst-inspect.c (print_element_info): Don't unref the
6168         factory arg, that should be the responsibility of whatever code
6169         received the ref. Fixes a double-free when called from
6170         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
6171         (main): Unref the factory if we have one.
6172         (print_element_list): No change -- relies on the
6173         plugin_feature_list_free to free the list of features.
6174
6175 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
6176
6177         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
6178         (gst_buffer_make_metadata_writable):
6179         * gst/gstbuffer.h:
6180         * libs/gst/base/gstbasetransform.c:
6181         (gst_base_transform_prepare_output_buf):
6182         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6183         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6184           Replace gst_buffer_(make|is)_metadata_writable patch now
6185           that the release is out.
6186
6187 2006-01-17  Andy Wingo  <wingo@pobox.com>
6188
6189         * gst/gstregistry.c: Reflow design comment. Update so as to speak
6190         in the present tense without reference to versions.
6191
6192         * gst/gstregistry.c (gst_registry_add_plugin)
6193         (gst_registry_remove_plugin, gst_registry_remove_feature)
6194         (gst_registry_find_feature, gst_registry_get_feature_list)
6195         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
6196         (gst_registry_lookup, gst_registry_scan_path)
6197         (_gst_registry_remove_cache_plugins)
6198         (gst_registry_get_feature_list_by_plugin): Add argument
6199         validation.
6200
6201 === release 0.10.2 ===
6202
6203 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
6204
6205         * configure.ac:
6206           releasing 0.10.2, "If man is five"
6207
6208 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
6209
6210         * gst/gstbuffer.c:
6211         * gst/gstbuffer.h:
6212         * libs/gst/base/gstbasetransform.c:
6213         (gst_base_transform_prepare_output_buf):
6214         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6215         * tests/check/gst/gstbuffer.c: (gst_test_suite):
6216           Back out patch until after the release.
6217
6218 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
6219
6220         * gst/gstminiobject.c:
6221           Spelling fix in docs.
6222         * ChangeLog - remove conflict indicator
6223
6224 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
6225
6226         Reviewed By: Andy Wingo
6227
6228         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
6229         (gst_buffer_make_metadata_writable):
6230         * gst/gstbuffer.h:
6231           Add gst_buffer_(is|make)_metadata_writable as analogues of
6232           gst_buffer_(is|make)_writable.
6233
6234         * libs/gst/base/gstbasetransform.c:
6235         (gst_base_transform_prepare_output_buf):
6236         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6237           Use name gst_buffer_(is|make)_metadata_writable functions.
6238
6239         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
6240           Test gst_buffer_(is|make)_metadata_writable
6241         
6242           (Closes: #324162)
6243
6244 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6245
6246         * docs/manual/Makefile.am:
6247           don't do parallel make
6248         * configure.ac:
6249           AC_SUBST HOST_CPU
6250         * win32/common/config.h.in:
6251           add generations for HOST_CPU and GST_MAJORMINOR
6252         * win32/common/config.h:
6253           commit generated result
6254
6255 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
6256
6257         * docs/manual/appendix-integration.xml:
6258           Update GNOME integration section to use gst_init_get_option_group()
6259           instead of the old popt stuff (#322911). Also, GNOME applications
6260           should  now use gconf*sink and gconf*src instead of the old gconf
6261           helper lib we had.
6262
6263 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
6264
6265
6266         * docs/gst/gstreamer-docs.sgml:
6267         * docs/gst/gstreamer-sections.txt:
6268         * docs/libs/gstreamer-libs-sections.txt:
6269           add new API entries to the docs
6270         * libs/gst/controller/Makefile.am:
6271         * libs/gst/controller/gstcontroller.c:
6272         * libs/gst/controller/gstcontroller.h:
6273         * libs/gst/controller/gstcontrollerprivate.h:
6274         * libs/gst/controller/gsthelper.c:
6275         * libs/gst/controller/gstinterpolation.c:
6276           move private structs to private header
6277         * po/README:
6278           gstreamer-0.7 -> gstreamer-0.10
6279         * tests/check/libs/struct_i386.h:
6280           remove private structs
6281
6282 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6283
6284         * plugins/indexers/Makefile.am:
6285           Fixes as part of #317048
6286
6287 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
6288
6289         * plugins/indexers/Makefile.am:
6290           fix #316086 - compilation when mmap is missing
6291
6292 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
6293
6294         * libs/gst/base/gstbasesink.c:
6295           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
6296           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
6297         * win32/common/config.h:
6298           added some defines GST_MAJORMINOR and HOST_CPU
6299         * win32/common/libgstbase.def:
6300         * win32/common/libgstreamer.def:
6301           added some exported functions.
6302
6303 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
6304
6305         * libs/gst/controller/gstcontroller.c:
6306         (gst_controlled_property_set_interpolation_mode),
6307         (gst_controlled_property_new):
6308         * libs/gst/controller/gstcontroller.h:
6309         * libs/gst/controller/gstinterpolation.c:
6310         (interpolate_none_get_string_value_array):
6311           make G_TYPE_STRING controlable
6312
6313 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
6314
6315         * tools/README:
6316         * tools/gst-feedback.1.in:
6317         * tools/gst-inspect.1.in:
6318         * tools/gst-launch.1.in:
6319         * tools/gst-md5sum.1.in:
6320         * tools/gst-typefind.1.in:
6321         * tools/gst-xmlinspect.1.in:
6322         * tools/gst-xmllaunch.1.in:
6323           cleanup man-pages, remove reference to gst-register, document env-vars
6324
6325 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
6326
6327         * gst/gstbuffer.c: (gst_buffer_span):
6328           gst_buffer_span should copy the timestamp of the first buffer
6329           if they were both originally overlapping subbuffers of the 
6330           same parent, using the same logic as the 'slow copy' case.
6331
6332 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
6333
6334         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
6335           Need to awaken ALL the pads when we pop a buffer, otherwise
6336           collectpads only works when there is 2 input streams.
6337
6338 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
6339
6340         * docs/random/ensonic/media-device-daemon.txt:
6341           more ideas (dbus)
6342         * gst/gstbuffer.c:
6343           fix doc example, add clarification
6344         * tools/gst-launch.1.in:
6345           add initial info about GST_PLUGIN_PATH, needs more work
6346
6347 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
6348
6349         * docs/manual/basics-bins.xml:
6350         * docs/manual/basics-elements.xml:
6351         * docs/manual/intro-basics.xml:
6352           Some more minor docs additions and updates.
6353
6354 2006-01-11  Wim Taymans  <wim@fluendo.com>
6355
6356         * docs/manual/basics-bins.xml:
6357         * docs/manual/basics-elements.xml:
6358         Some small fixes as pointed out by Ser-ver on IRC.
6359
6360 2006-01-10  Edward Hervey  <edward@fluendo.com>
6361
6362         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6363         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
6364         the single-segment mode.
6365
6366 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
6367
6368         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6369
6370         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
6371         (gst_base_src_perform_seek), (gst_base_src_send_event),
6372         (gst_base_src_set_property), (gst_base_src_get_property),
6373         (gst_base_src_loop), (gst_base_src_start),
6374         (gst_base_src_activate_push):
6375         * libs/gst/base/gstbasesrc.h:
6376           Name (private) union; makes Sun's Forte compiler happy (#324900).
6377
6378 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
6379
6380         * README:
6381           gst-register is gone.
6382
6383 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6384
6385         * gst/gstvalue.c: (_gst_value_initialize):
6386           make the G_TYPE_DATE instantiation work if debug is disabled
6387
6388 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
6389
6390         * gst/gstmessage.c: (gst_message_parse_tag),
6391         (gst_message_parse_error), (gst_message_parse_warning):
6392           Don't crash when return location for error/warning debug
6393           string is NULL; add fact that return locations can be
6394           NULL to docs where appropriate.
6395
6396 2006-01-05  Wim Taymans  <wim@fluendo.com>
6397
6398         * gst/gstplugin.c: (gst_plugin_load_file):
6399         Replace strdup by g_strdup.
6400
6401 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6402
6403         * docs/pwg/advanced-types.xml:
6404           fix doc borkage
6405
6406 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6407
6408         submitted by: Abel Cheung
6409
6410         * po/LINGUAS:
6411         * po/zh_TW.po:
6412           Added Chinese (traditional) translation
6413
6414 2006-01-04  Wim Taymans  <wim@fluendo.com>
6415
6416         * docs/manual/basics-pads.xml:
6417         * docs/plugins/Makefile.am:
6418         * docs/plugins/gstreamer-plugins-docs.sgml:
6419         * docs/plugins/gstreamer-plugins-sections.txt:
6420         * docs/pwg/advanced-clock.xml:
6421         * docs/pwg/advanced-scheduling.xml:
6422         * docs/pwg/advanced-types.xml:
6423         * plugins/elements/gstfdsink.c:
6424         * plugins/elements/gstfdsrc.c:
6425         * plugins/elements/gstfdsrc.h:
6426         * plugins/elements/gstidentity.c: (gst_identity_class_init):
6427         * plugins/elements/gstidentity.h:
6428         * plugins/elements/gstqueue.h:
6429         * plugins/elements/gsttee.c:
6430         * plugins/elements/gsttee.h:
6431         * plugins/elements/gsttypefindelement.c:
6432         (gst_type_find_element_class_init):
6433         * plugins/elements/gsttypefindelement.h:
6434         Small updates to various docs.
6435         Added core plugins to docs.
6436
6437 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6438
6439         * common/gst.supp:
6440           add a suppression for liboil's uninitialized variable
6441
6442 2006-01-02  James Livingston  <jrl at ids dot org dot au>
6443
6444         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6445
6446         * gst/gstutils.h:
6447           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
6448           macro, so that gcc doesn't complain if the -Wmissing-prototypes
6449           compiler switch is being used (#325429).
6450
6451 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
6452
6453         * gst/gstbin.c: (gst_bin_query):
6454           Disable duration query caching in bins until it gets
6455           fixed (see #324807).
6456
6457 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
6458
6459         * tools/gst-inspect.c: (print_element_properties_info):
6460           Handle properties of POINTER and BOXED type.
6461
6462 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
6463
6464         * gst/gst.c: (init_post):
6465           Init tags stuff and some other things before loading
6466           any static plugins (there may be other static plugins
6467           than just the GStreamer ones, and they may want to
6468           register their own tags or formats or whatever, and
6469           preferably without segfaulting).
6470
6471         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6472           Print at least a warning in the debug logs if we drop a
6473           query just because we don't know how to adjust the value
6474           in the particular format.
6475
6476 2005-12-24  David Schleef  <ds@schleef.org>
6477
6478         * tools/gstreamer-completion:
6479           Replacement for gst-complete written in sh and sed.  Only
6480           completes names of features, but that's 90% of what I want
6481           it for.  Properties are not available in registry.xml.  (Maybe
6482           they should be...)
6483
6484 === release 0.10.1 ===
6485
6486 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
6487
6488         * configure.ac:
6489           releasing 0.10.1, "Nollaig chridheil"
6490
6491 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
6492
6493         * docs/faq/cvs.xml:
6494           Add missing quote, should be make ERROR_CFLAGS="".
6495
6496 2005-12-20  Wim Taymans  <wim@fluendo.com>
6497
6498         * docs/design/part-trickmodes.txt:
6499         More documentation on trickmodes.
6500
6501 2005-12-20  Edward Hervey  <edward@fluendo.com>
6502
6503         * gst/gstcaps.c: (gst_static_caps_get_type):
6504         * gst/gstcaps.h:
6505           API addition: GST_TYPE_STATIC_CAPS
6506         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
6507         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
6508         * gst/gstpadtemplate.h:
6509           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
6510         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
6511         bindings.
6512
6513 2005-12-18  Wim Taymans  <wim@fluendo.com>
6514
6515         * libs/gst/base/gstadapter.c:
6516         * libs/gst/base/gstadapter.h:
6517         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6518         (gst_base_sink_get_position):
6519         * libs/gst/base/gstbasesink.h:
6520         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6521         (gst_base_src_default_query), (gst_base_src_default_do_seek),
6522         (gst_base_src_do_seek), (gst_base_src_perform_seek),
6523         (gst_base_src_send_event), (gst_base_src_update_length),
6524         (gst_base_src_get_range), (gst_base_src_loop),
6525         (gst_base_src_start):
6526         * libs/gst/base/gstbasesrc.h:
6527         * libs/gst/base/gstbasetransform.h:
6528         * libs/gst/base/gstcollectpads.h:
6529         * libs/gst/base/gstpushsrc.c:
6530         * libs/gst/base/gstpushsrc.h:
6531         * libs/gst/dataprotocol/dataprotocol.c:
6532         * libs/gst/dataprotocol/dataprotocol.h:
6533         * libs/gst/net/gstnetclientclock.h:
6534         * libs/gst/net/gstnettimeprovider.h:
6535         Documentation updates.
6536
6537 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
6538
6539         * docs/manual/basics-helloworld.xml:
6540           Remove superfluous closing bracket in helloworld example.
6541
6542 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
6543
6544         * tools/gst-launch.1.in:
6545           Update gst-launch man page; add a section with useful
6546           environment variables. Fixes #323882.
6547
6548 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
6549
6550         * gst/gst.c:
6551         * gst/gst_private.h:
6552           change some char* into char[]
6553
6554 2005-12-16  Wim Taymans  <wim@fluendo.com>
6555
6556         * gst/gstregistryxml.c: (load_feature):
6557         Cleanups.
6558         Don't use g_object_unref on GstObjects so that we avoid
6559         leaks on unsafe glibs.
6560
6561 2005-12-16  Wim Taymans  <wim@fluendo.com>
6562
6563         * gst/gstbin.c: (gst_bin_recalc_state):
6564         Small doc updates.
6565
6566 2005-12-16  Wim Taymans  <wim@fluendo.com>
6567
6568         * common/check.mak:
6569         Added make forever target for check.
6570
6571 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6572
6573         * gst/gst.c: (init_post):
6574           make the registry cache file HOST_CPU-dependent
6575
6576 2005-12-16  Andy Wingo  <wingo@pobox.com>
6577
6578         * plugins/elements/gstbufferstore.c
6579         (gst_buffer_store_cleared_func): Pay attention to g_list_append
6580         return value.
6581
6582         * tests/check/gst/gstobject.c
6583         (test_fake_object_name_threaded_unique): Pay attention to
6584         g_list_sort return value.
6585
6586 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
6587
6588         * tools/gst-feedback-m.m:
6589           Update for 0.9/0.10 (fixes #323870).
6590
6591 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
6592
6593         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
6594           Fix lcopy for mini objects, the mini object needs to be ref'ed.
6595           
6596         * tests/check/gst/gstminiobject.c: (my_foo_init),
6597         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
6598         (test_value_collection), (gst_mini_object_suite):
6599           Add test to ensure refcounts end up as expected when passing
6600           GstMiniObjects through g_object_get() and g_object_set().
6601
6602 2005-12-14  Julien MOUTTE  <julien@moutte.net>
6603
6604         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6605         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
6606         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
6607         of collectpads. This version removes a lot of races without
6608         touching API/ABI. Yay !
6609
6610 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
6611
6612         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
6613           Don't allow activation of a srcpad in pull_range if it has no
6614           getrange function.
6615           Change some debug statements to be a little clearer
6616
6617         * plugins/elements/gsttypefindelement.c:
6618         (gst_type_find_handle_src_query):
6619           Check that we have a peer before executing queries thereupon.
6620
6621         * tests/examples/metadata/read-metadata.c: (message_loop):
6622           Use gst_bus_pop instead of gst_bus_poll when we just want it to
6623           immediately return us any available message with 0 timeout.
6624
6625 2005-12-12  Michael Smith  <msmith@fluendo.com>
6626
6627         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
6628           Don't unref factories after calling them.
6629         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
6630         * plugins/elements/gsttypefindelement.c:
6631         (gst_type_find_element_chain):
6632           Free lists of factories after using them. Fixing typefinding memory
6633           leaks.
6634
6635 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6636
6637         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
6638         (gst_plugin_feature_load):
6639           more meaningful debug output
6640         * configure.ac:
6641         * tests/Makefile.am:
6642         * tests/old/examples/Makefile.am:
6643           make make distcheck happy again
6644
6645 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
6646
6647         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
6648           Catch the special case where we are operating chain-based,
6649           but the downstream peer pad has no chain function. Emit a
6650           custom error message in this case instead of letting the
6651           core generate one implying that this is some sort of core
6652           bug. It's not, it just means that whatever got plugged
6653           into the pipeline downstream when we announced the type
6654           can only operate pull-based, while our source can only
6655           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
6656           Error string has not been marked for translation yet, as
6657           it probably needs some more work first.
6658
6659         (gst_type_find_element_get_best_possibility):
6660           Add helper function to find the best of all available
6661           found possibilities that qualify given the min. threshold.
6662
6663         (gst_type_find_element_handle_event):
6664           Fix the case where we get an EOS while still in TYPEFIND
6665           mode (we want to chose the best of all possible types,
6666           not just the first type that happens to be in our unsorted
6667           list of possible types).
6668
6669         (gst_type_find_element_chain):
6670           Make sure we return GST_FLOW_ERROR when we errored out
6671           in stop_typefinding(); also, don't just find the best of
6672           all found type entries and then use the last examined
6673           type entry, but actually use the best entry.
6674
6675 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
6676
6677         * tests/examples/typefind/typefind.c: (type_found):
6678         * tests/examples/xml/runxml.c: (xml_loaded):
6679           More gcc4 fixes and a mem leak fix.
6680
6681 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6682
6683         * tests/examples/xml/createxml.c: (object_saved):
6684           gcc 4 fixes
6685
6686 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6687
6688         * tests/Makefile.am:
6689           enable the examples even more
6690
6691 2005-12-12  Andy Wingo  <wingo@pobox.com>
6692
6693         * libs/gst/net/gstnettimeprovider.c
6694         (gst_net_time_provider_class_init, gst_net_time_provider_init)
6695         (gst_net_time_provider_set_property)
6696         (gst_net_time_provider_get_property):
6697         API addition: Export "active" as a GObject property.
6698         (gst_net_time_provider_thread): Only respond to time queries if
6699         the time provider is active.
6700
6701         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
6702         NetTimeProvider, preserving binary compat.
6703
6704 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6705
6706         * tests/examples/controller/audio-example.c: (main):
6707         * tests/examples/launch/Makefile.am:
6708           convert comments again
6709
6710 2005-12-12  Wim Taymans  <wim@fluendo.com>
6711
6712         * libs/gst/base/gstpushsrc.c:
6713         Fix typo.
6714
6715 2005-12-12  Wim Taymans  <wim@fluendo.com>
6716
6717         * docs/libs/gstreamer-libs-sections.txt:
6718         Added new symbol to docs.
6719
6720         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6721         (gst_base_src_init), (gst_base_src_set_format),
6722         (gst_base_src_default_query), (gst_base_src_query),
6723         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
6724         (gst_base_src_perform_seek), (gst_base_src_send_event),
6725         (gst_base_src_default_event), (gst_base_src_event_handler),
6726         (gst_base_src_set_property), (gst_base_src_get_property),
6727         (gst_base_src_wait), (gst_base_src_do_sync),
6728         (gst_base_src_update_length), (gst_base_src_get_range),
6729         (gst_base_src_check_get_range), (gst_base_src_loop),
6730         (gst_base_src_default_negotiate), (gst_base_src_start),
6731         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6732         (gst_base_src_change_state):
6733         * libs/gst/base/gstbasesrc.h:
6734         Implement seeking to other formats than _BYTES.
6735         Implement more seeking methods correctly.
6736         Doc updates.
6737         Added query vmethod.
6738         Added do_seek vmethod to make life easier for subclasses
6739         when seeking.
6740         API addition: gst_base_src_set_format()
6741
6742 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6743
6744         * tests/examples/Makefile.am:
6745           added that too
6746
6747 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6748
6749         * configure.ac:
6750         * docs/random/ensonic/media-device-daemon.txt:
6751         * tests/examples/controller/.cvsignore:
6752         * tests/examples/controller/Makefile.am:
6753         * tests/examples/controller/audio-example.c: (main):
6754         * tests/examples/helloworld/.cvsignore:
6755         * tests/examples/helloworld/Makefile.am:
6756         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
6757         * tests/examples/launch/.cvsignore:
6758         * tests/examples/launch/Makefile.am:
6759         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
6760         * tests/examples/metadata/.cvsignore:
6761         * tests/examples/metadata/Makefile.am:
6762         * tests/examples/metadata/read-metadata.c: (message_loop),
6763         (make_pipeline), (print_tag), (main):
6764         * tests/examples/queue/.cvsignore:
6765         * tests/examples/queue/Makefile.am:
6766         * tests/examples/queue/queue.c: (event_loop), (main):
6767         * tests/examples/typefind/.cvsignore:
6768         * tests/examples/typefind/Makefile.am:
6769         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
6770         (main):
6771         * tests/examples/xml/.cvsignore:
6772         * tests/examples/xml/Makefile.am:
6773         * tests/examples/xml/createxml.c: (object_saved), (main):
6774         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
6775         * tests/old/examples/Makefile.am:
6776         * tests/old/examples/TODO:
6777         * tests/old/examples/controller/.cvsignore:
6778         * tests/old/examples/controller/Makefile.am:
6779         * tests/old/examples/controller/audio-example.c:
6780         * tests/old/examples/helloworld/.cvsignore:
6781         * tests/old/examples/helloworld/Makefile.am:
6782         * tests/old/examples/helloworld/helloworld.c:
6783         * tests/old/examples/launch/.cvsignore:
6784         * tests/old/examples/launch/Makefile.am:
6785         * tests/old/examples/launch/mp3parselaunch.c:
6786         * tests/old/examples/launch/mp3play:
6787         * tests/old/examples/manual/Makefile.am:
6788         * tests/old/examples/metadata/Makefile.am:
6789         * tests/old/examples/metadata/read-metadata.c:
6790         * tests/old/examples/queue/.cvsignore:
6791         * tests/old/examples/queue/Makefile.am:
6792         * tests/old/examples/queue/queue.c:
6793         * tests/old/examples/typefind/.cvsignore:
6794         * tests/old/examples/typefind/Makefile.am:
6795         * tests/old/examples/typefind/typefind.c:
6796         * tests/old/examples/xml/.cvsignore:
6797         * tests/old/examples/xml/Makefile.am:
6798         * tests/old/examples/xml/createxml.c:
6799         * tests/old/examples/xml/runxml.c:
6800           applied some simple fixing to some examples
6801           re-enabled the working examples
6802
6803 2005-12-12  Wim Taymans  <wim@fluendo.com>
6804
6805         * gst/gstsegment.c: (gst_segment_init),
6806         (gst_segment_set_last_stop), (gst_segment_set_seek),
6807         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6808         (gst_segment_to_running_time):
6809         Added more documentation.
6810         Make sure the last_pos value is updated properly.
6811         Make sure to_stream_time and to_running_time don't
6812         operate on wrong values.
6813
6814         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6815         Update check.
6816
6817 2005-12-12  Michael Smith  <msmith@fluendo.com>
6818
6819         * plugins/elements/gsttypefindelement.c: (free_entry),
6820         (gst_type_find_element_chain):
6821           Now that we're not leaking factories, make sure we keep references
6822           to them while we need them.
6823
6824 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6825
6826         * tests/check/gst/struct_i386.h:
6827           ifdef out the XML structs
6828
6829 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6830
6831         * gst/gstvalue.c: (gst_value_transform_double_fraction):
6832           floor is not needed, F is always positive; this obviates the
6833           need for adding -lm when building without libxml
6834
6835 2005-12-12  Wim Taymans  <wim@fluendo.com>
6836
6837         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6838         Take current playback rate into account when reporting
6839         the position.
6840
6841 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6842
6843         * docs/manual/mime-world.fig:
6844           Let's try this again, this time with a file that is
6845           actually in XFig format.
6846
6847 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6848
6849         * docs/manual/mime-world.fig:
6850           Add audioconvert element to diagram so that it
6851           matches the text and the code (fixes #319526).
6852
6853 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6854
6855         * docs/pwg/building-chainfn.xml:
6856         * docs/pwg/building-pads.xml:
6857         * docs/pwg/building-state.xml:
6858         * docs/pwg/other-source.xml:
6859           Update state change stuff for 0.10 (fixes #322969).
6860
6861 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6862
6863         * docs/manual/advanced-dataaccess.xml:
6864         * docs/manual/appendix-checklist.xml:
6865         * docs/manual/appendix-programs.xml:
6866         * docs/manual/basics-pads.xml:
6867         * docs/manual/highlevel-components.xml:
6868         * docs/manual/manual.xml:
6869           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
6870           add converters in front of pipelines; remove curly
6871           brackets for threads stuff, they no longer exist; use
6872           GST_TYPE_FRACTION for framerates; update some pieces of
6873           code to 0.10, but there's plenty more to do.
6874
6875         * docs/manual/appendix-porting.xml:
6876           Expand on asynchroneous state changes; s/0.9/0.10/;
6877           mention disappearance of gst_init_get_popt_table()
6878           (fixes #322916).
6879
6880 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6881
6882         * docs/faq/using.xml:
6883           Spider no longer exists, and neither does gst-launch-ext.
6884           Update examples to use decodebin and playbin and put
6885           converters in front of sinks (fixes #323726).
6886
6887 2005-12-09  Michael Smith  <msmith@fluendo.com>
6888
6889         * plugins/elements/gsttypefindelement.c: (find_peek),
6890         (gst_type_find_element_chain):
6891           Fix leaking element factories in typefinding.
6892           Fix problem where we forgot about a probable type on non-seekable
6893           files, and thus later mis-typefound it.
6894
6895 2005-12-09  Michael Smith  <msmith@fluendo.com>
6896
6897         * common/m4/gst-makecontext.m4:
6898         * common/m4/gst-mcsc.m4:
6899         * configure.ac:
6900         * win32/common/config.h:
6901         * win32/common/config.h.in:
6902           Remove makecontext stuff; not used in 0.10 and causes problems on
6903           HPUX according to bug #322441
6904
6905 2005-12-07  Wim Taymans  <wim@fluendo.com>
6906
6907         * tests/check/Makefile.am:
6908         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
6909         (main):
6910         * tests/check/libs/struct_i386.h:
6911         Added ABI check for libs
6912
6913 2005-12-07  Wim Taymans  <wim@fluendo.com>
6914
6915         * tests/check/Makefile.am:
6916         And add the struct_i386.h to dist.
6917
6918 2005-12-07  Wim Taymans  <wim@fluendo.com>
6919
6920         * tests/check/Makefile.am:
6921         * tests/check/gst/.cvsignore:
6922         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
6923         (main):
6924         * tests/check/gst/struct_i386.h:
6925         Added check for ABI compatibility.
6926
6927 2005-12-07  Wim Taymans  <wim@fluendo.com>
6928
6929         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
6930         (gst_fake_src_get_times), (gst_fake_src_create):
6931         Fix broken sync option, fixes #323259
6932
6933 2005-12-07  Wim Taymans  <wim@fluendo.com>
6934
6935         * gst/gstbuffer.c:
6936         Small docs update.
6937
6938         * gst/gstcaps.c: (gst_caps_is_equal):
6939         Don't assert on NULL <--> X. Fixes #323260
6940
6941         * gst/gstminiobject.c: (gst_mini_object_replace):
6942         If we're doing atomic operations, we might just as well use
6943         the proper way to get an atomic pointer.
6944
6945         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6946         Clean up debugging.
6947
6948 2005-12-07  Michael Smith  <msmith@fluendo.com>
6949
6950         * gst/parse/grammar.y:
6951           Remove handling of { } for threads.
6952
6953 2005-12-06  David Schleef  <ds@schleef.org>
6954
6955         * libs/gst/base/gstbasetransform.c: speling fix.
6956
6957 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6958
6959         * docs/libs/tmpl/gstdataprotocol.sgml:
6960         * docs/random/omega/testing/gstobject.c:
6961         * gst/gst.c:
6962         * gst/gstclock.c:
6963         * gst/gstelement.c:
6964         * gst/gstelementfactory.c:
6965         * gst/gsterror.c:
6966         * gst/gstevent.c:
6967         * gst/gstghostpad.c:
6968         * gst/gstinfo.c:
6969         * gst/gstpadtemplate.c:
6970         * gst/gstregistryxml.c:
6971         * gst/gsttaglist.c:
6972         * gst/gsttagsetter.c:
6973         * gst/gsttypefind.c:
6974         * gst/gstvalue.c:
6975         * libs/gst/base/gstbasesrc.c:
6976         * libs/gst/net/gstnetclientclock.c:
6977         * libs/gst/net/gstnettimeprovider.c:
6978         * plugins/elements/gstfakesrc.c:
6979         * plugins/elements/gstfdsrc.c:
6980         * plugins/elements/gstfilesrc.c:
6981         * plugins/elements/gstidentity.c:
6982         * plugins/elements/gstqueue.c:
6983         * plugins/elements/gsttypefindelement.c:
6984         * plugins/indexers/gstfileindex.c:
6985         * plugins/indexers/gstmemindex.c:
6986         * tests/check/gst/gsttag.c:
6987         * tests/old/examples/cutter/cutter.c:
6988         * tests/old/examples/mixer/mixer.c:
6989         * tests/old/examples/xml/runxml.c: (main):
6990         * tests/old/testsuite/caps/normalisation.c:
6991         * tests/old/testsuite/debug/global.c:
6992         * tests/old/testsuite/parse/parse1.c:
6993         * tools/gst-xmlinspect.c:
6994         * win32/common/dirent.c:
6995           expand tabs
6996
6997 === release 0.10.0 ===
6998
6999 2005-12-05   <thomas (at) apestaart (dot) org>
7000
7001         * configure.ac:
7002           releasing 0.10.0, "Maroilles"
7003
7004 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7005
7006         submitted by: Funda Wang <fundawang@linux.net.cn>
7007
7008         * po/LINGUAS:
7009         * po/zh_CN.po:
7010           added Chinese (Traditional) translation
7011
7012 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7013
7014         * docs/gst/gstreamer-sections.txt:
7015         * docs/libs/tmpl/gstdataprotocol.sgml:
7016         * docs/random/thomasvs/TODO:
7017         * gst/gstutils.c:
7018         * gst/gstutils.h:
7019           fix docs
7020
7021 2005-12-05  Andy Wingo  <wingo@pobox.com>
7022
7023         patch by: Wim Taymans <wim@fluendo.com>
7024
7025         * libs/gst/base/gstbasetransform.c
7026         (gst_base_transform_prepare_output_buf)
7027         (gst_base_transform_buffer_alloc):
7028         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
7029         alloc_buffer_and_set_caps.
7030
7031         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
7032         set_caps on the source pad.
7033         (gst_pad_alloc_buffer_and_set_caps): New function, does what
7034         alloc_buffer used to do. Fixes #322874.
7035
7036         * docs/gst/gstreamer-sections.txt: 
7037         * docs/design/part-negotiation.txt: 
7038         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
7039         changes.
7040
7041 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7042
7043         patch by: Sebastien Moutte
7044
7045         * win32/MANIFEST:
7046         * win32/common/config.h.in:
7047         * win32/vs6/libgstcontroller.dsp:
7048           win32 build fixes
7049
7050 2005-12-05  Wim Taymans  <wim@fluendo.com>
7051
7052         * gst/gstcaps.c: (gst_caps_is_equal):
7053         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7054         (gst_fake_src_create):
7055         Back out previous code changes, leave doc updates, file bugs 
7056         instead. 
7057
7058 2005-12-05  Wim Taymans  <wim@fluendo.com>
7059
7060         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7061         (gst_fake_src_get_times), (gst_fake_src_create):
7062         * plugins/elements/gstfakesrc.h:
7063         Fix broken sync code.
7064
7065 2005-12-05  Wim Taymans  <wim@fluendo.com>
7066
7067         * gst/gstcaps.c: (gst_caps_is_equal):
7068         Comparing NULL against !NULL yields different caps, not a
7069         failure.
7070
7071 2005-12-05  Wim Taymans  <wim@fluendo.com>
7072
7073         * gst/gstpipeline.c:
7074         Fix small typo in docs.
7075
7076 2005-12-05  Andy Wingo  <wingo@pobox.com>
7077
7078         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
7079
7080         * gst/gst.c (init_post): remove hard-coded 0.9 location for
7081         registries/plugins with a MAJORMINOR one.
7082         (plugin_desc): Rename library from gstcoreleements to
7083         staticelements. Fixes #323222.
7084
7085 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
7086
7087         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
7088           Change debug category to 'collectpads' from 'collect_pads'
7089           (fixes #323250).
7090
7091 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7092
7093         patch by: Sebastien Moutte
7094
7095         * libs/gst/controller/gstinterpolation.c:
7096           use convert function for uint64/double
7097         * win32/vs6/libgstcontroller.dsp:
7098           link to GLib
7099
7100 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7101
7102         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
7103         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
7104         * gst/gstutils.h:
7105         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7106           add tests that seem to show that the guint64/gdouble conversions
7107           are correct.
7108
7109 2005-12-02  Wim Taymans  <wim@fluendo.com>
7110
7111         * gst/gstregistry.c: (gst_registry_add_path):
7112         * gst/gstregistry.h:
7113         * gst/gstregistryxml.c:
7114         Fix docs again.
7115
7116 2005-12-02  Wim Taymans  <wim@fluendo.com>
7117
7118         * gst/gstutils.c: (gst_util_uint64_scale_int64),
7119         (gst_util_uint64_scale_int):
7120         Small cleanup.
7121
7122         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7123         Add debug log line.
7124
7125         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
7126         Add FIXME.
7127
7128 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7129
7130         * win32/MANIFEST:
7131         * win32/common/config.h:
7132         * win32/vs6/gstreamer.dsw:
7133         * win32/vs6/libgstcoreelements.dsp:
7134         * win32/vs6/libgstelements.dsp:
7135           renamed core elements plugin
7136
7137 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7138
7139         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
7140         (get_candidates):
7141           do piece-wise major/minor comparison so 0.9 < 0.10
7142           also allow .exe extensions for tools
7143
7144 2005-12-02  Michael Smith  <msmith@fluendo.com>
7145
7146         * gst/gst.c:
7147           Escape a % to make gtkdoc happier; bug 322958.
7148
7149 === release 0.9.7 ===
7150
7151 2005-12-01   <thomas (at) apestaart (dot) org>
7152
7153         * configure.ac:
7154           releasing 0.9.7, "My Dog Has No Nose"
7155
7156 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7157
7158         * common/gst-xmlinspect.py:
7159         * configure.ac:
7160         * docs/libs/tmpl/gstdataprotocol.sgml:
7161         * docs/random/release:
7162         * po/af.po:
7163         * po/az.po:
7164         * po/bg.po:
7165         * po/ca.po:
7166         * po/cs.po:
7167         * po/de.po:
7168         * po/en_GB.po:
7169         * po/fr.po:
7170         * po/it.po:
7171         * po/nb.po:
7172         * po/nl.po:
7173         * po/ru.po:
7174         * po/sq.po:
7175         * po/sr.po:
7176         * po/sv.po:
7177         * po/tr.po:
7178         * po/uk.po:
7179         * po/vi.po:
7180         * win32/common/config.h:
7181         * win32/common/config.h.in:
7182         * win32/vs6/gst_inspect.dsp:
7183         * win32/vs6/gst_launch.dsp:
7184         * win32/vs6/libgstbase.dsp:
7185         * win32/vs6/libgstelements.dsp:
7186         * win32/vs6/libgstreamer.dsp:
7187         * win32/vs7/GStreamer.vcproj:
7188         * win32/vs7/gst-inspect.vcproj:
7189         * win32/vs7/gst-launch.vcproj:
7190         * win32/vs7/libgstbase.vcproj:
7191           bump GST_MAJORMINOR to 0.10
7192           reset libtool version
7193
7194 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7195
7196         * po/LINGUAS:
7197         * po/bg.po:
7198           Added Bulgarian translation by (Alexander Shopov)
7199
7200 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7201
7202         * tests/check/gst/gstplugin.c:
7203           fix test
7204
7205 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7206
7207         * common/gst-xmlinspect.py:
7208         * common/gtk-doc-plugins.mak:
7209         * configure.ac:
7210         * docs/Makefile.am:
7211         * docs/gst/Makefile.am:
7212         * docs/gst/gstreamer-docs.sgml:
7213         * docs/gst/gstreamer-sections.txt:
7214         * docs/gst/gstreamer.types:
7215         * docs/gst/gstreamer.types.in:
7216         * docs/plugins/Makefile.am:
7217         * docs/plugins/gstreamer-plugins-docs.sgml:
7218         * docs/plugins/gstreamer-plugins-sections.txt:
7219         * docs/plugins/gstreamer-plugins.types:
7220         * docs/plugins/inspect.stamp:
7221         * docs/plugins/inspect/plugin-coreelements.xml:
7222         * docs/plugins/inspect/plugin-coreindexers.xml:
7223         * docs/plugins/scanobj-build.stamp:
7224         * gstreamer.spec.in:
7225         * plugins/elements/Makefile.am:
7226         * plugins/elements/gstelements.c:
7227         * plugins/elements/gstfakesink.c:
7228         * plugins/elements/gstfakesrc.c:
7229         * plugins/elements/gstfilesink.c:
7230         * plugins/elements/gstfilesrc.c:
7231         * plugins/elements/gstqueue.c:
7232         * plugins/indexers/Makefile.am:
7233         * plugins/indexers/gstindexers.c:
7234           document core plugins in a separate document just like all the
7235           others
7236           rename these plugins to something starting with core
7237
7238 2005-12-01  Andy Wingo  <wingo@pobox.com>
7239
7240         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
7241         padding here before, but it missed the commit.
7242
7243 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7244
7245         * libs/gst/controller/gstinterpolation.c:
7246           whitespace prices have crashed, we should feel free to use some now
7247           use gst_guint64_to_gdouble
7248
7249 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7250
7251         * libs/gst/controller/gstcontroller.c:
7252         * libs/gst/controller/gsthelper.c:
7253         * libs/gst/controller/gstinterpolation.c:
7254         * libs/gst/controller/lib.c:
7255           wrap config.h include
7256
7257 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7258
7259         * docs/gst/gstreamer-sections.txt:
7260           update docs
7261
7262 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7263
7264         * plugins/elements/gstelements.c:
7265         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
7266         (gst_fd_sink__class_init), (gst_fd_sink__init),
7267         (gst_fd_sink__chain), (gst_fd_sink__set_property),
7268         (gst_fd_sink__get_property):
7269         * plugins/elements/gstfdsink.h:
7270         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
7271         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
7272         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
7273         (gst_fd_src_unlock), (gst_fd_src_set_property),
7274         (gst_fd_src_get_property), (gst_fd_src_create),
7275         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
7276         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
7277         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
7278         (gst_fd_src_uri_handler_init):
7279         * plugins/elements/gstfdsrc.h:
7280         * plugins/elements/gstqueue.c: (gst_queue_get_type):
7281           more anal cleanup
7282
7283 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7284
7285         * docs/gst/Makefile.am:
7286         * docs/gst/gstreamer.types.in:
7287         * gst/Makefile.am:
7288           fix the docs build
7289
7290 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7291
7292         * configure.ac:
7293         * gst/Makefile.am:
7294         * gst/gst.c:
7295         * gst/gstplugin.h:
7296         * gst/gstregistry.h:
7297         * tests/benchmarks/complexity.c:
7298         * tests/benchmarks/mass-elements.c:
7299         * tests/check/Makefile.am:
7300         * tools/Makefile.am:
7301         * tools/gst-inspect.c:
7302         * tools/gst-xmlinspect.c:
7303           various fixes to make
7304           --disable-nls --disable-registry --disable-loadsave
7305           --disable-parse --disable-gst-debug
7306           work and get the core .so down to 360444 bytes after stripping
7307
7308 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7309
7310         * Makefile.am:
7311         * configure.ac:
7312           descend into tests
7313         * docs/random/thomasvs/TODO:
7314         * tests/Makefile.am:
7315         * tests/README:
7316           add a README
7317
7318 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7319
7320         * win32/GStreamer.vcproj:
7321         * win32/MANIFEST:
7322         * win32/Makefile:
7323         * win32/Makefile.inspect:
7324         * win32/Makefile.launch:
7325         * win32/Makefile.register:
7326         * win32/README.txt:
7327         * win32/gst-inspect.vcproj:
7328         * win32/gst-launch.vcproj:
7329         * win32/gst-register.vcproj:
7330         * win32/gstelements.vcproj:
7331         * win32/gstgetbits.def:
7332         * win32/gstgetbits.vcproj:
7333         * win32/gstreamer-dbg.def:
7334         * win32/gstreamer.def:
7335         * win32/libgstbase.def:
7336         * win32/libgstbase.vcproj:
7337         * win32/link_oldruntime.c:
7338         * win32/mman.c:
7339         * win32/mman.h:
7340         * win32/mman.inl:
7341         * win32/msvc71.sln:
7342           move even more stuff, win32/ is nice and clean now
7343
7344 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7345
7346         * libs/gst/control/.cvsignore:
7347         * win32/MANIFEST:
7348         * win32/config.h:
7349         * win32/dirent.c:
7350         * win32/dirent.h:
7351         * win32/gstbytestream.def:
7352         * win32/gstbytestream.vcproj:
7353         * win32/gstconfig.h:
7354         * win32/gstenumtypes.c:
7355         * win32/gstenumtypes.h:
7356         * win32/gstoptimalscheduler.vcproj:
7357         * win32/gstversion.h:
7358         * win32/gtchar.h:
7359         * win32/testsuite/bins.vcproj:
7360         * win32/testsuite/bytestream.vcproj:
7361         * win32/testsuite/caps.vcproj:
7362         * win32/testsuite/cleanup.vcproj:
7363         * win32/testsuite/clock.vcproj:
7364         * win32/testsuite/debug.vcproj:
7365         * win32/testsuite/dlopen.vcproj:
7366         * win32/testsuite/dynparams.vcproj:
7367         * win32/testsuite/elements.vcproj:
7368         * win32/testsuite/ghostpads.vcproj:
7369         * win32/testsuite/indexers.vcproj:
7370         * win32/testsuite/negotiation.vcproj:
7371         * win32/testsuite/parse.vcproj:
7372         * win32/testsuite/plugin.vcproj:
7373         * win32/testsuite/refcounting.vcproj:
7374         * win32/testsuite/schedulers.vcproj:
7375         * win32/testsuite/states.vcproj:
7376         * win32/testsuite/tags.vcproj:
7377         * win32/testsuite/threads.vcproj:
7378           remove old win32 stuff that isn't maintained and should be
7379           reorganized
7380
7381 2005-11-30  Andy Wingo  <wingo@pobox.com>
7382
7383         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
7384         loading the gst.interfaces python module bork.
7385
7386         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
7387         available since GLib 2.2. Fixes #318031.
7388
7389 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7390
7391         * Makefile.am:
7392         * check/.cvsignore:
7393         * check/Makefile.am:
7394         * check/elements/.cvsignore:
7395         * check/elements/fakesrc.c:
7396         * check/elements/fdsrc.c:
7397         * check/elements/identity.c:
7398         * check/generic/.cvsignore:
7399         * check/generic/states.c:
7400         * check/gst-libs/.cvsignore:
7401         * check/gst-libs/controller.c:
7402         * check/gst-libs/gdp.c:
7403         * check/gst/.cvsignore:
7404         * check/gst/capslist.h:
7405         * check/gst/gst.c:
7406         * check/gst/gstbin.c:
7407         * check/gst/gstbuffer.c:
7408         * check/gst/gstbus.c:
7409         * check/gst/gstcaps.c:
7410         * check/gst/gstelement.c:
7411         * check/gst/gstevent.c:
7412         * check/gst/gstghostpad.c:
7413         * check/gst/gstiterator.c:
7414         * check/gst/gstmessage.c:
7415         * check/gst/gstminiobject.c:
7416         * check/gst/gstobject.c:
7417         * check/gst/gstpad.c:
7418         * check/gst/gstpipeline.c:
7419         * check/gst/gstplugin.c:
7420         * check/gst/gstsegment.c:
7421         * check/gst/gststructure.c:
7422         * check/gst/gstsystemclock.c:
7423         * check/gst/gsttag.c:
7424         * check/gst/gstutils.c:
7425         * check/gst/gstvalue.c:
7426         * check/net/.cvsignore:
7427         * check/net/gstnetclientclock.c:
7428         * check/net/gstnettimeprovider.c:
7429         * check/pipelines/.cvsignore:
7430         * check/pipelines/cleanup.c:
7431         * check/pipelines/simple_launch_lines.c:
7432         * check/pipelines/stress.c:
7433         * check/states/.cvsignore:
7434         * check/states/sinks.c:
7435         * configure.ac:
7436         * examples/Makefile.am:
7437         * examples/appreader/.cvsignore:
7438         * examples/appreader/Makefile.am:
7439         * examples/appreader/appreader.c:
7440         * examples/controller/.cvsignore:
7441         * examples/controller/Makefile.am:
7442         * examples/controller/audio-example.c:
7443         * examples/cutter/.cvsignore:
7444         * examples/cutter/Makefile.am:
7445         * examples/cutter/cutter.c:
7446         * examples/cutter/cutter.h:
7447         * examples/events/Makefile.am:
7448         * examples/events/seek.c:
7449         * examples/helloworld/.cvsignore:
7450         * examples/helloworld/Makefile.am:
7451         * examples/helloworld/helloworld.c:
7452         * examples/helloworld2/.cvsignore:
7453         * examples/helloworld2/Makefile.am:
7454         * examples/helloworld2/helloworld2.c:
7455         * examples/launch/.cvsignore:
7456         * examples/launch/Makefile.am:
7457         * examples/launch/mp3parselaunch.c:
7458         * examples/launch/mp3play:
7459         * examples/manual/.cvsignore:
7460         * examples/manual/Makefile.am:
7461         * examples/manual/extract.pl:
7462         * examples/metadata/Makefile.am:
7463         * examples/metadata/read-metadata.c:
7464         * examples/mixer/.cvsignore:
7465         * examples/mixer/Makefile.am:
7466         * examples/mixer/mixer.c:
7467         * examples/mixer/mixer.h:
7468         * examples/pingpong/.cvsignore:
7469         * examples/pingpong/Makefile.am:
7470         * examples/pingpong/pingpong.c:
7471         * examples/plugins/.cvsignore:
7472         * examples/plugins/Makefile.am:
7473         * examples/plugins/example.c:
7474         * examples/plugins/example.h:
7475         * examples/pwg/.cvsignore:
7476         * examples/pwg/Makefile.am:
7477         * examples/pwg/extract.pl:
7478         * examples/queue/.cvsignore:
7479         * examples/queue/Makefile.am:
7480         * examples/queue/queue.c:
7481         * examples/queue2/.cvsignore:
7482         * examples/queue2/Makefile.am:
7483         * examples/queue2/queue2.c:
7484         * examples/queue3/.cvsignore:
7485         * examples/queue3/Makefile.am:
7486         * examples/queue3/queue3.c:
7487         * examples/queue4/.cvsignore:
7488         * examples/queue4/Makefile.am:
7489         * examples/queue4/queue4.c:
7490         * examples/retag/.cvsignore:
7491         * examples/retag/Makefile.am:
7492         * examples/retag/retag.c:
7493         * examples/retag/transcode.c:
7494         * examples/thread/.cvsignore:
7495         * examples/thread/Makefile.am:
7496         * examples/thread/thread.c:
7497         * examples/typefind/.cvsignore:
7498         * examples/typefind/Makefile.am:
7499         * examples/typefind/typefind.c:
7500         * examples/xml/.cvsignore:
7501         * examples/xml/Makefile.am:
7502         * examples/xml/createxml.c:
7503         * examples/xml/runxml.c:
7504         * tests/Makefile.am:
7505         * tests/check/Makefile.am:
7506         * testsuite/.cvsignore:
7507         * testsuite/Makefile.am:
7508         * testsuite/Rules:
7509         * testsuite/caps/.cvsignore:
7510         * testsuite/caps/Makefile.am:
7511         * testsuite/caps/app_fixate.c:
7512         * testsuite/caps/audioscale.c:
7513         * testsuite/caps/caps.c:
7514         * testsuite/caps/caps.h:
7515         * testsuite/caps/caps_strings:
7516         * testsuite/caps/compatibility.c:
7517         * testsuite/caps/deserialize.c:
7518         * testsuite/caps/enumcaps.c:
7519         * testsuite/caps/eratosthenes.c:
7520         * testsuite/caps/filtercaps.c:
7521         * testsuite/caps/fixed.c:
7522         * testsuite/caps/fraction-convert.c:
7523         * testsuite/caps/fraction-multiply-and-zero.c:
7524         * testsuite/caps/intersect2.c:
7525         * testsuite/caps/intersection.c:
7526         * testsuite/caps/normalisation.c:
7527         * testsuite/caps/random.c:
7528         * testsuite/caps/renegotiate.c:
7529         * testsuite/caps/sets.c:
7530         * testsuite/caps/simplify.c:
7531         * testsuite/caps/string-conversions.c:
7532         * testsuite/caps/structure.c:
7533         * testsuite/caps/subtract.c:
7534         * testsuite/caps/union.c:
7535         * testsuite/debug/.cvsignore:
7536         * testsuite/debug/Makefile.am:
7537         * testsuite/debug/category.c:
7538         * testsuite/debug/commandline.c:
7539         * testsuite/debug/global.c:
7540         * testsuite/debug/output.c:
7541         * testsuite/debug/printf_extension.c:
7542         * testsuite/dlopen/.cvsignore:
7543         * testsuite/dlopen/Makefile.am:
7544         * testsuite/dlopen/dlopen_gst.c:
7545         * testsuite/dlopen/loadgst.c:
7546         * testsuite/elements/.cvsignore:
7547         * testsuite/elements/Makefile.am:
7548         * testsuite/elements/gst-inspect-check.in:
7549         * testsuite/elements/struct_i386.h:
7550         * testsuite/elements/struct_size.c:
7551         * testsuite/indexers/.cvsignore:
7552         * testsuite/indexers/Makefile.am:
7553         * testsuite/indexers/cache1.c:
7554         * testsuite/indexers/indexdump.c:
7555         * testsuite/parse/.cvsignore:
7556         * testsuite/parse/Makefile.am:
7557         * testsuite/parse/parse1.c:
7558         * testsuite/parse/parse2.c:
7559         * testsuite/plugin/.cvsignore:
7560         * testsuite/plugin/Makefile.am:
7561         * testsuite/plugin/README:
7562         * testsuite/plugin/dynamic.c:
7563         * testsuite/plugin/linked.c:
7564         * testsuite/plugin/loading.c:
7565         * testsuite/plugin/registry.c:
7566         * testsuite/plugin/static.c:
7567         * testsuite/plugin/static2.c:
7568         * testsuite/plugin/testplugin.c:
7569         * testsuite/plugin/testplugin2.c:
7570         * testsuite/plugin/testplugin2_s.c:
7571         * testsuite/plugin/testplugin_s.c:
7572         * testsuite/refcounting/.cvsignore:
7573         * testsuite/refcounting/Makefile.am:
7574         * testsuite/refcounting/bin.c:
7575         * testsuite/refcounting/element.c:
7576         * testsuite/refcounting/element_pad.c:
7577         * testsuite/refcounting/mainloop.c:
7578         * testsuite/refcounting/mem.c:
7579         * testsuite/refcounting/mem.h:
7580         * testsuite/refcounting/object.c:
7581         * testsuite/refcounting/pad.c:
7582         * testsuite/refcounting/sched.c:
7583         * testsuite/refcounting/thread.c:
7584         * testsuite/states/.cvsignore:
7585         * testsuite/states/Makefile.am:
7586         * testsuite/states/bin.c:
7587         * testsuite/states/locked.c:
7588         * testsuite/states/parent.c:
7589         * testsuite/threads/.cvsignore:
7590         * testsuite/threads/159566.c:
7591         * testsuite/threads/159852.c:
7592         * testsuite/threads/Makefile.am:
7593         * testsuite/threads/queue.c:
7594         * testsuite/threads/signals.c:
7595         * testsuite/threads/staticrec.c:
7596         * testsuite/threads/thread.c:
7597         * testsuite/threads/threadb.c:
7598         * testsuite/threads/threadc.c:
7599         * testsuite/threads/threadd.c:
7600         * testsuite/threads/threade.c:
7601         * testsuite/threads/threadf.c:
7602         * testsuite/threads/threadg.c:
7603         * testsuite/threads/threadh.c:
7604         * testsuite/threads/threadi.c:
7605           move all of these under tests
7606
7607 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7608
7609         * configure.ac:
7610         * tests/Makefile.am:
7611           fix distcheck
7612
7613 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7614
7615         * docs/gst/gstreamer-sections.txt:
7616         * tests/sched/.cvsignore:
7617         * tests/sched/Makefile.am:
7618         * tests/sched/cases/(fs-fs).xml:
7619         * tests/sched/cases/(fs-i-fs).xml:
7620         * tests/sched/cases/(fs-i-i-fs).xml:
7621         * tests/sched/cases/(fs-i-q[i-fs]).xml:
7622         * tests/sched/dynamic-pipeline.c:
7623         * tests/sched/interrupt1.c:
7624         * tests/sched/interrupt2.c:
7625         * tests/sched/interrupt3.c:
7626         * tests/sched/runtestcases:
7627         * tests/sched/runxml.c:
7628         * tests/sched/sched-stress.c:
7629         * tests/sched/sort.c:
7630         * tests/sched/testcases:
7631         * tests/sched/testcases1.tc:
7632         * tests/seeking/.cvsignore:
7633         * tests/seeking/Makefile.am:
7634         * tests/seeking/seeking1.c:
7635         * tests/threadstate/.cvsignore:
7636         * tests/threadstate/Makefile.am:
7637         * tests/threadstate/test1.c:
7638         * tests/threadstate/test2.c:
7639         * tests/threadstate/threadstate1.c:
7640         * tests/threadstate/threadstate2.c:
7641         * tests/threadstate/threadstate3.c:
7642         * tests/threadstate/threadstate4.c:
7643         * tests/threadstate/threadstate5.c:
7644           remove obsolete tests
7645         * configure.ac:
7646         * tests/bench-complexity.scm:
7647         * tests/bench-mass_elements.scm:
7648         * tests/complexity.c:
7649         * tests/complexity.gnuplot:
7650         * tests/instantiate/.cvsignore:
7651         * tests/instantiate/Makefile.am:
7652         * tests/instantiate/caps.c:
7653         * tests/mass_elements.c:
7654         * tests/network-clock-utils.scm:
7655         * tests/network-clock.scm:
7656         * tests/plot-data:
7657         First pass at cleaning up tests/ dir before moving the rest
7658         Combined with CVS surgery
7659
7660 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7661
7662         * po/POTFILES.in:
7663           queue has moved, update
7664
7665 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7666
7667         * docs/gst/gstreamer-sections.txt:
7668           remove double entries from the docs
7669         * gst/gst_private.h:
7670         * gst/gstinfo.c: (_gst_debug_init):
7671           remove the THREAD debug category
7672         * gst/Makefile.am:
7673         * gst/gstqueue.c:
7674         * gst/gstqueue.h:
7675         * docs/gst/gstreamer.types:
7676         * plugins/elements/gstqueue.c: (gst_queue_get_type),
7677         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
7678           completely move queue and fix up debugging categories
7679
7680 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7681
7682         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7683           make initialization portable, using LL is not
7684
7685 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7686
7687         * win32/common/gstconfig.h:
7688           add large padding
7689
7690 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7691
7692         * win32/common/libgstreamer.def:
7693           rename symbols; sort base section
7694
7695 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7696
7697         * gst/gstclock.c: (do_linear_regression):
7698           remove crack non-portable handrolled DEBUG macro
7699
7700 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7701
7702         * docs/random/release:
7703           update notes
7704         * win32/common/gstenumtypes.c: (register_gst_object_flags),
7705         (gst_object_flags_get_type), (register_gst_bin_flags),
7706         (gst_bin_flags_get_type), (register_gst_buffer_flag),
7707         (gst_buffer_flag_get_type), (register_gst_bus_flags),
7708         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7709         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
7710         (gst_caps_flags_get_type), (register_gst_clock_return),
7711         (gst_clock_return_get_type), (register_gst_clock_entry_type),
7712         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7713         (gst_clock_flags_get_type), (register_gst_state),
7714         (gst_state_get_type), (register_gst_state_change_return),
7715         (gst_state_change_return_get_type), (register_gst_state_change),
7716         (gst_state_change_get_type), (register_gst_element_flags),
7717         (gst_element_flags_get_type), (register_gst_core_error),
7718         (gst_core_error_get_type), (register_gst_library_error),
7719         (gst_library_error_get_type), (register_gst_resource_error),
7720         (gst_resource_error_get_type), (register_gst_stream_error),
7721         (gst_stream_error_get_type), (register_gst_event_type_flags),
7722         (gst_event_type_flags_get_type), (register_gst_event_type),
7723         (gst_event_type_get_type), (register_gst_seek_type),
7724         (gst_seek_type_get_type), (register_gst_seek_flags),
7725         (gst_seek_flags_get_type), (register_gst_format),
7726         (gst_format_get_type), (register_gst_index_certainty),
7727         (gst_index_certainty_get_type), (register_gst_index_entry_type),
7728         (gst_index_entry_type_get_type),
7729         (register_gst_index_lookup_method),
7730         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7731         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7732         (gst_index_resolver_method_get_type), (register_gst_index_flags),
7733         (gst_index_flags_get_type), (register_gst_debug_level),
7734         (gst_debug_level_get_type), (register_gst_debug_color_flags),
7735         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7736         (gst_iterator_result_get_type), (register_gst_iterator_item),
7737         (gst_iterator_item_get_type), (register_gst_message_type),
7738         (gst_message_type_get_type), (register_gst_mini_object_flags),
7739         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7740         (gst_pad_link_return_get_type), (register_gst_flow_return),
7741         (gst_flow_return_get_type), (register_gst_activate_mode),
7742         (gst_activate_mode_get_type), (register_gst_pad_direction),
7743         (gst_pad_direction_get_type), (register_gst_pad_flags),
7744         (gst_pad_flags_get_type), (register_gst_pad_presence),
7745         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7746         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7747         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7748         (gst_plugin_error_get_type), (register_gst_plugin_flags),
7749         (gst_plugin_flags_get_type), (register_gst_rank),
7750         (gst_rank_get_type), (register_gst_query_type),
7751         (gst_query_type_get_type), (register_gst_tag_merge_mode),
7752         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7753         (gst_tag_flag_get_type), (register_gst_task_state),
7754         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7755         (gst_alloc_trace_flags_get_type),
7756         (register_gst_type_find_probability),
7757         (gst_type_find_probability_get_type), (register_gst_uri_type),
7758         (gst_uri_type_get_type), (register_gst_parse_error),
7759         (gst_parse_error_get_type):
7760         * win32/common/gstenumtypes.h:
7761         * win32/common/gstversion.h:
7762           update visual studio generated files
7763
7764 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7765
7766         * win32/vs6/libgstbase.dsp:
7767         * win32/vs6/libgstelements.dsp:
7768           update project files for new locations
7769
7770 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7771
7772         * Makefile.am:
7773           remove some files
7774         * README:
7775           reinstate and update
7776         * DEVEL:
7777         * REQUIREMENTS:
7778           removed
7779         * LICENSE:
7780         * docs/random/LICENSE:
7781           moved to random
7782
7783 2005-11-30  Edward Hervey  <edward@fluendo.com>
7784
7785         * gst/gsttypefind.c: (gst_type_find_register):
7786         * gst/gsttypefind.h:
7787         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
7788         (gst_type_find_factory_dispose):
7789         * gst/gsttypefindfactory.h:
7790         Fix memory leak in GstTypeFindFactory.
7791
7792 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7793
7794         * gst/gst.c:
7795         * plugins/elements/Makefile.am:
7796         * plugins/elements/gstelements.c:
7797         * plugins/elements/gstqueue.c:
7798           move queue from core to the elements plugin
7799
7800 2005-11-29  Andy Wingo  <wingo@pobox.com>
7801
7802         * libs/gst/base/gstbasetransform.h: 
7803         * libs/gst/base/gstbasesrc.h: 
7804         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
7805
7806         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
7807         of pointers by which to pad very extensible base classes (like the
7808         ones in libs/gst/base).
7809
7810 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7811
7812         * docs/gst/gstreamer-docs.sgml:
7813         * docs/gst/gstreamer-sections.txt:
7814         * docs/libs/gstreamer-libs-docs.sgml:
7815         * docs/libs/gstreamer-libs-sections.txt:
7816           moving documentation from core to lib
7817
7818 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7819
7820         * check/Makefile.am:
7821         * configure.ac:
7822         * docs/gst/Makefile.am:
7823         * gst/Makefile.am:
7824         * gst/base/.cvsignore:
7825         * gst/base/Makefile.am:
7826         * gst/base/README:
7827         * gst/base/gstadapter.c:
7828         * gst/base/gstadapter.h:
7829         * gst/base/gstbasesink.c:
7830         * gst/base/gstbasesink.h:
7831         * gst/base/gstbasesrc.c:
7832         * gst/base/gstbasesrc.h:
7833         * gst/base/gstbasetransform.c:
7834         * gst/base/gstbasetransform.h:
7835         * gst/base/gstcollectpads.c:
7836         * gst/base/gstcollectpads.h:
7837         * gst/base/gstpushsrc.c:
7838         * gst/base/gstpushsrc.h:
7839         * gst/base/gsttypefindhelper.c:
7840         * gst/base/gsttypefindhelper.h:
7841         * gst/check/Makefile.am:
7842         * gst/check/gstcheck.c:
7843         * gst/check/gstcheck.h:
7844         * gst/net/Makefile.am:
7845         * gst/net/gstnet.h:
7846         * gst/net/gstnetclientclock.c:
7847         * gst/net/gstnetclientclock.h:
7848         * gst/net/gstnettimepacket.c:
7849         * gst/net/gstnettimepacket.h:
7850         * gst/net/gstnettimeprovider.c:
7851         * gst/net/gstnettimeprovider.h:
7852         * libs/gst/Makefile.am:
7853         * libs/gst/base/Makefile.am:
7854         * libs/gst/base/gstbasetransform.c:
7855         * libs/gst/check/Makefile.am:
7856         * plugins/elements/Makefile.am:
7857         * po/POTFILES.in:
7858           CVS surgery + support to move base, check, and net out of gst
7859           and into libs/gst
7860
7861 2005-11-29  Andy Wingo  <wingo@pobox.com>
7862
7863         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
7864
7865         * gst/gststructure.h (struct _GstStructure): Only one pointer of
7866         padding.
7867
7868         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
7869
7870         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
7871
7872         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
7873
7874         * gst/gstobject.h: (struct _GstObject): Only one pointer of
7875         padding; reduces object size by about 30%. We don't expect
7876         anything else to go into gstobject.
7877
7878         * gst/gstminiobject.h (struct _GstMiniObject)
7879         (struct _GstMiniObjectClass): Only one pointer of padding; the
7880         payload is only a pointer and two ints anyway. For the class there
7881         are only two methods as well.
7882         
7883         * gst/gstelement.h (struct _GstElementClass): Removed
7884         the state_changed signal callback, it is not used.
7885
7886 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7887
7888         * docs/gst/gstreamer.types:
7889           fix includes, though they are a little dinky
7890
7891 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7892
7893         * check/Makefile.am:
7894           look in the right place for elements, a lot more chance of
7895           success
7896         * gst/Makefile.am:
7897           remove indexers and elements subdirs
7898         * plugins/Makefile.am:
7899           make indexers conditional
7900
7901 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7902
7903         * Makefile.am:
7904         * configure.ac:
7905         * plugins/elements/Makefile.am:
7906         * plugins/elements/gstcapsfilter.c:
7907         * plugins/elements/gstfilesink.c:
7908         * plugins/elements/gstfilesrc.c:
7909         * plugins/elements/gstidentity.c:
7910         * plugins/indexers/Makefile.am:
7911           do CVS surgery and related build fixery to move elements
7912           and indexers in a new gstreamer/plugins directory, out of the
7913           gst/ directory
7914
7915 2005-11-29  Andy Wingo  <wingo@pobox.com>
7916
7917         * check/Makefile.am:
7918         * pkgconfig/gstreamer-net-uninstalled.pc.in:
7919         * pkgconfig/gstreamer-net.pc.in:
7920         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
7921         #322257.
7922
7923 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7924
7925         * tools/Makefile.am:
7926         * tools/gst-complete.1.in:
7927         * tools/gst-complete.c:
7928         * tools/gst-compprep.1.in:
7929         * tools/gst-compprep.c:
7930           removing -compprep and -complete
7931
7932 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7933
7934         * gst/gstevent.c: (gst_event_new_new_segment),
7935         (gst_event_parse_new_segment):
7936         * gst/gstevent.h:
7937           fix #320529 - clean up new_segment API and structure.
7938           Let's hope everyone was using the methods, and not the structure.
7939
7940 2005-11-29  Edward Hervey  <edward@fluendo.com>
7941
7942         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7943         (gst_base_sink_event), (gst_base_sink_do_sync),
7944         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
7945         Properly handle non GST_FORMAT_TIME segment
7946         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7947         Properly handle non GST_FORMAT_TIME segment
7948         * gst/gstsegment.c:
7949         This function is valid if the accumulator is 0 and the format
7950         is different from the requested format.
7951         
7952 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
7953
7954         * docs/gst/gstreamer-sections.txt:
7955         Add gst_query_new_seeking and gst_query_parse_seeking to the
7956         docs.
7957
7958 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
7959
7960         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7961           Treat a pad alloc with new caps the same as if we were not
7962           negotiated, in order to allow a changing upstream output
7963           to produce a new format of data.
7964
7965 2005-11-29  Edward Hervey  <edward@fluendo.com>
7966
7967         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7968         (gst_base_transform_event), (gst_base_transform_eventfunc):
7969         The event virtual method is now properly implemented, with a default
7970         handler
7971         Sub classes should call the parent_class event method. They should
7972         return FALSE if they had a problem handling the given event, or don't
7973         want GstBaseTransform to send that even downstream
7974         * gst/elements/gstidentity.c: (gst_identity_class_init),
7975         (gst_identity_init), (gst_identity_event),
7976         (gst_identity_transform_ip), (gst_identity_set_property),
7977         (gst_identity_get_property):
7978         * gst/elements/gstidentity.h:
7979         Added the single-segment boolean property.
7980         If set to TRUE, it will output a single segment of data, starting from
7981         0, will eat up all incoming newsegment, and modify the timestamp of the
7982         buffers accordingly
7983
7984 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
7985
7986         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
7987           Don't ref NULL target pad (#322751). Improve docs.
7988
7989 2005-11-29  Michael Smith  <msmith@fluendo.com>
7990
7991         * gst/gstregistryxml.c: (load_plugin):
7992           Don't crash if we failed to load a feature from a plugin. 
7993
7994 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7995
7996         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
7997         (GST_START_TEST):
7998           use more check API and less GLib API
7999
8000 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8001
8002         * Makefile.am:
8003           don't run checks if we don't have check
8004         * common/check.mak:
8005           remove the registry when running make torture
8006         * docs/gst/gstreamer-sections.txt:
8007           remove second multiply
8008         * gst/gstqueue.c: (gst_queue_loop):
8009           fix a compile warning when disabling debug
8010
8011 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
8012
8013         * gst/gstinfo.h:
8014         Hey! Let's print the pad name if the pointer != NULL instead
8015         of when it == NULL :-)
8016
8017 2005-11-28  Wim Taymans  <wim@fluendo.com>
8018
8019         * check/gst/gstutils.c: (GST_START_TEST):
8020         Updated check, add some scaling accuracy checking code.
8021
8022         * gst/gstutils.c: (gst_util_div128_64),
8023         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
8024         (gst_util_uint64_scale_int):
8025         Fix 6 times faster division code. Optimize for common 
8026         1/1 and less common X/1 cases.
8027
8028 2005-11-28  Wim Taymans  <wim@fluendo.com>
8029
8030         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8031         More checks.
8032
8033         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
8034         (do_linear_regression), (gst_clock_add_observation):
8035         Cleanups.
8036         Release lock when the clock cannot be slaved.
8037         Catch the case where the regression returned an invalid denominator.
8038
8039         * gst/gstutils.c: (gst_util_div128_64_iterate),
8040         (gst_util_div128_64), (gst_util_uint64_scale_int64),
8041         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
8042         Add protentially more performant non-iterative 128/64 divide function
8043         that unfortunatly does not work yet.
8044         Shortcut the trivial 0/X = 0 case.
8045         Remove the warnings on overflow.
8046
8047 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8048
8049         * gst/gstplugin.c: (gst_plugin_register_func):
8050           everything causing a plugin not to load should be at least a WARNING
8051
8052 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
8053
8054         * docs/random/ensonic/dparams.txt:
8055           some TODOs for the next dev cycle
8056         * libs/gst/controller/gstcontroller.c:
8057         (gst_controlled_property_set_interpolation_mode),
8058         (gst_controlled_property_new):
8059         * libs/gst/controller/gstcontroller.h:
8060           use base type to assign acccessor functions
8061
8062 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
8063
8064         * check/Makefile.am:
8065         Oops, that should have been top_srcdir
8066
8067 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
8068
8069         * check/Makefile.am:
8070         * check/elements/fdsrc.c: (GST_START_TEST):
8071         Use a cmdline define to specify the location of a file to use for
8072         testing, to avoid breaking distcheck.
8073
8074 2005-11-28  Andy Wingo  <wingo@pobox.com>
8075
8076         * gst/gstpad.c (fixate_value): Use array functions for arrays.
8077
8078 2005-11-28  Edward Hervey  <edward@fluendo.com>
8079
8080         * tools/gst-launch.c: (main):
8081         Clarify the output strings, makes it easier to translate.
8082         Fixes #322626
8083
8084 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8085
8086         * gst/Makefile.am:
8087           don't try and build net if we don't even have <sys/socket.h>
8088
8089 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
8090
8091         * check/Makefile.am:
8092         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
8093         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
8094           Add tests for fdsrc seekability
8095
8096         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
8097         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
8098         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
8099         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
8100         * gst/elements/gstfdsrc.h:
8101           fdsrc should not be a 'live' source.
8102           Implement seeking on seekable fd's.
8103
8104         * gst/gstquery.c: (gst_query_new_seeking),
8105         (gst_query_parse_seeking):
8106         * gst/gstquery.h:
8107           Implement SEEKING query functions: 
8108             *_new_seeking and *_parse_seeking
8109
8110 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
8111
8112         * gst/gstelement.c: (gst_element_dispose):
8113           don't loop forever
8114
8115         * gst/gstiterator.c:
8116         * gst/gststructure.c:
8117           doc fixes
8118
8119         * libs/gst/controller/gstcontroller.c:
8120         (gst_controlled_property_set_interpolation_mode):
8121         * libs/gst/controller/gstcontroller.h:
8122         * libs/gst/controller/gstinterpolation.c:
8123         (interpolate_none_get_enum_value_array):
8124           support controlling enums
8125
8126 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
8127
8128         * gst/gstvalue.c:
8129           Improve documentation for gst_value_union().
8130
8131         * gst/gstvalue.h:
8132           Change return value for union, intersect and subtract functions
8133           from gint to gboolean.
8134
8135 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
8136
8137         * gst/gstvalue.c: (gst_value_serialize_any_list),
8138         (gst_value_transform_any_list_string),
8139         (gst_value_deserialize_list), (gst_value_deserialize_array),
8140         (gst_value_set_int_range), (gst_value_deserialize_int_range),
8141         (gst_value_set_double_range), (gst_value_deserialize_double_range),
8142         (gst_value_set_fraction_range_full),
8143         (gst_value_deserialize_fraction_range),
8144         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
8145         (gst_value_deserialize_boolean),
8146         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
8147         (gst_value_serialize_float), (gst_value_deserialize_float),
8148         (gst_string_wrap), (gst_value_deserialize_string),
8149         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
8150         (gst_value_union_int_range_int_range),
8151         (gst_value_intersect_int_range_int_range),
8152         (gst_value_intersect_double_range_double_range),
8153         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
8154         (gst_value_subtract_int_range_int_range),
8155         (gst_value_subtract_double_double_range),
8156         (gst_value_subtract_double_range_double_range),
8157         (gst_value_deserialize_fraction):
8158         * gst/gstvalue.h:
8159           Use gint, gdouble and gchar in our API instead of int, double and
8160           char (and make usage in gstvalue.c more consistent).
8161
8162 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
8163
8164         * check/Makefile.am:
8165         * libs/gst/controller/Makefile.am:
8166         * libs/gst/dataprotocol/Makefile.am:
8167           fix up Makefile.am and remove GST_ENABLE_NEW
8168
8169 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
8170
8171         * configure.ac:
8172         * gst/Makefile.am:
8173         * gst/base/Makefile.am:
8174         * gst/check/Makefile.am:
8175         * gst/elements/Makefile.am:
8176         * gst/net/Makefile.am:
8177           update LDFLAGS use some more
8178
8179 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
8180
8181         * common/m4/gst-doc.m4:
8182           Fixes #312589
8183
8184 2005-11-26  Edward Hervey  <edward@fluendo.com>
8185
8186         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
8187         This shouldn't issue a g_warning since it returns NULL if it
8188         couldn't find the plugin, and all functions using this behave
8189         properly on a NULL return. Switching to a GST_WARNING.
8190
8191 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
8192
8193         * gst/gstbin.c: (gst_bin_handle_message_func):
8194         Don't leak clock messages.
8195
8196 2005-11-25  Wim Taymans  <wim@fluendo.com>
8197
8198         * gst/gstutils.c: (gst_util_uint64_scale_int64),
8199         (gst_util_uint64_scale_int):
8200         Optimisations, remove unneeded vars.
8201
8202 2005-11-25  Wim Taymans  <wim@fluendo.com>
8203
8204         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8205         Added more checks for the high precision uint64 cases.
8206
8207         * gst/gstutils.c: (gst_util_uint64_scale_int64),
8208         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
8209         Implement high precision (guint64 * guint64) / guint64.
8210
8211 2005-11-24  Wim Taymans  <wim@fluendo.com>
8212
8213         * gst/base/gstbasesrc.c: (gst_base_src_query):
8214         Fix wrong percentage query.
8215
8216         * gst/gstutils.c: (gst_util_uint64_scale),
8217         (gst_util_uint64_scale_int):
8218         Add some more common cases that can be handled 
8219         efficiently to _scale.
8220
8221 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8222
8223         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
8224         (gst_mini_object_suite):
8225           don't use check calls from threads; check probably isn't
8226           threadsafe and using a lock to make it threadsafe would
8227           defeat the purpose of this check
8228         * gst/check/gstcheck.c:
8229         * gst/check/gstcheck.h:
8230           use GST_DEBUG some more
8231
8232 2005-11-24  Wim Taymans  <wim@fluendo.com>
8233
8234         * gst/gstutils.c: (gst_util_uint64_scale),
8235         (gst_util_uint64_scale_int):
8236         Chain trivial case to _scale_int.
8237
8238 2005-11-24  Wim Taymans  <wim@fluendo.com>
8239
8240         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8241         Added test for scaling.
8242
8243         * gst/gstclock.h:
8244         Small doc fix.
8245
8246         * gst/gstutils.c: (gst_util_uint64_scale_int):
8247         Implemented high precision scaling code.
8248
8249 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
8250
8251         * gst/gstinfo.h:
8252           do not crash on pad==NULL
8253
8254 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8255
8256         Patch by: Stefan Kost
8257
8258         * common/gtk-doc.mak:
8259         * docs/gst/Makefile.am:
8260         * docs/libs/Makefile.am:
8261           Fix distcheck issues for the libraries docs build
8262           Closes #319599.
8263
8264 2005-11-24  Michael Smith <msmith@fluendo.com>
8265
8266         * docs/manual/basics-helloworld.xml:
8267           Fix bug #315027: memory leak in example code in docs.
8268
8269 2005-11-24  Michael Smith <msmith@fluendo.com>
8270
8271         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8272           Unlock the PREROLL_LOCK in a failure case.
8273
8274 2005-11-24  Wim Taymans  <wim@fluendo.com>
8275
8276         * docs/gst/gstreamer-sections.txt:
8277         * gst/base/gstadapter.h:
8278         * gst/base/gstbasesink.h:
8279         * gst/base/gstbasesrc.h:
8280         * gst/base/gstbasetransform.h:
8281         * gst/base/gstpushsrc.h:
8282         * gst/elements/gstfakesink.h:
8283         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
8284         * gst/elements/gstfakesrc.h:
8285         * gst/elements/gstfilesink.h:
8286         * gst/elements/gstfilesrc.h:
8287         * gst/gst.c:
8288         * gst/gstbin.c:
8289         * gst/gstbuffer.c: (_gst_buffer_copy):
8290         * gst/gstbus.h:
8291         * gst/gstcaps.c:
8292         * gst/gstchildproxy.c:
8293         * gst/gstclock.c:
8294         * gst/gstelement.c:
8295         * gst/gstelementfactory.c:
8296         * gst/gstelementfactory.h:
8297         * gst/gstevent.c:
8298         * gst/gstghostpad.h:
8299         * gst/gstindex.h:
8300         * gst/gstinterface.h:
8301         * gst/gstminiobject.c:
8302         * gst/gstminiobject.h:
8303         * gst/gstpad.c:
8304         * gst/gstpad.h:
8305         * gst/gstpadtemplate.h:
8306         * gst/gstpipeline.h:
8307         * gst/gstpluginfeature.h:
8308         * gst/gstquery.h:
8309         * gst/gstqueue.h:
8310         * gst/gsttaglist.c:
8311         * gst/gsttaglist.h:
8312         * gst/gsttagsetter.c:
8313         * gst/gsttagsetter.h:
8314         * gst/gsttrace.c:
8315         * gst/gsttrace.h:
8316         * gst/gsttypefind.h:
8317         * gst/gsturi.h:
8318         * gst/gstvalue.c:
8319         * gst/net/gstnetclientclock.c:
8320         * gst/net/gstnetclientclock.h:
8321         * gst/net/gstnettimepacket.c:
8322         * gst/net/gstnettimeprovider.c:
8323         * gst/net/gstnettimeprovider.h:
8324         Doc fixes.
8325
8326 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8327
8328         * configure.ac: back to HEAD
8329
8330 === release 0.9.6 ===
8331
8332 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
8333
8334         * configure.ac:
8335           releasing 0.9.6, "Always On Time"
8336
8337 2005-11-23  Wim Taymans  <wim@fluendo.com>
8338
8339         * docs/gst/gstreamer-sections.txt:
8340         * gst/glib-compat.c:
8341         * gst/gsttagsetter.c:
8342         * gst/gstvalue.c:
8343         * gst/net/gstnetclientclock.c:
8344         * gst/net/gstnettimepacket.h:
8345         Doc updates.
8346
8347 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8348
8349         * docs/faq/using.xml:
8350         * docs/libs/tmpl/gstcontrol.sgml:
8351         * docs/manual/advanced-dparams.xml:
8352         * docs/manual/appendix-checklist.xml:
8353         * docs/manual/basics-elements.xml:
8354         * docs/pwg/other-source.xml:
8355         * docs/random/moving-plugins:
8356         * gst/gstpad.c:
8357         * tools/gst-launch.1.in:
8358           remove mentions of sinesrc
8359
8360 2005-11-23  Michael Smith <msmith@fluendo.com>
8361
8362         * docs/gst/gstreamer-sections.txt:
8363           Update for new API and API changes.
8364         * gst/gstobject.h:
8365           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
8366         * gst/gstvalue.c:
8367           Documentation typo fix.
8368         * gst/net/gstnettimepacket.c:
8369           Documentation fixes for arguments.
8370
8371 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
8372
8373         * gst/gststructure.c: (gst_structure_get_fraction),
8374         (gst_structure_parse_value),
8375         (gst_structure_fixate_field_nearest_fraction):
8376         * gst/gststructure.h:
8377         * gst/gstutils.c: (gst_util_uint64_scale_int):
8378         * gst/gstutils.h:
8379         * scripts/update-funcnames:
8380         API Changes. 
8381         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
8382         Make gst_structure_fixate_field_nearest_fraction take a numerator
8383         and denominator argument instead of a GValue
8384         add gst_structure_get_fraction helper function.
8385
8386 2005-11-23  Wim Taymans  <wim@fluendo.com>
8387
8388         * docs/design/part-TODO.txt:
8389         Update TODO.
8390
8391         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
8392         * gst/net/gstnetclientclock.h:
8393         Use parent fields for timeout and window_size.
8394
8395 2005-11-23  Andy Wingo  <wingo@pobox.com>
8396
8397         * check/net/gstnetclientclock.c (test_functioning): Adjust to
8398         rate_num/rate_denom change.
8399
8400         * gst/net/gstnetclientclock.c
8401         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
8402         OBJECT_LOCK. Don't call add_observation with the lock.
8403
8404         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
8405         fraction.
8406         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
8407         rate fraction.
8408         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
8409         deal with rate as a fraction whose numerator and denominator are
8410         GstClockTime values.
8411         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
8412         master; the other fields are protected by the SLAVE_LOCK.
8413         (do_linear_regression): Note that this must be called with the
8414         SLAVE_LOCK.
8415         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
8416         OBJECT_LOCK. Call set_calibration instead of touching the
8417         variables directly.
8418         (gst_clock_set_property, gst_clock_get_property): Protect
8419         master/slave parameters with the SLAVE_LOCK.
8420
8421         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
8422         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
8423         note that all of the instance variables that add_observation and
8424         the set_master functions use are protected by that lock and not
8425         the OBJECT_LOCK.
8426         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
8427
8428         * gst/gstclock.c (gst_clock_add_observation): No longer requires
8429         the caller to take the object lock.
8430
8431 2005-11-23  Wim Taymans  <wim@fluendo.com>
8432
8433         * gst/gsterror.c: (_gst_core_errors_init):
8434         * gst/gsterror.h:
8435         Add error for clock stuff.
8436
8437         * gst/gstpipeline.c: (gst_pipeline_change_state),
8438         (gst_pipeline_set_clock):
8439         Post clock error when clock cannot be used in a pipeline.
8440
8441 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
8442
8443         * docs/gst/gstreamer-sections.txt:
8444           make two symbols from gstinfo private for the docs
8445         * gst/base/gstcollectpads.h:
8446         * gst/gstutils.c:
8447           fix doc typos, update docs
8448
8449 2005-11-22  Wim Taymans  <wim@fluendo.com>
8450
8451         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
8452         (gst_base_sink_wait), (gst_base_sink_do_sync),
8453         (gst_base_sink_handle_event):
8454         * gst/base/gstbasesink.h:
8455         No need to store the clock, the parent element class already
8456         has it.
8457
8458         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
8459         Updates for clock_set returning a gboolean
8460
8461         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
8462         (gst_clock_id_wait_async), (gst_clock_class_init),
8463         (gst_clock_init), (gst_clock_finalize),
8464         (gst_clock_get_internal_time), (gst_clock_get_time),
8465         (gst_clock_slave_callback), (gst_clock_set_master),
8466         (gst_clock_get_master), (do_linear_regression),
8467         (gst_clock_add_observation), (gst_clock_set_property),
8468         (gst_clock_get_property):
8469         * gst/gstclock.h:
8470         Implement master/slave. When setting a clock as a slave, a
8471         periodic timeout is scheduled to sample master and slave times.
8472         Then the slave clock is recalibrated to match offset and rate
8473         of the master clock.
8474         Update logging a bit.
8475         Add flag so that a clock can state that is cannot be slaved to
8476         another clock.
8477
8478         * gst/gstelement.c: (gst_element_set_clock):
8479         * gst/gstelement.h:
8480         The set clock returns a gboolean for when an element cannot
8481         deal with the selected clock in the pipeline. 
8482
8483         * gst/gstpipeline.c: (gst_pipeline_change_state),
8484         (gst_pipeline_set_clock):
8485         * gst/gstpipeline.h:
8486         Handle the case where the selected clock cannot be set on
8487         the pipeline.
8488
8489         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
8490         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
8491         (gst_net_client_clock_set_property),
8492         (gst_net_client_clock_get_property),
8493         (gst_net_client_clock_observe_times):
8494         * gst/net/gstnetclientclock.h:
8495         Use regression code in GstClock parent, remove duplicated
8496         functionality.
8497
8498 2005-11-22  Michael Smith <msmith@fluendo.com>
8499
8500         * gst/gstutils.c: (gst_util_clock_time_scale):
8501         * gst/gstutils.h:
8502         * docs/gst/gstreamer-sections.txt:
8503           Rename method to have extra underscore.
8504
8505 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8506
8507         * gst/elements/Makefile.am:
8508         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
8509         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8510         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8511         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
8512         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
8513         * gst/elements/gstfakesrc.h:
8514         * gst/gstqueue.c: (queue_leaky_get_type):
8515           correctly fix GEnumValues so that nick is the short lowercase
8516           dashed tag
8517         * tools/gst-inspect.c: (print_element_properties_info):
8518           also show the nick, since it's useful to use from parse_launch
8519           syntax
8520           Fixes #322139
8521
8522 2005-11-22  Michael Smith <msmith@fluendo.com>
8523
8524         * gst/gstutils.c: (gst_util_clocktime_scale):
8525         * gst/gstutils.h:
8526         * docs/gst/gstreamer-sections.txt:
8527           Add util method for scaling a clocktime by a fraction. Useful 
8528           implementation is left as an exercise for the reader.
8529
8530 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8531
8532         * gst/gstvalue.c: (gst_value_collect_fraction_range):
8533         If needed, allocate storage in the destination value during
8534         collection.
8535
8536 2005-11-22  Edward Hervey  <edward@fluendo.com>
8537
8538         * docs/gst/gstreamer-sections.txt:
8539         * gst/Makefile.am:
8540         * gst/gst.h:
8541         * gst/gsturitype.c:
8542         * gst/gsturitype.h:
8543         * gst/gstutils.c: (gst_util_set_object_arg):
8544         * tools/gst-compprep.c: (main):
8545         * tools/gst-inspect.c: (print_element_properties_info):
8546         Removed GstURI, closes bug #321061
8547
8548 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8549
8550         * check/gst/gststructure.c: (GST_START_TEST):
8551         * gst/gststructure.c: (gst_structure_parse_value):
8552           Oops, broke automatic string type parsing.
8553           Add a test to catch it in future.
8554
8555 2005-11-22  Andy Wingo  <wingo@pobox.com>
8556
8557         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
8558         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
8559         Actually rename the function implementations. Grr.
8560
8561 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8562
8563         * check/gst/capslist.h:
8564           Comment test cases
8565         * check/gst/gststructure.c: (GST_START_TEST),
8566         (gst_structure_suite):
8567           Test automatic value type detection in gst_structure_from_string.
8568         * gst/gststructure.c: (gst_structure_parse_value):
8569           Add fraction as a type we try and guess automatically in
8570           caps/structure strings.
8571
8572 2005-11-22  Andy Wingo  <wingo@pobox.com>
8573
8574         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
8575
8576         * gst/gsttagsetter.h:
8577         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
8578         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
8579         (gst_tag_setter_add_tag_valist)
8580         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
8581         _add_values, _add_valist, and _add_valist_values. Since this is an
8582         interface the function suffixes should be more explicit so
8583         language binding don't end up with element.add_valist ->
8584         gst_tag_setter_add_valist, for example. Fixes #322069.
8585
8586 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8587
8588         * check/gst/gstcaps.c: (GST_START_TEST):
8589           Extend caps string tests to check that a caps to string
8590           conversion is reversible and produces the same caps.
8591
8592         * gst/gststructure.c: (gst_structure_value_get_generic_type):
8593           Output "fraction" as the generic type fraction range, so caps
8594           serialisation and deserialisation works.
8595         * check/gst/capslist.h:
8596         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8597           Support 'MIN' and 'MAX' for deserialising fractions.
8598
8599 2005-11-22  Andy Wingo  <wingo@pobox.com>
8600
8601         * gst/gstevent.h (gst_event_new_new_segment)
8602         (gst_event_parse_new_segment, gst_event_new_buffer_size)
8603         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
8604         Renamed from *_newsegment, *_buffersize, *_notarget.
8605
8606         * scripts/update-funcnames: New script, performs the changes
8607         listed above.
8608
8609 2005-11-22  Wim Taymans  <wim@fluendo.com>
8610
8611         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8612         Make sure the GstFlowReturn is returned.
8613
8614         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
8615         (gst_bus_add_signal_watch):
8616         * gst/gstbus.h:
8617         add gst_bus_add_signal_watch_full.
8618
8619         * gst/gstplugin.c: (gst_plugin_load_file):
8620         Small style cleanup.
8621
8622 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8623
8624         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
8625           Block the fakesrc srcpad when we send an event, to avoid
8626           contention on the stream_lock causing random test failures.
8627
8628 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8629
8630         * check/gst/gstvalue.c: (GST_START_TEST):
8631         * gst/gstvalue.c: (gst_value_fraction_subtract):
8632           Fix subtraction.
8633
8634 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
8635
8636         * gst/gst.h:
8637           include "gstchildproxy.h"
8638         * gst/gstchildproxy.h:
8639         * libs/gst/controller/gstcontroller.h:
8640           use G_GNUC_NULL_TERMINATED
8641
8642 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8643
8644         * check/gst/capslist.h:
8645         * check/gst/gstcaps.c: (GST_START_TEST):
8646         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8647         * gst/gststructure.c: (gst_structure_parse_range),
8648         (gst_structure_fixate_field_nearest_fraction):
8649         * gst/gststructure.h:
8650         * gst/gstvalue.c: (gst_value_init_fraction_range),
8651         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
8652         (gst_value_collect_fraction_range),
8653         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
8654         (gst_value_set_fraction_range_full),
8655         (gst_value_get_fraction_range_min),
8656         (gst_value_get_fraction_range_max),
8657         (gst_value_serialize_fraction_range),
8658         (gst_value_transform_fraction_range_string),
8659         (gst_value_compare_fraction_range),
8660         (gst_value_deserialize_fraction_range),
8661         (gst_value_intersect_fraction_fraction_range),
8662         (gst_value_intersect_fraction_range_fraction_range),
8663         (gst_value_subtract_fraction_fraction_range),
8664         (gst_value_subtract_fraction_range_fraction),
8665         (gst_value_subtract_fraction_range_fraction_range),
8666         (gst_value_collect_fraction), (gst_value_fraction_multiply),
8667         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
8668         (gst_value_transform_string_fraction), (_gst_value_initialize):
8669         * gst/gstvalue.h:
8670           Implement fraction ranges and extend GstFraction to support
8671           arithmetic subtraction, as well as deserialization from integer
8672           strings such as "100"
8673           Add a testsuite as for int and double range set operations
8674
8675 2005-11-21  Andy Wingo  <wingo@pobox.com>
8676
8677         * gst/gsttaglist.h: 
8678         * gst/gstcaps.h: 
8679         * gst/gststructure.h: Add glib-compat.h.
8680
8681 2005-11-21  Wim Taymans  <wim@fluendo.com>
8682
8683         * gst/gstbin.c: (gst_bin_change_state_func):
8684         Fix for #321595
8685
8686 2005-11-21  Wim Taymans  <wim@fluendo.com>
8687
8688         * gst/gstsegment.h:
8689         And add a nice define too.
8690
8691 2005-11-21  Wim Taymans  <wim@fluendo.com>
8692
8693         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
8694         (gst_segment_new), (gst_segment_free), (gst_segment_init),
8695         (gst_segment_set_duration), (gst_segment_set_last_stop),
8696         (gst_segment_set_seek), (gst_segment_set_newsegment),
8697         (gst_segment_to_stream_time), (gst_segment_to_running_time),
8698         (gst_segment_clip):
8699         * gst/gstsegment.h:
8700         Make binding friendly.
8701
8702 2005-11-21  Andy Wingo  <wingo@pobox.com>
8703
8704         * gst/gsttagsetter.h: 
8705         * gst/gsttaglist.h: 
8706         * gst/gststructure.h: 
8707         * gst/gstcaps.h: 
8708         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
8709         #319940.
8710
8711         * gst/gsterror.c (_gst_core_errors_init):
8712         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
8713         category.
8714
8715         * gst/Makefile.am (gst_headers): Add glib-compat.h.
8716         (noinst_HEADERS): noinst the -private.
8717
8718 2005-11-21  Michael Smith <msmith@fluendo.com>
8719
8720         * gst/gstplugin.h:
8721         * gst/gstregistry.h:
8722           Remove unimplemented declarations for which we can see no sensible
8723           use.
8724
8725 2005-11-21  Andy Wingo  <wingo@pobox.com>
8726
8727         * gst/gst.h: Include glib-compat.h.
8728
8729         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
8730
8731         * gst/glib-compat.c: Include the public and the private header.
8732
8733         * gst/glib-compat-private.h: Copied here from glib-compat.h.
8734
8735         * gst/gstvalue.c: 
8736         * gst/gstpad.c: 
8737         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
8738
8739         * check/gst/gstevent.c (create_custom_events): Check that
8740         FLUSH_STOP is serialized.
8741
8742         * check/elements/identity.c (event_func): 
8743         * check/elements/fakesrc.c (event_func): No stream lock, the core
8744         takes it.
8745
8746         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
8747         stream lock taking, yay.
8748
8749         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
8750         ensure that core takes the stream lock.
8751
8752         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
8753         lock name change.
8754
8755         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
8756         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
8757         it already. For the flush start we do take it though so we get the
8758         right preroll state change messages.
8759
8760         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
8761         the stream lock here, the core does it for us.
8762
8763         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
8764         GST_STREAM_GET_LOCK.
8765         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
8766         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
8767         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
8768         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
8769         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
8770         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
8771
8772         * gst/gstpad.c: Update for stream lock name change.
8773
8774         * gst/base/gstbasesink.c: Update for preroll lock name change.
8775
8776 2005-11-21  Wim Taymans  <wim@fluendo.com>
8777
8778         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
8779         (gst_clock_get_master):
8780         * gst/gstclock.h:
8781         * gst/gstsystemclock.c: (gst_system_clock_init):
8782         Convert Clock flags to object flags.
8783         Added methods to manage master/slave clocks.
8784
8785 2005-11-21  Wim Taymans  <wim@fluendo.com>
8786
8787         * check/gst/gstsegment.c: (GST_START_TEST):
8788         * docs/design/part-TODO.txt:
8789         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8790         (gst_base_sink_event), (gst_base_sink_do_sync),
8791         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8792         (gst_base_sink_query), (gst_base_sink_change_state):
8793         * gst/base/gstbasesink.h:
8794         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
8795         (gst_base_src_default_newsegment),
8796         (gst_base_src_configure_segment), (gst_base_src_do_seek),
8797         (gst_base_src_get_range), (gst_base_src_loop),
8798         (gst_base_src_change_state):
8799         * gst/base/gstbasesrc.h:
8800         * gst/base/gstbasetransform.c:
8801         (gst_base_transform_prepare_output_buf),
8802         (gst_base_transform_event), (gst_base_transform_change_state):
8803         * gst/base/gstbasetransform.h:
8804         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8805         (gst_collect_pads_event):
8806         * gst/base/gstcollectpads.h:
8807         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
8808         (gst_fake_src_create):
8809         * gst/elements/gstfakesrc.h:
8810         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
8811         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
8812         (gst_segment_set_last_stop), (gst_segment_set_seek),
8813         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
8814         (gst_segment_to_running_time), (gst_segment_clip):
8815         * gst/gstsegment.h:
8816         More segment updates, replace code in plugins with segment
8817         helper functions.
8818
8819 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
8820
8821         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
8822         Don't ignore sscanf results
8823
8824 2005-11-21  Andy Wingo  <wingo@pobox.com>
8825
8826         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
8827
8828         * *.h:
8829         * *.c: Ran scripts/update-macros. Oh yes.
8830
8831         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
8832         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
8833         GST_GET_LOCK, etc.
8834
8835         * scripts/update-macros: New script. Run it on your files to
8836         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
8837         well.
8838
8839 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
8840
8841         * docs/gst/Makefile.am:
8842         * docs/gst/gstreamer-docs.sgml:
8843         * docs/gst/gstreamer-sections.txt:
8844         * docs/gst/gstreamer.types:
8845         * gst/gstinfo.h:
8846           more docs fixes, add new api to the docs
8847
8848 2005-11-21  Andy Wingo  <wingo@pobox.com>
8849
8850         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
8851         state_broadcast call.
8852
8853         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
8854
8855 2005-11-21  Julien MOUTTE  <julien@moutte.net>
8856
8857         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
8858         function calls for arrays.
8859
8860 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
8861
8862         * docs/random/ensonic/media-device-daemon.txt:
8863           wild idea, can this be done?
8864         * docs/gst/gstreamer-sections.txt:
8865         * gst/gsterror.h:
8866         * gst/gstfilter.c:
8867         * gst/gstfilter.h:
8868         * gst/gstplugin.h:
8869         * gst/gstpluginfeature.c:
8870         * gst/gsttrace.c:
8871         * gst/gstvalue.c:
8872         * gst/gstvalue.h:
8873           doc fixes and additions
8874
8875 2005-11-21  Andy Wingo  <wingo@pobox.com>
8876
8877         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
8878         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
8879         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
8880         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
8881         private to the basesrc implementation.
8882
8883         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
8884         behalf of event function if necessary. It should no longer be
8885         necessary to take the stream lock in pad's event functions. Fixes
8886         #320299.
8887
8888 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
8889         * docs/gst/gstreamer-sections.txt:
8890         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
8891         (gst_structure_fixate_field_nearest_double),
8892         (gst_structure_fixate_field_boolean):
8893         * gst/gststructure.h:
8894         * win32/common/libgstreamer.def:
8895         * win32/gstreamer.def:
8896
8897         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
8898         (#322027)
8899
8900 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
8901
8902         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
8903         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
8904         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
8905         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
8906         (gst_fdsrc_uri_handler_init):
8907         * gst/elements/gstfdsrc.h:
8908           Port fd:// URI handler from 0.8 to fdsrc
8909
8910 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8911
8912         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
8913         (gst_value_serialize_fourcc):
8914         * gst/gstvalue.h:
8915           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
8916           consistent with our other format defines (#320324).
8917
8918 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8919
8920         * gst/gstvalue.c: (gst_value_is_fixed):
8921           Revert previous commit. Value lists are by definition
8922           not fixed, as they are a list of possible values.
8923
8924 2005-11-21  Andy Wingo  <wingo@pobox.com>
8925
8926         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
8927         during the stable series if we need it. Fixes #319178.
8928
8929         * gst/gstevent.c (gst_event_new_filler): Removed.
8930
8931         * check/gst/gstevent.c: Update comment about filler events.
8932
8933 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8934
8935         * gst/gstvalue.c: (gst_value_is_fixed):
8936           Should handle both value arrays and value lists.
8937
8938 2005-11-21  Andy Wingo  <wingo@pobox.com>
8939
8940         patch by: Alessandro Dessina <alessandro nnva org>
8941
8942         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
8943         functions to access arrays. Fixes #321962.
8944
8945 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8946
8947         * docs/gst/gstreamer.types:
8948           gst_collectpads_get_type => gst_collect_pads_get_type.
8949           
8950         * gst/base/gstbasetransform.c:
8951           Remove unused SIGNAL_HANDOFF enum.
8952
8953 2005-11-21  Andy Wingo  <wingo@pobox.com>
8954
8955         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
8956         the event type (upstream, downstream, serialized). Renamed
8957         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
8958         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
8959         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
8960
8961         * gst/gstevent.c: Update for new CUSTOM event names.
8962
8963         * check/gst/gstevent.c: Update check for new CUSTOM event names.
8964
8965         * gst/gstevent.h:
8966         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
8967         bug #319392.
8968
8969 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8970
8971         * docs/gst/gstreamer-sections.txt:
8972         * win32/common/libgstbase.def:
8973         * win32/libgstbase.def:
8974         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
8975         (gst_collect_pads_class_init), (gst_collect_pads_init),
8976         (gst_collect_pads_finalize), (gst_collect_pads_new),
8977         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
8978         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
8979         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
8980         (gst_collect_pads_start), (gst_collect_pads_stop),
8981         (gst_collect_pads_peek), (gst_collect_pads_pop),
8982         (gst_collect_pads_available), (gst_collect_pads_read),
8983         (gst_collect_pads_flush), (gst_collect_pads_event),
8984         (gst_collect_pads_chain):
8985         * gst/base/gstcollectpads.h:
8986           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
8987           unimplemented functions as unimplemented. Add padding to
8988           GstCollectData. (#320766, #320423)
8989
8990 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8991
8992         * gst/gstmessage.c:
8993           Improve docs for DURATION message (usage of duration parameter)
8994           (#320113)
8995
8996 2005-11-20  Wim Taymans  <wim@fluendo.com>
8997
8998         * check/Makefile.am:
8999         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
9000         (main):
9001         * gst/Makefile.am:
9002         * gst/gst.h:
9003         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
9004         (gst_segment_set_seek), (gst_segment_set_newsegment),
9005         (gst_segment_to_stream_time), (gst_segment_to_running_time),
9006         (gst_segment_clip):
9007         * gst/gstsegment.h:
9008         Added segment helper structure and methods. Not fully implemented
9009         yet.
9010         Added segment check.
9011
9012 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
9013
9014         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9015           Add a deserialisation test for fractions
9016         * examples/metadata/read-metadata.c: (message_loop),
9017         (make_pipeline), (main):
9018           Fix up metadata reading sample.
9019         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9020           Debug format fix
9021         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9022           Don't try and fixate empty caps
9023         * gst/gst_private.h:
9024           Wrap in G_BEGIN_DECLS/G_END_DECLS
9025         * gst/gstvalue.c: (gst_value_collect_fraction),
9026         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
9027         (gst_value_transform_string_fraction),
9028         (gst_value_compare_fraction):
9029           Add some extra guards to ensure that we don't end up 
9030           with an invalid denominator of 0 in a gstfraction and
9031           that fractions always get reduced.
9032
9033 2005-11-20  Wim Taymans  <wim@fluendo.com>
9034
9035         * docs/gst/gstreamer-sections.txt:
9036         * gst/gstbuffer.h:
9037         * gst/gstelement.c:
9038         * gst/gstformat.c:
9039         * gst/gstformat.h:
9040         * gst/gstindex.h:
9041         * gst/gstquery.c:
9042         * gst/gstquery.h:
9043         * gst/gstvalue.c:
9044         Doc fixes.
9045
9046 2005-11-20  Wim Taymans  <wim@fluendo.com>
9047
9048         * docs/design/part-TODO.txt:
9049         * gst/gstcaps.h:
9050         Make a proper enum of the flag.
9051
9052 2005-11-19  Wim Taymans  <wim@fluendo.com>
9053
9054         * docs/design/part-TODO.txt:
9055         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
9056         (gst_format_to_quark), (gst_format_register):
9057         * gst/gstformat.h:
9058         * gst/gstquery.c: (_gst_query_initialize),
9059         (gst_query_type_get_name), (gst_query_type_to_quark),
9060         (gst_query_type_register):
9061         * gst/gstquery.h:
9062         Add type to quark and type to string conversions.
9063
9064 2005-11-19  Andy Wingo  <wingo@pobox.com>
9065
9066         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
9067         #320097.
9068
9069 2005-11-19  Wim Taymans  <wim@fluendo.com>
9070
9071         * docs/design/part-TODO.txt:
9072         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
9073         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
9074         (gst_bin_handle_message_func):
9075         * gst/gstbin.h:
9076         Make message handling overridable.
9077
9078 2005-11-19  Andy Wingo  <wingo@pobox.com>
9079
9080         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
9081
9082         * gst/gstclock.h:
9083         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
9084         be a GstClockTime.
9085         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
9086         is a GstClockTime. Fixes #321710.
9087
9088         * gst/gstclock.h (GstClock): Remove offset property. Add
9089         internal_calibration and external_calibration. Fix padding. Pad
9090         also by GstClockTime so we don't run into problems.
9091
9092         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
9093         (gst_clock_get_rate_offset): Remove.
9094         (gst_clock_set_time_adjust): Remove. Fixes #321712.
9095
9096         * gst/gstutils.h:
9097         * gst/gstutils.c (g_static_rec_cond_wait)
9098         (g_static_rec_cond_timed_wait): Removed, no longer needed.
9099
9100         * gst/gstbin.c: Remove terrible continue_state prototype.
9101
9102         * gst/gstelement.h (gst_element_continue_state): Make public.
9103
9104         * gst/gstelement.h:
9105         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
9106         by continue_state. Fixes #319389.
9107
9108         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
9109         Really fixes #168438. However I don't see anywhere where the
9110         filter function is called... stupid GStreamer...
9111         
9112         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
9113         don't have a dispose function, so it won't get called when the
9114         object is unreffed, but oh well!
9115
9116         * gst/gstindex.c (gst_index_set_filter_full): New API function,
9117         allows a destroy function to be set so user_data can be freed.
9118         Fixes #168438.
9119         (gst_index_set_filter): Call gst_index_set_filter_full.
9120
9121         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
9122
9123         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
9124         string should produce an error, given the lack of a way to
9125         represent NULL strings. Fixes #165650.
9126         
9127         * gst/gstvalue.h: 
9128         * gst/gstvalue.c (gst_value_array_append_value) 
9129         (gst_value_array_prepend_value, gst_value_array_get_size) 
9130         (gst_value_array_get_value): New API, copied from
9131         gst_value_list_*, only operates on arrays.
9132         (gst_value_list_append_value, gst_value_list_prepend_value) 
9133         (gst_value_list_concat, gst_value_list_get_size) 
9134         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
9135
9136         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
9137         init_list, because it works on both.
9138         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
9139         (gst_value_copy_list_or_array): Renamed from copy_list.
9140         (gst_value_free_list_or_array): Renamed from free_list.
9141         (gst_value_collect_list_or_array): Renamed from collect_list.
9142         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
9143         (gst_value_list_or_array_peek_pointer): Renamed from
9144         list_peek_pointer.
9145         (_gst_value_array_value_table, _gst_value_list_value_table):
9146         Update value table functions.
9147         (gst_value_compare_list_or_array): Renamed from compare_list.
9148
9149         * gsttaglist.h: Whoops, foreach function returns void. Also fix
9150         some constness.
9151
9152         * gst/gsttaglist.c:
9153         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
9154         GstTagList*. Fixes #143472.
9155
9156         * gst/gststructure.h: Clarify what the foreach/map functions can
9157         or can't do to their arguments.
9158
9159 2005-11-18  Wim Taymans  <wim@fluendo.com>
9160
9161         * gst/gstclock.c: (gst_clock_set_calibration),
9162         (gst_clock_get_calibration):
9163         Doc and API fixes.
9164         Calibration can be set with internal time equal to current
9165         internal time too.
9166
9167 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
9168
9169         * gst/gsterror.c:
9170         * gst/gsterror.h:
9171           document
9172
9173 2005-11-18  Andy Wingo  <wingo@pobox.com>
9174
9175         * configure.ac: 
9176         * pkgconfig/gstreamer-net.pc.in:
9177         * pkgconfig/gstreamer-net-uninstalled.pc.in:
9178         * pkgconfig/Makefile.am: Add net pkgconfig files.
9179
9180 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
9181
9182         * gst/gstcaps.c:
9183         * gst/gstghostpad.c:
9184         * gst/gsttrace.c:
9185         * gst/gstvalue.c:
9186         * gst/gstvalue.h:
9187           docs fixes
9188
9189 2005-11-18  Andy Wingo  <wingo@pobox.com>
9190
9191         * gst/net/gstnetclientclock.c: Turn off debugging.
9192
9193         * check/net/gstnetclientclock.c (test_functioning): Assert that the
9194         times connverge somewhat. Can't make a real test.
9195
9196         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
9197         integer arithmetic. Return the minimum of the domain, which can be
9198         set as "internal" for gst_clock_set_calibration.
9199         (gst_net_client_clock_observe_times): Call _set_calibration.
9200         (gst_net_client_clock_new): Call _set_calibration instead of
9201         rate_offset.
9202
9203         * check/net/gstnetclientclock.c (test_functioning): Use the right
9204         adjustment api.
9205
9206         * gst/gstclock.h:
9207         * gst/gstclock.c (gst_clock_get_calibration) 
9208         (gst_clock_set_calibration): New functions, obsolete the ones I
9209         added yesterday. Doh. Precision issues mean we have to extrapolate
9210         from a point in the more recent past than 1970.
9211         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
9212         obsolete.
9213         (gst_clock_adjust_unlocked): Use the right calibration data.
9214
9215 2005-11-18  Edward Hervey  <edward@fluendo.com>
9216
9217         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
9218         Also reset the ->current_* values in READY->PAUSED
9219
9220 2005-11-18  Andy Wingo  <wingo@pobox.com>
9221
9222         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
9223         Whoops, check the right fd. Also add some debugging.
9224         (gst_net_client_clock_observe_times): Adjust for int64 offset.
9225         (do_linear_regression): Add a crapload of debugging. Subtract off
9226         the minimum values from the input series to discard unneeded bits.
9227         Use only int arithmetic. There is still double arithmetic when
9228         calculating the intercept that needs fixing. Return boolean to
9229         indicate success; FALSE would mean the domain or range is too
9230         great. Still needs fixes.
9231
9232 2005-11-18  Wim Taymans  <wim@fluendo.com>
9233
9234         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
9235         For the current position in stream time, we need to subtract
9236         accumulated time.
9237         
9238         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
9239         Release lock before calling the callback function of async
9240         entries.
9241
9242 2005-11-18  Andy Wingo  <wingo@pobox.com>
9243
9244         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
9245         Port goes all the way to MAXUINT16.
9246
9247         * gst/net/gstnettimeprovider.c: Make the port range the same as
9248         for the kernel: 0 assigns, otherwise ports are less than
9249         MAXUINT16.
9250
9251         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
9252         port change.
9253
9254         * check/net/gstnetclientclock.c (test_functioning): Add the start
9255         of another test. 
9256
9257 2005-11-18  Wim Taymans  <wim@fluendo.com>
9258
9259         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9260         (gst_bin_remove_func), (bin_bus_handler):
9261         * gst/gstbin.h:
9262         Removing a clock provider from a bin, triggers a clock lost message
9263         so that a new clock will be selected.
9264         Adding a clock to a bin triggers a clock provider message.
9265         Make sure we reselect a clock when we received a clock lost message.
9266         Keep a reference to the element that provided the clock.
9267
9268 2005-11-18  Andy Wingo  <wingo@pobox.com>
9269
9270         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
9271         the clock initially so it produces values around the base time.
9272         (gst_net_client_clock_class_init): Typo fix.
9273         (gst_net_client_clock_thread): Add note on when the socket gets
9274         closed.
9275
9276 2005-11-17  Wim Taymans  <wim@fluendo.com>
9277
9278         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
9279         Free remote and local time arrays.
9280
9281 2005-11-17  Wim Taymans  <wim@fluendo.com>
9282
9283         * gst/net/gstnetclientclock.c: (do_linear_regression),
9284         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
9285         Fix compilation, uninitialized vars and a forgotten continue.
9286
9287 2005-11-17  Andy Wingo  <wingo@pobox.com>
9288
9289         * check/Makefile.am (check_PROGRAMS): 
9290         * check/net/gstnetclientclock.c: Add a most minimal test for the
9291         net client clock. More to come later.
9292
9293         * gst/net/gstnet.h: 
9294         * gst/net/Makefile.am: Add netclientclock.
9295
9296         * gst/net/gstnetclientclock.h:
9297         * gst/net/gstnetclientclock.c: New files, implement an untested
9298         GstClock that takes its time from a network time provider.
9299         Implements the algorithm in network-clock.scm.
9300
9301         * tests/network-clock.scm (*window-size*): Rename from
9302         *queue-length*.
9303         * tests/network-clock.scm (network-time): 
9304         * tests/network-clock-utils.scm (q-push): Update callers.
9305
9306 2005-11-17  Wim Taymans  <wim@fluendo.com>
9307
9308         * gst/gstbin.c: (gst_bin_provide_clock_func),
9309         (gst_bin_sort_iterator_new):
9310         And unref the child too..
9311
9312 2005-11-17  Wim Taymans  <wim@fluendo.com>
9313
9314         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
9315         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
9316         Refactor the sort iterator so it can be used while holding the
9317         LOCK too.
9318         Make clock selection select a clock closest to the source.
9319
9320 2005-11-17  Michael Smith <msmith@fluendo.com>
9321
9322         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
9323         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
9324         * gst/gstclock.h:
9325           Anonymous structs are a gcc (and some other compilers) extension, so
9326           don't use them. Since this is only for ABI-compatibility, and our
9327           API/ABI freeze is over in a few days, this whole thing will only
9328           last a few days, so don't bother trying to think up a meaningful
9329           name for the struct.
9330
9331 2005-11-17  Andy Wingo  <wingo@pobox.com>
9332
9333         * gst/gstclock.h (GstClock): Add rate and offset properties,
9334         preserving ABI stability. Add rate/offset accessors. Will file bug
9335         for the freeze break.
9336
9337         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
9338         and offset, trying to keep precision and avoiding
9339         underflow/overflow.
9340         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
9341         functions. Make gst_clock_set_time_adjust obsolete.
9342         (gst_clock_set_time_adjust): Note that this function is obsolete.
9343         Will file bug soon.
9344
9345         * gst/base/gstbasetransform.h: Make the ABI-stability hack
9346         greppable by using GST_PADDING-1+1.
9347
9348 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
9349
9350         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9351
9352         * gst/gstmessage.c: (gst_message_parse_clock_lost):
9353           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
9354
9355         * gst/gstpadtemplate.h:
9356         * gst/gstpluginfeature.h:
9357           Don't use c++ style comments in headers (#321638).
9358
9359 2005-11-16  Andy Wingo  <wingo@pobox.com>
9360
9361         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
9362         buffer.
9363
9364         * check/net/gstnettimeprovider.c: Check to see that the time
9365         provider actually provides times. Works, yo!
9366
9367 2005-11-16  Wim Taymans  <wim@fluendo.com>
9368
9369         * check/Makefile.am:
9370         Enable more tests.
9371
9372         * check/elements/fakesrc.c: (GST_START_TEST):
9373         Set element to NULL before disposing it.
9374
9375 2005-11-16  Andy Wingo  <wingo@pobox.com>
9376
9377         * gst/net/Makefile.am:
9378         * gst/net/gstnet.h:
9379         * gst/net/gstnettimeprovider.c: 
9380         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
9381         provider, include it from gstnet.h, and add it to the build.
9382
9383         * gst/net/gstnettimepacket.h: 
9384         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
9385         sending and receiving.
9386
9387 2005-11-16  Wim Taymans  <wim@fluendo.com>
9388
9389         * check/Makefile.am:
9390         Enable valgrind check.
9391
9392         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
9393         (gst_fake_src_alloc_buffer):
9394         Fix memleak.
9395
9396 2005-11-16  Wim Taymans  <wim@fluendo.com>
9397
9398         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
9399         Call parent finalize too.
9400
9401 2005-11-16  Wim Taymans  <wim@fluendo.com>
9402
9403         * check/Makefile.am:
9404         Enable valgrind check that should work fine now.
9405
9406         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9407         * gst/gstqueue.c: (gst_queue_init):
9408         Fix memleaks in pad allocation.
9409
9410 2005-11-16  Andy Wingo  <wingo@pobox.com>
9411
9412         * gst/net/Makefile.am:
9413         * gst/net/gstnet.h: New part of core to hold network elements and
9414         objects. Put in core because it exposes API that applications want
9415         to use. The library is named libgstnet-tempname right now because
9416         of the existing libgstnet in gst-plugins-base. Solution is
9417         probably to rename the one in plugins-base; will file a bug for
9418         the freeze break.
9419
9420         * gst/net/gstnettimeprovider.c: 
9421         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
9422         get_time call over the network.
9423
9424         * configure.ac: 
9425         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
9426
9427         * check/Makefile.am:
9428         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
9429         get additions shortly.
9430
9431 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9432
9433         * gst/gstpad.c: (gst_pad_new_from_static_template):
9434         * gst/gstpad.h:
9435           add gst_pad_new_from_static_template functions
9436         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
9437         (gst_check_setup_sink_pad):
9438         * gst/elements/gsttee.c: (gst_tee_init):
9439           and use them
9440
9441 2005-11-16  Wim Taymans  <wim@fluendo.com>
9442
9443         * gst/gstpad.c: (gst_pad_pause_task):
9444         Removed warning, it's not really an error either.
9445
9446 2005-11-16  Wim Taymans  <wim@fluendo.com>
9447
9448         * gst/base/gstbasetransform.c:
9449         (gst_base_transform_prepare_output_buf),
9450         (gst_base_transform_event):
9451         Check if the caps are NULL, this can happen if the element
9452         is shutting down and the pad caps are set to NULL.
9453
9454 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9455
9456         * gst/elements/gsttee.c: (gst_tee_init):
9457           fix pad template leak in tee
9458
9459 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9460
9461         * gst/glib-compat.c: (g_value_dup_gst_object):
9462         * gst/glib-compat.h:
9463         * gst/gstpad.c: (gst_pad_set_property):
9464           use gst_object_ref when setting the pad template; this will
9465           trigger the pad template leaks on GLib 2.6 and the slaves
9466
9467 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9468
9469         * gst/glib-compat.c: (gst_flags_get_first_value):
9470         * gst/glib-compat.h:
9471         * gst/gstregistryxml.c:
9472           remove functions copied from GLib 2.6
9473
9474 2005-11-16  Michael Smith <msmith@fluendo.com>
9475
9476         * gst/Makefile.am:
9477           Don't link against VALGRIND_LIBS. That was always the wrong thing to
9478           do, but only breaks with newer valgrind versions. We're not a
9479           valgrind tool, we have no link-time dependencies on libcoregrind.
9480
9481 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9482
9483         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9484           some debug changes
9485         * gst/gstmessage.h:
9486           typo fixes
9487
9488 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9489
9490         * gst/base/gstbasesrc.c: (gst_base_src_init):
9491         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9492         * gst/gstqueue.c: (gst_queue_init):
9493         * gst/gstregistryxml.c: (load_feature):
9494           Revert all these unrefs, they don't even pass make check !
9495
9496 2005-11-15  Johan Dahlin  <johan@gnome.org>
9497
9498         * gst/base/gstbasesrc.c: (gst_base_src_init):
9499         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9500         * gst/gstqueue.c: (gst_queue_init): 
9501         Free pad templates, fixes a couple of leaks.
9502
9503 2005-11-15  Daniel Fischer  <dan at f3c dot com>
9504
9505         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9506
9507         * gst/gstpad.c: (gst_pad_get_property):
9508           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
9509           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
9510           (#321452)
9511
9512 2005-11-15  Wim Taymans  <wim@fluendo.com>
9513
9514         * gst/gstevent.c:
9515         Small doc update.
9516
9517 2005-11-15  Andy Wingo  <wingo@pobox.com>
9518
9519         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
9520
9521         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
9522         using GST_CLOCK_TIME_NONE to disable base time management.
9523         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
9524         time if it was NONE before.
9525         (gst_pipeline_change_state): Only munge the base time if
9526         stream_time != GST_CLOCK_TIME_NONE.
9527
9528         * check/gst/gstpipeline.c (test_base_time): Punt around the
9529         problem of the probe not being called, because that's not the
9530         issue I'm looking at. Add a check that setting stream_time to NONE
9531         disables base time management.
9532         
9533 2005-11-15  Wim Taymans  <wim@fluendo.com>
9534
9535         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9536         segment_stop == -1 at startup.
9537
9538         * gst/base/gstbasetransform.c: (gst_base_transform_event),
9539         (gst_base_transform_change_state):
9540         Init segment values at start.
9541
9542 2005-11-15  Wim Taymans  <wim@fluendo.com>
9543
9544         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9545         0 segment values are 0 in any format.
9546
9547         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9548         * gst/base/gstbasetransform.h:
9549         Parse newsegment correctly in basetransform
9550
9551         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
9552         Sync to clock using updated segment values.
9553
9554 2005-11-15  Andy Wingo  <wingo@pobox.com>
9555
9556         * check/gst/gstpipeline.c (test_base_time): Add check that the
9557         base time and stream time are reset correctly.
9558
9559 2005-11-15  Wim Taymans  <wim@fluendo.com>
9560
9561         * docs/design/part-TODO.txt:
9562         Some more TODO items.
9563
9564 2005-11-15  Andy Wingo  <wingo@pobox.com>
9565
9566         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
9567         error if the user selected "no clock" as the clocking method.
9568
9569         * check/gst/gstpipeline.c (test_base_time): New test for buffer
9570         timestamps with live capture.
9571
9572         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
9573         is 0 but we are a live source, timestamp the buffers using the
9574         element's clock.
9575
9576 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
9577
9578         * docs/gst/gstreamer-sections.txt:
9579         * gst/gsterror.c:
9580         * gst/gstghostpad.c:
9581         * gst/gstobject.h:
9582         * gst/gstxml.c:
9583           more section docs
9584
9585 2005-11-14  Wim Taymans  <wim@fluendo.com>
9586
9587         * common/gst.supp:
9588           add suppressions from Wim's Debian machine
9589
9590 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9591
9592         * common/gst.supp:
9593           add suppressions from Andy's AMD64 Ubuntu machine
9594
9595 2005-11-14  Andy Wingo  <wingo@pobox.com>
9596
9597         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
9598         STATE_LOCK not necessary. Fixes #311489.
9599
9600         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
9601         #305291.
9602
9603         * gst/gstindex.c (gst_index_add_object): Note in the docs that
9604         this function is not implemented.
9605
9606 2005-11-14  Julien MOUTTE  <julien@moutte.net>
9607
9608         * gst/base/gstbasetransform.c:
9609         (gst_base_transform_prepare_output_buf):
9610         Ref the source pad caps while we need them.
9611         Fixes (#321386)
9612
9613 2005-11-11  Wim Taymans  <wim@fluendo.com>
9614
9615         * docs/gst/gstreamer-sections.txt:
9616         Added some docs for GstCollectData.
9617
9618         * gst/base/gstadapter.c:
9619         Some small code example fix.
9620
9621         * gst/base/gstcollectpads.c:
9622         * gst/base/gstcollectpads.h:
9623         Document some more.
9624
9625 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9626
9627         * configure.ac: back to HEAD
9628
9629 === release 0.9.5 ===
9630
9631 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
9632
9633         * configure.ac:
9634           releasing 0.9.5, "Bike Lunch Day"
9635
9636 2005-11-11  Wim Taymans  <wim@fluendo.com>
9637
9638         * gst/gstbuffer.c: (_gst_buffer_copy):
9639         Copy more flags.
9640
9641         * gst/gstcaps.c: (gst_caps_is_equal):
9642         Fix some docs.
9643         Make _is_equal fast in the trivial cases.
9644
9645         * gst/gstminiobject.c:
9646         * gst/gstminiobject.h:
9647         More docs. Spifify .h file.
9648
9649         * gst/gstutils.c:
9650         Small doc update.
9651
9652 2005-11-11  Wim Taymans  <wim@fluendo.com>
9653
9654         * gst/base/gstbasetransform.c:
9655         (gst_base_transform_prepare_output_buf),
9656         (gst_base_transform_handle_buffer):
9657         Small cleanups.
9658         If we're processing a buffer and need to allocate an output
9659         buffer, we cannot accept a format change. If we did get a 
9660         format change, we have to alloc a buffer ourselves of the 
9661         right size.
9662
9663 2005-11-11  Wim Taymans  <wim@fluendo.com>
9664
9665         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
9666         While checking the flag for reentrancy in the gstcaps function
9667         is nice to detect recursive invocations, it also makes it 
9668         impossible to call getcaps from multiple threads, which must be
9669         possible. So, checking for recursive calls has to go.
9670
9671 2005-11-11  Michael Smith <msmith@fluendo.com>
9672
9673         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9674           Don't sync on buffers that fall partially outside our current
9675           segment. Prevents an assertion failure/abort playing some files.
9676
9677 2005-11-10  Andy Wingo  <wingo@pobox.com>
9678
9679         * check/gst/gstbin.c (test_message_state_changed_children): Style
9680         fix..
9681
9682         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
9683         gst_bus_poll with the signal watch. Ensures that poll and a signal
9684         watch see the same messages.
9685
9686         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
9687         a poll and a watch at the same time get the same messages.
9688
9689 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9690
9691         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
9692         * gst/gstcaps.c: (gst_caps_intersect):
9693           Don't call gst_caps_do_simplify - it doesn't respect order of caps
9694           and it's not needed.
9695
9696 2005-11-10  Wim Taymans  <wim@fluendo.com>
9697
9698         * docs/design/part-TODO.txt:
9699         Updated todo.
9700
9701 2005-11-10  Wim Taymans  <wim@fluendo.com>
9702
9703         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9704         * gst/base/gstbasesrc.c: (gst_base_src_wait),
9705         (gst_base_src_do_sync), (gst_base_src_get_range):
9706         Implement clock sync in base class.
9707
9708 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9709
9710         patch by: Tim-Philipp Müller <tim at centricular dot net>
9711
9712         * gst/gststructure.c: (gst_structure_parse_field),
9713         (gst_structure_from_string):
9714           Forward-port a 0.8 patch to handle escaped spaces in structure string,
9715           so that gst_parse_launch() can deal with spaces in filtered link
9716           caps (fixes #164479)
9717         * check/gst/capslist.h:
9718         * check/gst/gststructure.c: (GST_START_TEST):
9719           add unit tests for this change
9720
9721 2005-11-10  Wim Taymans  <wim@fluendo.com>
9722
9723         * docs/gst/gstreamer-sections.txt:
9724         * gst/gstelement.c:
9725         * gst/gstelement.h:
9726         Fix docs, move some STATE macros to private.
9727
9728 2005-11-10  Wim Taymans  <wim@fluendo.com>
9729
9730         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9731         Added check for bug #317341
9732
9733         * gst/gstbuffer.c:
9734         * gst/gstbuffer.h:
9735         Some more spiffifying.
9736
9737         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
9738         Call peer linkfunction if we are a source pad. Totally fixes
9739         #317341
9740
9741         * gst/gstpad.c:
9742         Update docs, source pads should call the peer linkfunction
9743         so they can atomically perform the pad link.
9744
9745 2005-11-09  Wim Taymans  <wim@fluendo.com>
9746
9747         * gst/gstbuffer.c:
9748         * gst/gstbuffer.h:
9749         Uber-spiffy-spiffify some more.
9750
9751 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
9752
9753         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
9754         * gst/elements/gstfilesink.c: (gst_file_sink_init):
9755         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9756         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
9757         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
9758         * gst/gstpad.c: (gst_pad_init):
9759           Use GST_DEBUG_FUNCPTR() more extensively.
9760
9761 2005-11-09  Wim Taymans  <wim@fluendo.com>
9762
9763         * gst/gstobject.c: (gst_object_class_init):
9764         * gst/gstobject.h:
9765         Documentation fixes.
9766
9767 2005-11-09  Edward Hervey  <edward@fluendo.com>
9768
9769         * gst/gsttypefindfactory.c:
9770         Fix docs.
9771         
9772 2005-11-09  Edward Hervey  <edward@fluendo.com>
9773
9774         * gst/base/gsttypefindhelper.c:
9775         * gst/gsttypefind.c:
9776         * gst/gsttypefind.h:
9777         Fix docs.
9778
9779 2005-11-09  Wim Taymans  <wim@fluendo.com>
9780
9781         * gst/gstiterator.c:
9782         Fix revision data.
9783
9784         * gst/gsttask.c:
9785         * gst/gsttask.h:
9786         Fix docs.
9787
9788 2005-11-09  Wim Taymans  <wim@fluendo.com>
9789
9790         * gst/gstevent.h:
9791         * gst/gsturi.h:
9792         Fix docs.
9793
9794 2005-11-09  Wim Taymans  <wim@fluendo.com>
9795
9796         * docs/gst/gstreamer-sections.txt:
9797         Moved the message async delivery private lock and cond
9798         to the private section.
9799
9800         * gst/gstmessage.c:
9801         * gst/gstmessage.h:
9802         Fixed docs.
9803
9804 2005-11-09  Edward Hervey  <edward@fluendo.com>
9805
9806         * docs/gst/gstreamer-sections.txt:
9807         * gst/gsturi.c:
9808         * gst/gsturi.h:
9809         Document GstURIHandler
9810
9811 2005-11-09  Wim Taymans  <wim@fluendo.com>
9812
9813         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
9814         (gst_iterator_find_custom):
9815         * gst/gstiterator.h:
9816         Fix iterator docs.
9817
9818 2005-11-09  Wim Taymans  <wim@fluendo.com>
9819
9820         * gst/gstbin.h:
9821         Document another field.
9822
9823         * gst/gststructure.c:
9824         * gst/gststructure.h:
9825         Document.
9826
9827 2005-11-09  Wim Taymans  <wim@fluendo.com>
9828
9829         * gst/gstbin.h:
9830         Documented structs.
9831
9832 2005-11-09  Wim Taymans  <wim@fluendo.com>
9833
9834         * docs/gst/gstreamer-sections.txt:
9835         Added some new macros.
9836
9837         * gst/gstclock.c:
9838         * gst/gstclock.h:
9839         * gst/gstobject.h:
9840         Docs updates.
9841
9842 2005-11-09  Wim Taymans  <wim@fluendo.com>
9843
9844         * docs/design/part-TODO.txt:
9845         Some more items for the TODO
9846
9847         * gst/gstcaps.c:
9848         * gst/gstcaps.h:
9849         Document GstCaps.
9850
9851 2005-11-09  Andy Wingo  <wingo@pobox.com>
9852
9853         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
9854         to work on something else now tho...
9855
9856         * gst/base/gstadapter.c: More adapter docs.
9857
9858         * gst/elements/gstfilesink.c (gst_file_sink_start) 
9859         (gst_file_sink_stop): New functions, replace the state change
9860         handler.
9861         (gst_file_sink_class_init): Hook up the start and stop functions.
9862         (gst_file_sink_base_init): Don't set the state change handler any
9863         more. It was a bit ugly too, being set from here...
9864         (gst_file_sink_get_property, gst_file_sink_set_property):
9865         Cleanups...
9866         (gst_file_sink_set_location): More robust check that doesn't call
9867         GST_STATE. Ugggggg.
9868
9869 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
9870
9871         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9872           Hold STREAM_LOCK while pushing newsegment or tag events as well.
9873
9874 2005-11-08  Wim Taymans  <wim@fluendo.com>
9875
9876         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9877         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9878         (gst_base_sink_chain), (gst_base_sink_change_state):
9879         * gst/base/gstbasesink.h:
9880         * gst/base/gstbasesrc.h:
9881         * gst/gstelement.h:
9882         * gst/gstevent.h:
9883         Avoid excessive typechecking in macros.
9884
9885         * gst/gstminiobject.c: (gst_mini_object_get_type),
9886         (gst_mini_object_init), (gst_mini_object_new),
9887         (gst_mini_object_free):
9888         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
9889         (gst_object_finalize):
9890         Remove cruft code, optimize alloc_trace.
9891
9892 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9893
9894         * docs/faq/gst-uninstalled:
9895           fix up PS1 for systems that try to reset it
9896
9897 2005-11-07  Wim Taymans  <wim@fluendo.com>
9898
9899         * gst/base/gstbasesrc.c: (gst_base_src_init),
9900         (gst_base_src_get_range):
9901         Set the segment_end to -1 initially. Fixed typefind.
9902
9903 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
9904
9905         * gst/base/gstadapter.c:
9906           Debug category should be 'adapter', not 'GstAdapter'.
9907           
9908         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
9909         (gst_collectpads_class_init), (gst_collectpads_init),
9910         (gst_collectpads_peek), (gst_collectpads_pop),
9911         (gst_collectpads_event), (gst_collectpads_chain):
9912           Add debug category and some debugging output. Use boilerplate
9913           macros. Remove some extraneous words from docs.
9914
9915 2005-11-05  Andy Wingo  <wingo@pobox.com>
9916
9917         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
9918         macro.
9919
9920 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
9921
9922         * docs/gst/gstreamer-sections.txt:
9923         * gst/gstcaps.h:
9924         * gst/gstinfo.c:
9925         * gst/gstminiobject.h:
9926         * gst/gstobject.h:
9927         * gst/gstutils.h:
9928           more docs added
9929
9930 2005-11-04  Wim Taymans  <wim@fluendo.com>
9931
9932         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9933         Small update to stop at the configured segment_end
9934         position.
9935
9936 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
9937
9938         * gst/gstregistry.c:
9939         * gst/gstregistry.h:
9940           added missing docs
9941
9942 2005-11-04  Edward Hervey  <edward@fluendo.com>
9943
9944         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9945         Check if we are doing a segment seek and have arrived at the
9946         end of that segment.
9947
9948 2005-11-04  Wim Taymans  <wim@fluendo.com>
9949
9950         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
9951         Don't leak a mutex unlock in case of an error.
9952
9953         * gst/gstbus.h:
9954         Doc fixes.
9955
9956 2005-11-04  Wim Taymans  <wim@fluendo.com>
9957
9958         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
9959         (gst_bus_post):
9960         Get the context to wake up only once.
9961
9962 2005-11-03  Wim Taymans  <wim@fluendo.com>
9963
9964         * check/states/sinks.c: (GST_START_TEST):
9965         Uncomment fixed check.
9966
9967         * docs/design/part-TODO.txt:
9968         Updated TODO.
9969
9970         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9971         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
9972         (gst_base_sink_get_position):
9973         If we are going to PLAYING, post the right pending state
9974         when we post the intermediate paused message.
9975
9976         * gst/gstelement.c: (gst_element_continue_state),
9977         (gst_element_set_state_func), (gst_element_change_state):
9978         Don't post state changes that were between the same state
9979         and were not ASYNC.
9980
9981 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
9982
9983         * docs/gst/gstreamer-sections.txt:
9984         * gst/gstcaps.h:
9985         * gst/gstinfo.c:
9986         * gst/gstminiobject.h:
9987         * gst/gstobject.h:
9988         * gst/gstutils.h:
9989           more docs and doc style fixes
9990
9991 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
9992
9993         * docs/gst/gstreamer-sections.txt:
9994         * gst/gstelement.c:
9995         * gst/gstminiobject.c:
9996         doc fixes
9997
9998 2005-11-03  Andy Wingo  <wingo@pobox.com>
9999
10000         * check/states/sinks.c (test_livesrc_sink): Add checks that the
10001         state-changed messages actually have the right order and the right
10002         values.
10003
10004 2005-11-03  Wim Taymans  <wim@fluendo.com>
10005
10006         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
10007         Added some more checks. Specifically the case where NO_PREROLL
10008         elements are in the pipeline.
10009
10010         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10011         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
10012         (gst_base_sink_get_position):
10013         Post READY->PAUSED state change messages too.
10014         Fix bug where VOID was posted as pending state...
10015
10016         * gst/gstbin.c: (gst_bin_recalc_state):
10017         use _element_continue_state() to continue the state change.
10018
10019         * gst/gstelement.c: (gst_element_continue_state),
10020         (gst_element_commit_state), (gst_element_set_state_func),
10021         (gst_element_change_state), (gst_element_change_state_func):
10022         Lots of state change cleanups, assign the STATE_RETURN in
10023         a new continue_state() function that also propagates the
10024         last return value from a state change to the app.
10025         Update some debug statements with proper category.
10026
10027 2005-11-03  Wim Taymans  <wim@fluendo.com>
10028
10029         * docs/design/part-events.txt:
10030         * docs/design/part-gstpipeline.txt:
10031         * docs/design/part-messages.txt:
10032         * docs/design/part-overview.txt:
10033         * docs/design/part-seeking.txt:
10034         * docs/design/part-states.txt:
10035         * docs/design/part-trickmodes.txt:
10036         * docs/manual/advanced-position.xml:
10037         Small docs updates.
10038
10039         * gst/gstobject.h:
10040         People think !! is ugly, this looks better.
10041
10042         * gst/gstpad.c: (gst_pad_set_blocked_async):
10043         Remove !! since it's fixed elsewhere now.
10044
10045 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
10046
10047         * gst/gstminiobject.h:
10048         * gst/gstobject.h:
10049           Add !! to _FLAG_IS_SET macros to make the result boolean.
10050
10051 2005-11-03  Edward Hervey  <edward@fluendo.com>
10052
10053         * gst/gstpad.c: (gst_pad_set_blocked_async):
10054         comparing a flag and a gboolean rarely returns coherent results...
10055         Added two characters (!!) to make that work correctly.
10056         
10057 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
10058
10059         * gst/gstbus.c: (gst_bus_class_init):
10060           Fix some typos.
10061           
10062         * gst/gstqueue.c: (gst_queue_loop):
10063           Don't assume a miniobject that isn't a buffer is an
10064           event (it could be that there is a refcounting
10065           problem somewhere and the pointer is stale and
10066           refers to an already destroyed miniobject).
10067
10068 2005-11-03  Julien MOUTTE  <julien@moutte.net>
10069
10070         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
10071
10072 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
10073
10074         * docs/manual/advanced-position.xml:
10075           Update seek example and explanations to current 0.9 API.
10076
10077         * gst/elements/gsttypefindelement.c:
10078         (gst_type_find_element_activate):
10079           Remove FIXME comment now that the found caps
10080           are unreffed.
10081
10082 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10083
10084         * gst/gstregistryxml.c: (load_feature):
10085           Add another GST_STR_NULL instance
10086
10087 2005-11-02  Edward Hervey  <edward@fluendo.com>
10088
10089         * gst/gstpad.c: (handle_pad_block):
10090         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
10091         
10092 2005-11-02  Wim Taymans  <wim@fluendo.com>
10093
10094         * gst/gstbin.c:
10095         Fix typo in docs.
10096
10097         * gst/gstelement.c: (gst_element_commit_state):
10098         Remove unused value.
10099
10100         * gst/gstiterator.c:
10101         Mention that the returned element is reffed in the docs.
10102
10103 2005-11-02  Wim Taymans  <wim@fluendo.com>
10104
10105         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
10106         (gst_pad_push), (gst_pad_push_event):
10107         Unlock blocked pads when they are flushed.
10108
10109 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10110
10111         * docs/README:
10112         * docs/gst/gstreamer-sections.txt:
10113         * gst/gstbin.c:
10114           doc updates
10115         * gst/gstregistry.c: (gst_registry_scan_path_level):
10116           fix for a nasty little missed situation where an installed plug-in
10117           which was in the cache did not get overridden by an uninstalled one
10118           which was earlier in the plugin path because the newly created plugin
10119           for the uninstalled one (not in the registry) didn't get its
10120           ->registered set to TRUE
10121
10122 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
10123
10124         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
10125         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
10126         (gst_collectpads_is_active), (gst_collectpads_collect),
10127         (gst_collectpads_collect_range), (gst_collectpads_start),
10128         (gst_collectpads_stop), (gst_collectpads_peek),
10129         (gst_collectpads_pop), (gst_collectpads_available),
10130         (gst_collectpads_read), (gst_collectpads_flush):
10131           Guard public API with assertions.
10132         
10133         * gst/gstpad.c:
10134           Fix docs for gst_pad_set_link_function().
10135
10136 2005-11-02  Johan Dahlin  <johan@gnome.org>
10137
10138         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
10139         Unref found_caps after we used it.
10140
10141 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
10142
10143         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
10144           Don't try to ref NULL.
10145
10146 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10147
10148         * win32/common/config.h.in:
10149           provide a GST_FUNCTION that just gives a string for now
10150
10151 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10152
10153         * win32/common/gstenumtypes.c: (register_gst_object_flags),
10154         (gst_object_flags_get_type), (register_gst_bin_flags),
10155         (gst_bin_flags_get_type), (register_gst_buffer_flag),
10156         (gst_buffer_flag_get_type), (register_gst_bus_flags),
10157         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
10158         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
10159         (gst_clock_return_get_type), (register_gst_clock_entry_type),
10160         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
10161         (gst_clock_flags_get_type), (register_gst_state),
10162         (gst_state_get_type), (register_gst_state_change_return),
10163         (gst_state_change_return_get_type), (register_gst_state_change),
10164         (gst_state_change_get_type), (register_gst_element_flags),
10165         (gst_element_flags_get_type), (register_gst_core_error),
10166         (gst_core_error_get_type), (register_gst_library_error),
10167         (gst_library_error_get_type), (register_gst_resource_error),
10168         (gst_resource_error_get_type), (register_gst_stream_error),
10169         (gst_stream_error_get_type), (register_gst_event_type),
10170         (gst_event_type_get_type), (register_gst_seek_type),
10171         (gst_seek_type_get_type), (register_gst_seek_flags),
10172         (gst_seek_flags_get_type), (register_gst_format),
10173         (gst_format_get_type), (register_gst_index_certainty),
10174         (gst_index_certainty_get_type), (register_gst_index_entry_type),
10175         (gst_index_entry_type_get_type),
10176         (register_gst_index_lookup_method),
10177         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
10178         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
10179         (gst_index_resolver_method_get_type), (register_gst_index_flags),
10180         (gst_index_flags_get_type), (register_gst_debug_level),
10181         (gst_debug_level_get_type), (register_gst_debug_color_flags),
10182         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
10183         (gst_iterator_result_get_type), (register_gst_iterator_item),
10184         (gst_iterator_item_get_type), (register_gst_message_type),
10185         (gst_message_type_get_type), (register_gst_mini_object_flags),
10186         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
10187         (gst_pad_link_return_get_type), (register_gst_flow_return),
10188         (gst_flow_return_get_type), (register_gst_activate_mode),
10189         (gst_activate_mode_get_type), (register_gst_pad_direction),
10190         (gst_pad_direction_get_type), (register_gst_pad_flags),
10191         (gst_pad_flags_get_type), (register_gst_pad_presence),
10192         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
10193         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
10194         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
10195         (gst_plugin_error_get_type), (register_gst_plugin_flags),
10196         (gst_plugin_flags_get_type), (register_gst_rank),
10197         (gst_rank_get_type), (register_gst_query_type),
10198         (gst_query_type_get_type), (register_gst_tag_merge_mode),
10199         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
10200         (gst_tag_flag_get_type), (register_gst_task_state),
10201         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
10202         (gst_alloc_trace_flags_get_type),
10203         (register_gst_type_find_probability),
10204         (gst_type_find_probability_get_type), (register_gst_uri_type),
10205         (gst_uri_type_get_type), (register_gst_parse_error),
10206         (gst_parse_error_get_type):
10207         * win32/common/gstversion.h:
10208           update win32 copies
10209
10210 2005-11-01  Luca Ognibene  <luogni@tin.it>
10211
10212         * gst/gst.c:
10213           fix docs. popt is dead, long live GOption.
10214
10215 2005-10-31  Wim Taymans  <wim@fluendo.com>
10216
10217         * gst/gstbuffer.h:
10218         Small doc fix.
10219
10220 2005-10-31  Andy Wingo  <wingo@pobox.com>
10221
10222         * Boo!
10223
10224         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
10225
10226         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
10227         need to serialize property notifications on GLib 2.8. GLib 2.6 has
10228         the possibility of deadlocks here if code calling notify() or
10229         set() has a lock that can be taken in another notify handler (ABBA
10230         with class lock and e.g. python GIL state lock).
10231
10232 2005-10-28  Julien MOUTTE  <julien@moutte.net>
10233
10234         * gst/gstbus.c: Doc updates.
10235
10236 2005-10-28  Wim Taymans  <wim@fluendo.com>
10237
10238         * docs/design/part-TODO.txt:
10239         * gst/gstiterator.c:
10240         * gst/gstsystemclock.c:
10241         * gst/gstsystemclock.h:
10242         Doc updates.
10243
10244 2005-10-28  Edward Hervey  <edward@fluendo.com>
10245
10246         * docs/gst/gstreamer-docs.sgml:
10247         * docs/gst/gstreamer-sections.txt:
10248         the GstURIType documentation page is private, it only defines GstURIType
10249         which should be defined in the GstURIHandler page
10250         
10251 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10252
10253         * gst/gstbin.c: (gst_bin_class_init):
10254         * gst/gstbin.h:
10255         * gst/gstutils.c:
10256         Documentation updates.
10257
10258 2005-10-28  Wim Taymans  <wim@fluendo.com>
10259
10260         * docs/gst/gstreamer-sections.txt:
10261         * gst/gstclock.c:
10262         * gst/gstclock.h:
10263         Documented the clocks.
10264
10265 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
10266
10267         * docs/gst/gstreamer-sections.txt:
10268           move some macros to private sections
10269         * gst/gstminiobject.c:
10270         * gst/gstminiobject.h:
10271           add descriptions provided by ds and some more
10272         * gst/gstpad.h:
10273           mark macro as to be removed
10274
10275 2005-10-28  Wim Taymans  <wim@fluendo.com>
10276
10277         * docs/design/part-TODO.txt:
10278         Add an item to TODO.
10279
10280         * gst/gstiterator.c: (gst_iterator_fold),
10281         (gst_iterator_find_custom):
10282         * gst/gstiterator.h:
10283         Add iterator docs.
10284
10285 2005-10-28  Wim Taymans  <wim@fluendo.com>
10286
10287         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10288         (gst_base_transform_init):
10289         Don't leak class.
10290
10291         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
10292         An EOS event marks the queue as completely filled.
10293
10294 2005-10-27  Wim Taymans  <wim@fluendo.com>
10295
10296         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10297         (gst_base_sink_do_sync), (gst_base_sink_get_position):
10298         Some more debugging.
10299
10300         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
10301         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
10302         (gst_base_transform_event), (gst_base_transform_getrange),
10303         (gst_base_transform_chain):
10304         * gst/base/gstbasetransform.h:
10305         Fix debugging,
10306         Protect transform and concurrent buffer alloc with a new lock.
10307         Try not to break ABI/API.
10308
10309 2005-10-27  Wim Taymans  <wim@fluendo.com>
10310
10311         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10312         (gst_base_src_init), (gst_base_src_query),
10313         (gst_base_src_default_newsegment),
10314         (gst_base_src_configure_segment), (gst_base_src_do_seek),
10315         (gst_base_src_send_event), (gst_base_src_event_handler),
10316         (gst_base_src_pad_get_range), (gst_base_src_loop),
10317         (gst_base_src_unlock), (gst_base_src_default_negotiate),
10318         (gst_base_src_start), (gst_base_src_deactivate),
10319         (gst_base_src_activate_push), (gst_base_src_change_state):
10320         Move some stuff around and cleanup things.
10321
10322 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
10323
10324         * gst/base/gstbasesrc.c: (gst_base_src_query):
10325           Add missing break statements.
10326
10327 2005-10-27  Wim Taymans  <wim@fluendo.com>
10328
10329         * check/gst/gstbin.c: (GST_START_TEST):
10330         An extra refcount is taken in basesrc.
10331
10332         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
10333         (gst_base_src_get_range), (gst_base_src_pad_get_range),
10334         (gst_base_src_loop):
10335         Small cleanups, check for flushing after being unlocked from the 
10336         LIVE_LOCK. take refcounts correctly (not yet everywhere).
10337         Don't send out EOS when going to READY.
10338
10339 2005-10-27  Wim Taymans  <wim@fluendo.com>
10340
10341         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10342         (gst_base_sink_get_position):
10343         Some more debug.
10344
10345         * gst/gstbin.c: (message_check), (bin_replace_message),
10346         (bin_remove_messages), (is_eos), (gst_bin_add_func),
10347         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
10348         (bin_query_duration_init), (bin_query_duration_fold),
10349         (bin_query_duration_done), (bin_query_generic_fold),
10350         (gst_bin_query):
10351         * tools/gst-launch.c: (main):
10352         Remove old option.
10353
10354 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
10355
10356         * examples/controller/audio-example.c: (main):
10357         * examples/queue/queue.c: (event_loop):
10358         * gst/base/gstbasetransform.h:
10359         * gst/gstelement.c: (gst_element_send_event):
10360         * gst/gstevent.h:
10361         * gst/gstpad.c: (gst_pad_send_event):
10362           fixing examples
10363           fixing docs typos
10364           changing log priority in error situations
10365
10366 2005-10-25  Wim Taymans  <wim@fluendo.com>
10367
10368         * gst/gstbin.c: (message_check), (bin_replace_message),
10369         (bin_remove_messages), (is_eos), (gst_bin_add_func),
10370         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
10371         (bin_query_duration_init), (bin_query_duration_fold),
10372         (bin_query_duration_done), (bin_query_generic_fold),
10373         (gst_bin_query):
10374         Some doc and debug updates.
10375         Cache previously requested query DURATION for speed. invalidate
10376         cached duration if element posts a DURATION message.
10377
10378 2005-10-25  Wim Taymans  <wim@fluendo.com>
10379
10380         * docs/design/part-TODO.txt:
10381         Update TODO.
10382
10383         * gst/gstbin.c: (message_check), (bin_replace_message),
10384         (bin_remove_messages), (is_eos), (gst_bin_add_func),
10385         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
10386         (bin_query_duration_init), (bin_query_duration_fold),
10387         (bin_query_duration_done), (bin_query_generic_fold),
10388         (gst_bin_query):
10389         Handle SEGMENT_START/DONE messages correctly.
10390         More evolved query algorithm that handles duration queries
10391         correctly.
10392
10393         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
10394         (gst_element_get_state_func), (gst_element_abort_state),
10395         (gst_element_commit_state), (gst_element_lost_state):
10396         Some more debugging.
10397
10398         * gst/gstmessage.h:
10399         Added doc.
10400
10401 2005-10-25  Wim Taymans  <wim@fluendo.com>
10402
10403         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
10404         Don't use invalid stream_time.
10405
10406         * gst/gstevent.c: (gst_event_new_newsegment):
10407         stream_time in newsegment cannot be undefined.
10408
10409 2005-10-24  Wim Taymans  <wim@fluendo.com>
10410
10411         * gst/gstbus.c:
10412         Doc fix.
10413
10414         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10415         (gst_queue_loop):
10416         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
10417
10418 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
10419
10420         * docs/libs/tmpl/gstdparam.sgml:
10421         * docs/libs/tmpl/gstdplinint.sgml:
10422         * docs/libs/tmpl/gstdpman.sgml:
10423         * docs/libs/tmpl/gstdpsmooth.sgml:
10424         * docs/libs/tmpl/gstunitconvert.sgml:
10425           these are obsolete
10426
10427 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10428
10429         * configure.ac:
10430           back to HEAD
10431
10432 === release 0.9.4 ===
10433
10434 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10435
10436         * configure.ac:
10437           releasing 0.9.4, "Tyrannosaurus Rex"
10438
10439 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
10440
10441         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
10442         (gst_file_sink_get_current_offset):
10443           Use fseeko() and ftello() if available. When falling back on
10444           lseek() to get the current offset, fflush() first to make sure
10445           everything is up-to-date and we get the right offset.
10446
10447 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10448
10449         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10450         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10451         * gst/gsterror.c: (_gst_stream_errors_init):
10452         * gst/gsterror.h:
10453         * gst/gstqueue.c: (gst_queue_loop):
10454         * po/POTFILES.in:
10455           remove prematurely added error category and clean up the instances
10456
10457 2005-10-21  Wim Taymans  <wim@fluendo.com>
10458
10459         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10460         (gst_base_sink_get_position), (gst_base_sink_query),
10461         (gst_base_sink_change_state):
10462         Simply set the right flag when going to playing, that's all
10463         we need to do instead of calling a function inside the object
10464         lock (that could take the lock as well and deadlock)
10465
10466 2005-10-21  Wim Taymans  <wim@fluendo.com>
10467
10468         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
10469         (gst_base_src_loop):
10470         Don't warn, the peer element knows what to do best when
10471         the seek failed, it might try something else.
10472
10473 2005-10-21  Wim Taymans  <wim@fluendo.com>
10474
10475         * gst/base/gstbasesrc.c: (gst_base_src_init),
10476         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
10477         Fix seeking.
10478
10479 2005-10-21  Wim Taymans  <wim@fluendo.com>
10480
10481         * docs/design/part-segments.txt:
10482         More docs.
10483
10484         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
10485         Correctly set caps, even on the subbufer.
10486
10487 2005-10-21  Wim Taymans  <wim@fluendo.com>
10488
10489         * docs/gst/gstreamer-docs.sgml:
10490         * docs/gst/gstreamer-sections.txt:
10491         * gst/gstelement.h:
10492         * gst/gstevent.c:
10493         * gst/gstevent.h:
10494         * gst/gstmessage.h:
10495         * gst/gstpad.h:
10496         * gst/gstparse.h:
10497         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
10498         * gst/gsttask.h:
10499         * gst/gstutils.c:
10500         * gst/gstutils.h:
10501         And 2% more doc coverage.
10502
10503 2005-10-21  Andy Wingo  <wingo@pobox.com>
10504
10505         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
10506         position reporting.
10507
10508 2005-10-20  Wim Taymans  <wim@fluendo.com>
10509
10510         * gst/gsterror.c: (gst_error_get_message):
10511         * gst/gstparse.h:
10512         * gst/gstquery.h:
10513         * gst/gststructure.c:
10514         * gst/gsttrace.c:
10515         * gst/gstutils.c:
10516         More docs.
10517
10518 2005-10-20  Wim Taymans  <wim@fluendo.com>
10519
10520         * gst/gstbuffer.h:
10521         * gst/gstpad.c:
10522         * gst/gstparse.c:
10523         Another 1% more coverage.
10524
10525 2005-10-20  Wim Taymans  <wim@fluendo.com>
10526
10527         * docs/gst/gstreamer-sections.txt:
10528         * gst/gstelement.c: (gst_element_get_state_func),
10529         (gst_element_abort_state), (gst_element_commit_state),
10530         (gst_element_lost_state):
10531         * gst/gstevent.h:
10532         * gst/gstquery.c: (gst_query_set_position),
10533         (gst_query_parse_position), (gst_query_set_duration),
10534         (gst_query_parse_duration), (gst_query_new_convert):
10535         * gst/gstutils.c:
10536         Yay! 1% more docs coverage.
10537
10538 2005-10-20  Wim Taymans  <wim@fluendo.com>
10539
10540         * gst/gstpad.h:
10541         * gst/gstquery.c: (gst_query_set_position),
10542         (gst_query_parse_position), (gst_query_set_duration),
10543         (gst_query_parse_duration), (gst_query_new_convert):
10544         * gst/gstquery.h:
10545         * gst/gstutils.c: (gst_element_query_convert):
10546         * gst/gstutils.h:
10547         Docs and consistency fixes.
10548
10549 2005-10-20  Wim Taymans  <wim@fluendo.com>
10550
10551         * gst/gsttask.c:
10552         * gst/gsttask.h:
10553         More docs.
10554
10555 2005-10-20  Wim Taymans  <wim@fluendo.com>
10556
10557         * gst/gstbin.c: (message_check), (bin_replace_message),
10558         (bin_remove_messages), (is_eos), (gst_bin_add_func),
10559         (update_degree), (gst_bin_sort_iterator_next),
10560         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
10561         Reworked the message handling a bit, cache the messages instead of
10562         only the senders. alows us to do more in the future.
10563
10564 2005-10-20  Wim Taymans  <wim@fluendo.com>
10565
10566         * docs/design/part-TODO.txt:
10567         Update TODO
10568
10569         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
10570         (gst_base_sink_query):
10571         Don't use clock time to report position when in EOS.
10572
10573 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
10574
10575         * tools/gst-inspect.c: (print_interfaces),
10576         (print_element_properties_info), (print_element_info):
10577           Fix interface output with gst-inspect -a; don't print
10578           newlines after double/float properties.
10579
10580 2005-10-20  Wim Taymans  <wim@fluendo.com>
10581
10582         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
10583         (gst_base_sink_query):
10584         Speed up current position calculation.
10585
10586         * gst/base/gstbasesrc.c: (gst_base_src_query),
10587         (gst_base_src_default_newsegment):
10588         Correctly set stream position in newsegment.
10589
10590         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
10591         (update_degree), (gst_bin_sort_iterator_next),
10592         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
10593         * gst/gstmessage.c: (gst_message_new_custom):
10594         Clean up debugging info
10595
10596         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
10597         (gst_queue_loop), (gst_queue_handle_src_query):
10598         Pause task faster.
10599
10600 2005-10-19  Wim Taymans  <wim@fluendo.com>
10601
10602         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10603         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
10604         Fix query handling again.
10605
10606 2005-10-19  Wim Taymans  <wim@fluendo.com>
10607
10608         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10609         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
10610         * gst/base/gstbasesrc.c: (gst_base_src_query):
10611         * gst/elements/gstfilesink.c: (gst_file_sink_query):
10612         * gst/elements/gsttypefindelement.c:
10613         (gst_type_find_handle_src_query), (find_element_get_length),
10614         (gst_type_find_element_activate):
10615         API change fix.
10616
10617         * gst/gstquery.c: (gst_query_new_position),
10618         (gst_query_set_position), (gst_query_parse_position),
10619         (gst_query_new_duration), (gst_query_set_duration),
10620         (gst_query_parse_duration), (gst_query_set_segment),
10621         (gst_query_parse_segment):
10622         * gst/gstquery.h:
10623         Bundling query position/duration is not a good idea since duration
10624         does not change much and we don't want to recalculate it for every
10625         position query, so they are separated again..
10626         Base value in segment query is not needed.
10627
10628         * gst/gstqueue.c: (gst_queue_handle_src_query):
10629         * gst/gstutils.c: (gst_element_query_position),
10630         (gst_element_query_duration), (gst_pad_query_position),
10631         (gst_pad_query_duration):
10632         * gst/gstutils.h:
10633         Updates for query API change.
10634         Added some docs here and there.
10635
10636 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10637
10638         * check/gst/gstbin.c: (GST_START_TEST):
10639         * check/gst/gstghostpad.c: (GST_START_TEST):
10640         * check/pipelines/cleanup.c: (GST_START_TEST):
10641           wait on thread to die so we can check refcount correctly
10642
10643 2005-10-18  Wim Taymans  <wim@fluendo.com>
10644
10645         * check/pipelines/stress.c: (GST_START_TEST):
10646         Make check a little more time consuming.
10647
10648 2005-10-18  Wim Taymans  <wim@fluendo.com>
10649
10650         * check/Makefile.am:
10651         * check/pipelines/stress.c: (GST_START_TEST),
10652         (simple_launch_lines_suite), (main):
10653         Small state change torture test.
10654
10655         * docs/design/part-states.txt:
10656         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10657         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
10658         (gst_base_sink_change_state):
10659         Never take state lock from streaming thread, clean up ugly
10660         hacks. Unfortunatly core does not yet support nice ways to
10661         async commit state.
10662         
10663         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
10664         (bin_bus_handler):
10665         Start state recalc if a STATE_DIRTY message is posted, but only
10666         on the toplevel bin.
10667
10668         * gst/gstelement.c: (gst_element_sync_state_with_parent),
10669         (gst_element_get_state_func), (gst_element_abort_state),
10670         (gst_element_commit_state), (gst_element_lost_state),
10671         (gst_element_set_state_func), (gst_element_change_state):
10672         * gst/gstelement.h:
10673         State variables are now protected with the LOCK, the state
10674         lock is only used to serialize _set_state().
10675
10676 2005-10-18  Wim Taymans  <wim@fluendo.com>
10677
10678         * check/gst/gstbin.c: (GST_START_TEST):
10679         * check/gst/gstmessage.c: (GST_START_TEST):
10680         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10681         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
10682         (bin_bus_handler):
10683         * gst/gstelement.c: (gst_element_abort_state),
10684         (gst_element_commit_state), (gst_element_lost_state):
10685         * gst/gstmessage.c: (gst_message_new_state_changed),
10686         (gst_message_new_state_dirty), (gst_message_new_segment_start),
10687         (gst_message_new_segment_done), (gst_message_new_duration),
10688         (gst_message_parse_state_changed),
10689         (gst_message_parse_segment_start),
10690         (gst_message_parse_segment_done), (gst_message_parse_duration):
10691         * gst/gstmessage.h:
10692         * tools/gst-launch.c: (event_loop):
10693         Seriously, this is better than a previous commit as we only need
10694         to notify the fact that an element changed state in a streaming
10695         thread, marking the state of the parents dirty, hence the 
10696         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
10697         message.
10698
10699 2005-10-18  Wim Taymans  <wim@fluendo.com>
10700
10701         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
10702         (gst_bin_recalc_func):
10703         * gst/gstelement.c: (gst_element_set_clock),
10704         (gst_element_abort_state), (gst_element_lost_state):
10705         Cleanups, prepare for state change fixes.
10706
10707 2005-10-18  Wim Taymans  <wim@fluendo.com>
10708
10709         * gst/gstbin.h:
10710         * gst/gstelement.c: (gst_element_class_init),
10711         (gst_element_set_state), (gst_element_set_state_func):
10712         * gst/gstelement.h:
10713         Pending ABI changes.
10714         GThreadPool in GstBinClass to monitor async state changes.
10715         state_cookie in GstElement to detect concurrent gst/set state.
10716         set_state is now virtual too in case a very complicated element
10717         has to be constructed.
10718
10719 2005-10-18  Wim Taymans  <wim@fluendo.com>
10720
10721         * check/gst/gstbin.c: (GST_START_TEST):
10722         * check/gst/gstmessage.c: (GST_START_TEST):
10723         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10724         * gst/gstbin.c: (bin_bus_handler):
10725         * gst/gstelement.c: (gst_element_commit_state),
10726         (gst_element_lost_state):
10727         * gst/gstmessage.c: (gst_message_new_state_changed),
10728         (gst_message_new_segment_start), (gst_message_new_segment_done),
10729         (gst_message_new_duration), (gst_message_parse_state_changed),
10730         (gst_message_parse_segment_start),
10731         (gst_message_parse_segment_done), (gst_message_parse_duration):
10732         * gst/gstmessage.h:
10733         * tools/gst-launch.c: (event_loop):
10734         Make messages future proof.
10735         state-change gets a flag if it was a message comming from the
10736         streaming thread.
10737         segment-start/stop can also be specified in other formats.
10738         A message to notify an app that a pipeline changed playback 
10739         duration.
10740         Also fix a GstMessage leak in -launch
10741
10742 2005-10-18  Andy Wingo  <wingo@pobox.com>
10743
10744         * gst/gstelement.c (gst_element_dispose): More helpful message.
10745
10746 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10747
10748         reviewed by: <delete if not using a buddy>
10749
10750         * common/gtk-doc.mak:
10751
10752 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10753
10754         * gst/gstregistry.c: (gst_registry_scan_path_level):
10755           unref a plug-in we get that was already initialized
10756
10757 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
10758
10759         * docs/gst/gstreamer-sections.txt:
10760         * docs/libs/gstreamer-libs-sections.txt:
10761         * gst/gstelement.h:
10762           add new api entries
10763           hide internal macro
10764
10765 2005-10-17  Andy Wingo  <wingo@pobox.com>
10766
10767         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
10768         cleanup.
10769
10770         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
10771
10772         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
10773
10774         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
10775         (gst_element_get_state_func): Better debug message.
10776         (gst_element_commit_state): s/INFO/DEBUG/.
10777         (gst_element_lost_state, gst_element_change_state): 
10778
10779         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
10780         (gst_message_new_custom): s/INFO/LOG/.
10781
10782 2005-10-17  Michael Smith <msmith@fluendo.com>
10783
10784         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
10785           Check if end time is valid using end time, not start time.
10786
10787 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
10788
10789         * check/gst-libs/controller.c: (GST_START_TEST),
10790         (gst_controller_suite):
10791         * libs/gst/controller/gstcontroller.c:
10792         (gst_controlled_property_set_interpolation_mode):
10793         * libs/gst/controller/gstcontroller.h:
10794         * libs/gst/controller/gstinterpolation.c:
10795         * testsuite/controller/.cvsignore:
10796         * testsuite/controller/Makefile.am:
10797         * testsuite/controller/interpolator.c:
10798           merge controller testsuites
10799           fix broken tests
10800           remove mem-chunk from docs
10801
10802 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10803
10804         * gst/gstmemchunk.c:
10805         * gst/gstmemchunk.h:
10806         * gst/gsttrashstack.c:
10807         * gst/gsttrashstack.h:
10808           out.  get out.  you're fired.  to the Attic !
10809
10810 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10811
10812         * gst/gstcaps.c: (gst_caps_intersect):
10813           fix signedness issues in a (hopefully) correct way
10814         * gst/gstelement.c: (gst_element_pads_activate):
10815           some debugging
10816         * gst/gstobject.c: (gst_object_set_parent):
10817           some debugging
10818
10819 2005-10-17  Julien MOUTTE  <julien@moutte.net>
10820
10821         * gst/gstvalue.h: Fix prototypes.
10822
10823 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10824
10825         * docs/gst/gstreamer-sections.txt:
10826         * gst/gst.c: (gst_version_string):
10827         * gst/gst.h:
10828         * gst/gstversion.h.in:
10829         * win32/common/libgstreamer.def:
10830           add gst_version_string ()
10831
10832 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10833
10834         * configure.ac:
10835           clean up further
10836         * gst/gst.c: (init_post):
10837         * win32/common/config.h.in:
10838           it's PLUGINDIR now
10839         * gst/gstcaps.c: (gst_caps_intersect):
10840           use gint64, the range could be bigger than a guint
10841
10842 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10843
10844         * gst/gstclock.h:
10845           document potential problem in 2038
10846
10847 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10848
10849         * gst/gstcaps.c: (gst_caps_intersect):
10850           Fix guint j diving under 0
10851
10852 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10853
10854         * configure.ac:
10855         * win32/common/config.h:
10856         * win32/common/config.h.in:
10857           check for process.h, declares getpid() on Windows
10858         * gst/gstinfo.c:
10859           include process.h if we have it
10860         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
10861         * gst/gstmemchunk.h:
10862           fix signedness issues
10863         * win32/common/libgstreamer.def:
10864           fix get_type's
10865
10866 2005-10-16  Julien MOUTTE  <julien@moutte.net>
10867
10868         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
10869         fix. Because of unsigned ints, caps intersection was going nuts and
10870         trying to access structures with G_MAXUINT index. That fixes
10871         videotestsrc ! ffmpegcolorspace ! fakesink
10872         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
10873         consistency.
10874
10875 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10876
10877         * configure.ac:
10878           use the gettext macro
10879         * gst/elements/gstelements.c:
10880         * gst/gst.c:
10881         * gst/indexers/gstindexers.c:
10882           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
10883         * win32/common/config.h:
10884           updated config.h
10885         * win32/common/config.h.in:
10886           add the template to generate config.h
10887         * win32/common/gstenumtypes.c:
10888         * win32/common/gstversion.h:
10889           updated copies
10890
10891 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10892
10893         * gst/gst.c: (gst_version):
10894         * gst/gstversion.h.in:
10895           add the nano
10896
10897 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
10898
10899         * gst/gstevent.h:
10900           Oops, add missing closing bracket.
10901
10902 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10903
10904         * configure.ac:
10905           use common m4's for argument checking
10906
10907 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
10908
10909         * docs/gst/gstreamer-sections.txt:
10910         * gst/gstevent.h:
10911           Add GST_EVENT_TYPE_NAME() macro.
10912
10913 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10914
10915         * gst/gstinfo.c:
10916         * gst/gstpluginfeature.c:
10917         * gst/gsttask.c:
10918           privatize more symbols
10919
10920 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10921
10922         * configure.ac:
10923           add srcdir, builddir includes to GST_ALL_CFLAGS, since
10924           everything that uses GStreamer API should have the includes
10925
10926 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10927
10928         * docs/gst/gstreamer-sections.txt:
10929         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10930         * gst/gstvalue.h:
10931           give each value a _get_type, removes the DATA exports
10932
10933 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10934
10935         * gst/gst.c:
10936         * gst/gst.h:
10937           remove _gst_registry_auto_load, not used anymore
10938         * gst/gstbin.c: (gst_bin_get_type):
10939         * gst/gstbin.h:
10940         * gst/gstelement.c: (gst_element_get_type):
10941         * gst/gstelement.h:
10942         * gst/gstobject.c: (gst_object_get_type):
10943         * gst/gstobject.h:
10944         * gst/gstpad.c: (gst_pad_get_type):
10945         * gst/gstpad.h:
10946           make _get_type functions similar, fixes data export from library
10947
10948 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10949
10950         * configure.ac:
10951           correctly make conditionals
10952         * gst/elements/Makefile.am:
10953         * gst/elements/gstelements.c:
10954           fix typo causing fdsrc not to build
10955
10956 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10957
10958         * testsuite/Makefile.am:
10959         * testsuite/bytestream/.cvsignore:
10960         * testsuite/bytestream/Makefile.am:
10961         * testsuite/bytestream/filepadsink.c:
10962         * testsuite/bytestream/gstbstest.c:
10963         * testsuite/bytestream/test1.c:
10964         * testsuite/bytestream/testfile1:
10965         * testsuite/caps/normalisation.c:
10966         * testsuite/caps/random.c: (main):
10967         * testsuite/cleanup/.cvsignore:
10968         * testsuite/cleanup/Makefile.am:
10969         * testsuite/cleanup/cleanup1.c:
10970         * testsuite/cleanup/cleanup2.c:
10971         * testsuite/cleanup/cleanup3.c:
10972         * testsuite/cleanup/cleanup4.c:
10973         * testsuite/cleanup/cleanup5.c:
10974         * testsuite/controller/interpolator.c:
10975         * testsuite/debug/printf_extension.c: (main):
10976         * testsuite/elements/tee.c:
10977         * testsuite/negotiation/.cvsignore:
10978         * testsuite/negotiation/Makefile.am:
10979         * testsuite/negotiation/pad_link.c:
10980         * testsuite/pad/Makefile.am:
10981         * testsuite/pad/chainnopull.c:
10982         * testsuite/pad/getnopush.c:
10983         * testsuite/pad/link.c:
10984         * testsuite/refcounting/sched.c: (create_pipeline):
10985         * testsuite/registry/Makefile.am:
10986         * testsuite/registry/gst-print-formats.c:
10987         * testsuite/schedulers/.cvsignore:
10988         * testsuite/schedulers/142183-2.c:
10989         * testsuite/schedulers/142183.c:
10990         * testsuite/schedulers/143777-2.c:
10991         * testsuite/schedulers/143777.c:
10992         * testsuite/schedulers/147713.c:
10993         * testsuite/schedulers/147819.c:
10994         * testsuite/schedulers/147894-2.c:
10995         * testsuite/schedulers/147894.c:
10996         * testsuite/schedulers/Makefile.am:
10997         * testsuite/schedulers/group_link.c:
10998         * testsuite/schedulers/queue_link.c:
10999         * testsuite/schedulers/relink.c:
11000         * testsuite/schedulers/unlink.c:
11001         * testsuite/schedulers/unref.c:
11002         * testsuite/schedulers/useless_iteration.c:
11003         * testsuite/states/bin.c:
11004           clean out/remove some stuff from the testsuite directories
11005
11006 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11007
11008         * configure.ac:
11009           check for some headers
11010         * gst/elements/Makefile.am:
11011         * gst/elements/gstelements.c:
11012           don't compile fdsrc without sys/socket.h
11013         * gst/indexers/Makefile.am:
11014         * gst/indexers/gstindexers.c: (plugin_init):
11015           don't compile fileindex without mmap
11016
11017 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11018
11019         * configure.ac:
11020           reorganize
11021           clean up
11022           document more
11023           remove cruft
11024         * check/Makefile.am:
11025         * docs/gst/Makefile.am:
11026         * examples/helloworld/Makefile.am:
11027         * gst/Makefile.am:
11028         * gst/base/Makefile.am:
11029         * gst/check/Makefile.am:
11030         * gst/elements/Makefile.am:
11031         * gst/indexers/Makefile.am:
11032         * gst/parse/Makefile.am:
11033         * libs/gst/controller/Makefile.am:
11034         * libs/gst/dataprotocol/Makefile.am:
11035         * examples/helloworld/helloworld.c: (event_loop):
11036           compile fixes, though it's not being compiled currently
11037
11038 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
11039
11040         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
11041           Add some simple tests for the new taglist date API.
11042
11043 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
11044
11045         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
11046         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
11047           Beautify 'last-message' output: print 'none' for buffer timestamps
11048           and durations if none is set; improve alignment with next messages.
11049
11050 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
11051
11052         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
11053         * gst/gstpluginfeature.h:
11054         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
11055         * gst/gstregistry.h:
11056         * docs/gst/gstreamer-sections.txt:
11057           Add new API to check plugin feature version requirements.
11058
11059         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
11060           Some basic tests for the above.         
11061
11062 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11063
11064         * gst/gststructure.c: (gst_structure_to_string):
11065           guard against NULL printf - happens when for example
11066           a message structure with GstClock gets serialized
11067
11068 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11069
11070         * gst/base/gstcollectpads.c: (gst_collectpads_event):
11071           Fix presumable copy'n'pasto.
11072
11073 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11074
11075         * gst/elements/gstfakesrc.h:
11076         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
11077         * gst/elements/gsttypefindelement.c:
11078           fix some signedness
11079         * gst/elements/gstfilesink.c: (gst_file_sink_render):
11080           I wonder if this could actually write +2GB files before
11081
11082 2005-10-13  Andy Wingo  <wingo@pobox.com>
11083
11084         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
11085         Fix Timmeke Waymans bug.
11086         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
11087         string of the proper length to gst_caps_from_string. There's a
11088         potential for, before this fix, that this could cause someone
11089         connecting over the network to cause a segfault if the payload is
11090         not NUL-terminated.
11091
11092 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
11093
11094         * docs/design/draft-push-pull.txt:
11095         * docs/design/part-overview.txt:
11096         * docs/random/TODO-pre-0.9:
11097         * docs/random/old/ChangeLog.gstreamer:
11098         * gst/base/gstpushsrc.c:
11099         * gst/gstclock.c:
11100           fixed typos
11101
11102 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11103
11104         * gst/glib-compat.c: (gst_flags_get_first_value):
11105         * gst/glib-compat.h:
11106         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
11107         (gst_value_compare_double), (gst_value_serialize_flags):
11108           GLib 2.6 g_flags_get_first_value has a bug that triggers an
11109           infinite loop
11110
11111 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11112
11113         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11114         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
11115           fix up debugging
11116         * tools/gst-launch.c: (event_loop):
11117           print out clock nicely
11118
11119 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11120
11121         * docs/gst/gstreamer-sections.txt:
11122         * gst/gsttaglist.h:
11123         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
11124         (gst_tag_list_get_date_index):
11125           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
11126           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
11127
11128 2005-10-13  Julien MOUTTE  <julien@moutte.net>
11129
11130         * gst/base/gstcollectpads.c: (gst_collectpads_event),
11131         (gst_collectpads_chain):
11132         * gst/base/gstcollectpads.h: Handle newsegment and store informations
11133         in CollectData.
11134
11135 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
11136
11137         * docs/gst/gstreamer-sections.txt:
11138         * gst/gst.c:
11139         * gst/gsterror.h:
11140         * tools/gst-inspect.c: (main):
11141         * tools/gst-launch.c: (main):
11142         * tools/gst-run.c: (main):
11143         * tools/gst-xmlinspect.c: (main):
11144           fix GOption context leaks
11145           doc fixes
11146
11147 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11148
11149         * gst/gstbus.c:
11150           use HAVE_UNISTD_H
11151         * win32/common/config.h:
11152           update config
11153         * win32/vs6/grammar.dsp:
11154         * win32/vs6/libgstelements.dsp:
11155         * win32/vs6/libgstreamer.dsp:
11156           update vs6 files
11157
11158 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11159
11160         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11161         * gst/base/gstbasesrc.c: (gst_base_src_query):
11162           fix more guint64<->gdouble conversions
11163
11164 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11165
11166         * Makefile.am:
11167           add win32-update target
11168         * win32/common/gstconfig.h:
11169         * win32/common/gstenumtypes.c:
11170         * win32/common/gstenumtypes.h:
11171         * win32/common/gstversion.h:
11172           add files that visual studio can't generate
11173
11174 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11175
11176         * Makefile.am:
11177           add a win32-update target
11178         * configure.ac:
11179
11180 2005-10-12  Wim Taymans  <wim@fluendo.com>
11181
11182         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11183         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
11184         * gst/gstelement.c: (gst_element_commit_state),
11185         (gst_element_set_state):
11186         Protect flags with proper lock.
11187         unref provided cached clock in dispose.
11188
11189 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
11190
11191         * gst/gst.c:
11192         * gst/gstminiobject.h:
11193         * gst/gstpad.h:
11194         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
11195           removed unused flags from miniobject
11196           doc fixes
11197
11198 2005-10-12  Wim Taymans  <wim@fluendo.com>
11199
11200         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
11201         (gst_file_sink_event), (gst_file_sink_render):
11202         Flush before seeking.
11203
11204 2005-10-12  Andy Wingo  <wingo@pobox.com>
11205
11206         * gst/gst.c (gst_init_check): Ignore unknown options, as has
11207         always been the case.
11208
11209 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
11210
11211         * check/gst/gstbin.c: (GST_START_TEST):
11212         * docs/gst/gstreamer-sections.txt:
11213         * gst/base/gstbasesink.c: (gst_base_sink_init):
11214         * gst/base/gstbasesrc.c: (gst_base_src_init),
11215         (gst_base_src_get_range), (gst_base_src_check_get_range),
11216         (gst_base_src_start), (gst_base_src_stop):
11217         * gst/base/gstbasesrc.h:
11218         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
11219         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
11220         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
11221         (bin_bus_handler):
11222         * gst/gstbin.h:
11223         * gst/gstbuffer.h:
11224         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
11225         * gst/gstbus.h:
11226         * gst/gstelement.c: (gst_element_is_locked_state),
11227         (gst_element_set_locked_state), (gst_element_commit_state),
11228         (gst_element_set_state):
11229         * gst/gstelement.h:
11230         * gst/gstindex.c: (gst_index_init):
11231         * gst/gstindex.h:
11232         * gst/gstminiobject.h:
11233         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
11234         (gst_object_set_parent):
11235         * gst/gstobject.h:
11236         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
11237         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
11238         * gst/gstpad.h:
11239         * gst/gstpadtemplate.h:
11240         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
11241         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
11242         * gst/gstpipeline.h:
11243         * gst/indexers/gstfileindex.c: (gst_file_index_load),
11244         (gst_file_index_commit):
11245         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
11246         * testsuite/pad/link.c: (gst_test_src_init),
11247         (gst_test_filter_init), (gst_test_sink_init):
11248         * testsuite/states/locked.c: (main):
11249           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
11250           moved bitshift from macro to enum definition
11251
11252 2005-10-12  Wim Taymans  <wim@fluendo.com>
11253
11254         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
11255         * gst/elements/gstfilesink.c: (gst_file_sink_event),
11256         (gst_file_sink_render):
11257         Some more debugging info.
11258
11259 2005-10-12  Wim Taymans  <wim@fluendo.com>
11260
11261         * docs/design/part-states.txt:
11262         * tools/gst-launch.c: (main):
11263         Some doc updates.
11264         Revert non-intentional change.
11265
11266 2005-10-12  Wim Taymans  <wim@fluendo.com>
11267
11268         * check/gst/gstbin.c: (GST_START_TEST):
11269         * check/gst/gstelement.c: (GST_START_TEST):
11270         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
11271         * check/gst/gstghostpad.c: (GST_START_TEST):
11272         * check/gst/gstpipeline.c: (GST_START_TEST):
11273         * check/pipelines/simple_launch_lines.c: (run_pipeline):
11274         * check/states/sinks.c: (GST_START_TEST):
11275         * gst/elements/gsttypefindelement.c: (stop_typefinding):
11276         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
11277         (gst_bin_remove_func), (gst_bin_get_state_func),
11278         (gst_bin_recalc_state), (gst_bin_change_state_func),
11279         (bin_bus_handler):
11280         * gst/gstelement.c: (gst_element_get_state_func),
11281         (gst_element_get_state), (gst_element_abort_state),
11282         (gst_element_commit_state), (gst_element_set_state),
11283         (gst_element_change_state), (gst_element_change_state_func):
11284         * gst/gstelement.h:
11285         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
11286         (gst_pipeline_provide_clock_func):
11287         * gst/gstutils.c: (gst_element_link_pads_filtered):
11288         * tools/gst-launch.c: (main):
11289         * tools/gst-typefind.c: (main):
11290         Use GstClockTime in _get_state() instead of GTimeVal.
11291         Remove old code in gstutils.c
11292
11293 2005-10-12  Andy Wingo  <wingo@pobox.com>
11294
11295         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
11296         removed.
11297
11298         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
11299         there is no task. Shouldn't affect any code, as nothing in our
11300         plugins checks this return value.
11301         (gst_pad_stop_task): Also take the stream lock if the pad has no
11302         task. Docs updated.
11303
11304 2005-10-12  Wim Taymans  <wim@fluendo.com>
11305
11306         * gst/gstpad.c: (pre_activate), (post_activate),
11307         (gst_pad_activate_pull), (gst_pad_activate_push):
11308         Cleanup activation code. Reset old state if
11309         activation failed.
11310
11311 2005-10-12  Wim Taymans  <wim@fluendo.com>
11312
11313         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11314         (gst_base_sink_change_state):
11315         No need to prerol after receiving EOS.
11316
11317         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
11318         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
11319         * gst/elements/gstidentity.c: (gst_identity_event):
11320         Print events more verbosely.
11321
11322 2005-10-12  Wim Taymans  <wim@fluendo.com>
11323
11324         * check/Makefile.am:
11325         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
11326         * check/states/sinks2.c:
11327         Moved sinks2 testcode in sinks check.
11328
11329         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
11330         (gst_bin_remove_func), (gst_bin_recalc_state),
11331         (gst_bin_change_state_func), (bin_bus_handler):
11332         Fix potential race condition when _get_state() iterated over an
11333         ASYNC element right before it posted a state completion.
11334
11335         * gst/gstclock.h:
11336         Do proper cast here.
11337
11338         * gst/gstevent.c: (gst_event_new_newsegment),
11339         (gst_event_parse_newsegment):
11340         A playback rate of 0.0 is not allowed.
11341
11342 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11343
11344         * win32/common/config.h:
11345         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
11346         (_trewinddir), (_ttelldir), (_tseekdir):
11347         * win32/common/dirent.h:
11348         * win32/common/gtchar.h:
11349         * win32/common/libgstbase.def:
11350         * win32/common/libgstreamer.def:
11351         * win32/vs6/grammar.dsp:
11352         * win32/vs6/gst_inspect.dsp:
11353         * win32/vs6/gst_launch.dsp:
11354         * win32/vs6/gstreamer.dsw:
11355         * win32/vs6/libgstbase.dsp:
11356         * win32/vs6/libgstelements.dsp:
11357         * win32/vs6/libgstreamer.dsp:
11358           Visual Studio 6 project files, and a new common directory.
11359           Phear.
11360
11361 2005-10-11  Wim Taymans  <wim@fluendo.com>
11362
11363         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11364         (gst_base_sink_do_sync), (gst_base_sink_query),
11365         (gst_base_sink_change_state):
11366         * gst/base/gstbasesink.h:
11367         Correctly parse newsegment info.
11368
11369 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11370
11371         * gst/gst.c: (init_post):
11372           split plugin paths correctly
11373
11374 2005-10-11  Wim Taymans  <wim@fluendo.com>
11375
11376         * check/gst/gstevent.c: (GST_START_TEST):
11377         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11378         (gst_base_sink_change_state):
11379         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
11380         * gst/base/gstbasetransform.c: (gst_base_transform_event):
11381         * gst/elements/gstfilesink.c: (gst_file_sink_event):
11382         * gst/gstevent.c: (gst_event_new_newsegment),
11383         (gst_event_parse_newsegment):
11384         * gst/gstevent.h:
11385         Added extra flag to newsegment for future API freeze.
11386         Updated check and base elements.
11387
11388 2005-10-11  Julien MOUTTE  <julien@moutte.net>
11389
11390         * gst/base/gstcollectpads.c: (gst_collectpads_init),
11391         (gst_collectpads_add_pad), (gst_collectpads_pop),
11392         (gst_collectpads_event), (gst_collectpads_chain):
11393         * gst/base/gstcollectpads.h: Handle EOS correctly.
11394
11395 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11396
11397         * tools/gst-launch.c: (main):
11398           more null protecting
11399
11400 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11401
11402         * gst/gst-i18n-lib.h:
11403           check for ENABLE_NLS, not GETTEXT_PACKAGE
11404         * gst/gstregistry.c: (gst_registry_add_plugin),
11405         (gst_registry_scan_path_level),
11406         (_gst_registry_remove_cache_plugins):
11407           protect possibly NULL strings
11408         * gst/parse/types.h:
11409           config.h already included before
11410         * tools/gst-inspect.c: (main):
11411           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
11412           check for ENABLE_NLS, not GETTEXT_PACKAGE
11413         * tools/gst-launch.c: (main):
11414           check for ENABLE_NLS, not GETTEXT_PACKAGE
11415
11416 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11417
11418         * configure.ac:
11419           if we don't have glib, fail before testing 2.8
11420         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
11421           fix a leak, should fix plugins-base testsuite
11422
11423 2005-10-11  Andy Wingo  <wingo@pobox.com>
11424
11425         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
11426         take the mode we're going to as an arg. Go head and set the mode
11427         and flushing flags now, so that if the activate function starts a
11428         thread all the flags will be in the right state.
11429         (post_activate): Renamed also. Just handle making sure streaming
11430         finishes for the deactivation case, and setting the deactivated
11431         mode.
11432         (gst_pad_set_active): Complain loudly if deactivation fails.
11433         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
11434         (gst_pad_activate_push): Adapt to pre/post_activate changes,
11435         remove the terrible hack.
11436
11437 2005-10-11  Wim Taymans  <wim@fluendo.com>
11438
11439         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
11440         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
11441         (gst_bin_recalc_state), (gst_bin_change_state_func),
11442         (gst_bin_dispose), (bin_bus_handler):
11443         * gst/gstbin.h:
11444         Prepare to make current EOS message queue more generic.
11445         Fix some typos.
11446
11447         * gst/gstevent.c: (gst_event_new_newsegment),
11448         (gst_event_parse_newsegment):
11449         * gst/gstevent.h:
11450         Rename base to stream_time.
11451
11452         * gst/gstmessage.h:
11453         Fix typo in docs.
11454
11455 2005-10-11  Wim Taymans  <wim@fluendo.com>
11456
11457         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
11458         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
11459         (gst_bin_change_state_func), (bin_bus_handler):
11460         * gst/gstbin.h:
11461         Work on proper clock selection.
11462
11463 2005-10-11  Edward Hervey  <edward@fluendo.com>
11464
11465         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
11466         * libs/gst/controller/gstcontroller.h:
11467         Added GList* version of _remove_properties() in order to be able to wrap
11468         it in bindings.
11469
11470 2005-10-11  Wim Taymans  <wim@fluendo.com>
11471
11472         * docs/design/part-states.txt:
11473         Some more docs.
11474
11475         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
11476         (gst_bin_change_state_func), (bin_bus_handler):
11477         Doc updates. Don't distribute the same clock over and over again.
11478
11479         * gst/gstclock.c:
11480         * gst/gstclock.h:
11481         Doc updates.
11482
11483         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
11484         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
11485         (gst_pad_send_event):
11486         * gst/gstpad.h:
11487         Make probe emission threadsafe again.
11488         Register quarks and move _get_name() from utils.
11489         Doc updates.
11490
11491         * gst/gstpipeline.c: (gst_pipeline_class_init),
11492         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
11493         Only redistribute the clock of it changed.
11494
11495         * gst/gstsystemclock.h:
11496         Doc updates. 
11497
11498         * gst/gstutils.c:
11499         * gst/gstutils.h:
11500         Moved the _flow_get_name() to GstPad.
11501
11502 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11503
11504         * check/gst-libs/gdp.c: (GST_START_TEST):
11505         * check/gst/gstcaps.c: (GST_START_TEST):
11506         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
11507         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
11508         (gst_dp_packet_from_caps):
11509           fix more valgrind warnings before turning up the heat
11510
11511 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11512
11513         * gst/parse/grammar.y:
11514           some cleanup before the hacking
11515
11516 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11517
11518         * gst/base/gstbasesrc.c: (gst_base_src_query):
11519           use conversions
11520         * gst/gstutils.c: (gst_guint64_to_gdouble),
11521         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
11522         * gst/gstutils.h:
11523           externalize, basesrc uses it
11524           obviously the implementation needs testing
11525
11526 2005-10-10  Wim Taymans  <wim@fluendo.com>
11527
11528         * tests/sched/Makefile.am:
11529         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
11530         (make_pipeline3), (make_pipeline4), (print_elem), (main):
11531
11532 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11533
11534         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
11535           apparently converting from guint64 to double is not implemented
11536           on MSVC
11537
11538 2005-10-10  Wim Taymans  <wim@fluendo.com>
11539
11540         * check/Makefile.am:
11541         * check/generic/states.c: (GST_START_TEST):
11542         * check/gst/gstbin.c: (GST_START_TEST):
11543         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11544         * check/states/sinks.c: (GST_START_TEST):
11545         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
11546         (main):
11547         Check fixes, use API as stated in design docs, remove hacks.
11548
11549         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11550         (gst_base_sink_change_state):
11551         Catch stopping our task while we're shutting down.
11552
11553         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
11554         (gst_bin_remove_func), (gst_bin_get_state_func),
11555         (gst_bin_recalc_state), (gst_bin_change_state_func),
11556         (bin_bus_handler):
11557         * gst/gstbin.h:
11558         * gst/gstelement.c: (gst_element_init),
11559         (gst_element_get_state_func), (gst_element_abort_state),
11560         (gst_element_commit_state), (gst_element_lost_state),
11561         (gst_element_set_state), (gst_element_change_state),
11562         (gst_element_change_state_func):
11563         * gst/gstelement.h:
11564         New state change algorithm (see #318116)
11565
11566         * gst/gstpipeline.c: (gst_pipeline_class_init),
11567         (gst_pipeline_init), (gst_pipeline_set_property),
11568         (gst_pipeline_get_property), (do_pipeline_seek),
11569         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
11570         * gst/gstpipeline.h:
11571         Remove crude state change hacks.
11572
11573         * gst/gstutils.h:
11574         Remove crude hacks.
11575
11576         * tools/gst-launch.c: (main):
11577         Fixes for state change. Needs some more work to fully use the
11578         new stuff.
11579
11580 2005-10-10  Andy Wingo  <wingo@pobox.com>
11581
11582         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
11583
11584         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
11585         this flag, but it's not even in GLib 2.6. Odd. Hack around the
11586         issue.
11587
11588 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
11589
11590         * gst/gstiterator.c: (gst_iterator_new):
11591           Fix my previous commit: GTypes passed to gst_iterator_new()
11592           can be fundamental types.
11593
11594 2005-10-10  Wim Taymans  <wim@fluendo.com>
11595
11596         * gst/gstelement.c: (gst_element_iterate_pad_list),
11597         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
11598         (gst_element_iterate_sink_pads):
11599         Use src/sink pads lists for the respective iterators instead
11600         of filtering.
11601
11602 2005-10-10  Andy Wingo  <wingo@pobox.com>
11603
11604         Merged in popt removal + GOption addition patch from Ronald, bug
11605         #169772.
11606
11607         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
11608         GstElement macros around, remove popt-related symbols, add goption
11609         stuff.
11610
11611         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
11612         
11613         * docs/gst/Makefile.am:
11614         * docs/libs/Makefile.am: No POPT_CFLAGS.
11615         
11616         * examples/manual/Makefile.am:
11617         * docs/manual/basics-init.xml: Doc updates with an example.
11618         
11619         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
11620         (gst_init), (parse_one_option), (parse_goption_arg):
11621         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
11622         bit of hand merging and debugging to get the GOption stuff working
11623         tho.
11624         
11625         * tests/Makefile.am:
11626         * tools/Makefile.am:
11627         * tools/gst-inspect.c: (main):
11628         * tools/gst-launch.c: (main):
11629         * tools/gst-run.c: (main):
11630         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
11631
11632 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
11633
11634         * gst/gstiterator.c: (gst_iterator_new):
11635           Add assertions to make sure passed GType is likely to really
11636           be a GType (as the compiler won't catch it if the size and
11637           GType arguments get mixed up, see #318447).
11638
11639 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
11640
11641         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11642
11643         * gst/gstbin.c: (gst_bin_iterate_sorted):
11644           Pass GType and size arguments to gst_iterator_new() in the right
11645           order (maybe we should make _new() take the GType as first argument
11646           just like _new_list()?) (#318447).
11647           
11648
11649 2005-10-10  Wim Taymans  <wim@fluendo.com>
11650
11651         * gst/gstelement.c: (gst_element_finalize):
11652         And free the GStaticRecMutex too
11653
11654 2005-10-10  Andy Wingo  <wingo@pobox.com>
11655
11656         * gst/gstelement.c (gst_element_init, gst_element_finalize):
11657         Allocate and free the mutex properly.
11658
11659         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
11660         New macros.
11661         (GstElement): The state_lock is now recursive. Rebuild your
11662         plugins, suckers. Old macros adapted.
11663
11664         * docs/gst/gstreamer-sections.txt: Doc updates.
11665
11666         * gst/gstutils.h:
11667         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
11668         (g_static_rec_cond_wait): Ported from state changes patch, while
11669         we wait on bug #317802 to be solved in a well-distributed GLib.
11670
11671         * gst/gstelement.c (gst_element_change_state_func): Renamed from
11672         gst_element_change_state, variable name changes.
11673         (gst_element_change_state): Split out of gst_element_set_state in
11674         preparation for the state change merge. Doesn't pay attention to
11675         the 'transition' argument.
11676         (gst_element_set_state): Updates, hopefully purely cosmetic.
11677         (gst_element_sync_state_with_parent): MT-safety. Ported from the
11678         state change patch.
11679         (gst_element_get_state_func): Renamed from get_state, cosmetic
11680         changes.
11681
11682 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11683
11684         * gst/elements/gstelements.c:
11685         * win32/GStreamer.vcproj:
11686         * win32/config.h:
11687         * win32/dirent.c: (_tseekdir):
11688         * win32/gst-inspect.vcproj:
11689         * win32/gst-launch.vcproj:
11690         * win32/gstconfig.h:
11691         * win32/gstelements.vcproj:
11692         * win32/gstenumtypes.c: (gst_object_flags_get_type):
11693         * win32/gstreamer.def:
11694         * win32/msvc71.sln:
11695           updates for the win32 build (patch from Sebastien Moutte)
11696
11697 2005-10-10  Andy Wingo  <wingo@pobox.com>
11698
11699         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
11700         gst_bin_get_state, cleaned up (but no logic changes).
11701         (bin_element_is_sink): Comment updates.
11702         (sink_iterator_filter): Remove needless cast.
11703         (gst_bin_iterate_sinks): Doc update.
11704         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
11705         cleaned up (but no logic changes).
11706
11707         * check/states/sinks.c (test_src_sink): Cleanups from the state
11708         change patch.
11709         (test_livesrc_sink): Sync on the state.
11710
11711         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
11712         the state change patch.
11713
11714         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
11715         change patch.
11716
11717         * check/gst/gstbin.c: Merge in some style fixes and additional
11718         checks from Wim's state change patch.
11719
11720 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
11721
11722         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11723         (gst_type_find_helper):
11724           Check whether we have the requested data already in our list of
11725           cached buffers before pulling a new buffer; also make the buffer
11726           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
11727
11728 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11729
11730         * gst/gstcaps.c:
11731         * gst/gstevent.c:
11732           doc updates
11733         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11734           don't use long long, it's not portable.  Replacing with
11735           gint64 seems to work; let's hope no skeletons fall out of the closet.
11736
11737 2005-10-10  Andy Wingo  <wingo@pobox.com>
11738
11739         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
11740
11741 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
11742
11743         * docs/gst/gstreamer-sections.txt:
11744         * gst/gstevent.c:
11745         * gst/gstevent.h:
11746         * gst/gstinfo.c:
11747         * gst/gstinfo.h:
11748         * gst/gstmessage.c: (gst_message_parse_state_changed):
11749         * gst/gstpad.c:
11750         * gst/gstpad.h:
11751           more docs, fix compilation
11752
11753 2005-10-09  Philippe Khalaf <burger@speedy.org>
11754         * gst/gstmessage.c:
11755           Fixed a few forgotten variables on previous commit
11756
11757 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
11758
11759         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11760           Fix evil typefind crasher: getrange() might return a short
11761           buffer at the end of a file, but gst_type_find_peek() must
11762           either return the full data as requested or NULL, but
11763           never a short buffer.
11764
11765 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11766
11767         * gst/gstmessage.c: (gst_message_new_state_changed),
11768         (gst_message_parse_state_changed):
11769         * gst/gstmessage.h:
11770           don't use "new", it's a C++ keyword
11771
11772 2005-10-08  Wim Taymans  <wim@fluendo.com>
11773
11774         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
11775         * gst/gstelement.c: (gst_element_post_message):
11776         * gst/gstpipeline.c: (gst_pipeline_change_state):
11777         Small docs and debug updates.
11778
11779 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
11780
11781         * docs/gst/gstreamer-sections.txt:
11782         * gst/gstelementfactory.c:
11783         * gst/gstevent.c:
11784         * gst/gsttaglist.c:
11785           more docs
11786
11787 2005-10-08  Wim Taymans  <wim@fluendo.com>
11788
11789         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
11790         (gst_bin_dispose), (bin_bus_handler):
11791         Fix typos, add comments.
11792         Clear EOS list when going to PAUSED from any direction and do it
11793         in a threadsafe way.
11794         Get base time in a threadsafe way too.
11795         Fix confusing debug in the change_state function.
11796         Various other small cleanups.
11797         
11798         * gst/gstelement.c: (gst_element_post_message):
11799         Fix very verbose bus posting code.
11800
11801         * gst/gstpipeline.c: (gst_pipeline_class_init),
11802         (gst_pipeline_set_property), (gst_pipeline_get_property),
11803         (gst_pipeline_change_state):
11804         Small ARG_ -> PROP_ cleanup
11805
11806 2005-10-08  Wim Taymans  <wim@fluendo.com>
11807
11808         * gst/gstbin.c: (is_eos), (bin_bus_handler):
11809         Do a less CPU demanding EOS check because we can.
11810
11811 2005-10-08  Wim Taymans  <wim@fluendo.com>
11812
11813         * libs/gst/dataprotocol/dataprotocol.c:
11814         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
11815         (gst_dp_packet_from_event):
11816         * libs/gst/dataprotocol/dataprotocol.h:
11817         * libs/gst/dataprotocol/dp-private.h:
11818         It's about time we bump the version number.
11819         Since event types don't fit in the guint8 anymore describing
11820         the payload type, make payload type 16 bits wide.
11821
11822 2005-10-08  Wim Taymans  <wim@fluendo.com>
11823
11824         * docs/design/part-TODO.txt:
11825         * docs/design/part-clocks.txt:
11826         * docs/design/part-events.txt:
11827         * docs/design/part-gstbin.txt:
11828         * docs/design/part-gstelement.txt:
11829         * docs/design/part-gstpipeline.txt:
11830         * docs/design/part-live-source.txt:
11831         * docs/design/part-messages.txt:
11832         * docs/design/part-overview.txt:
11833         * docs/design/part-states.txt:
11834         Many doc updates.
11835
11836 2005-10-08  Wim Taymans  <wim@fluendo.com>
11837
11838         * gst/gstevent.c:
11839         * gst/gstevent.h:
11840         Fix event quark registration.
11841         Add some space between events so we can insert them in the
11842         right groups.
11843
11844 2005-10-08  Wim Taymans  <wim@fluendo.com>
11845
11846         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11847         (gst_base_sink_handle_buffer):
11848         Better log message.
11849
11850         * gst/gstbus.h:
11851         * gst/gstelement.h:
11852         More docs.
11853
11854         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11855         (gst_queue_set_property), (gst_queue_get_property):
11856         * gst/gstqueue.h:
11857         Remove old unused properties.
11858
11859 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
11860         * docs/gst/gstreamer-sections.txt:
11861         * gst/gstmessage.c:
11862         * gst/gstmessage.h:
11863         * gst/gstminiobject.c:
11864         * gst/gstminiobject.h:
11865         * gst/gstobject.h:
11866         * gst/gstpad.h:
11867         * gst/gstutils.h:
11868           lots of new docs and doc fixes
11869
11870 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11871
11872         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
11873         * gst/gstplugin.h:
11874         * gst/gstregistry.c: (gst_registry_lookup_locked),
11875         (gst_registry_scan_path_level):
11876         * gst/gstregistryxml.c: (load_plugin):
11877           Only ever load one plugin for a given plugin basename.
11878           This ensures correct overriding of GST_PLUGIN_PATH over
11879           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
11880           system installed plugins.
11881
11882 2005-10-08  Wim Taymans  <wim@fluendo.com>
11883
11884         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11885         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
11886         Prepare for doing QOS.
11887
11888 2005-10-08  Wim Taymans  <wim@fluendo.com>
11889
11890         * check/gst/gstbin.c: (GST_START_TEST):
11891         * check/pipelines/cleanup.c: (GST_START_TEST):
11892         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
11893         Allow new clock message too.
11894
11895 2005-10-08  Wim Taymans  <wim@fluendo.com>
11896
11897         * gst/gstmessage.c: (gst_message_new_error),
11898         (gst_message_new_warning), (gst_message_new_tag),
11899         (gst_message_new_state_changed), (gst_message_new_clock_provide),
11900         (gst_message_new_clock_lost), (gst_message_new_new_clock),
11901         (gst_message_new_segment_start), (gst_message_new_segment_done),
11902         (gst_message_parse_state_changed),
11903         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
11904         (gst_message_parse_new_clock):
11905         * gst/gstmessage.h:
11906         Also carry the clock in question.
11907
11908 2005-10-08  Wim Taymans  <wim@fluendo.com>
11909
11910         * gst/gstmessage.c: (gst_message_new_custom),
11911         (gst_message_new_eos), (gst_message_new_error),
11912         (gst_message_new_warning), (gst_message_new_tag),
11913         (gst_message_new_state_changed), (gst_message_new_clock_provide),
11914         (gst_message_new_new_clock), (gst_message_new_segment_start),
11915         (gst_message_new_segment_done), (gst_message_parse_state_changed),
11916         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
11917         * gst/gstmessage.h:
11918         Clean up.
11919         Added clock related messages.
11920
11921         * gst/gstpipeline.c: (gst_pipeline_change_state):
11922         Post message when the clock changed.
11923
11924         * tools/gst-launch.c: (event_loop):
11925         Print new clock.
11926
11927 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
11928
11929         * tools/gst-inspect.c: (print_element_properties_info):
11930           Can't pass NULL strings to g_print() on windows.
11931
11932 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11933
11934         * docs/Makefile.am:
11935         * docs/gst/Makefile.am:
11936         * docs/gst/gstreamer-docs.sgml:
11937         * docs/gst/running.xml:
11938         * docs/version.entities.in:
11939           add a chapter on running GStreamer.
11940           document GST_DEBUG and GST_PLUGIN* env vars
11941
11942 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11943
11944         * Makefile.am:
11945           remove include dir
11946         * configure.ac:
11947           remove PLUGINS_BUILDDIR stuff
11948         * gst/gst.c: (init_post):
11949           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
11950         * idiottest.mak:
11951           remove, it was condescending and not needed
11952
11953 2005-10-08  Wim Taymans  <wim@fluendo.com>
11954
11955         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
11956         (gst_base_sink_handle_object), (gst_base_sink_event),
11957         (gst_base_sink_wait), (gst_base_sink_handle_event),
11958         (gst_base_sink_change_state):
11959         * gst/base/gstbasesink.h:
11960         Repost EOS message while going to PLAYING if still EOS.
11961         Make sure that when receiving a FLUSH_START we don't attempt
11962         to sync on the clock anymore.
11963
11964 2005-10-08  Wim Taymans  <wim@fluendo.com>
11965
11966         * tools/gst-launch.c: (event_loop):
11967         Better message printout.
11968
11969 2005-10-08  Wim Taymans  <wim@fluendo.com>
11970
11971         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
11972         (gst_bin_child_proxy_get_children_count):
11973         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
11974         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
11975         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
11976         (gst_child_proxy_set_valist):
11977         * gst/parse/grammar.y:
11978         Make ChildProxy threadsafe and fix mem leaks.
11979
11980 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11981
11982         * gst/gst.c: (init_post):
11983           debug the GST_PLUGIN_ env vars
11984
11985 2005-10-08  Wim Taymans  <wim@fluendo.com>
11986
11987         * check/gst/gstbin.c: (GST_START_TEST):
11988         * check/gst/gstmessage.c: (GST_START_TEST):
11989         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
11990         * gst/gstelement.c: (gst_element_commit_state),
11991         (gst_element_lost_state):
11992         * gst/gstmessage.c: (gst_message_new_state_changed),
11993         (gst_message_parse_state_changed):
11994         * gst/gstmessage.h:
11995         * tools/gst-launch.c: (event_loop):
11996         Added extra field to STATE_CHANGE message with the pending
11997         state, which will be different from the new state soon.
11998
11999 2005-10-08  Wim Taymans  <wim@fluendo.com>
12000
12001         * gst/gstbus.c: (gst_bus_pop):
12002         * gst/gstclock.c:
12003         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
12004         Small cleanups and doc updates.
12005
12006 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12007
12008         * gst/gst.c: (init_pre):
12009         * gst/gstbin.c: (gst_bin_add_func):
12010           log distributing clocks and base time
12011         * gst/gstregistry.c: (gst_registry_add_plugin),
12012         (gst_registry_scan_path_level), (gst_registry_scan_path):
12013           clean up the debugging output a little
12014         * gst/gstutils.c: (gst_element_state_get_name):
12015           warn about a memleak (I've actually seen this be used, though
12016           it was probably a bug)
12017
12018 2005-10-07  Wim Taymans  <wim@fluendo.com>
12019
12020         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12021         (gst_base_src_init), (gst_base_src_default_newsegment),
12022         (gst_base_src_newsegment), (gst_base_src_do_seek),
12023         (gst_base_src_loop), (gst_base_src_start):
12024         * gst/base/gstbasesrc.h:
12025         Make the newsegment event customizable by subclasses.
12026
12027 2005-10-07  Wim Taymans  <wim@fluendo.com>
12028
12029         * gst/gstevent.c: (gst_event_new_buffersize),
12030         (gst_event_parse_buffersize):
12031         * gst/gstevent.h:
12032         New event for future idea.
12033
12034 2005-10-07  Andy Wingo  <wingo@pobox.com>
12035
12036         * gst/gstelement.c (gst_element_post_message): Doc update.
12037
12038         * docs/gst/gstreamer-sections.txt: Update.
12039
12040         * gst/gstmessage.c (gst_message_new_application): Made into a
12041         function like honest API calls.
12042         (gst_message_new_element): New message type.
12043
12044         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
12045
12046         * check/elements/fakesrc.c (test_no_preroll): New check, checks
12047         that setting a live fakesrc to PAUSED returns NO_PREROLL both
12048         times.
12049
12050         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
12051         NO_PREROLL from gst_element_change_state to fall through.
12052
12053 2005-10-07  Wim Taymans  <wim@fluendo.com>
12054
12055         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
12056         (gst_ghost_pad_do_activate_push):
12057         Activating a ghostpad with no internal pad in push mode
12058         is ok.
12059
12060 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12061
12062         * gst/gstobject.h:
12063           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
12064           Fixes compilation on Windows.
12065
12066 2005-10-07  Michael Smith <msmith@fluendo.com>
12067
12068         * tools/gst-inspect.c:
12069           Print out feature and plugin count at the end when printing out
12070           all features.
12071
12072 2005-10-04  Michael Smith <msmith@fluendo.com>
12073
12074         * gst/gsterror.c: (_gst_stream_errors_init):
12075           Add another error string used in a few existing plugins.
12076
12077         * gst/gstplugin.c:
12078         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
12079         * tools/gst-inspect.c: (print_element_info):
12080           When a feature disappears from a plugin (and the feature exists in
12081           the cached registry file), things went horribly wrong. This isn't a
12082           complete fix, we should actually be removing the 'missing' features
12083           from the features list when we load the actual plugin. That's not
12084           yet implemented. 
12085
12086 2005-10-04  Johan Dahlin  <johan@gnome.org>
12087
12088         * check/gst/gstiterator.c: (GST_START_TEST):
12089         * gst/gstbin.c: (gst_bin_iterate_elements),
12090         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
12091         * gst/gstelement.c: (gst_element_iterate_pads):
12092         * gst/gstformat.c: (gst_format_iterate_definitions):
12093         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
12094         (gst_iterator_new_list), (gst_iterator_filter):
12095         * gst/gstiterator.h:
12096         * gst/gstquery.c: (gst_query_type_iterate_definitions):
12097         Add a GType to GstIterator, update callsites and tests.
12098
12099 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12100
12101         * gst/gstpad.c: (gst_pad_event_default_dispatch):
12102           give events a chance to be handled by event probes when the pad
12103           is not linked
12104
12105 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12106
12107         * gst/gstevent.c: (gst_event_type_get_name),
12108         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
12109         * gst/gstevent.h:
12110           add string representations for event types
12111
12112 2005-10-06  Wim Taymans  <wim@fluendo.com>
12113
12114         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
12115         Don't use NULL pointers.
12116
12117 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12118
12119         * gst/gst_private.h:
12120         * gst/gstbus.c:
12121         * gst/gstelement.c:
12122         * gst/gstinfo.c:
12123         * gst/gstpluginfeature.c:
12124           widen the debug category in output to fit the biggest one we have
12125           add a bus category and use it
12126           play with the colors
12127           fix up some categories
12128
12129 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
12130
12131         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
12132           add push activation of sink ghost pads.
12133           Andye, please verify
12134
12135 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12136
12137         * gst/gstutils.c: (gst_element_link_pads):
12138           fix a bug in the case where neither element has a pad
12139         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
12140           add a test for that case
12141
12142 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12143
12144         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
12145           emit have-data before checking for peers.  This allows
12146           for probe handlers to connect elements.  This helps autopluggers.
12147         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
12148         (gst_pad_suite):
12149           add six checks, linked/unlinked with no/true/false probe
12150
12151 2005-10-04  Wim Taymans  <wim@fluendo.com>
12152
12153         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
12154         (gst_fake_sink_event), (gst_fake_sink_preroll),
12155         (gst_fake_sink_render), (gst_fake_sink_change_state):
12156         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
12157         (gst_fake_src_get_property), (gst_fake_src_create),
12158         (gst_fake_src_stop):
12159         * gst/elements/gstidentity.c: (gst_identity_stop):
12160         Protect last_message with lock.
12161
12162 2005-10-04  Edward Hervey  <edward@fluendo.com>
12163
12164         * gst/gstformat.h: 
12165         Added precision in the comments for GST_FORMAT_DEFAULT
12166
12167 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
12168
12169         * tools/gst-launch.c: (main):
12170           Don't try to run erroneous pipelines.
12171
12172 2005-10-04  Julien MOUTTE  <julien@moutte.net>
12173
12174         * gst/gstbus.c: We don't need this header.
12175
12176 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12177
12178         * configure.ac:
12179           back to development
12180
12181 === release 0.9.3 ===
12182
12183 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12184
12185         * README:
12186         * configure.ac:
12187           Releasing 0.9.3, "Unregistered"
12188
12189 2005-10-03  Andy Wingo  <wingo@pobox.com>
12190
12191         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
12192         whereby calling a pad's activatepush() function can start a thread
12193         that starts to push or pull before the pad gets the FLUSHING flag
12194         unset. Hack around it by holding the stream lock until the flag is
12195         set. Need to replace this with a proper solution. Together with
12196         the ghost pad fixes, this fixes mp3 playing/tagreading.
12197
12198         * docs/design/part-gstghostpad.txt: Add a note about activation of
12199         proxy pads outside of ghost pads.
12200
12201         * gst/gstghostpad.c: Implement the ghost pad activation design.
12202
12203 2005-10-02  Andy Wingo  <wingo@pobox.com>
12204
12205         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
12206         It is volatile, after all.
12207
12208         * docs/design/part-gstghostpad.txt: Flesh out activation with
12209         ghost pads.
12210
12211         * gst/base/gstbasesrc.c (gst_base_src_init): Use
12212         GST_DEBUG_FUNCPTR.
12213
12214 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
12215
12216         * configure.ac:
12217           Fix (unused) AM_CONDITIONAL tests.
12218
12219 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
12220
12221         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12222
12223         * gst/gstutils.c: (gst_pad_query_convert):
12224           Add assertion that makes sure src_val is >=0, just like
12225           gst_query_new_convert() has. (#315895)
12226
12227 2005-09-30  Edward Hervey  <edward@fluendo.com>
12228
12229         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
12230         Let's not iterate pads we're not interested in, it avoids getting 
12231         sky-high refcounts on sinkpad.
12232
12233 2005-09-30  Wim Taymans  <wim@fluendo.com>
12234
12235         * gst/gstelement.c: (gst_element_set_state),
12236         (gst_element_change_state):
12237         Small tweak, element in ASYNC remains ASYNC.
12238
12239 2005-09-30  Wim Taymans  <wim@fluendo.com>
12240
12241         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
12242         Only error is an error.
12243
12244         * gst/gstbin.c: (gst_bin_change_state):
12245         Better debugging.
12246
12247         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
12248         Also call pad_block in pad alloc.
12249
12250         * gst/gstutils.c: (gst_flow_get_name):
12251         Better debugging.
12252
12253 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12254
12255         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12256         (gst_base_src_get_range):
12257           Fix documentation typos. Add some more debug info.
12258
12259 2005-09-29  David Schleef  <ds@schleef.org>
12260
12261         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
12262           more end-user friendly.
12263         * tools/gst-inspect.c: (main): Check if command-line argument is
12264           a file and attempt to load that file as a plugin.
12265
12266 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12267
12268         * check/gst/gstbin.c:
12269         * check/states/sinks.c:
12270           fix tests for the new warning
12271         * check/gst/gstpipeline.c:
12272           add a test for pipeline and bus interaction
12273         * gst/gstelement.c:
12274           elements should be NULL if they get disposed; add a warning if not
12275
12276 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12277
12278         * gst/gstobject.c:
12279           for 2.6 refcounting, make debug log more correct by printing
12280           the actual refcounts at the time of swap (Wim)
12281
12282 2005-09-29  Andy Wingo  <wingo@pobox.com>
12283
12284         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
12285         removes signal watches previously added via
12286         gst_bus_add_signal_watch.
12287         (gst_bus_add_signal_watch): Don't return the source id, just store
12288         it on the bus if there wasn't an id already.
12289
12290         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
12291         add_signal_watch and remove_signal_watch.
12292
12293 2005-09-29  Edward Hervey  <edward@fluendo.com>
12294
12295         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
12296         Better if we actually iterate the list :)
12297
12298 2005-09-29  Wim Taymans  <wim@fluendo.com>
12299
12300         * check/gst/gstbin.c: (GST_START_TEST):
12301         Change for new bus API.
12302
12303         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
12304         (send_messages), (GST_START_TEST), (gstbus_suite):
12305         Change for new bus signal API.
12306
12307         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
12308         (gst_bus_source_prepare), (gst_bus_source_check),
12309         (gst_bus_create_watch), (gst_bus_add_watch_full),
12310         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
12311         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
12312         * gst/gstbus.h:
12313         Remove support for multiple GSources operating on different
12314         message types as it is too complex and unneeded when using
12315         signals.
12316         Added support for receiving signals from the bus.
12317
12318 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
12319
12320         * docs/libs/tmpl/gstdataprotocol.sgml:
12321         * docs/manual/advanced-dataaccess.xml:
12322         * gst/elements/gstcapsfilter.c:
12323         * gst/gstutils.c:
12324           rename filter-caps to caps property
12325
12326 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12327
12328         * gst/gstvalue.c: (gst_value_deserialize_fraction):
12329           More robust fraction string parsing.
12330
12331         * docs/pwg/appendix-porting.xml:
12332           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
12333
12334 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
12335
12336         * gst/gstcaps.c: (gst_caps_do_simplify):
12337           Thou shalt not free a structure and then continue using it
12338           in the next loop iteration.
12339
12340         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
12341         (gst_caps_suite):
12342           Add test case for caps simplification.
12343
12344 2005-09-29  Wim Taymans  <wim@fluendo.com>
12345
12346         * check/gst/gstbin.c: (GST_START_TEST):
12347         Oops.
12348
12349 2005-09-29  Wim Taymans  <wim@fluendo.com>
12350
12351         * check/gst/gstbin.c: (GST_START_TEST):
12352         Add bus to bin.
12353
12354         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
12355         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
12356         (find_element), (gst_bin_sort_iterator_next),
12357         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12358         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12359         (gst_bin_change_state), (gst_bin_dispose):
12360         A bin does not have a bus, it gets the bus from the parent.
12361
12362         * gst/gstelement.c: (gst_element_requires_clock),
12363         (gst_element_provides_clock), (gst_element_is_indexable),
12364         (gst_element_is_locked_state), (gst_element_change_state),
12365         (gst_element_set_bus_func):
12366         Small cleanups.
12367
12368         * gst/gstpipeline.c: (gst_pipeline_class_init),
12369         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
12370         The pipeline provides a bus.
12371
12372 2005-09-28  Johan Dahlin  <johan@gnome.org>
12373
12374         * gst/gstmessage.c (gst_message_parse_state_changed): Use
12375         gst_structure_get_enum instead of gst_structure_get_int
12376
12377         * gst/gststructure.c (gst_structure_get_enum): Impl.
12378
12379         * gst/gststructure.h (gst_structure_get_enum): Add
12380
12381         * docs/gst/gstreamer-sections.txt: Ditto
12382
12383         * gst/gstmessage.c (gst_message_new_state_changed): Use
12384         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
12385         which does introspection.
12386         Reviewed by Christian Schaller
12387
12388 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
12389
12390         * gst/gstinfo.c: (gst_debug_log_default):
12391           don't do dummy g_strdup()s
12392         * libs/gst/controller/gstcontroller.c:
12393         (on_object_controlled_property_changed),
12394         (gst_controlled_property_new), (gst_controller_new_valist),
12395         (gst_controller_new_list),
12396         (gst_controller_remove_properties_valist), (gst_controller_set),
12397         (gst_controller_get), (gst_controller_sync_values),
12398         (gst_controller_get_value_array), (_gst_controller_class_init),
12399         (gst_controller_get_type):
12400         * libs/gst/controller/gstcontroller.h:
12401         * libs/gst/controller/gstinterpolation.c:
12402         (gst_controlled_property_find_timed_value_node):
12403           convert // to /**/ comments
12404
12405 2005-09-28  Wim Taymans  <wim@fluendo.com>
12406
12407         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
12408         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
12409         (gst_bus_sync_signal_handler):
12410         * gst/gstbus.h:
12411         Added async-message and sync-message signals to the bus.
12412         Added helper BusFunc to emit signals for all posted messages.
12413
12414         * gst/gstmessage.c: (gst_message_type_get_name),
12415         (gst_message_type_to_quark), (gst_message_get_type):
12416         * gst/gstmessage.h:
12417         Register quarks for message names.
12418
12419 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
12420
12421         * docs/libs/gstreamer-libs-sections.txt:
12422         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12423         (gst_controller_new_list):
12424         * libs/gst/controller/gstcontroller.h:
12425           added another constructor for language bindings
12426
12427 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12428
12429         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
12430           add another check
12431         * gst/gstbus.c:
12432           add some doc
12433         * gst/gstinfo.c: (_gst_debug_init):
12434           slightly more readable color for refcount debugging
12435
12436 2005-09-28  Wim Taymans  <wim@fluendo.com>
12437
12438         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
12439         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
12440         (find_element), (gst_bin_sort_iterator_next),
12441         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12442         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12443         (gst_bin_change_state), (gst_bin_dispose):
12444         Small doc fixes. get_clock -> provide_clock.
12445
12446         * gst/gstelement.c: (gst_element_class_init),
12447         (gst_element_provides_clock), (gst_element_provide_clock),
12448         (gst_element_get_clock), (gst_element_commit_state),
12449         (gst_element_lost_state):
12450         * gst/gstelement.h:
12451         Make get/set_clock() symetric. Add provide_clock vmethod since
12452         that is actually what this function does.
12453
12454         * gst/gstpipeline.c: (gst_pipeline_class_init),
12455         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
12456         (gst_pipeline_get_clock):
12457         get_clock -> provide_clock.
12458
12459 2005-09-28  Andy Wingo  <wingo@pobox.com>
12460
12461         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
12462         lieu of real docs...
12463
12464         * gst/elements/gstfdsrc.c: Cleaned up a bit.
12465
12466 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
12467
12468         * gst/elements/gstcapsfilter.c:
12469         * gst/elements/gstfakesink.c:
12470         * gst/elements/gstfakesrc.c:
12471         * gst/elements/gstfdsink.c:
12472         * gst/elements/gstfdsrc.c:
12473         * gst/elements/gstfilesink.c:
12474         * gst/elements/gstfilesrc.c:
12475         * gst/elements/gstidentity.c:
12476         * gst/elements/gsttee.c:
12477         * gst/elements/gsttypefindelement.c:
12478           Make element details static.
12479
12480 2005-09-28  Wim Taymans  <wim@fluendo.com>
12481
12482         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12483         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12484         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12485         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12486         (gst_bin_change_state), (gst_bin_dispose):
12487         Some documentation updates.
12488         Clean up dispose handlers.
12489
12490         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
12491         * gst/gstpad.c: (gst_pad_dispose):
12492         Clean up dispose handler.
12493
12494         * gst/gstpipeline.c: (gst_pipeline_change_state):
12495         Removed spurious UNLOCK.
12496
12497 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
12498
12499         * docs/gst/gstreamer-sections.txt:
12500         * gst/base/gstbasesrc.h:
12501         * gst/gstelement.h:
12502         * gst/gstevent.h:
12503         * gst/gstobject.h:
12504         * gst/gstpad.h:
12505         * gst/gstpipeline.c:
12506         * gst/gstpipeline.h:
12507         * gst/gstutils.h:
12508         * gst/gstxml.h:
12509           added two new functions to the docs
12510                 documents all undocumented GstXXXFlags
12511                 completed some incomplete docs 
12512
12513 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12514
12515         * gst/gstbin.c: (gst_bin_dispose):
12516         * gst/gstelement.c: (gst_element_dispose):
12517           remove now useless and leaky resurrection code in dispose
12518         * gst/base/gstbasesrc.c: (gst_base_src_init):
12519         * gst/gstelementfactory.c: (gst_element_factory_create):
12520         * gst/gstobject.c: (gst_object_set_parent):
12521           add some debugging
12522
12523 2005-09-27  Wim Taymans  <wim@fluendo.com>
12524
12525         * docs/design/part-TODO.txt:
12526         Update TODO.
12527
12528         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12529         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12530         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12531         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12532         (gst_bin_change_state):
12533         * gst/gstelement.h:
12534         Remove element variable, we keep element info in the iterator now.
12535
12536 2005-09-27  Andy Wingo  <wingo@pobox.com>
12537
12538         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
12539         values.
12540
12541 2005-09-27  Wim Taymans  <wim@fluendo.com>
12542
12543         * check/gst/gstbin.c: (GST_START_TEST):
12544         Enable check that works now.
12545
12546         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12547         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12548         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12549         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12550         (gst_bin_change_state):
12551         * gst/gstbin.h:
12552         Redid the state change algorithm using a topological sort algo.
12553         Handles all cases correctly.
12554         Exposed iterator for state change order.
12555
12556         * gst/gstelement.h:
12557         Temp storage for state changes. Need to get rid of this soon.
12558
12559 2005-09-27  Wim Taymans  <wim@fluendo.com>
12560
12561         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
12562         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
12563         (link_fold_func), (gst_pad_proxy_setcaps):
12564         Leak fixes, the fold functions need to unref the passed object and
12565         _get_parent_*() returns ref to parent.
12566
12567 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12568
12569         * check/gst/gstbuffer.c: (test_make_writable):
12570           Plug leak in test case and fix 'make check-valgrind'
12571
12572 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12573
12574         * gst/gstbuffer.c: (gst_subbuffer_init):
12575           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
12576           works correctly in all circumstances (we could have just copied
12577           the parent buffer's readonly flag, but conceptually it seems
12578           cleaner to mark all subbuffers as read-only). (based on patch
12579           by Alessandro Decina, #314710).
12580         
12581         * check/gst/gstbuffer.c: (create_read_only_buffer),
12582         (test_make_writable), (test_subbuffer_make_writable),
12583         (gst_test_suite):
12584           Add some tests for gst_buffer_make_writable().
12585
12586 2005-09-27  Wim Taymans  <wim@fluendo.com>
12587
12588         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
12589         use gst_object_has_ancestor().
12590
12591         * gst/gstobject.c: (gst_object_has_ancestor):
12592         * gst/gstobject.h:
12593         gst_object_has_ancestor() copied from gstbin.c as it is a
12594         usefull function.
12595
12596         * tests/instantiate/create.c: (create_all_elements):
12597         * tests/lat.c: (handoff_src), (handoff_sink):
12598         * tests/sched/runxml.c: (main):
12599         * tests/seeking/seeking1.c: (main):
12600         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
12601         (main):
12602         Fix compilation of some tests.
12603
12604 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12605
12606         * gst/gsterror.h:
12607           Remove comment. GST_TYPE_G_ERROR is here to stay,
12608           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
12609           (#316961, #300610).
12610
12611 2005-09-26  Wim Taymans  <wim@fluendo.com>
12612
12613         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12614         Added check that shows error in state change order.
12615
12616 2005-09-26  Wim Taymans  <wim@fluendo.com>
12617
12618         * gst/gstbin.c: (gst_bin_change_state):
12619         Make state change function use 3 queues again, we were
12620         adding elements in the wrong order.
12621
12622         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
12623         Some debug info,
12624
12625         * gst/gstpad.c: (gst_pad_dispose):
12626         Added some debug info first.
12627
12628 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
12629
12630         * docs/design/draft-push-pull.txt:
12631         * docs/design/part-events.txt:
12632         * docs/design/part-overview.txt:
12633         * docs/design/part-scheduling.txt:
12634           Replace all _pull_region() with _pull_range()
12635           
12636 2005-09-26  Andy Wingo  <wingo@pobox.com>
12637
12638         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
12639
12640         * check/gst-libs/controller.c: Update for controller api change.
12641
12642         * configure.ac: 
12643         * tests/Makefile.am:
12644         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
12645         over by GLib bug 118439.
12646         
12647         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
12648         routines to a function.
12649
12650         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
12651
12652         * libs/gst/controller/gsthelper.c:
12653         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
12654         (gst_object_sync_values): Renamed from sink_values. Ugh.
12655
12656         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
12657
12658         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
12659         Renamed from controller_key, as it is exported.
12660
12661         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
12662
12663 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12664
12665         * gst/Makefile.am:
12666         * gst/gst.h:
12667         * gst/gstpad.h:
12668         * gst/gstpadtemplate.h:
12669         * gst/gstquery.c:
12670         * gst/gstquery.h:
12671         * gst/gstqueryutils.c:
12672         * gst/gstqueryutils.h:
12673           remove queryutils headers after moving the two used functions
12674           to gstquery.  also fixes build problem for gstsiddec
12675
12676 2005-09-26  Michael Smith <msmith@fluendo.com>
12677
12678         * tools/gst-launch.1.in:
12679         Correct documentation in manpage of debug syntax
12680
12681 2005-09-26  Wim Taymans  <wim@fluendo.com>
12682
12683         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
12684         (gst_base_src_is_seekable), (gst_base_src_change_state):
12685         Some more debugging info.
12686
12687 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
12688
12689         * docs/gst/gstreamer-sections.txt:
12690         * gst/base/gstbasetransform.h:
12691         * gst/gstindex.h:
12692           added more docs
12693
12694 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
12695
12696         * docs/gst/.cvsignore:
12697         * docs/gst/tmpl/.cvsignore:
12698         * docs/gst/tmpl/gstpipeline.sgml:
12699         * docs/gst/tmpl/gstplugin.sgml:
12700         * gst/gstpipeline.c:
12701         * gst/gstplugin.c:
12702         * gst/gstplugin.h:
12703           inlined the last two docs files
12704           removed the tmpl directory from cvs (no more conflicts here!)
12705
12706 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
12707
12708         * docs/gst/gstreamer-sections.txt:
12709         * docs/gst/tmpl/.cvsignore:
12710         * docs/gst/tmpl/gstpad.sgml:
12711         * docs/gst/tmpl/gstpadtemplate.sgml:
12712         * gst/Makefile.am:
12713         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
12714         (gst_pad_finalize), (gst_pad_set_pad_template):
12715         * gst/gstpad.h:
12716         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
12717         (gst_pad_template_class_init), (gst_pad_template_init),
12718         (gst_pad_template_dispose), (name_is_valid),
12719         (gst_static_pad_template_get), (gst_pad_template_new),
12720         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
12721         (gst_pad_template_pad_created):
12722         * gst/gstpadtemplate.h:
12723           inlined two more docs
12724           factored gstpadtemplate out of gstpad
12725
12726 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
12727
12728         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
12729         (test_children_state_change_order_semi_sink):
12730           Fix test case: we can't rely on a fixed state change order when
12731           going from READY => PAUSED because the sink might commit its 
12732           new state first when the first buffer created by the source 
12733           reaches the sink before the source has finished its change state.
12734           (Test case still fails at times, see #316856, comment 5 onwards)
12735
12736 2005-09-24  Wim Taymans  <wim@fluendo.com>
12737
12738         * docs/design/part-events.txt:
12739         * docs/design/part-gstbus.txt:
12740         * docs/design/part-gstpipeline.txt:
12741         * docs/design/part-messages.txt:
12742         * docs/design/part-overview.txt:
12743         * docs/design/part-segments.txt:
12744         * gst/gstbin.c:
12745         * gst/gstbuffer.c:
12746         * gst/gstclock.c:
12747         * gst/gstelement.c:
12748         * gst/gstevent.c:
12749         * gst/gstfilter.c:
12750         * gst/gstiterator.c:
12751         Various documentation updates.
12752
12753 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12754
12755         * gst/gstclock.h:
12756           Well, that's embarassing.  Luckily we weren't using
12757           GST_CLOCK_DIFF anywhere.
12758
12759 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12760
12761         * common/gtk-doc.mak:
12762           don't fail on building XML, FC4 slave shows a bunch of doc
12763           missing bits that I don't get
12764         * gst/gstpad.c:
12765         * gst/gstpipeline.c:
12766         * gst/gststructure.c:
12767           some doc updates
12768
12769 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
12770
12771         * docs/design/part-gstbin.txt:
12772         * docs/design/part-gstbus.txt:
12773         * gst/gstbus.c:
12774           Add blurb about how the bus goes into flushing mode and
12775           drops all messages when its bin goes from READY into NULL 
12776           state.
12777
12778 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12779
12780         * docs/gst/gstreamer-sections.txt:
12781         * gst/gststructure.c: (gst_structure_get_clock_time):
12782         * gst/gststructure.h:
12783           add a method to get a GstClockTime out of a structure
12784
12785 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
12786
12787         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
12788         (test_children_state_change_order_semi_sink), (gst_bin_suite):
12789           Added test to check state change order in bins (can still be made
12790           to fail here under heavy disk load; bails out with 'Push on pad
12791           fakesink:sink0, but it was not activated in push mode').
12792
12793         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
12794           Fix state change order when there is only a semi sink (#316856)
12795
12796         * gst/gstbus.c: (gst_bus_class_init):
12797           Use _class_peek_parent(), not _class_ref(); fix docs to say
12798           'default main context' instead of 'mainloop' where that is
12799           what's meant.
12800
12801         * gst/gstelement.c: (gst_element_commit_state),
12802         (gst_element_set_state):
12803           Fix typos in debug messages
12804
12805 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12806
12807         * docs/README:
12808         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
12809         * gst/gstpluginfeature.c:
12810         * gst/gstutils.c:
12811           various doc updates
12812         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12813           change an assert into an error until it gets fixed properly
12814
12815 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
12816
12817         * docs/gst/gstreamer-sections.txt:
12818         * docs/gst/tmpl/.cvsignore:
12819         * docs/gst/tmpl/gstelement.sgml:
12820         * docs/gst/tmpl/gstinfo.sgml:
12821         * docs/gst/tmpl/gstobject.sgml:
12822         * gst/gstelement.c:
12823         * gst/gstelement.h:
12824         * gst/gstinfo.c:
12825         * gst/gstinfo.h:
12826         * gst/gstobject.c: (gst_object_class_init):
12827         * gst/gstobject.h:
12828           inlined 3 more biiiig doc files and added some missing docs on the fly
12829
12830 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12831
12832         * check/gst/.cvsignore:
12833         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
12834         * gst/gstregistryxml.c: (load_plugin),
12835         (gst_registry_xml_save_plugin):
12836           put back source in registry.  add checks for find_plugin.
12837         * testsuite/states/bin.c: (assert_state), (empty_bin),
12838         (test_adding_one_element), (main):
12839         * testsuite/states/locked.c: (main):
12840           some compile/run fixes
12841
12842 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12843
12844         * check/gst/gstvalue.c: (GST_START_TEST):
12845           fix leaks in the test itself
12846
12847 2005-09-22  Wim Taymans  <wim@fluendo.com>
12848
12849         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
12850         (gst_base_sink_send_event), (gst_base_sink_peer_query),
12851         (gst_base_sink_query):
12852         Prepare for more accurate position reporting and query
12853         handling.
12854
12855         * gst/gstelement.c: (gst_element_send_event),
12856         (gst_element_set_state):
12857         Add some comment.
12858
12859 2005-09-22  Wim Taymans  <wim@fluendo.com>
12860
12861         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
12862         (gst_query_parse_segment):
12863         * gst/gstquery.h:
12864         More documentation.
12865         Add segment query for future use.
12866
12867 2005-09-22  Wim Taymans  <wim@fluendo.com>
12868
12869         * gst/gstbin.c: (gst_bin_add_func):
12870         Some more debug info.
12871
12872         * gst/gstelement.c: (gst_element_send_event):
12873         Simplify send_event
12874
12875         * gst/gstelement.h:
12876         Don't know how flags got broken.
12877
12878         * gst/gstquery.h:
12879         Added new query.
12880
12881 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12882
12883         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
12884           Add simplistic test suite for GST_TYPE_DATE serialisation and
12885           deserialisation.
12886
12887 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12888
12889         * docs/gst/gstreamer-sections.txt:
12890         * gst/gststructure.c: (gst_structure_set_valist),
12891         (gst_structure_get_date):
12892         * gst/gststructure.h:
12893         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
12894         (gst_date_copy), (gst_value_compare_date),
12895         (gst_value_serialize_date), (gst_value_deserialize_date),
12896         (gst_value_transform_date_string),
12897         (gst_value_transform_string_date), (_gst_value_initialize):
12898         * gst/gstvalue.h:
12899           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
12900           bunch of utility functions along with a hack that checks that
12901           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
12902           is required. Part of the grand scheme in #170777.
12903
12904 2005-09-22  Andy Wingo  <wingo@pobox.com>
12905
12906         * gst/gstconfig.h.in: Psych out gtk-doc.
12907
12908         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
12909
12910         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
12911
12912         * tools/gst-inspect.c (print_element_list): Plug some
12913         inconsequential leaks.
12914
12915         * gst/gstregistry.c (gst_registry_get_default): Doc.
12916
12917         * check/gst/gstplugin.c: 
12918         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
12919         * gst/gstelementfactory.c (gst_element_factory_create): 
12920         * gst/gstindexfactory.c (gst_index_factory_create): Update for
12921         refcount changes.
12922
12923         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
12924         (gst_plugin_feature_load): Doc, don't eat refs.
12925
12926         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
12927         (gst_plugin_list_free): Doc.
12928         (gst_plugin_load_file): Doc updates.
12929
12930         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
12931         accessors returning refcounted objects, return a ref.
12932
12933         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
12934         accessor for caps. IDEMPOTENCE. Oh yes.
12935
12936 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
12937
12938         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12939
12940         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
12941         (_gst_debug_register_funcptr):
12942           Add mutex to serialise access to the hash table with
12943           the function pointer => function name string mapping;
12944           make that hash table static scope (#316809).
12945
12946         * gst/registries/.cvsignore:
12947           Remove left-over file.
12948
12949 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
12950
12951         * docs/pwg/appendix-porting.xml:
12952           And something about newsegment events and caps-on-buffers to
12953           the porting guide (feel free to improve).
12954
12955 2005-09-21  Andy Wingo  <wingo@pobox.com>
12956
12957         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
12958         data and event probes on the same pad.
12959         (test_buffer_probe_once): Test that removing probes from within
12960         the probe functions works.
12961
12962 2005-09-21  Andy Wingo  <wingo@pobox.com>
12963
12964         * check/gst/gstutils.c: New file.
12965         (test_buffer_probe_n_times): A simple buffer probe test. More to
12966         come, foolios.
12967
12968         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
12969         have-data::buffer, not have-data.
12970         (gst_pad_add_event_probe): Likewise for have-data::event.
12971         (gst_pad_add_data_probe): More docs. The part about 'resolving the
12972         peer' isn't quite right yet though.
12973         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
12974         (gst_pad_remove_data_probe): Change to take the guint handler_id
12975         as their arg, not the function+data, which is more glib-like.
12976
12977         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
12978         the signal emission to indicate if the data is a buffer or an
12979         event.
12980         (gst_pad_get_type): Initialize buffer and event quarks.
12981         (gst_pad_class_init): have-data is now a detailed signal, yes it
12982         is.
12983
12984 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
12985
12986         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
12987         * gst/gstutils.c: (gst_util_set_value_from_string),
12988         (gst_util_set_object_arg):
12989           Don't put functional code in g_return_if_fail() or
12990           g_return_val_if_fail() statements, otherwise things will 
12991           break when G_DISABLE_CHECKS is defined during compilation.
12992
12993 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
12994
12995         * docs/gst/tmpl/.cvsignore:
12996         * docs/gst/tmpl/gstvalue.sgml:
12997         * gst/gstvalue.c:
12998         * gst/gstvalue.h:
12999           inlied another one and added  some obvious docs
13000
13001 2005-09-21  Wim Taymans  <wim@fluendo.com>
13002
13003         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
13004         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
13005         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
13006         (gst_fdsrc_get_property), (gst_fdsrc_create):
13007         * gst/elements/gstfdsrc.h:
13008         Properly implement fdsrc. Removed signal and timeout,
13009         better implemented somewhere else.
13010
13011 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
13012
13013         * docs/gst/tmpl/.cvsignore:
13014         * docs/gst/tmpl/gstimplementsinterface.sgml:
13015         * gst/gstinterface.c:
13016           inlined more docs
13017
13018 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
13019
13020         * docs/gst/gstreamer-sections.txt:
13021         * docs/gst/tmpl/.cvsignore:
13022         * docs/gst/tmpl/gstenumtypes.sgml:
13023           remove obsolete doc file
13024
13025 2005-09-21  David Schleef  <ds@schleef.org>
13026
13027         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
13028         little beer, fix a little leak.
13029
13030 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
13031
13032         * docs/gst/gstreamer-docs.sgml:
13033         * docs/gst/gstreamer-sections.txt:
13034         * docs/gst/tmpl/.cvsignore:
13035         * gst/Makefile.am:
13036         * gst/gst.h:
13037         * gst/gstbin.c:
13038         * gst/gstelement.h:
13039         * gst/gstindex.c: (gst_index_class_init):
13040         * gst/gstindex.h:
13041         * gst/gstindexfactory.c: (gst_index_factory_get_type),
13042         (gst_index_factory_class_init), (gst_index_factory_init),
13043         (gst_index_factory_finalize), (gst_index_factory_new),
13044         (gst_index_factory_destroy), (gst_index_factory_find),
13045         (gst_index_factory_create), (gst_index_factory_make):
13046         * gst/gstindexfactory.h:
13047         * gst/gstpluginfeature.c:
13048         * gst/gstpluginfeature.h:
13049         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
13050           more docs inlined, splitted gstindex.{c,h}
13051
13052 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13053
13054         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
13055           fix a leak
13056
13057 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
13058
13059         * gst/elements/gstfilesink.c: (gst_file_sink_init):
13060           Set sync to FALSE by default.
13061
13062 2005-09-20  Wim Taymans  <wim@fluendo.com>
13063
13064         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
13065         (gst_base_sink_init):
13066         Make sync property settable from subclass.
13067
13068         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
13069         (gst_fake_sink_change_state):
13070         Set sync to FALSE by default.
13071
13072 2005-09-20  Wim Taymans  <wim@fluendo.com>
13073
13074         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
13075         * tools/gst-launch.c: (main):
13076         The timeout handler should have lower priority than the source
13077         so we don't timeout before popping a message with 0 timeout.
13078         Dump error messages after failed state change.
13079
13080 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
13081
13082         * tools/gst-inspect.c: (print_element_properties_info):
13083           Fix two typos.
13084
13085 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13086
13087         * check/gst/gstevent.c:
13088         * gst/elements/gstfakesink.c:
13089         * gst/elements/gstfakesink.h:
13090           remove the sync property from fakesink.
13091           has the side effect of setting sync TRUE
13092           for fakesink, which is a change.  Anyone who knows how
13093           to fix this nicely in a GObject-y way, feel free.
13094
13095 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
13096
13097         * docs/gst/gstreamer-docs.sgml:
13098           remove probe refsection
13099
13100 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
13101
13102         * check/Makefile.am:
13103           disable valgrinding the controller test again
13104         * docs/gst/gstreamer-sections.txt:
13105           update for api-changes
13106
13107 2005-09-20  Wim Taymans  <wim@fluendo.com>
13108
13109         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
13110         (gst_base_sink_set_property), (gst_base_sink_get_property),
13111         (gst_base_sink_do_sync):
13112         * gst/base/gstbasesink.h:
13113         Added sync property to basesink to disable clock sync.
13114
13115 2005-09-20  Andy Wingo  <wingo@pobox.com>
13116
13117         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
13118         eating the caller's refcount.
13119
13120         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
13121         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
13122         refcount.
13123
13124         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
13125         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
13126         of GLib 2.8 public, so we can know which refcount to check in
13127         tests.
13128
13129         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
13130         (gst_object_init): Only set the gst refcount if we're going ahead
13131         with the refcount hack.
13132
13133 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
13134
13135         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
13136         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
13137           more leaks plumbed, added more debug-logging
13138         * gst/gstmacros.h:
13139           whitespace fix
13140
13141 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13142
13143         * gst/gstmessage.c:
13144           remove include of gstmemchunk.h
13145
13146 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13147
13148         * gst/gstclock.c: (_gst_clock_id_free):
13149           Commit from the Political Party For More Atomic CVS Commits,
13150           so that people don't waste too much of their day fishing
13151           out obvious leaks out of massive commits.
13152           Oh, and fix a pretty damn obvious leak in the memchunk
13153           removal code.
13154
13155 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
13156
13157         * check/Makefile.am:
13158         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
13159           plug mem-leak, re-add to valgrindable tests
13160
13161 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13162
13163         * gst/gstplugin.h:
13164           unbreak the build for those who have chronic arthritis
13165           and typing "make check" is just too taxing on the hands
13166
13167 2005-09-20  Andy Wingo  <wingo@pobox.com>
13168
13169         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
13170         really want it out, you should fix plugins at the same time.
13171
13172 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
13173
13174         * configure.ac:
13175         * docs/gst/gstreamer-sections.txt:
13176         * gst/gstobject.c:
13177           added missing symbols to api docs
13178           disable ref-count hack if we have glib >= 2.8
13179
13180 2005-09-19  David Schleef  <ds@schleef.org>
13181
13182         * docs/gst/Makefile.am: Ignore a few more internal headers
13183         * docs/gst/gstreamer-docs.sgml: Remove old sections
13184         * docs/gst/gstreamer-sections.txt: Remove old sections
13185         * docs/gst/tmpl/gstobject.sgml: update
13186         * docs/gst/tmpl/gstplugin.sgml: update
13187         * docs/gst/tmpl/gstpluginfeature.sgml: update
13188         * docs/random/ds/0.9-suggested-changes: update.
13189         * gst/Makefile.am: remove memchunk and trashstack, since they're
13190           not used.
13191         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
13192         * gst/gst.h: don't include some headers
13193         * gst/gstchildproxy.c: add gstmarshal.h
13194         * gst/gstclock.c: Don't use memchunks
13195         * gst/gstminiobject.c: Add some docs
13196         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
13197         * gst/gstobject.h: same
13198         * gst/gstplugin.c: include gstmacros.h
13199         * gst/gstplugin.h: don't include gstmacros.h, since it's private
13200         * gst/gstquery.c: don't use memchunks
13201         * gst/gstregistry.c: rename gst_registry_deinit()
13202         * gst/gstregistry.h: same
13203
13204 2005-09-19  David Schleef  <ds@schleef.org>
13205
13206         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
13207         * docs/libs/gstreamer-libs-sections.txt:
13208         * docs/libs/tmpl/gstgetbits.sgml:
13209         * docs/libs/tmpl/gstputbits.sgml:
13210
13211 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
13212
13213         * win32/gstenumtypes.c:
13214         * win32/gstenumtypes.h:
13215           Update.
13216
13217 2005-09-19  Wim Taymans  <wim@fluendo.com>
13218
13219         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
13220         Automatically PAUSE and RESUME a pipeline when a flushing seek
13221         is performed.
13222
13223 2005-09-19  Andy Wingo  <wingo@pobox.com>
13224
13225         * gst/gstregistry.h: Spacing fixen.
13226
13227 2005-09-19  Wim Taymans  <wim@fluendo.com>
13228
13229         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
13230         Handle state change failure more correctly.
13231
13232 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13233
13234         * check/Makefile.am:
13235         * check/pipelines/cleanup.c: (run_pipeline):
13236         * check/pipelines/simple_launch_lines.c: (run_pipeline),
13237         (GST_START_TEST):
13238           enable cleanup again after fixing the leak
13239         * docs/README:
13240           some more info on docs
13241
13242 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13243
13244         * check/Makefile.am:
13245           re-enable tests now that leaks are plugged
13246         * check/gst/gst.c:
13247         * check/gst/gstbin.c:
13248         * check/gst/gstpipeline.c:
13249           add some more tests while fixing leaks
13250         * common/check.mak:
13251           make sure binaries are uptodate when valgrinding/gdbing
13252         * gst/gst.c:
13253         * gst/gstelementfactory.c:
13254           remove a ref too many, and add a FIXME for when we get
13255           round to disposing of classes
13256         * gst/gstplugin.c:
13257           fix the refcounting when loading a plugin from a file and
13258           the code pretends that the pointer is the same even though
13259           of course it can change
13260         * gst/gstpluginfeature.c:
13261           unref plugins marked cached (a bit confusing as a name)
13262           as the docs state should be done
13263           various doc additions to explain refcounting
13264         * gst/gstregistry.c:
13265         * gst/gstregistryxml.c:
13266           debugging
13267
13268 2005-09-19  Wim Taymans  <wim@fluendo.com>
13269
13270         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
13271         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
13272         (send_messages), (GST_START_TEST), (gstbus_suite):
13273         * check/gst/gstpipeline.c: (GST_START_TEST):
13274         * check/pipelines/cleanup.c: (run_pipeline):
13275         * check/pipelines/simple_launch_lines.c: (run_pipeline),
13276         (GST_START_TEST):
13277         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
13278         (gst_bus_source_check), (gst_bus_source_dispatch),
13279         (gst_bus_create_watch), (gst_bus_add_watch_full),
13280         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
13281         * gst/gstbus.h:
13282         * tools/gst-launch.c: (event_loop):
13283         * tools/gst-md5sum.c: (event_loop):
13284         GstBusHandler -> GstBusFunc, return value has the same meaning as
13285         any other GSource (FALSE == remove source).
13286         _add_watch() and _add_watch_full() now take a MessageType mask to
13287         only handle specific types of messages.
13288         _poll() returns the GstMessage instead of the message type to avoid
13289         race conditions.
13290         _have_pending() takes a MessageType mask now too.
13291         Added testsuite for multiple bus watches.
13292         Fix testsuites and applications for new bus API.
13293
13294 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13295
13296         * check/Makefile.am:
13297           mark a bunch of the tests as to fix until we fix them
13298
13299 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13300
13301         * common/check.mak:
13302           use GST_PLUGIN settings for valgrind tests as well, so we're
13303           valgrinding the correct thing
13304         * gst/gst.c: (init_post):
13305           plug another leak
13306
13307 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13308
13309         * gst/gst.c: (init_post), (gst_deinit):
13310         * gst/gstelementfactory.c: (gst_element_factory_class_init),
13311         (gst_element_factory_finalize), (gst_element_factory_cleanup):
13312         * gst/gstindex.c: (gst_index_factory_class_init),
13313         (gst_index_factory_finalize):
13314         * gst/gstobject.c: (gst_object_dispose):
13315         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
13316         (gst_plugin_load_file), (gst_plugin_desc_free):
13317         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
13318         (gst_plugin_feature_finalize):
13319         * gst/gstregistry.c: (gst_registry_class_init),
13320         (gst_registry_init), (gst_registry_finalize),
13321         (gst_registry_get_default), (gst_registry_deinit):
13322         * gst/gstregistry.h:
13323         * gst/gstregistryxml.c: (load_feature), (load_plugin):
13324           various cleanups and memleak plugging.  make valgrind is happy now.
13325
13326 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13327
13328         * common/check.mak:
13329           add a check-valgrind target
13330
13331 2005-09-18  David Schleef  <ds@schleef.org>
13332
13333         * tools/gst-inspect.c: Revert the GOption code.
13334
13335 2005-09-17  David Schleef  <ds@schleef.org>
13336
13337         * check/Makefile.am: Fix environment variables.
13338         * check/gst/gstplugin.c: Fix for API changes.
13339         * tools/gst-inspect.c: Fix for API changes.
13340         * tools/gst-xmlinspect.c: Fix for API changes.
13341         * gst/gstelementfactory.c:
13342         * gst/gstplugin.c:
13343         * gst/gstplugin.h:
13344         * gst/gstpluginfeature.c:
13345         * gst/gstpluginfeature.h:
13346         * gst/gstregistry.c:
13347         * gst/gstregistry.h:
13348         * gst/gstregistryxml.c:
13349         * gst/gsttypefind.c:
13350         * gst/gsttypefindfactory.c:
13351         * gst/indexers/gstfileindex.c:
13352         * gst/indexers/gstmemindex.c:
13353         * gst/schedulers/Makefile.am:
13354           Change registry to keep track of both plugins and features,
13355           removing the feature tracking from plugins themselves.
13356
13357 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13358
13359         * check/Makefile.am:
13360         * tools/gst-register.1.in:
13361           remove gst-register
13362
13363 2005-09-15  David Schleef  <ds@schleef.org>
13364
13365         * check/gst/gstplugin.c:
13366         * gst/gstelementfactory.c:
13367         * gst/gstplugin.c:
13368         * gst/gstpluginfeature.c:
13369         * gst/gstregistry.c:
13370           Getting tired of debugging.  Disabled all the unreffing of
13371           plugins and features, which fixes the segfaults, but of
13372           course leaks like crazy.  At least playbin works.
13373
13374 2005-09-15  David Schleef  <ds@schleef.org>
13375
13376         * check/gst/gstplugin.c: (register_check_elements),
13377         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
13378         More testing
13379         * gst/elements/gsttypefindelement.c: Fix refcounting.
13380         * gst/gsttypefind.c:
13381         * gst/gsttypefindfactory.c:
13382         * gst/gsttypefindfactory.h:
13383
13384 2005-09-15  David Schleef  <ds@schleef.org>
13385
13386         * gst/gstindex.c: get refcounting correct.
13387         * gst/gstregistry.c: Handle the case where a feature/plugin is
13388           not found.
13389
13390 2005-09-15  David Schleef  <ds@schleef.org>
13391
13392         * check/Makefile.am:
13393         * check/gst/gstplugin.c: Add test
13394         * gst/gstplugin.c: Fix problems noticed by testsuite
13395         * gst/gstplugin.h:
13396         * gst/gstregistry.c: 
13397         * gst/gstregistry.h:
13398
13399 2005-09-15  David Schleef  <ds@schleef.org>
13400
13401         * gst/gstplugin.c: Implement semi-decent recounting and locking
13402           in plugins and plugin features.
13403         * gst/gstplugin.h:
13404         * gst/gstpluginfeature.c:
13405         * gst/gstpluginfeature.h:
13406         * gst/gstregistry.c:
13407
13408 2005-09-15  Michael Smith <msmith@fluendo.com>
13409
13410         * gst/gstregistry.c: (gst_registry_get_feature_list):
13411           Implement this. Makes oggdemux work; decodebin still broken.
13412
13413 2005-09-14  David Schleef  <ds@schleef.org>
13414
13415         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
13416           #316076)
13417         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
13418         * gst/check/Makefile.am:
13419         * libs/gst/controller/Makefile.am:
13420         * libs/gst/dataprotocol/Makefile.am:
13421
13422 2005-09-14  David Schleef  <ds@schleef.org>
13423
13424         * configure.ac: Remove getbits library.  Nothing uses it, and
13425           it should be in something like liboil if someone did want
13426           to use it.
13427         * libs/gst/Makefile.am:
13428         * libs/gst/getbits/Makefile.am:
13429         * libs/gst/getbits/gbtest.c:
13430         * libs/gst/getbits/getbits.c:
13431         * libs/gst/getbits/getbits.h:
13432         * libs/gst/getbits/gstgetbits_generic.c:
13433         * libs/gst/getbits/gstgetbits_i386.s:
13434         * libs/gst/getbits/gstgetbits_inl.h:
13435
13436 2005-09-14  David Schleef  <ds@schleef.org>
13437
13438         * gst/Makefile.am: Dist glib-compat.h
13439
13440 2005-09-14  David Schleef  <ds@schleef.org>
13441
13442         * configure.ac: Remove gst/registries, since it's no longer used.
13443         * gst/registries/Makefile.am:
13444         * gst/registries/gstlibxmlregistry.c:
13445         * gst/registries/gstlibxmlregistry.h:
13446         * gst/registries/gstxmlregistry.c:
13447         * gst/registries/gstxmlregistry.h:
13448         * gst/registries/registrytest.c:
13449
13450 2005-09-14  David Schleef  <ds@schleef.org>
13451
13452         * gst/glib-compat.h:
13453         * gst/gstregistryxml.c:
13454           Convergence is near.  Seriously.
13455
13456 2005-09-14  David Schleef  <ds@schleef.org>
13457
13458         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13459         * gst/glib-compat.h:
13460           Attempt #4 to appease the buildbots.
13461
13462 2005-09-14  David Schleef  <ds@schleef.org>
13463
13464         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13465           Attempt #3.
13466
13467 2005-09-14  David Schleef  <ds@schleef.org>
13468
13469         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13470         Attempt #2.
13471
13472 2005-09-14  David Schleef  <ds@schleef.org>
13473
13474         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
13475           the new functions.
13476
13477 2005-09-14  David Schleef  <ds@schleef.org>
13478
13479         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13480         * gst/glib-compat.h: Add some functions that are in newer versions
13481           of glib than we care to require.
13482         * gst/gstregistryxml.c: Use them.
13483
13484 2005-09-14  David Schleef  <ds@schleef.org>
13485
13486         * po/POTFILES.in: remove gst-register.c
13487
13488 2005-09-14  David Schleef  <ds@schleef.org>
13489
13490         * docs/gst/gstreamer-docs.sgml:
13491         * docs/gst/gstreamer-sections.txt:
13492         * docs/gst/gstreamer.types:
13493         * docs/gst/tmpl/gstelement.sgml:
13494         * docs/gst/tmpl/gstplugin.sgml:
13495         * docs/gst/tmpl/gstpluginfeature.sgml:
13496           Documentation updates for registry changes.
13497
13498 2005-09-14  David Schleef  <ds@schleef.org>
13499
13500         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
13501           because we don't require glib-2.8.
13502
13503 2005-09-14  David Schleef  <ds@schleef.org>
13504
13505         * gst/gstregistryxml.c: Added.  Essentially moved out of the
13506           registries directory.
13507
13508 2005-09-14  David Schleef  <ds@schleef.org>
13509
13510         * check/Makefile.am:
13511         * check/generic/states.c:
13512         * gst/Makefile.am:
13513         * gst/gst.c:
13514         * gst/gst.h:
13515         * gst/gst_private.h:
13516         * gst/gstelementfactory.c:
13517         * gst/gstindex.c:
13518         * gst/gstinfo.c:
13519         * gst/gstplugin.c:
13520         * gst/gstplugin.h:
13521         * gst/gstpluginfeature.c:
13522         * gst/gstpluginfeature.h:
13523         * gst/gstregistry.c:
13524         * gst/gstregistry.h:
13525         * gst/gstregistrypool.c: remove
13526         * gst/gstregistrypool.h: remove
13527         * gst/gsttypefind.c:
13528         * gst/gsttypefindfactory.c:
13529         * gst/gsturi.c:
13530         * tools/Makefile.am:
13531         * tools/gst-compprep.c:
13532         * tools/gst-inspect.c:
13533         * tools/gst-register.c: remove
13534         * tools/gst-xmlinspect.c:
13535           Registry rewrite.  Changes registry from being a file created
13536           by a tool into a simple cache file created automatically by 
13537           libgstreamer.  Removed gst-register (because it's no longer
13538           needed).  Remove registry pools, because we only have one
13539           registry implementation (XML).  Fix up other subsystems as
13540           necessary.
13541
13542 2005-09-13  Michael Smith <msmith@fluendo.com>
13543
13544         * gst/gstconfig.h.in:
13545           Don't Use windows linking attributes for MinGW. Fixes #316157
13546
13547 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13548
13549         * gst/gstutils.c: (set_state_async_thread_func),
13550         (gst_element_set_state_async):
13551           Apparently people think it's better if this function doesn't
13552           try to set the state to whatever state was asked for on the first
13553           call to this function for any object.  Seriously.
13554
13555 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13556
13557         * check/gst/gstpipeline.c: (GST_START_TEST):
13558         * docs/gst/gstreamer-sections.txt:
13559         * gst/gstutils.c: (set_state_async_thread_func),
13560         (gst_element_set_state_async):
13561         * gst/gstutils.h:
13562           add a "gst_element_set_state_async" method that
13563           sets the state and starts a thread to make sure the state
13564           change completes as best as it can
13565
13566 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13567
13568         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
13569           codify design+behaviour in testsuite after discussion
13570
13571 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13572
13573         * docs/gst/tmpl/gstelement.sgml:
13574         * docs/manual/appendix-quotes.xml:
13575           add a quote
13576         * gst/gstelement.c: (gst_element_set_state):
13577           add some debug
13578
13579 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
13580
13581         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13582         (gst_base_transform_prepare_output_buf),
13583         (gst_base_transform_handle_buffer):
13584         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
13585         (gst_capsfilter_prepare_buf):
13586           Remove the requirement for sub-classes to call the parent
13587           implementation of prepare_output_buffer with a wrapper function.
13588           
13589         * gst/gsttaglist.h:
13590         * gst/gsttagsetter.h:
13591           Fix #define wrapper
13592
13593 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
13594
13595         * docs/gst/gstreamer-sections.txt:
13596           more doc cleanups
13597
13598 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13599
13600         * docs/gst/gstreamer-sections.txt:
13601         * docs/gst/tmpl/gstelement.sgml:
13602         * docs/gst/tmpl/gstplugin.sgml:
13603         * gst/gstminiobject.c:
13604         * gst/gstvalue.h:
13605           docs now stop throwing warnings
13606
13607 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13608
13609         * docs/gst/gstreamer-sections.txt:
13610         * docs/gst/gstreamer.types:
13611         * docs/gst/tmpl/gstpad.sgml:
13612         * docs/gst/tmpl/gsttypes.sgml:
13613         * gst/base/gstadapter.h:
13614         * gst/base/gstbasesink.h:
13615         * gst/base/gstbasesrc.h:
13616         * gst/gstbin.h:
13617         * gst/gstbuffer.h:
13618         * gst/gstbus.h:
13619         * gst/gstcaps.h:
13620         * gst/gstclock.h:
13621         * gst/gstelement.h:
13622         * gst/gstevent.h:
13623         * gst/gstmessage.h:
13624         * gst/gstpad.h:
13625         * gst/gststructure.c:
13626         * gst/registries/gstlibxmlregistry.h:
13627           various documentation fixes
13628
13629 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13630
13631         * docs/gst/gstreamer-sections.txt:
13632         * docs/gst/tmpl/gstvalue.sgml:
13633           rearrange gstvalue section
13634         * gst/gstutils.c: (gst_element_state_get_name):
13635           NONE -> VOID
13636         * gst/gstvalue.c: (_gst_value_initialize):
13637         * gst/gstvalue.h:
13638           doc updates
13639
13640 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
13641
13642         * check/gst-libs/controller.c:
13643           Header include fix.
13644         * gst/base/gstbasetransform.c:
13645         (gst_base_transform_default_prepare_buf),
13646         (gst_base_transform_handle_buffer):
13647         * gst/base/gstbasetransform.h:
13648           Some more basetransform changes and fixes to enable sub-classes
13649           that modify buffer metadata only.
13650         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
13651         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
13652         (gst_capsfilter_prepare_buf):
13653           If the output pad has fixed allowed caps and input buffers 
13654           don't have any, set the fixed caps on outgoing buffers.
13655
13656 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
13657         * check/elements/identity.c: (GST_START_TEST):
13658           Make the error a little clearer when the test fails because
13659           identity made a copy of the buffer.
13660         * docs/gst/gstreamer-sections.txt:
13661           New symbols in gstbasetransform.h
13662         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13663         (gst_base_transform_init), (gst_base_transform_transform_size),
13664         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13665         (gst_base_transform_default_prepare_buf),
13666         (gst_base_transform_get_unit_size),
13667         (gst_base_transform_buffer_alloc),
13668         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
13669         (gst_base_transform_change_state),
13670         (gst_base_transform_set_passthrough),
13671         (gst_base_transform_set_in_place),
13672         (gst_base_transform_is_in_place):
13673         * gst/base/gstbasetransform.h:
13674           Change BaseTransform to separate in_place operate from same_caps
13675           output. in_place implies that the element can perform the transform
13676           on incoming buffers in-place, even if the caps on the output are
13677           different.
13678           Sub-class elements can now implement special buffer allocation
13679           methods for outgoing buffers if they wish to.
13680           Big documentation addition.
13681         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
13682         * gst/elements/gstelements.c:
13683           Changes for basetransform modifications.
13684         * gst/elements/Makefile.am:
13685         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
13686           Compile fix. Extra debug output.
13687
13688 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13689
13690         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
13691         (gst_pad_suite):
13692           add tests for valid pad naming
13693         * gst/check/gstcheck.c: (gst_check_log_message_func),
13694         (gst_check_log_critical_func):
13695           add ASSERT_WARNING
13696           remove printing of code, it is fragile when the code contains
13697           % and the line number is enough info
13698         * gst/check/gstcheck.h:
13699         * gst/gstpad.c: (gst_pad_template_new):
13700           fix memleaks
13701
13702 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13703
13704         * configure.ac:
13705           say what CHECK flags we use
13706         * docs/libs/gstreamer-libs.types:
13707         * libs/gst/controller/Makefile.am:
13708         * libs/gst/controller/gst-controller.c:
13709         * libs/gst/controller/gst-controller.h:
13710         * libs/gst/controller/gst-helper.c:
13711         * libs/gst/controller/gst-interpolation.c:
13712         * libs/gst/controller/gstcontroller.c:
13713         * libs/gst/controller/gsthelper.c:
13714         * libs/gst/controller/gstinterpolation.c:
13715         * tools/gst-inspect.c: (print_plugin_info):
13716           we don't use dashes in header names
13717
13718 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13719
13720         * check/Makefile.am:
13721         * check/gst/.cvsignore:
13722         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
13723         (gst_pipeline_suite), (main):
13724           adding a test for pipelines and state changes
13725         * gst/gstutils.c: (get_state_func):
13726           add some debugging
13727         * gstreamer.spec.in:
13728           fix up spec file
13729
13730 2005-09-08  Michael Smith <msmith@fluendo.com>
13731
13732         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
13733         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
13734         (gst_file_src_is_seekable), (gst_file_src_get_size),
13735         (gst_file_src_start):
13736         * gst/elements/gstfilesrc.h:
13737           Various fixes for unseekable, unmmapable, and non-normal files, so
13738           that fallback to read() rather than mmap() works.
13739         * gst/gstevent.c: (gst_event_new_newsegment):
13740           Allow newsegment events with segment_start == segment_end, as will
13741           correctly happen if you use filesrc on a zero-size file, for
13742           example.
13743
13744 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
13745
13746         * gst/gstplugin.c: (gst_plugin_load_file):
13747           Call g_module_close when we don't load the module
13748
13749         * gst/registries/gstlibxmlregistry.c:
13750         (gst_xml_registry_get_property):
13751           Port leak fix from 0.8
13752
13753 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13754
13755         * docs/gst/gstreamer-docs.sgml:
13756         * docs/gst/tmpl/.cvsignore:
13757         * docs/gst/tmpl/gsttrace.sgml:
13758         * docs/gst/tmpl/gsttrashstack.sgml:
13759         * gst/Makefile.am:
13760         * gst/gst.h:
13761         * gst/gstelement.h:
13762         * gst/gstevent.h:
13763         * gst/gstmessage.c:
13764         * gst/gstmessage.h:
13765         * gst/gsttag.c:
13766         * gst/gsttag.h:
13767         * gst/gsttaginterface.c:
13768         * gst/gsttaginterface.h:
13769         * gst/gsttaglist.c:
13770         * gst/gsttaglist.h:
13771         * gst/gsttagsetter.c:
13772         * gst/gsttagsetter.h:
13773         * gst/gsttrace.c:
13774         * gst/gsttrace.h:
13775         * gst/gsttrashstack.c:
13776           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
13777           inlined docs for gsttrace, gsttrashstack
13778
13779 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13780
13781         * gst/Makefile.am:
13782         * gst/elements/gstbufferstore.h:
13783         * gst/elements/gsttypefindelement.c:
13784         * gst/elements/gsttypefindelement.h:
13785         * gst/gst.h:
13786         * gst/gsttypefind.c:
13787         * gst/gsttypefind.h:
13788         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
13789         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
13790         (gst_type_find_factory_dispose),
13791         (gst_type_find_factory_unload_thyself),
13792         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
13793         (gst_type_find_factory_get_caps),
13794         (gst_type_find_factory_get_extensions),
13795         (gst_type_find_factory_call_function):
13796         * gst/gsttypefindfactory.h:
13797         * gst/registries/gstlibxmlregistry.c:
13798         * gst/registries/gstxmlregistry.c:
13799           splitted gsttypefind into gsttypefind, gsttypefindfactory
13800
13801 2005-09-07  Andy Wingo  <wingo@pobox.com>
13802
13803         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
13804         condition whereby the pad's task function is entered before the
13805         pad_mode variable was set.
13806
13807 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
13808
13809         * gst/gstpad.c: (gst_pad_alloc_buffer):
13810           Catch misbehaving pad_alloc functions that don't
13811           set up caps and do it for them.
13812
13813 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13814
13815         * check/pipelines/simple_launch_lines.c: (run_pipeline):
13816           test for pipe!=NULL
13817         * docs/gst/tmpl/.cvsignore:
13818         * docs/gst/tmpl/gstmemchunk.sgml:
13819         * docs/gst/tmpl/gstparse.sgml:
13820         * docs/gst/tmpl/gsttaglist.sgml:
13821         * docs/gst/tmpl/gsttagsetter.sgml:
13822         * docs/gst/tmpl/gsttypefind.sgml:
13823         * docs/gst/tmpl/gsttypefindfactory.sgml:
13824         * gst/gstmemchunk.c:
13825         * gst/gstparse.c:
13826         * gst/gsttag.c:
13827         * gst/gsttaginterface.c:
13828         * gst/gsttypefind.c:
13829         * gst/gsttypefind.h:
13830           inlined more docs
13831
13832 === release 0.9.2 ===
13833
13834 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13835
13836         * NEWS:
13837         * RELEASE:
13838         * configure.ac:
13839           releasing 0.9.2, "South"
13840
13841 2005-09-05  Andy Wingo  <wingo@pobox.com>
13842
13843         * gst/registries/gstxmlregistry.h:
13844         * gst/registries/gstxmlregistry.c: Um... resurrect...
13845         
13846         * gst/registries/gstxmlregistry.h:
13847         * gst/registries/gstxmlregistry.c: and update to newer API.
13848         Incidentally they should be a bit faster now that they don't have
13849         to parse the caps.
13850         
13851 2005-09-05  Andy Wingo  <wingo@pobox.com>
13852
13853         * gst/registries/gstxmlregistry.h:
13854         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
13855         replaced by the libxml registry a while back
13856
13857 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13858
13859         * docs/gst/tmpl/gstplugin.sgml:
13860         * gst/elements/gstelements.c:
13861         * gst/gst.c:
13862         * gst/gstplugin.c: (gst_plugin_register_func),
13863         (gst_plugin_desc_copy), (gst_plugin_desc_free),
13864         (gst_plugin_get_source):
13865         * gst/gstplugin.h:
13866         * gst/registries/gstlibxmlregistry.c: (load_plugin),
13867         (gst_xml_registry_save_plugin):
13868         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
13869         (gst_xml_registry_save_plugin):
13870         * tools/gst-inspect.c: (print_plugin_info):
13871           add a "source" plugin description field, to represent the source
13872           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
13873           will set it to PACKAGE, which is automake's idea of the name of
13874           the source project.
13875
13876 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13877
13878         * Makefile.am:
13879         * autogen.sh:
13880         * configure.ac:
13881         * docs/Makefile.am:
13882         * docs/faq/Makefile.am:
13883         * docs/gst/tmpl/gstelement.sgml:
13884         * docs/gst/tmpl/gsttypes.sgml:
13885         * docs/htmlinstall.mak:
13886         * docs/manual/Makefile.am:
13887         * docs/pwg/Makefile.am:
13888           reorganize doc build a little
13889           split out docbook and gtk-doc stuff
13890           have two separate --enable's and enable them through autogen
13891           but disable by default in configure (to be similar to other
13892           projects)
13893         * gstreamer.spec.in:
13894           clean up docs install
13895         * po/af.po:
13896         * po/az.po:
13897         * po/ca.po:
13898         * po/cs.po:
13899         * po/de.po:
13900         * po/en_GB.po:
13901         * po/fr.po:
13902         * po/it.po:
13903         * po/nb.po:
13904         * po/nl.po:
13905         * po/ru.po:
13906         * po/sq.po:
13907         * po/sr.po:
13908         * po/sv.po:
13909         * po/tr.po:
13910         * po/uk.po:
13911         * po/vi.po:
13912           translation updates
13913
13914 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
13915
13916         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
13917           Add comment.
13918           
13919         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
13920         (gst_fake_sink_change_state):
13921           Make state change function thread-safe.
13922           
13923         * gst/gstpad.c: (gst_pad_alloc_buffer):
13924           Set offset on generic buffer allocated by fallback.
13925
13926 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
13927
13928         * docs/gst/gstreamer-sections.txt:
13929         * docs/gst/tmpl/gstelement.sgml:
13930         * gst/gstpad.c:
13931         * libs/gst/controller/gst-controller.c:
13932         (gst_controlled_property_set_interpolation_mode),
13933         (gst_controlled_property_new),
13934         (gst_controller_find_controlled_property):
13935          run the wingo-magic script against the docs
13936
13937 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
13938
13939         * docs/gst/gstreamer-docs.sgml:
13940         * docs/gst/gstreamer-sections.txt:
13941         * docs/gst/tmpl/.cvsignore:
13942         * docs/gst/tmpl/gstelementdetails.sgml:
13943         * docs/gst/tmpl/gstelementfactory.sgml:
13944         * gst/gst.c:
13945         * gst/gstbus.c:
13946         * gst/gstelementfactory.c:
13947         * gst/gstelementfactory.h:
13948           merged elementdetails docs into elementfactory docs
13949           inlined both
13950
13951 2005-09-02  Andy Wingo  <wingo@pobox.com>
13952
13953         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
13954         consider this enum an enum and not a flags.
13955
13956 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
13957
13958         * docs/gst/gstreamer-docs.sgml:
13959         * docs/gst/tmpl/.cvsignore:
13960         * docs/gst/tmpl/gstghostpad.sgml:
13961         * docs/gst/tmpl/gstiterator.sgml:
13962         * docs/gst/tmpl/gstmacros.sgml:
13963         * docs/gst/tmpl/gstrealpad.sgml:
13964         * docs/gst/tmpl/gstregistry.sgml:
13965         * docs/gst/tmpl/gstregistrypool.sgml:
13966         * docs/gst/tmpl/gststructure.sgml:
13967         * docs/gst/tmpl/gstsystemclock.sgml:
13968         * docs/gst/tmpl/gsttrace.sgml:
13969         * gst/gstghostpad.c:
13970         * gst/gstmacros.h:
13971         * gst/gstmemchunk.c:
13972         * gst/gstmemchunk.h:
13973         * gst/gstqueue.c:
13974         * gst/gstregistry.c:
13975         * gst/gstregistrypool.c:
13976         * gst/gststructure.c:
13977         * gst/gstsystemclock.c:
13978           more docs inlined
13979
13980 2005-09-02  Andy Wingo  <wingo@pobox.com>
13981
13982         * gst/gstelement.h (GstState): Renamed from GstElementState,
13983         changed to be a normal enum instead of flags.
13984         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
13985         munged to be GST_STATE_CHANGE_*.
13986         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
13987         work with the new state representation.
13988         (GstStateChange): New enumeration of possible state transitions.
13989         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
13990         (GstElementClass::change_state): Pass the GstStateChange along as
13991         an argument. Helps language bindings, so they don't have to use
13992         tricky lock-needing macros like GST_STATE_CHANGE ().
13993
13994         * scripts/update-states (file): New script. Run it on a file to
13995         update it for state naming and API changes. Updates files in
13996         place.
13997
13998         * All files updated for the new API.
13999
14000 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14001
14002         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
14003         * gst/gstutils.c: (gst_util_set_value_from_string),
14004         (gst_util_set_object_arg):
14005           fix a bunch of unchecked return values
14006         * tools/gst-complete.c: (main):
14007         * gstreamer.spec.in:
14008           clean up a little
14009
14010 2005-09-01  Wim Taymans  <wim@fluendo.com>
14011
14012         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14013         (gst_base_sink_event), (gst_base_sink_do_sync),
14014         (gst_base_sink_handle_event):
14015         * gst/base/gstbasesink.h:
14016         Handle newsegments more correctly.
14017
14018         * gst/gstbus.c:
14019         Fix docs.
14020
14021         * gst/gstevent.c: (gst_event_new_newsegment):
14022         A newsegment cannot have a start_time of -1
14023
14024 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
14025
14026         * win32/gstenumtypes.c:
14027         * win32/gstenumtypes.h:
14028           Update
14029
14030 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
14031
14032         * libs/gst/controller/gst-controller.c:
14033         (gst_controlled_property_set_interpolation_mode),
14034         (gst_controlled_property_new):
14035          fixed boolean again
14036
14037 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
14038
14039         * docs/faq/gst-uninstalled:
14040           add -good
14041         * gst/gstevent.c:
14042         * gst/gstevent.h:
14043           remove wrong docs
14044         * gst/gstutils.c: (gst_element_link_filtered):
14045         * gst/gstutils.h:
14046           add gst_element_link_filtered
14047
14048 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
14049
14050         * docs/gst/gstreamer-docs.sgml:
14051         * docs/gst/gstreamer-sections.txt:
14052         * docs/gst/tmpl/.cvsignore:
14053         * docs/gst/tmpl/gsterror.sgml:
14054         * docs/gst/tmpl/gstfilter.sgml:
14055         * docs/gst/tmpl/gsturihandler.sgml:
14056         * docs/gst/tmpl/gsturitype.sgml:
14057         * docs/gst/tmpl/gstutils.sgml:
14058         * docs/gst/tmpl/gstxml.sgml:
14059         * gst/gsterror.c:
14060         * gst/gsterror.h:
14061         * gst/gstfilter.c:
14062         * gst/gsturi.c:
14063         * gst/gsturitype.c:
14064         * gst/gstutils.c:
14065         * gst/gstxml.c:
14066           inlined more docs, fixed double id-ref
14067
14068 2005-08-31  Wim Taymans  <wim@fluendo.com>
14069
14070         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
14071         (gst_base_transform_handle_buffer):
14072         Passthrough elements don't need the caps as they don't care.
14073
14074 2005-08-31  Wim Taymans  <wim@fluendo.com>
14075
14076         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
14077         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
14078         Don't leak refcounts on buffers.
14079
14080 2005-08-31  Wim Taymans  <wim@fluendo.com>
14081
14082         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
14083         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
14084         (gst_base_transform_chain), (gst_base_transform_change_state):
14085         * gst/base/gstbasetransform.h:
14086         Handle the case where we are not negotiated more gracefully.
14087
14088 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
14089
14090         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
14091         (gst_file_src_map_region):
14092           Set READONLY flag on mmap'ed buffers, otherwise
14093           gst_buffer_make_writable() won't work properly (#314708).
14094
14095 2005-08-31  Wim Taymans  <wim@fluendo.com>
14096
14097         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
14098         passthrough elements can even do inplace on non writable
14099         buffers (as they don't touch them).
14100
14101 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
14102
14103         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
14104         (gst_test_mono_source_set_property),
14105         (gst_test_mono_source_class_init), (GST_START_TEST),
14106         (gst_controller_suite):
14107           more tests (hehe I have the most)
14108         * gst/gstbus.c:
14109           describe popping messages whenusing mulltiple sources
14110         * libs/gst/controller/gst-controller.c:
14111         (gst_controlled_property_set_interpolation_mode),
14112         (gst_controlled_property_new):
14113         * libs/gst/controller/gst-controller.h:
14114         * libs/gst/controller/gst-interpolation.c:
14115           implement boolean properties
14116
14117 2005-08-31  Wim Taymans  <wim@fluendo.com>
14118
14119         * gst/gstminiobject.c: (gst_mini_object_ref):
14120         Cannot assert that the refcount has to be positive
14121         since a disposed object can be resurrected.
14122
14123 2005-08-31  Wim Taymans  <wim@fluendo.com>
14124
14125         * gst/gstpad.c: (gst_pad_init):
14126         Revert change, need to first fix badly behaving 
14127         apps.
14128
14129 2005-08-30  Wim Taymans  <wim@fluendo.com>
14130
14131         * check/elements/fakesrc.c: (setup_fakesrc):
14132         * check/elements/identity.c: (setup_identity):
14133         Activate pads before using them.
14134
14135 2005-08-30  Wim Taymans  <wim@fluendo.com>
14136
14137         * gst/base/gstadapter.c: (gst_adapter_flush):
14138         Flushing out 0 bytes is ok for this function.
14139
14140         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14141         no newsegment gives a warning and sets the start/stop to 
14142         invalid.
14143
14144         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
14145         (gst_base_transform_set_passthrough):
14146         Some debug info.
14147
14148         * gst/gstminiobject.c: (gst_mini_object_ref):
14149         Check refcount here too.
14150
14151         * gst/gstpad.c: (gst_pad_init):
14152         Pads are initially flushing and refusing data.
14153
14154         * gst/gstutils.c: (gst_element_link_pads_filtered):
14155         When adding a capsfilter element make sure it has the
14156         same state as the parent bin.
14157
14158 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
14159
14160         * docs/gst/tmpl/.cvsignore:
14161         * docs/gst/tmpl/gstformat.sgml:
14162         * docs/gst/tmpl/gstversion.sgml:
14163         * gst/gstbus.h:
14164         * gst/gstformat.c:
14165         * gst/gstformat.h:
14166         * gst/gstversion.h.in:
14167           more docs and two more inlined
14168
14169 2005-08-30  Wim Taymans  <wim@fluendo.com>
14170
14171         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
14172         Don't sync to clock.
14173
14174 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
14175
14176         * docs/gst/gstreamer-sections.txt:
14177           ultral33t func10ns deserve to appear in the docs actually
14178         * docs/gst/tmpl/.cvsignore:
14179         * docs/gst/tmpl/gstcompat.sgml:
14180         * docs/gst/tmpl/gstconfig.sgml:
14181         * gst/check/gstcheck.c:
14182         * gst/gstcompat.h:
14183         * gst/gstconfig.h.in:
14184           inlined more docs
14185
14186 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
14187
14188         * docs/gst/tmpl/.cvsignore:
14189         * docs/gst/tmpl/gstquery.sgml:
14190         * docs/gst/tmpl/gstutils.sgml:
14191         * gst/gstquery.c:
14192         * gst/gstquery.h:
14193           inlined and extended docs
14194
14195 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
14196
14197         * check/gst-libs/controller.c: (GST_START_TEST),
14198         (gst_controller_suite):
14199           more tests
14200         * docs/gst/tmpl/gstutils.sgml:
14201         * docs/libs/gstreamer-libs-sections.txt:
14202         * docs/libs/tmpl/gstdataprotocol.sgml:
14203           include path fixes
14204         * examples/controller/audio-example.c: (main):
14205           controller example works now
14206         * gst/gstclock.h:
14207           doc fixes
14208         * tools/gst-inspect.c: (print_element_properties_info):
14209           show param spec flags
14210
14211 2005-08-29  Andy Wingo  <wingo@pobox.com>
14212
14213         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
14214
14215 2005-08-28  Andy Wingo  <wingo@pobox.com>
14216
14217         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
14218         as having two arguments instead of just one. Allows superclasses
14219         to access information on subclasses -- see the terrible for() loop
14220         in gtype.c:g_type_create_instance for the reason why. All callers
14221         changed.
14222
14223 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
14224
14225         * docs/design/part-messages.txt:
14226           update info
14227         * docs/gst/tmpl/.cvsignore:
14228         * docs/gst/tmpl/gstcaps.sgml:
14229         * docs/gst/tmpl/gstclock.sgml:
14230         * gst/gstbus.c:
14231         * gst/gstcaps.c:
14232         * gst/gstcaps.h:
14233         * gst/gstclock.c:
14234         * gst/gstclock.h:
14235         * gst/gstmessage.c:
14236           added descriptions for bus and message
14237           inline caps and clock docs
14238
14239 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
14240
14241         * gst/gstmessage.c:
14242         * gst/gstmessage.h:
14243           doc fixes
14244
14245 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
14246
14247         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
14248           fix div-by-zero
14249
14250 2005-08-26  Andy Wingo  <wingo@pobox.com>
14251
14252         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
14253         element_set_state's return val.
14254         (test_2_elements): Add test that's been disabled for months.
14255
14256         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
14257         can-activate-pull properties.
14258
14259         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
14260         can-activate-pull properties. Implement is_seekable so fakesrc can
14261         operate in pull mode.
14262
14263         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
14264         properties.
14265         (gst_base_sink_activate, gst_base_sink_activate_pull)
14266         (gst_base_sink_activate_push): Make activation mode choosing work.
14267         Cleanups.
14268         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
14269         is right. Make pull mode work. Post an eos before pausing in pull
14270         mode.
14271         (gst_base_sink_change_state): Pay attention to the core's
14272         change_state() return val.
14273         
14274         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
14275         has-getrange properties. Cleanups.
14276         
14277         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
14278         has_getrange and replace with can_activate_pull and
14279         can_activate_push.
14280
14281         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
14282         locking comments. Remove has_loop, has_chain and replace with
14283         can_activate_pull and can_activate_push.
14284
14285 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
14286
14287         * configure.ac:
14288         * examples/Makefile.am:
14289         * examples/metadata/Makefile.am:
14290         * examples/metadata/read-metadata.c: (message_loop),
14291         (have_pad_handler), (make_pipeline), (print_tag), (main):
14292           Add metadata reading example that loops over a list of filenames,
14293           dumping any tags found.
14294
14295         * gst/gstbus.c: (gst_bus_dispose):
14296         * gst/gstelement.c: (gst_element_dispose):
14297           Release a few potentially-held references in dispose.
14298
14299 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
14300
14301         * docs/gst/tmpl/gstminiobject.sgml:
14302           do *not* add tmpl/*.sgml files to CVS!
14303
14304 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
14305
14306         * libs/gst/bytestream/.cvsignore:
14307         * libs/gst/bytestream/Makefile.am:
14308         * libs/gst/bytestream/adapter.c:
14309         * libs/gst/bytestream/adapter.h:
14310         * libs/gst/bytestream/bytestream.c:
14311         * libs/gst/bytestream/bytestream.h:
14312         * libs/gst/bytestream/filepad.c:
14313         * libs/gst/bytestream/filepad.h:
14314           removing obsolete files
14315
14316 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
14317
14318         * docs/gst/gstreamer-docs.sgml:
14319         * docs/libs/gstreamer-libs-docs.sgml:
14320           disabed additional index entries again, as this makes docs-gen just
14321           slow and they aren't useful yet
14322         * docs/libs/gstreamer-libs-sections.txt:
14323           little -section.txt cleanup for libs
14324
14325 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
14326
14327         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14328         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
14329           fix up some debugging
14330         (gst_base_transform_get_unit_size),
14331         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
14332         (gst_base_transform_handle_buffer):
14333         * gst/base/gstbasetransform.h:
14334           handle and store timed NEWSEGMENT events so that subclasses that
14335           calculate time by counting samples have a segment_start time they
14336           need to add to their timestamps - see audioresample
14337
14338 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
14339
14340         * gst/gstbin.h:
14341           removed ';' from the end of macro defs
14342         * docs/gst/gstreamer-docs.sgml:
14343         * docs/gst/gstreamer-sections.txt:
14344         * docs/gst/tmpl/.cvsignore:
14345         * gst/gstbus.h:
14346         * gst/gstelement.c: (gst_element_class_init),
14347         (gst_element_set_state), (activate_pads),
14348         (gst_element_save_thyself):
14349         * gst/gstevent.c: (gst_event_new_newsegment):
14350         * gst/gstevent.h:
14351         * gst/gstiterator.c:
14352         * gst/gstiterator.h:
14353         * gst/gstpad.c:
14354         * gst/gstprobe.h:
14355         * gst/gstutils.c: (gst_pad_query_convert):
14356         * gst/gstutils.h:
14357           fixed parameter name mismatches between source, header and docs
14358           added some more docs, resolved the last batch of unused elements in
14359           docs (now someone needs to doc them)
14360
14361 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14362
14363         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
14364         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
14365           don't walk through the plugins backwards.  Where is all this
14366           reversed logic coming from ?
14367
14368 2005-08-25  Wim Taymans  <wim@fluendo.com>
14369
14370         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14371         (gst_base_transform_transform_size),
14372         (gst_base_transform_configure_caps),
14373         (gst_base_transform_get_unit_size),
14374         (gst_base_transform_buffer_alloc),
14375         (gst_base_transform_change_state):
14376         * gst/base/gstbasetransform.h:
14377         Cache caps unit_size.
14378         Make sure we cannot negotiate up and downstream at the
14379         same time.
14380
14381 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14382
14383         * gst/gst.c: (init_pre), (init_post):
14384           register the installed plugin path after the env var
14385         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
14386         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
14387           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
14388           directories, so the tests can prefer uninstalled over installed
14389
14390 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14391
14392         * gst/base/gstbasetransform.h:
14393           comment
14394         * gst/gstpad.c:
14395           add to docs
14396
14397 2005-08-25  Wim Taymans  <wim@fluendo.com>
14398
14399         * gst/gstbin.c: (bin_bus_handler):
14400         Be a bit more conservative about the posted message.
14401         
14402         * gst/gstbus.c: (gst_bus_post):
14403         Some cleanups, warn wrong return values.
14404
14405 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
14406
14407         * check/gst/gstbin.c: (GST_START_TEST):
14408         * gst/gstbin.c: (bin_bus_handler):
14409         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
14410         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
14411         (gst_message_new_warning), (gst_message_new_tag),
14412         (gst_message_new_state_changed), (gst_message_new_segment_start),
14413         (gst_message_new_segment_done), (gst_message_new_custom):
14414         * gst/gstmessage.h:
14415         * tools/gst-launch.c: (event_loop):
14416         * tools/gst-md5sum.c: (event_loop):
14417           Revert unpopular change for GST_MESSAGE_SRC to GObject.
14418
14419 2005-08-25  Wim Taymans  <wim@fluendo.com>
14420
14421         * check/generic/states.c: (GST_START_TEST):
14422         Cleanup can be done at the end.
14423
14424         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
14425         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
14426         (gst_task_get_state), (gst_task_start), (gst_task_pause):
14427         Oh boy.. Thanks for finding this, Thomas. 
14428
14429 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
14430
14431         * docs/gst/gstreamer.types:
14432           added missing types
14433
14434 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
14435
14436         * docs/gst/gstreamer-docs.sgml:
14437         * docs/gst/gstreamer-sections.txt:
14438         * docs/gst/tmpl/.cvsignore:
14439         * gst/gstbin.c:
14440         * gst/gstiterator.c:
14441         * gst/gstutils.c:
14442         * gst/registries/gstxmlregistry.h:
14443           added missing classes and symbols (123 more to go)
14444           removed removed symbols from section file
14445           fixed many doc-comments
14446
14447 2005-08-24  Wim Taymans  <wim@fluendo.com>
14448
14449         * check/generic/states.c: (GST_START_TEST):
14450         Make sure all tasks are stopped.
14451
14452         * check/gst/gstbin.c: (GST_START_TEST):
14453         Unref after usage for proper valgrinding.
14454
14455         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
14456         Really wait for the task to stop before destroying the
14457         mutex.
14458
14459         * gst/gstqueue.c: (gst_queue_sink_activate_push),
14460         (gst_queue_src_activate_push):
14461         Small cleanups. Don't stop the task when we did not start
14462         it.
14463
14464         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
14465         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
14466         (gst_task_get_state), (gst_task_start), (gst_task_pause),
14467         (gst_task_join):
14468         * gst/gsttask.h:
14469         Protect the stream lock with the object lock.
14470         Disallow setting the stream lock when running.
14471         Add cleanup_all to wait for the threadpool to finish.
14472         Remove code to autoallocate a mutex if none was provided.
14473         Add _join() to wait for a task to stop.
14474         Protect the thread pool with a global lock.
14475
14476 2005-08-24  Wim Taymans  <wim@fluendo.com>
14477
14478         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14479         (gst_base_sink_get_times), (gst_base_sink_do_sync),
14480         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
14481         * gst/base/gstbasesink.h:
14482         Handle newsegment events correctly.
14483         Drop buffers out of the segment range.
14484
14485 2005-08-22  Andy Wingo  <wingo@pobox.com>
14486
14487         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
14488         macro, implements an interface and gstimplementsinterface for a
14489         new type.
14490
14491 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14492
14493         * check/Makefile.am:
14494         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
14495           add a test that does a bunch of state changes on elements
14496           needs some fixing for valgrind
14497         * check/states/sinks.c: (gst_object_suite):
14498           whitespace
14499         * gst/gstcaps.h:
14500           add prototype for gst_caps_is_equal_fixed
14501         * gst/gstplugin.c:
14502         * gst/gstregistrypool.c:
14503           doc fixes
14504
14505 2005-08-24  Andy Wingo  <wingo@pobox.com>
14506
14507         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
14508         convert a negative value. Doesn't make much sense. Mostly this is
14509         here to force callers to ensure -1 maps to -1.
14510
14511 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
14512
14513         * docs/pwg/advanced-types.xml:
14514           Well done to Michael for catching my deliberate introduction
14515           of this spelling mistake. 
14516         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
14517         * gst/gstelement.h:
14518           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
14519           unlink pads before removing the element from the bin.
14520
14521 2005-08-24  Andy Wingo  <wingo@pobox.com>
14522
14523         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
14524         the same thing as GST_DEBUG=*:4.
14525         (parse_debug_level, parse_debug_category): New helper parsers.
14526
14527 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14528
14529         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14530         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
14531         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
14532         (gst_base_transform_buffer_alloc),
14533         (gst_base_transform_handle_buffer):
14534           use gboolean return values and pointers to size so we can use the
14535           full GST_BUFFER_SIZE range (guint) for buffer sizes
14536           use GstPadDirection for transform_caps
14537         * gst/base/gstbasetransform.h:
14538           rename get_size to get_unit_size since that's what it is
14539         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
14540           use GstPadDirection for transform_caps
14541         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14542         * gst/gstutils.h:
14543           cleanup and debugging
14544
14545 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
14546
14547         * gst/gstelement.c: (gst_element_class_init),
14548         (gst_element_set_state), (activate_pads),
14549         (gst_element_save_thyself):
14550         * tools/gst-compprep.c: (main):
14551         * tools/gst-inspect.c: (print_element_properties_info):
14552         * tools/gst-xmlinspect.c: (print_element_properties):
14553           Fixed long standing mem-leak
14554
14555 2005-08-24  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           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
14568           that applications can sensibly post custom messages with references
14569           to their own objects.
14570
14571 2005-08-24  Andy Wingo  <wingo@pobox.com>
14572
14573         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
14574         already.
14575
14576 2005-08-24  Wim Taymans  <wim@fluendo.com>
14577
14578         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14579         (gst_base_transform_transform_caps),
14580         (gst_base_transform_transform_size),
14581         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14582         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14583         (gst_base_transform_handle_buffer):
14584         * gst/base/gstbasetransform.h:
14585         Many fixes and new features added by Thomas. Can now also do
14586         transforms with variable sizes and a custom fixate_caps function.
14587
14588 2005-08-24  Wim Taymans  <wim@fluendo.com>
14589
14590         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14591         Some debugging.
14592
14593         * gst/gstclock.h:
14594         Cast to ClockTime before formatting to time.
14595
14596         * gst/gstutils.h:
14597         Cleanups.
14598
14599 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
14600
14601         * check/gst-libs/controller.c: (GST_START_TEST),
14602         (gst_controller_suite):
14603         * docs/gst/tmpl/gstcaps.sgml:
14604         * docs/gst/tmpl/gstghostpad.sgml:
14605         * docs/gst/tmpl/gstquery.sgml:
14606         * docs/gst/tmpl/gstutils.sgml:
14607         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
14608         (gst_object_sink_values), (gst_object_get_value_arrays),
14609         (gst_object_get_value_array):
14610           gracefully handle helper method calls to objects that are not beeing
14611           controlled, added test case for that          
14612
14613 2005-08-23  Wim Taymans  <wim@fluendo.com>
14614
14615         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
14616         (gst_event_new_newsegment), (gst_event_parse_newsegment),
14617         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
14618         (gst_event_parse_qos), (gst_event_new_seek),
14619         (gst_event_parse_seek):
14620         * gst/gstevent.h:
14621         Some more debugging output and doc cleanups.
14622
14623         * gst/gstqueue.c: (gst_queue_handle_sink_event):
14624         Fix possible deadlock.
14625
14626 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
14627
14628         * docs/gst/gstreamer-docs.sgml:
14629         * docs/gst/gstreamer-sections.txt:
14630         * docs/gst/gstreamer.types:
14631         * docs/gst/tmpl/.cvsignore:
14632         * gst/gstbin.h:
14633         * gst/gstbus.c:
14634         * gst/gstelement.c:
14635         * gst/gstevent.h:
14636           added 100 symbols from gstreamer-unused.txt to the right sections
14637           fixed more broken comments
14638           added GstBus to docs
14639
14640 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
14641
14642         * docs/gst/gstreamer-sections.txt:
14643         * docs/gst/tmpl/.cvsignore:
14644         * docs/gst/tmpl/gstbin.sgml:
14645         * docs/gst/tmpl/gstbuffer.sgml:
14646         * gst/base/gstbasesrc.c:
14647         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
14648         * gst/gstbuffer.c:
14649         * gst/gstbuffer.h:
14650         * tools/gst-launch.1.in:
14651           inlined more doc comments, added missing comments and fixed comments
14652           fixed typos
14653
14654 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14655
14656         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14657           some debugging
14658         * gst/gstcaps.h:
14659           whitespace fixes
14660         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
14661           more debugging
14662         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
14663         * gst/gststructure.h:
14664           add a fixate function for booleans; add a FIXME that these func
14665           names should probably be gst_structure_fixate_*
14666
14667 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
14668
14669         * docs/gst/gstreamer-docs.sgml:
14670         * docs/gst/gstreamer-sections.txt:
14671         * gst/Makefile.am:
14672         * gst/gstbin.c: (gst_bin_get_type),
14673         (gst_bin_child_proxy_get_child_by_index),
14674         (gst_bin_child_proxy_get_children_count),
14675         (gst_bin_child_proxy_init):
14676         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
14677         (gst_child_proxy_get_child_by_index),
14678         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
14679         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
14680         (gst_child_proxy_get), (gst_child_proxy_set_property),
14681         (gst_child_proxy_set_valist), (gst_child_proxy_set),
14682         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
14683         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
14684         * gst/gstchildproxy.h:
14685         * gst/parse/grammar.y:
14686         * tools/gst-inspect.c: (print_interfaces),
14687         (print_element_properties_info), (print_element_info):
14688           ported gstchildproxy over from 0.8
14689           ported gst-inspect fixes and enhancements over from 0.8
14690
14691 2005-08-22  Wim Taymans  <wim@fluendo.com>
14692
14693         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14694         (gst_base_transform_handle_buffer):
14695         Also call the transform function if we have ANY caps.
14696
14697         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
14698         Fix debug info.
14699
14700 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
14701
14702         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
14703           Don't pretend to handle seek events if the source is not seekable
14704
14705 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
14706
14707         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14708           Remove extra parameter to debug output
14709
14710         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14711         (gst_base_src_do_seek), (gst_base_src_activate_push):
14712           Fix seek event handling.
14713
14714         * gst/gstpipeline.c: (gst_pipeline_change_state):
14715         * gst/gstqueue.c: (gst_queue_handle_sink_event),
14716         (gst_queue_src_activate_push):
14717           Don't start the src pad task on FLUSH_STOP if the pad
14718           isn't linked.
14719           Debug changes.
14720
14721 2005-08-22  Wim Taymans  <wim@fluendo.com>
14722
14723         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
14724         Added check for gst_static_caps_get() refcounting.
14725
14726 2005-08-22  Wim Taymans  <wim@fluendo.com>
14727
14728         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
14729         Make _static_caps_get() refcounting sane.
14730         
14731         * gst/gstelement.c: (gst_element_set_state):
14732         Add g_return_val_if_fail() to protect against segfaults.
14733
14734 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
14735
14736         * docs/gst/tmpl/gstevent.sgml:
14737         * gst/gstevent.c:
14738         * gst/gstevent.h:
14739           inlined remaining docs, added missing doc comments
14740
14741 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14742
14743         * check/gst/gstbin.c: (GST_START_TEST):
14744           since we don't know when preroll is done, use refcount range
14745           check for the sink
14746         * gst/check/gstcheck.h:
14747           add macro for checking refcount range
14748
14749 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14750
14751         * check/Makefile.am:
14752           clean up environment for when registry gets built versus
14753           when actual tests are run; valgrind seems to not report
14754           leaks if GST_PLUGIN_PATH is set to some specific values
14755         * check/gst/gstbin.c: (GST_START_TEST):
14756           add more refcounting checks; maybe this exposes a
14757           preroll lock bug ?
14758         * common/check.mak:
14759         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14760         * gst/check/gstcheck.h:
14761         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
14762         (gst_bin_change_state):
14763         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
14764           add/fix debugging/whitespace
14765
14766 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
14767
14768         * check/gst/gstevent.c: (event_probe), (test_event),
14769         (GST_START_TEST):
14770          Er, don't call gst_bin_watch_for_state_change you idiot.
14771
14772 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
14773
14774         * check/Makefile.am:
14775           Use CHECK_CFLAGS and CHECK_LIBS
14776         * check/gst/gstevent.c: (event_probe), (test_event),
14777         (GST_START_TEST):
14778           Don't leak events.
14779         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14780         (gst_base_src_start), (gst_base_src_stop),
14781         (gst_base_src_activate_push), (gst_base_src_activate_pull),
14782         (gst_base_src_change_state):
14783           Sprinkle gst_base_src_stop liberally around error paths to fix
14784           problems reusing a source after failed state changes.
14785         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14786         (helper_find_suggest), (gst_type_find_helper):
14787           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
14788         * gst/gstevent.h:
14789         * docs/gst/tmpl/gstevent.sgml:
14790           Migrate part of the docs from the SGML file. Wait for ensonic to
14791           tell me how I did it wrong ;)
14792         * tools/gst-typefind.c: (main):
14793           Extra robustness to state changes between files.
14794
14795 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14796
14797         * check/Makefile.am:
14798           don't valgrind the controller test - it's leaking - Stefan, HELP
14799         * gst/check/gstcheck.c: (gst_check_message_error),
14800         (gst_check_chain_func), (gst_check_setup_element),
14801         (gst_check_teardown_element), (gst_check_setup_src_pad),
14802         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
14803         (gst_check_teardown_sink_pad):
14804         * gst/check/gstcheck.h:
14805           add a bunch of methods to set up elements, and src and sink pads
14806         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
14807         * check/elements/identity.c: (setup_identity), (cleanup_identity),
14808         (GST_START_TEST):
14809           use them
14810         * gst/gstmessage.c:
14811         * gst/gsttag.h:
14812           whitespace/doc fixes
14813
14814 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14815
14816         * gst/gstelement.h:
14817           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
14818           be handled by the application and not always printed as well
14819
14820 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14821
14822         * check/Makefile.am:
14823           set GST_TOOLS_DIR
14824         * gst/check/gstcheck.c: (gst_check_message_error):
14825         * gst/check/gstcheck.h:
14826           add a fail_unless_equals_int
14827           add fail_unless for error messages
14828
14829 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14830
14831         * check/Makefile.am:
14832         * check/gst.supp:
14833         * common/Makefile.am:
14834         * common/check.mak:
14835         * common/gst.supp:
14836           factor out some of the common stuff so we can use it
14837
14838 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14839
14840         * check/Makefile.am:
14841         * check/gst/gstiterator.c: (GST_START_TEST):
14842         * check/gst/gstsystemclock.c: (GST_START_TEST),
14843         (gst_systemclock_suite):
14844         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14845         * gst/gstclock.c:
14846           valgrind more tests
14847
14848 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14849
14850         * check/elements/.cvsignore:
14851         * check/elements/gstfakesrc.c:
14852           rename to name of element
14853         * check/elements/identity.c: (chain_func), (event_func),
14854         (setup_identity), (cleanup_identity), (GST_START_TEST),
14855         (identity_suite), (main):
14856           add a test for identity
14857         * check/Makefile.am:
14858         * pkgconfig/Makefile.am:
14859         * pkgconfig/gstreamer-check.pc.in:
14860         * pkgconfig/gstreamer-check-uninstalled.pc.in:
14861         * gst/check:
14862         * gst/Makefile.am:
14863         * configure.ac:
14864           move the check stuff to a library that gets installed
14865         * check/gst-libs/controller.c: (GST_START_TEST):
14866         * check/gst-libs/gdp.c:
14867         * check/gst/gst.c: (GST_START_TEST):
14868         * check/gst/gstbin.c:
14869         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14870         * check/gst/gstbus.c:
14871         * check/gst/gstcaps.c: (GST_START_TEST):
14872         * check/gst/gstelement.c:
14873         * check/gst/gstghostpad.c:
14874         * check/gst/gstiterator.c:
14875         * check/gst/gstmessage.c:
14876         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
14877         * check/gst/gstobject.c:
14878         * check/gst/gstpad.c: (GST_START_TEST):
14879         * check/gst/gststructure.c: (GST_START_TEST):
14880         * check/gst/gstsystemclock.c: (GST_START_TEST),
14881         (gst_systemclock_suite):
14882         * check/gst/gsttag.c: (gst_tag_suite):
14883         * check/gst/gstvalue.c:
14884         * check/pipelines/cleanup.c:
14885         * check/pipelines/simple_launch_lines.c:
14886         * check/states/sinks.c:
14887           change include statement
14888
14889         * docs/gst/gstreamer-sections.txt:
14890         * docs/gst/tmpl/gstpad.sgml:
14891           document more pad stuff
14892         * gst/gstminiobject.c: (gst_mini_object_ref),
14893         (gst_mini_object_unref):
14894           debug refcounting
14895
14896 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
14897
14898         * docs/gst/tmpl/gst.sgml:
14899         * gst/gst.c:
14900           eliminate another tmpl file, fix spelling in the long-description
14901
14902 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14903
14904         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14905         (test_event), (timediff), (gstevents_suite):
14906           Should fix build on 64-bit arch's
14907
14908 2005-08-18  Andy Wingo  <wingo@pobox.com>
14909
14910         Make sure that when a pipeline goes to PLAYING, that data has
14911         actually hit the sink.
14912
14913         * check/states/sinks.c (test_sink): A sink that doesn't get any
14914         data shouldn't return SUCCESS for going to either PLAYING or
14915         PAUSED. Test also the return values on the way back down.
14916
14917         * gst/gstelement.c (gst_element_set_state): When changing the
14918         state of an element currently changing state asynchronously, go to
14919         lost-state after commiting the pending state. Makes future calls
14920         to get_state continue to return ASYNC.
14921
14922         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
14923         ASYNC when going to PLAYING if we still don't have preroll, as can
14924         happen with live sources.
14925
14926 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14927
14928         * docs/pwg/advanced-types.xml:
14929           Hack long paragraph into 2 chunks as a workaround for buggy
14930           jadetex version in sid and breezy that loops infinitely and
14931           eats all RAM.
14932
14933 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14934
14935         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14936         (test_event), (timediff), (gstevents_suite):
14937           Provide more error margin in clock measurements to allow for 
14938           g_get_current_time inaccuracies.
14939
14940 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14941
14942         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14943         (test_event), (timediff), (gstevents_suite):
14944            Fix error message output so I might be able to tell why the
14945            test works here but fails on the build farm.
14946
14947 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14948
14949         * check/Makefile.am:
14950         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14951         (test_event), (timediff), (gstevents_suite), (main):
14952           I wrote a test!
14953
14954         * docs/design/part-seeking.txt:
14955           Spelling correction
14956
14957         * docs/gst/tmpl/gstevent.sgml:
14958         * docs/gst/tmpl/gstfakesrc.sgml:
14959           Docs updates.
14960
14961         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14962           Treat a buffer-without-newsegment the same as a receiving 
14963           a newsegment not in time format, and disable syncing to the clock
14964           with a warning.
14965
14966         * gst/gstbus.c: (gst_bus_set_sync_handler):
14967           Assert if anyone tries to replace the existing sync_handler for bus, 
14968           as only the owner should be setting it.
14969
14970         * gst/gstevent.h:
14971           Have a fixed set of custom event enums with events identified by
14972           their structure name (as in 0.8), rather than a free-for-all
14973           allowing collisions between enum values from different plugins.
14974
14975         * gst/gstpad.c: (gst_pad_class_init):
14976           Docs change.
14977           
14978         * gst/gstqueue.c: (gst_queue_handle_sink_event):
14979           Handle out-of-band downstream events from the sending thread.
14980
14981 2005-08-17  Andy Wingo  <wingo@pobox.com>
14982
14983         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
14984         play-timeout==0 to mean no timeout at all. In that case, don't
14985         bother with a get_state or a warning, just return directly, even
14986         if it's ASYNC.
14987
14988         * gst/base/gstbasetransform.c: Debug changes.
14989
14990         * gst/gstutils.h:
14991         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
14992         ensure bins post state change messages. A bit of a hack but I can't
14993         think of a way to avoid it.
14994
14995         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
14996
14997 2005-08-16  Andy Wingo  <wingo@pobox.com>
14998
14999         * gst/base/gstadapter.h:
15000         * gst/base/gstadapter.c (gst_adapter_take): New function, like
15001         peek() but you own the data. Not terribly efficient atm.
15002
15003 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15004
15005         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
15006         (gst_element_found_tags):
15007         * gst/gstutils.h:
15008           Add two utility functions for tag handling.
15009
15010 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15011
15012         * docs/manual/advanced-dataaccess.xml:
15013         * docs/manual/basics-helloworld.xml:
15014           Fix docs to use _bin_add() before _link(), which fixes the examples
15015           with recent core versions (reported by Madhan Raj M
15016           <raj_madan@rediffmail.com>, #313199).
15017
15018 2005-08-16  Wim Taymans  <wim@fluendo.com>
15019
15020         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15021         Added subtract checks.
15022
15023         * docs/design/part-events.txt:
15024         Some more docs about newsegment
15025
15026         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
15027         Fix FIXME
15028
15029         * gst/gstcaps.c: (gst_caps_to_string):
15030         Add comments, cleanups.
15031         
15032         * gst/gstelement.c: (gst_element_save_thyself):
15033         cleanups
15034         
15035         * gst/gstvalue.c: (gst_value_collect_int_range),
15036         (gst_string_unwrap), (gst_value_union_int_int_range),
15037         (gst_value_union_int_range_int_range),
15038         (gst_value_intersect_int_int_range),
15039         (gst_value_intersect_int_range_int_range),
15040         (gst_value_intersect_double_double_range),
15041         (gst_value_intersect_double_range_double_range),
15042         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
15043         (gst_value_subtract_int_range_int),
15044         (gst_value_subtract_double_range_double),
15045         (gst_value_subtract_double_range_double_range),
15046         (gst_value_subtract_from_list), (gst_value_subtract_list),
15047         (gst_value_can_compare), (gst_value_compare_fraction):
15048         Cleanups, add comments, remove unneeded asserts.
15049
15050 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15051
15052         * tools/gst-launch.c: (event_loop):
15053           don't convert NULL structures to strings
15054
15055 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
15056
15057         * docs/gst/gstreamer-sections.txt:
15058           made some defines private
15059         * docs/gst/tmpl/gstconfig.sgml:
15060         * docs/gst/tmpl/gstqueue.sgml:
15061         * docs/gst/tmpl/gsttaglist.sgml:
15062         * docs/gst/tmpl/gsttypes.sgml:
15063         * docs/gst/tmpl/gstutils.sgml:
15064         * docs/pwg/appendix-porting.xml:
15065         * gst/base/gstbasesink.h:
15066         * gst/base/gstbasesrc.c:
15067         * gst/base/gstbasesrc.h:
15068         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
15069         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
15070         * gst/gstelement.c: (gst_element_class_init):
15071         * gst/gstpad.c: (gst_pad_class_init):
15072         * gst/gstqueue.c: (gst_queue_class_init):
15073         * gst/gstxml.c: (gst_xml_class_init):
15074           documented all undocumented signal inline
15075         * libs/gst/controller/gst-controller.h:
15076           added padding
15077
15078 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15079
15080         * docs/pwg/appendix-porting.xml:
15081           Document _set_link_function -> _set_setcaps_function.
15082
15083 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
15084
15085         * check/Makefile.am:
15086           add a .check target for running the check
15087         * check/gst-libs/controller.c: (GST_START_TEST):
15088           cosmetic fixups
15089         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15090           complete checks for gstbuffer; would be nice if I could get the
15091           gcov stuff to work so I can see if I actually completed gstbuffer.c
15092         * check/gstcheck.h:
15093           add ASSERT_BUFFER_REFCOUNT
15094
15095 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
15096
15097         * docs/gst/gstreamer-sections.txt:
15098         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
15099         * gst/gsttag.h:
15100           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
15101           spew out a warning if a tag that is already registered
15102           is re-registered, unless it is re-registered with a 
15103           different type (#308438).
15104
15105 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
15106
15107         * docs/pwg/appendix-porting.xml:
15108         * docs/pwg/building-state.xml:
15109           Add some paragraphs about state changes in 0.9 to the PWG
15110           and the porting guide, in particular about the new meaning
15111           of GST_STATE_PAUSED and how to write state change functions
15112           with concurrent access by multiple threads in mind.
15113
15114 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
15115
15116         * docs/gst/gstreamer-docs.sgml:
15117         * docs/libs/gstreamer-libs-docs.sgml:
15118           added deprecation and since indexes
15119         * libs/gst/controller/gst-controller.c:
15120         * libs/gst/controller/gst-helper.c:
15121           added since tags
15122
15123
15124 2005-08-11  Wim Taymans  <wim@fluendo.com>
15125
15126         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
15127         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
15128         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
15129         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
15130         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
15131         (gst_ghost_pad_set_target):
15132         Actually implement (re)setting the target on a ghostpad
15133         as described in the docs.
15134
15135 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
15136
15137         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
15138           Check whether GST_DEBUG_NO_COLOR environment variable is
15139           set and disable coloured debug output if that is the case.
15140
15141 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
15142
15143         * gst/base/gsttypefindhelper.c: (helper_find_peek),
15144         (gst_type_find_helper):
15145           The memory returned by gst_type_find_peek() needs to
15146           stay valid until the end of a typefind function, and
15147           typefind functions may keep results from different 
15148           offsets around, so we can't just unref the buffer from
15149           the previous _peek(), but have to save all buffers 
15150           returned by _peek() until typefinding is done and only
15151           free them then.
15152
15153 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
15154
15155         * docs/gst/gstreamer-sections.txt:
15156         * gst/gstutils.h:
15157           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
15158
15159 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15160
15161         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
15162           Fix a pretty good memleak.
15163
15164 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
15165
15166         * gst/gstiterator.h:
15167           Fix wrong include and 'make distcheck'.
15168
15169 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15170
15171         * gst/gstbin.c: (bin_bus_handler):
15172           Use gst_element_post_message() instead.
15173
15174 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
15175
15176         * gst/base/gstadapter.h:
15177         * gst/base/gstbasesink.h:
15178         * gst/base/gstbasesrc.h:
15179         * gst/base/gstbasetransform.h:
15180         * gst/base/gstcollectpads.h:
15181         * gst/base/gstpushsrc.h:
15182         * gst/gstiterator.h:
15183           Add padding to our base elements' class and instance structs and
15184           to GstIterator (you will need to rebuild all plugins and apps!)
15185
15186 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15187
15188         * gst/gstbin.c: (bin_bus_handler):
15189           Make default message forwarding from child->bus to bin->bus
15190           threadsafe and make it not emit warnings if the parent has no bus.
15191
15192 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15193
15194         * gst/gstelement.c: (activate_pads):
15195           On paused->ready, set pad->caps to NULL, as is the documented
15196           behaviour in this state change. Fixes playback of series of
15197           media files when visualization is enabled in Totem.
15198
15199 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15200
15201         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15202           Allow NULL as filter-caps (which means "any").
15203
15204 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
15205
15206         * docs/libs/gstreamer-libs-sections.txt:
15207         * libs/gst/controller/gst-controller.c:
15208         * libs/gst/controller/gst-controller.h:
15209         * libs/gst/controller/gst-helper.c:
15210           adding more entries to the docs and fix small doc-bugs
15211
15212 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
15213
15214         * docs/gst/gstreamer-docs.sgml:
15215         * docs/gst/gstreamer-sections.txt:
15216         * docs/gst/gstreamer.types:
15217         * docs/gst/tmpl/gstbasesink.sgml:
15218         * docs/gst/tmpl/gstbasesrc.sgml:
15219         * docs/gst/tmpl/gstbasetransform.sgml:
15220         * docs/gst/tmpl/gstfakesrc.sgml:
15221         * gst/base/gstcollectpads.c:
15222         * gst/base/gstcollectpads.h:
15223         * libs/gst/controller/gst-controller.c:
15224         * libs/gst/controller/gst-controller.h:
15225         * libs/gst/controller/gst-helper.c:
15226         * libs/gst/controller/gst-interpolation.c:
15227         * libs/gst/controller/lib.c:
15228           added long/short desc for controller docs
15229           added collectpads base class docs
15230           added correct includes to base-class docs
15231
15232 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
15233
15234         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
15235         (gst_test_mono_source_set_property),
15236         (gst_test_mono_source_class_init), (GST_START_TEST),
15237         (gst_controller_suite):
15238         * docs/gst/gstreamer-docs.sgml:
15239         * docs/gst/gstreamer-sections.txt:
15240         * docs/gst/gstreamer.types:
15241         * docs/libs/gstreamer-libs-docs.sgml:
15242         * docs/libs/gstreamer-libs-sections.txt:
15243         * gst/base/gstadapter.c:
15244         * libs/gst/controller/gst-controller.c:
15245         (gst_controlled_property_new), (gst_controlled_property_free),
15246         (gst_controller_new_valist),
15247         (gst_controller_remove_properties_valist),
15248         (gst_controller_sink_values), (_gst_controller_finalize):
15249         * libs/gst/controller/gst-controller.h:
15250         * libs/gst/controller/gst-helper.c:
15251         (gst_object_control_properties), (gst_object_uncontrol_properties),
15252         (gst_object_get_controller), (gst_object_set_controller),
15253         (gst_object_sink_values), (gst_object_get_value_arrays),
15254         (gst_object_get_value_array):
15255           more tests (and fixes) for the controller
15256           more docs for the controller
15257           integrated companies docs for the adapter 
15258
15259 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15260
15261         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
15262         (GST_START_TEST), (fakesrc_suite):
15263           add tests for sizetype
15264
15265 2005-08-04  Andy Wingo  <wingo@pobox.com>
15266
15267         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
15268         fixes buffer_alloc proxying among other things.
15269
15270         * gst/base/gstbasetransform.c:
15271         * gst/base/gstbasetransform.h:
15272         Revert patch to gstbasetransform from 7-28 removing
15273         delay_configure.
15274
15275         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
15276         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
15277         Semantics changed, should return not the size of the output buffer
15278         but the byte size of a buffer with a given caps.
15279
15280         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
15281         debug object.
15282         (gst_base_transform_configure_caps): Don't set out_size here: (in,
15283         out) are not the pad caps until setcaps finishes.
15284         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
15285         not-in-place case as well. Deal with changing from in-place to
15286         not-in-place within calling pad_alloc_buffer. Still a bit
15287         concerned about the overhead here...
15288
15289 2005-08-03  Andy Wingo  <wingo@pobox.com>
15290
15291         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
15292         fixating is an error.
15293
15294 2005-08-04  Edward Hervey  <edward@fluendo.com>
15295
15296         * gst/base/gstadapter.h: 
15297         Added gst_adapter_get_type() to the header
15298
15299 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
15300
15301         * check/Makefile.am:
15302         * check/gst-libs/controller.c:
15303         * libs/gst/controller/gst-controller.c:
15304         (gst_controller_new_valist):
15305           added check test suite for the controller
15306         * gst/base/gstpushsrc.c:
15307           fixed a doc typo
15308
15309 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
15310
15311         * docs/gst/Makefile.am:
15312         * docs/gst/gstreamer-docs.sgml:
15313         * docs/gst/gstreamer-sections.txt:
15314         * docs/gst/gstreamer.types:
15315         * docs/gst/tmpl/gstfakesrc.sgml:
15316         * gst/base/README:
15317         * gst/base/gstbasesink.c:
15318         * gst/base/gstbasesink.h:
15319         * gst/base/gstbasesrc.c:
15320         * gst/base/gstbasesrc.h:
15321         * gst/base/gstbasetransform.c:
15322         * gst/base/gstpushsrc.c:
15323         * gst/base/gstpushsrc.h:
15324           add short/long description docs to base classes
15325           add pushsrc to the docs
15326           remove consolidated doc fragments
15327
15328 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
15329
15330         * configure.ac:
15331         * docs/libs/Makefile.am:
15332         * docs/libs/gstreamer-libs-docs.sgml:
15333         * docs/libs/gstreamer-libs-sections.txt:
15334         * docs/libs/gstreamer-libs.types:
15335         * examples/Makefile.am:
15336         * examples/controller/.cvsignore:
15337         * examples/controller/Makefile.am:
15338         * examples/controller/audio-example.c: (main):
15339         * libs/gst/Makefile.am:
15340         * libs/gst/controller/.cvsignore:
15341         * libs/gst/controller/Makefile.am:
15342         * libs/gst/controller/gst-controller.c:
15343         (on_object_controlled_property_changed), (gst_timed_value_compare),
15344         (gst_timed_value_find),
15345         (gst_controlled_property_set_interpolation_mode),
15346         (gst_controlled_property_new), (gst_controlled_property_free),
15347         (gst_controller_find_controlled_property),
15348         (gst_controller_new_valist), (gst_controller_new),
15349         (gst_controller_remove_properties_valist),
15350         (gst_controller_remove_properties), (gst_controller_set),
15351         (gst_controller_set_from_list), (gst_controller_unset),
15352         (gst_controller_get), (gst_controller_get_all),
15353         (gst_controller_sink_values), (gst_controller_get_value_arrays),
15354         (gst_controller_get_value_array),
15355         (gst_controller_set_interpolation_mode),
15356         (_gst_controller_finalize), (_gst_controller_init),
15357         (_gst_controller_class_init), (gst_controller_get_type):
15358         * libs/gst/controller/gst-controller.h:
15359         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
15360         (g_object_uncontrol_properties), (g_object_get_controller),
15361         (g_object_set_controller), (g_object_sink_values),
15362         (g_object_get_value_arrays), (g_object_get_value_array):
15363         * libs/gst/controller/gst-interpolation.c:
15364         (gst_controlled_property_find_timed_value_node),
15365         (interpolate_none_get), (interpolate_trigger_get),
15366         (interpolate_trigger_get_value_array):
15367         * libs/gst/controller/lib.c: (gst_controller_init):
15368         * pkgconfig/Makefile.am:
15369         * pkgconfig/gstreamer-control-uninstalled.pc.in:
15370         * pkgconfig/gstreamer-control.pc.in:
15371         * testsuite/Makefile.am:
15372         * testsuite/controller/.cvsignore:
15373         * testsuite/controller/Makefile.am:
15374         * testsuite/controller/interpolator.c: (main):
15375           added controller code
15376           removed dparam pc files
15377
15378 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
15379         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
15380         (gst_collectpads_stop):
15381           Broadcast the condition when shutting down, to make sure we wake all
15382           threads up. Shut down pads on finalize, for safety.
15383
15384 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
15385         * gst/base/gstbasetransform.c: (gst_base_transform_init),
15386         (gst_base_transform_handle_buffer),
15387         (gst_base_transform_change_state):
15388           Handle PAUSED->READY->PAUSED transition after negotiation
15389           occurred already.
15390         * gst/gstmessage.c: (gst_message_init):
15391           Extra piece of debug for new messages.
15392
15393 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
15394
15395         * configure.ac:
15396         * docs/gst/tmpl/gstbasesrc.sgml:
15397         * docs/gst/tmpl/gstelement.sgml:
15398         * docs/gst/tmpl/gstevent.sgml:
15399         * docs/gst/tmpl/gstfakesrc.sgml:
15400         * docs/gst/tmpl/gstformat.sgml:
15401         * docs/gst/tmpl/gstghostpad.sgml:
15402         * docs/gst/tmpl/gstpad.sgml:
15403         * docs/gst/tmpl/gstquery.sgml:
15404         * docs/gst/tmpl/gststructure.sgml:
15405         * docs/gst/tmpl/gsttaglist.sgml:
15406         * docs/gst/tmpl/gstvalue.sgml:
15407         * docs/libs/gstreamer-libs-docs.sgml:
15408         * docs/libs/gstreamer-libs-sections.txt:
15409         * docs/libs/gstreamer-libs.types:
15410         * libs/gst/Makefile.am:
15411         * libs/gst/control/.cvsignore:
15412         * libs/gst/control/Makefile.am:
15413         * libs/gst/control/control.c:
15414         * libs/gst/control/control.h:
15415         * libs/gst/control/dparam.c:
15416         * libs/gst/control/dparam.h:
15417         * libs/gst/control/dparam_smooth.c:
15418         * libs/gst/control/dparam_smooth.h:
15419         * libs/gst/control/dparamcommon.h:
15420         * libs/gst/control/dparammanager.c:
15421         * libs/gst/control/dparammanager.h:
15422         * libs/gst/control/dplinearinterp.c:
15423         * libs/gst/control/dplinearinterp.h:
15424         * libs/gst/control/unitconvert.c:
15425         * libs/gst/control/unitconvert.h:
15426         * testsuite/Makefile.am:
15427         * testsuite/dynparams/.cvsignore:
15428         * testsuite/dynparams/Makefile.am:
15429         * testsuite/dynparams/dparamstest.c:
15430         * tools/Makefile.am:
15431         * tools/gst-inspect.c: (print_element_info), (main):
15432         * tools/gst-xmlinspect.c: (print_element_info), (main):
15433           deactivate and remove dparams (libgstcontrol)
15434
15435 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
15436
15437         * gst/elements/gsttypefindelement.c:
15438         (gst_type_find_element_have_type), (gst_type_find_element_init),
15439         (stop_typefinding), (gst_type_find_element_handle_event),
15440         (gst_type_find_element_chain), (gst_type_find_element_getrange):
15441         * gst/elements/gsttypefindelement.h:
15442           Set caps on all outgoing buffers, not just the first one.
15443
15444 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
15445
15446         * gst/elements/gsttypefindelement.c:
15447         (gst_type_find_element_have_type),
15448         (gst_type_find_element_check_set_buffer_caps),
15449         (gst_type_find_element_init), (stop_typefinding),
15450         (gst_type_find_element_handle_event),
15451         (gst_type_find_element_chain), (gst_type_find_element_getrange):
15452         * gst/elements/gsttypefindelement.h:
15453           Set caps on first outgoing buffer when we've found the type.
15454
15455 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
15456
15457         * docs/gst/gstreamer-docs.sgml:
15458         * docs/gst/gstreamer-sections.txt:
15459         * docs/gst/tmpl/gstscheduler.sgml:
15460         * docs/gst/tmpl/gstschedulerfactory.sgml:
15461           Remove some old cruft from docs.
15462
15463 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
15464
15465         * gst/gstpad.h:
15466           Fix inline docs for GstPadLinkReturn.
15467           
15468         * gst/gststructure.c: (gst_structure_has_name):
15469         * gst/gststructure.h:
15470         * docs/gst/gstreamer-sections.txt:
15471           New API: gst_structure_has_name().
15472
15473 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
15474
15475         * configure.ac:
15476           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
15477           and _LARGEFILE_SOURCE in config.h as required. Do not 
15478           export those flags in our .pc files any longer (#142209).
15479
15480           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
15481
15482         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
15483         (gst_file_sink_do_seek), (gst_file_sink_event),
15484         (gst_file_sink_get_current_offset), (gst_file_sink_render):
15485           Redo seek/tell calls with large file support in mind; add some
15486           debugging messages; add log message that tells us when large
15487           file support is unavailable or not enabled for some reason.
15488
15489         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
15490           Add log message that tells us when large file support 
15491           is unavailable or not enabled for some reason.
15492
15493 2005-07-29  Wim Taymans  <wim@fluendo.com>
15494
15495         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
15496         Added test for removing an element with ghostpad from a bin.
15497         Fixed test as current implementation does the right thing.
15498
15499         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
15500         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
15501         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
15502         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
15503         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
15504         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
15505         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
15506         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
15507         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
15508         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
15509         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
15510         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
15511         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
15512         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
15513         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
15514         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
15515         * gst/gstghostpad.h:
15516         Clean up ghostpads, remove properties for internal stuff.
15517         Make threadsafe.
15518         Fix refcounting.
15519         Prepare for switching targets, not all use cases work yet.
15520
15521 2005-07-29  Wim Taymans  <wim@fluendo.com>
15522
15523         * docs/design/part-gstghostpad.txt:
15524         Small update.
15525
15526         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
15527         (gst_bin_remove_func):
15528         Unlinking pads while holding the bin LOCK is not a good
15529         idea.
15530
15531         * gst/gstpad.c: (gst_pad_class_init),
15532         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
15533         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
15534         No prob setting template after creating the pad.
15535
15536 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
15537
15538         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
15539         (gst_bus_peek), (gst_bus_source_dispatch),
15540         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
15541         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
15542           gst_bus_poll may be called from other threads. Handle
15543           this nicely by not making poll_data disappear off the
15544           stack once gst_bus_poll returns.
15545           gst_bus_peek now increments the refcount on the returned
15546           message.
15547
15548 2005-07-29  Wim Taymans  <wim@fluendo.com>
15549
15550         * docs/design/part-gstghostpad.txt:
15551         Overview of current GhostPad datastructures and use
15552         cases for changing the target.
15553
15554 2005-07-28  Wim Taymans  <wim@fluendo.com>
15555
15556         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15557         Added checks for hierarchy consistency whan adding linked
15558         elements to bins.
15559
15560         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
15561         Added check to test element scheduling without bin/pipeline.
15562
15563         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
15564         First add elements to bin, then link.
15565         
15566         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
15567         (gst_bin_remove_func):
15568         Unlink pads from elements added/removed from bin to maintain
15569         hierarchy consistency.
15570
15571 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15572
15573         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
15574         (gst_base_transform_handle_buffer):
15575         * gst/base/gstbasetransform.h:
15576           Remove broken delay_configure (fixes renegotiation of software
15577           scaling pipelines); remove some leftover printf()s.
15578
15579 2005-07-28  Wim Taymans  <wim@fluendo.com>
15580
15581         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
15582         Added some more tests for wrong hierarchy
15583
15584         * docs/design/part-overview.txt:
15585         Some updates.
15586
15587         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
15588         Cleanups.
15589
15590         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
15591         (gst_element_dispose):
15592         Some more cleanups.
15593
15594         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15595         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
15596         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15597         (gst_pad_set_caps), (gst_pad_send_event):
15598         Check for correct hierarchy when linking pads. Moving to
15599         strict requirement for ghostpads when linking elements in
15600         different bins.
15601
15602         * gst/gstpad.h:
15603         Clean ups. Added WRONG_HIERARCHY return value.
15604
15605 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15606
15607         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
15608           Better debug if no transform is possible.
15609
15610 2005-07-27  Wim Taymans  <wim@fluendo.com>
15611
15612         * docs/random/wtay/network-transp:
15613         Some old doc I had.
15614
15615 2005-07-27  Wim Taymans  <wim@fluendo.com>
15616
15617         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15618         (gst_dp_event_from_packet):
15619         Fix serialization of seek events.
15620
15621 2005-07-27  Wim Taymans  <wim@fluendo.com>
15622
15623         * check/gst-libs/gdp.c: (GST_START_TEST):
15624         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
15625         Fix compilation and fix event serialization.
15626
15627 2005-07-27  Wim Taymans  <wim@fluendo.com>
15628
15629         * CHANGES-0.9:
15630         * docs/design/part-TODO.txt:
15631         * docs/design/part-events.txt:
15632         Some docs updates
15633
15634         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15635         (gst_base_sink_event), (gst_base_sink_do_sync),
15636         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
15637         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
15638         (gst_base_src_do_seek), (gst_base_src_event_handler),
15639         (gst_base_src_loop):
15640         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
15641         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15642         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
15643         (gst_base_transform_event), (gst_base_transform_handle_buffer),
15644         (gst_base_transform_set_passthrough),
15645         (gst_base_transform_is_passthrough):
15646         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
15647         * gst/elements/gstfilesink.c: (gst_file_sink_event):
15648         Event updates.
15649
15650         * gst/gstbuffer.h:
15651         Use faster casts.
15652
15653         * gst/gstelement.c: (gst_element_seek):
15654         * gst/gstelement.h:
15655         Update gst_element_seek.
15656
15657         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
15658         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
15659         (gst_event_new_flush_start), (gst_event_new_flush_stop),
15660         (gst_event_new_eos), (gst_event_new_newsegment),
15661         (gst_event_parse_newsegment), (gst_event_new_tag),
15662         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
15663         (gst_event_parse_qos), (gst_event_new_seek),
15664         (gst_event_parse_seek), (gst_event_new_navigation):
15665         * gst/gstevent.h:
15666         Make GstEvent use GstStructure. Add parsing code, make sure the
15667         API is sufficiently generic.
15668         Mark possible directions of events and serialization.
15669
15670         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
15671         (_gst_message_copy), (gst_message_new_segment_start),
15672         (gst_message_new_segment_done), (gst_message_new_custom),
15673         (gst_message_parse_segment_start),
15674         (gst_message_parse_segment_done):
15675         Small cleanups.
15676
15677         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15678         (gst_pad_set_caps), (gst_pad_send_event):
15679         Update for new events. 
15680         Catch events sent in wrong directions.
15681
15682         * gst/gstqueue.c: (gst_queue_link_src),
15683         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15684         (gst_queue_handle_src_query):
15685         Event updates.
15686
15687         * gst/gsttag.c:
15688         * gst/gsttag.h:
15689         Remove event code from this file.
15690
15691         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15692         (gst_dp_event_from_packet):
15693         Event updates.
15694
15695 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15696
15697         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
15698         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15699         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
15700           Make debugging actually useful.
15701
15702 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15703
15704         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
15705         (gst_pad_fixate_caps):
15706           Implement default fixation once again, so that gst_pad_fixate()
15707           actually does anything at all. This probably needs to be some
15708           sort of a last resort, and use profile-based fixation first, but
15709           since that doesn't exist yet, this is the best we have. Fixes
15710           visualization in Totem.
15711
15712 2005-07-22  Wim Taymans  <wim@fluendo.com>
15713
15714         * docs/design/part-events.txt:
15715         Small update.
15716
15717         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15718         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
15719         (gst_base_sink_activate_pull):
15720         Some more comments.
15721
15722         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
15723         (gst_fake_src_create):
15724         Fix handoff marshall.
15725
15726         * gst/elements/gstidentity.c: (gst_identity_class_init),
15727         (gst_identity_transform_ip):
15728         We're a real inplace element.
15729
15730         * gst/gstbus.c: (gst_bus_post):
15731         Added some comments.
15732
15733         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
15734         * tests/muxing/case1.c: (main):
15735         * tests/sched/dynamic-pipeline.c: (main):
15736         * tests/sched/interrupt1.c: (main):
15737         * tests/sched/interrupt2.c: (main):
15738         * tests/sched/interrupt3.c: (main):
15739         * tests/sched/runxml.c: (main):
15740         * tests/sched/sched-stress.c: (main):
15741         * tests/seeking/seeking1.c: (event_received), (main):
15742         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15743         (main):
15744         * tests/threadstate/threadstate3.c: (main):
15745         * tests/threadstate/threadstate4.c: (main):
15746         * tests/threadstate/threadstate5.c: (main):
15747         Fix the tests.
15748
15749 2005-07-21  Wim Taymans  <wim@fluendo.com>
15750
15751         * docs/design/part-seeking.txt:
15752         Some small additions.
15753
15754         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15755         (gst_base_sink_get_times), (gst_base_sink_do_sync),
15756         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
15757         * gst/base/gstbasesink.h:
15758         discont values are gint64, handle the math correctly.
15759
15760         * gst/base/gstbasesrc.c: (gst_base_src_loop):
15761         Make the basesrc report error if the source pad is not linked.
15762
15763         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
15764         (gst_queue_loop), (gst_queue_handle_src_query),
15765         (gst_queue_src_activate_push):
15766         Make queue collect data even if the srcpad is not linked.
15767         Start pushing out data as soon as it is linked.
15768
15769         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
15770         * gst/gstutils.h:
15771         Added gst_flow_get_name() to ease error reporting.
15772
15773 2005-07-20  Wim Taymans  <wim@fluendo.com>
15774
15775         * gst/gstmessage.c: (gst_message_new_segment_start),
15776         (gst_message_new_segment_done), (gst_message_parse_segment_start),
15777         (gst_message_parse_segment_done):
15778         * gst/gstmessage.h:
15779         Added a bunch of messages for advanced seeking.
15780
15781         * gst/parse/grammar.y:
15782         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
15783         (gst_dpman_state_changed):
15784         Fix some new-pad -> pad-added signals
15785
15786 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15787
15788         * docs/manual/appendix-porting.xml:
15789         * docs/pwg/appendix-porting.xml:
15790           Document new-pad/state-change signal renames and the FixedList
15791           type rename.
15792
15793 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15794
15795         * docs/manual/advanced-autoplugging.xml:
15796         * docs/manual/basics-helloworld.xml:
15797         * docs/manual/basics-pads.xml:
15798         * docs/random/ds/0.9-suggested-changes:
15799         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
15800         * gst/gstelement.h:
15801         * gst/gstevent.h:
15802         * gst/gstformat.h:
15803         * gst/gstquery.h:
15804         * gst/gststructure.c: (gst_structure_value_get_generic_type),
15805         (gst_structure_parse_array), (gst_structure_parse_value):
15806         * gst/gstvalue.c: (gst_type_is_fixed),
15807         (gst_value_list_prepend_value), (gst_value_list_append_value),
15808         (gst_value_list_get_size), (gst_value_list_get_value),
15809         (gst_value_transform_array_string), (gst_value_serialize_array),
15810         (gst_value_deserialize_array), (gst_value_intersect_array),
15811         (gst_value_is_fixed), (_gst_value_initialize):
15812         * gst/gstvalue.h:
15813           GstElement::new-pad -> pad-added, GstElement::state-change ->
15814           state-changed, GstValueFixedList -> GstValueArray, add format and
15815           flags as their own arguments in gst_element_seek() (should improve
15816           "bindeability"), remove function generators since they don't work
15817           under a whole bunch of compilers (they were deprecated already
15818           anyway).
15819
15820 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15821
15822         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
15823         (_gst_debug_register_funcptr):
15824         * gst/gstinfo.h:
15825           Fix illegal cast on some platforms (#309253).
15826
15827 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15828
15829         * gst/gstmessage.c: (gst_message_new_custom):
15830         * gst/gstmessage.h:
15831           Add _new_custom, make _new_application a macro to _new_custom.
15832
15833 2005-07-20  Wim Taymans  <wim@fluendo.com>
15834
15835         * gst/base/gstbasesrc.c: (gst_base_src_init),
15836         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
15837         * gst/base/gstbasesrc.h:
15838         Add a gboolean to decide when to push out a discont.
15839
15840         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15841         (gst_queue_loop), (gst_queue_handle_src_query),
15842         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
15843         (gst_queue_set_property), (gst_queue_get_property):
15844         Some cleanups.
15845
15846         * tests/threadstate/threadstate1.c: (main):
15847         Make a thread test compile and run... very silly..
15848
15849
15850 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15851
15852         * docs/manual/appendix-porting.xml:
15853           Mention removal of libgstgconf-0.9.la and existence of gconf
15854           elements.
15855
15856 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15857
15858         * docs/pwg/advanced-clock.xml:
15859         * docs/pwg/appendix-porting.xml:
15860         * docs/pwg/intro-preface.xml:
15861         * docs/pwg/other-base.xml:
15862         * docs/pwg/other-manager.xml:
15863         * docs/pwg/other-nton.xml:
15864         * docs/pwg/other-ntoone.xml:
15865         * docs/pwg/other-oneton.xml:
15866         * docs/pwg/pwg.xml:
15867           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
15868           demuxer), remove n-to-n (was never written), fix some code examples
15869           and links and update the porting section to include all this.
15870
15871 2005-07-19  Wim Taymans  <wim@fluendo.com>
15872
15873         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
15874         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
15875         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
15876         (gst_queue_src_activate_push), (gst_queue_change_state),
15877         (gst_queue_get_property):
15878         * gst/gstqueue.h:
15879         Propagate GstFlowReturn more intelligently upstream and output
15880         an ERROR/EOS when streaming stopped due to fatal error.
15881
15882 2005-07-19  Wim Taymans  <wim@fluendo.com>
15883
15884         * tools/gst-launch.c: (check_intr), (event_loop), (main):
15885         Don't block forever for the state change to complete, the
15886         pipeline already did with a sensible timeout.
15887
15888 2005-07-19  Wim Taymans  <wim@fluendo.com>
15889
15890         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
15891         Make sure we never call the create function is we
15892         got deactivated.
15893
15894 2005-07-19  Andy Wingo  <wingo@pobox.com>
15895
15896         * gst/parse/parse.l: Attempt to solve bug #172815.
15897
15898 2005-07-19  Wim Taymans  <wim@fluendo.com>
15899
15900         * docs/design/part-clocks.txt:
15901         * docs/design/part-events.txt:
15902         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
15903         Small docs updates.
15904         Only update the seeking values when we are not
15905         busy streaming.
15906
15907 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
15908
15909         * gst/base/gstbasesrc.c: (gst_base_src_loop):
15910           Oops, ignore the result of gst_pad_push_event here.
15911
15912 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
15913
15914         * gst/base/gstbasesrc.c: (gst_base_src_loop),
15915         (gst_base_src_activate_push):
15916           Send discont event from the loop function, as pads
15917           aren't activated yet in the activate_push handler.
15918
15919         * gst/gstbin.c: (bin_bus_handler):
15920           Don't leak element name.
15921
15922 2005-07-18  Andy Wingo  <wingo@pobox.com>
15923
15924         * configure.ac: Use AS_LIBTOOL_TAGS.
15925
15926 2005-07-18  Wim Taymans  <wim@fluendo.com>
15927
15928         * docs/gst/gstreamer.types:
15929         Remove deleted types.
15930
15931 2005-07-18  Wim Taymans  <wim@fluendo.com>
15932
15933         * check/elements/gstfakesrc.c: (GST_START_TEST):
15934         * configure.ac:
15935         * gst/Makefile.am:
15936         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
15937         (init_popt_callback):
15938         * gst/gst.h:
15939         * gst/gst_private.h:
15940         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
15941         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
15942         * gst/gstbin.h:
15943         * gst/gstbus.h:
15944         * gst/gstconfig.h.in:
15945         * gst/gstelement.c: (gst_element_class_init),
15946         (gst_element_set_base_time), (gst_element_get_base_time),
15947         (iterator_fold_with_resync), (gst_element_change_state),
15948         (gst_element_dispose), (gst_element_get_bus):
15949         * gst/gstelement.h:
15950         * gst/gstelementfactory.h:
15951         * gst/gsterror.c: (_gst_core_errors_init):
15952         * gst/gsterror.h:
15953         * gst/gstevent.h:
15954         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
15955         * gst/gstindex.c:
15956         * gst/gstinfo.c: (_gst_debug_init):
15957         * gst/gstmessage.c: (_gst_message_copy):
15958         * gst/gstmessage.h:
15959         * gst/gstminiobject.h:
15960         * gst/gstobject.c:
15961         * gst/gstobject.h:
15962         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15963         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
15964         * gst/gstpad.h:
15965         * gst/gstparse.h:
15966         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
15967         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
15968         (gst_pipeline_get_last_stream_time):
15969         * gst/gstpipeline.h:
15970         * gst/gstpluginfeature.h:
15971         * gst/gstquery.h:
15972         * gst/gstscheduler.c:
15973         * gst/gstscheduler.h:
15974         * gst/gststructure.h:
15975         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
15976         (gst_task_finalize), (gst_task_func), (gst_task_create),
15977         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
15978         (gst_task_stop), (gst_task_pause):
15979         * gst/gsttask.h:
15980         * gst/gsttypefind.h:
15981         * gst/gsttypes.h:
15982         * gst/registries/gstlibxmlregistry.c: (load_feature),
15983         (gst_xml_registry_load), (gst_xml_registry_save_feature):
15984         * gst/registries/gstxmlregistry.c:
15985         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
15986         * gst/schedulers/threadscheduler.c:
15987         * libs/gst/control/dparammanager.h:
15988         * tools/gst-inspect.c: (print_element_list),
15989         (print_plugin_features), (print_element_features):
15990         * tools/gst-xmlinspect.c: (print_element_list),
15991         (print_plugin_info), (main):
15992         Removed plugable schedulers.
15993         Removed Scheduler/Manager from elements.
15994         Removed gsttypes.h, rearranged includes.
15995         Removed dependency pad<->element, element<>pipeline, and
15996         various others,  fix includes.
15997         implement gst_pad_get_parent() with gst_object_get_parent()
15998         Make GstTask sefcontained.
15999         Fix _get_state() on GstBin, it did not return ASYNC with a 0
16000         timeout.
16001         Fix endless loop in iterator_fold_with_resync.
16002
16003
16004 2005-07-18  Wim Taymans  <wim@fluendo.com>
16005
16006         * gst/Makefile.am:
16007         * gst/gstarch.h:
16008         Remove old file.
16009
16010 2005-07-18  Wim Taymans  <wim@fluendo.com>
16011
16012         * gst/Makefile.am:
16013         No more cothreads.h
16014
16015 2005-07-18  Wim Taymans  <wim@fluendo.com>
16016
16017         * gst/cothreads.c:
16018         * gst/cothreads.h:
16019         Let's remove these.
16020
16021 2005-07-18  Wim Taymans  <wim@fluendo.com>
16022
16023         * docs/design/part-dynamic.txt:
16024         * docs/design/part-events.txt:
16025         * docs/design/part-seeking.txt:
16026         Some more docs in the works.
16027
16028         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
16029         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
16030         (gst_base_transform_setcaps), (gst_base_transform_get_size),
16031         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
16032         (gst_base_transform_handle_buffer),
16033         (gst_base_transform_sink_activate_push),
16034         (gst_base_transform_src_activate_pull),
16035         (gst_base_transform_set_passthrough),
16036         (gst_base_transform_is_passthrough):
16037         Refcounting fixes.
16038
16039         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
16040         Cleanups.
16041
16042         * gst/gstevent.c: (gst_event_finalize):
16043         Set SRC to NULL.
16044
16045         * gst/gstutils.c: (gst_element_unlink),
16046         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
16047         (gst_pad_proxy_setcaps):
16048         * gst/gstutils.h:
16049         Add _get_parent_element() to get a pads parent as an element.
16050
16051 2005-07-18  Wim Taymans  <wim@fluendo.com>
16052
16053         * check/gst/gstbin.c: (GST_START_TEST):
16054         Remove bogus test.
16055
16056 2005-07-18  Wim Taymans  <wim@fluendo.com>
16057
16058         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
16059         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
16060         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
16061         (gst_base_sink_event), (gst_base_sink_do_sync),
16062         (gst_base_sink_chain), (gst_base_sink_loop),
16063         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
16064         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
16065         Refcounting fixes.
16066         Fix logic for returning ASYNC when not prerolled.
16067
16068 2005-07-18  Wim Taymans  <wim@fluendo.com>
16069
16070         * gst/gstqueue.c: (gst_queue_handle_sink_event):
16071         Fix nasty refcount bug.
16072
16073 2005-07-16 Philippe Khalaf <burger@speedy.org>
16074
16075         * gst/elements/gstfdsrc.c:
16076         * gst/elements/gstfdsrc.h:
16077         * gst/elements/gstelements.c:
16078         * gst/elements/Makefile.am:
16079         Ported fdsrc to 0.9.
16080
16081 2005-07-16  Wim Taymans  <wim@fluendo.com>
16082
16083         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16084         (gst_base_sink_do_sync):
16085         Fix compile error.
16086
16087 2005-07-16  Wim Taymans  <wim@fluendo.com>
16088
16089         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16090         (gst_base_sink_event), (gst_base_sink_get_times),
16091         (gst_base_sink_do_sync), (gst_base_sink_change_state):
16092         * gst/base/gstbasesink.h:
16093         Store and use discont values when syncing buffers as described
16094         in design docs.
16095         
16096         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
16097         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
16098         (gst_base_src_activate_push):
16099         Push discont event when starting.
16100
16101         * gst/elements/gstidentity.c: (gst_identity_transform):
16102         Small cleanups.
16103
16104         * gst/gstbin.c: (gst_bin_change_state):
16105         Small cleanups in base_time  distribution.
16106
16107         * gst/gstelement.c: (gst_element_set_base_time),
16108         (gst_element_get_base_time), (gst_element_change_state):
16109         * gst/gstelement.h:
16110         Added methods for the base_time of the element.
16111         Some MT fixes.
16112
16113         * gst/gstpipeline.c: (gst_pipeline_send_event),
16114         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
16115         (gst_pipeline_get_last_stream_time):
16116         * gst/gstpipeline.h:
16117         MT fixes.
16118         Handle seeking as described in design doc, remove stream_time
16119         hack.
16120         Cleanups clock and stream_time selection code. Added accessors
16121         for the stream_time.
16122         
16123
16124 2005-07-16  Andy Wingo  <wingo@pobox.com>
16125
16126         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
16127         (#305291).
16128
16129 2005-07-16  Wim Taymans  <wim@fluendo.com>
16130
16131         * check/gst/gstbin.c: (GST_START_TEST):
16132         Make elements silent as the deep_notify refs the
16133         parent, which might make the test fail.
16134
16135         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
16136         Don't hold the lock for too long.
16137
16138 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
16139
16140         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
16141           Don't unref the caps we passed to gst_caps_make_writable() after
16142           passing them. gst_caps_make_writable() will do that for us.
16143
16144 2005-07-15  Andy Wingo  <wingo@pobox.com>
16145
16146         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
16147         (#157311).
16148
16149         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
16150         own marshalling function for the handoff signal. Properly type the
16151         buffer as a buffer. Fixes some warnings. Should do a more general
16152         solution.
16153         (gst_identity_class_init): Plug into the right marshaller.
16154
16155 2005-07-15  Wim Taymans  <wim@fluendo.com>
16156
16157         * docs/design/part-TODO.txt:
16158         * docs/design/part-clocks.txt:
16159         * docs/design/part-element-sink.txt:
16160         * docs/design/part-events.txt:
16161         * docs/design/part-gstpipeline.txt:
16162         Updated docs, mostly DISCONT related.
16163
16164 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
16165
16166         * docs/pwg/building-pads.xml:
16167           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
16168
16169 2005-07-15  Andy Wingo  <wingo@pobox.com>
16170
16171         * tools/gst-typefind.c: Update, add copyright block.
16172
16173         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
16174         Normalize and truncate caps before fixation.
16175
16176         * gst/gstcaps.h:
16177         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
16178         discards all but the first structure from its argument.
16179
16180 2005-07-15  Wim Taymans  <wim@fluendo.com>
16181
16182         * gst/base/gstbasetransform.c: (gst_base_transform_init),
16183         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
16184         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
16185         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
16186         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
16187         (gst_base_transform_chain), (gst_base_transform_change_state),
16188         (gst_base_transform_set_passthrough),
16189         (gst_base_transform_is_passthrough):
16190         * gst/base/gstbasetransform.h:
16191         Make passthrough work using the bufferpools.
16192         Changed API a bit, subclasses have to write into a buffer
16193         provided by the base class.
16194         More debug info in nego functions.
16195         
16196         * gst/elements/gstidentity.c: (gst_identity_init),
16197         (gst_identity_transform):
16198         Port to new base class.
16199
16200 2005-07-15  Wim Taymans  <wim@fluendo.com>
16201
16202         * gst/gstmessage.c: (gst_message_new_state_changed):
16203         * tools/gst-launch.c: (event_loop), (main):
16204         Totally dump messages in -launch with the -m option.
16205         Fix message name for State messages,
16206
16207 2005-07-14  Wim Taymans  <wim@fluendo.com>
16208
16209         * gst/base/gstbasesrc.c: (gst_base_src_loop):
16210         Post error messages on errors.
16211
16212 2005-07-14  Wim Taymans  <wim@fluendo.com>
16213
16214         * gst/gstcaps.c: (gst_caps_do_simplify):
16215         Remove debug info.
16216
16217         * gst/gsterror.h:
16218         Define error for stream stopped.
16219
16220         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
16221         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
16222         Do proper return values.
16223
16224         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
16225         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
16226         (gst_pad_get_range):
16227         Better return values.
16228
16229         * gst/gstpad.h:
16230         Reorganise return values, add macro to check for fatal errors.
16231
16232         * gst/gstqueue.c: (gst_queue_chain):
16233         Return proper GstFlowReturn values,
16234
16235 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
16236
16237         * docs/gst/gstreamer-sections.txt:
16238         * docs/gst/gstreamer.types:
16239         * docs/gst/tmpl/gst.sgml:
16240         * docs/gst/tmpl/gstbasesink.sgml:
16241         * docs/gst/tmpl/gstbasesrc.sgml:
16242         * docs/gst/tmpl/gstbasetransform.sgml:
16243         * docs/gst/tmpl/gstbin.sgml:
16244         * docs/gst/tmpl/gstbuffer.sgml:
16245         * docs/gst/tmpl/gstcaps.sgml:
16246         * docs/gst/tmpl/gstclock.sgml:
16247         * docs/gst/tmpl/gstcompat.sgml:
16248         * docs/gst/tmpl/gstconfig.sgml:
16249         * docs/gst/tmpl/gstelement.sgml:
16250         * docs/gst/tmpl/gstelementdetails.sgml:
16251         * docs/gst/tmpl/gstelementfactory.sgml:
16252         * docs/gst/tmpl/gstenumtypes.sgml:
16253         * docs/gst/tmpl/gsterror.sgml:
16254         * docs/gst/tmpl/gstevent.sgml:
16255         * docs/gst/tmpl/gstfakesink.sgml:
16256         * docs/gst/tmpl/gstfakesrc.sgml:
16257         * docs/gst/tmpl/gstfilesink.sgml:
16258         * docs/gst/tmpl/gstfilesrc.sgml:
16259         * docs/gst/tmpl/gstfilter.sgml:
16260         * docs/gst/tmpl/gstformat.sgml:
16261         * docs/gst/tmpl/gstghostpad.sgml:
16262         * docs/gst/tmpl/gstimplementsinterface.sgml:
16263         * docs/gst/tmpl/gstindex.sgml:
16264         * docs/gst/tmpl/gstindexfactory.sgml:
16265         * docs/gst/tmpl/gstinfo.sgml:
16266         * docs/gst/tmpl/gstiterator.sgml:
16267         * docs/gst/tmpl/gstmacros.sgml:
16268         * docs/gst/tmpl/gstmemchunk.sgml:
16269         * docs/gst/tmpl/gstminiobject.sgml:
16270         * docs/gst/tmpl/gstobject.sgml:
16271         * docs/gst/tmpl/gstpad.sgml:
16272         * docs/gst/tmpl/gstpadtemplate.sgml:
16273         * docs/gst/tmpl/gstparse.sgml:
16274         * docs/gst/tmpl/gstpipeline.sgml:
16275         * docs/gst/tmpl/gstplugin.sgml:
16276         * docs/gst/tmpl/gstpluginfeature.sgml:
16277         * docs/gst/tmpl/gstquery.sgml:
16278         * docs/gst/tmpl/gstqueue.sgml:
16279         * docs/gst/tmpl/gstregistry.sgml:
16280         * docs/gst/tmpl/gstregistrypool.sgml:
16281         * docs/gst/tmpl/gstscheduler.sgml:
16282         * docs/gst/tmpl/gstschedulerfactory.sgml:
16283         * docs/gst/tmpl/gststructure.sgml:
16284         * docs/gst/tmpl/gstsystemclock.sgml:
16285         * docs/gst/tmpl/gsttaglist.sgml:
16286         * docs/gst/tmpl/gsttagsetter.sgml:
16287         * docs/gst/tmpl/gsttrace.sgml:
16288         * docs/gst/tmpl/gsttrashstack.sgml:
16289         * docs/gst/tmpl/gsttypefind.sgml:
16290         * docs/gst/tmpl/gsttypefindfactory.sgml:
16291         * docs/gst/tmpl/gsttypes.sgml:
16292         * docs/gst/tmpl/gsturihandler.sgml:
16293         * docs/gst/tmpl/gsturitype.sgml:
16294         * docs/gst/tmpl/gstutils.sgml:
16295         * docs/gst/tmpl/gstvalue.sgml:
16296         * docs/gst/tmpl/gstversion.sgml:
16297         * docs/gst/tmpl/gstxml.sgml:
16298         * docs/libs/tmpl/gstcontrol.sgml:
16299         * docs/libs/tmpl/gstdataprotocol.sgml:
16300         * docs/libs/tmpl/gstdparam.sgml:
16301         * docs/libs/tmpl/gstdplinint.sgml:
16302         * docs/libs/tmpl/gstdpman.sgml:
16303         * docs/libs/tmpl/gstdpsmooth.sgml:
16304         * docs/libs/tmpl/gstgetbits.sgml:
16305         * docs/libs/tmpl/gstunitconvert.sgml:
16306         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
16307         (gst_push_src_base_init), (gst_push_src_class_init),
16308         (gst_push_src_init), (gst_push_src_create):
16309         * gst/base/gstpushsrc.h:
16310         * gst/elements/gstelements.c:
16311         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
16312         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
16313         (gst_fake_sink_init), (gst_fake_sink_set_property),
16314         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
16315         (gst_fake_sink_event), (gst_fake_sink_preroll),
16316         (gst_fake_sink_render), (gst_fake_sink_change_state):
16317         * gst/elements/gstfakesink.h:
16318         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
16319         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
16320         (gst_fake_src_base_init), (gst_fake_src_class_init),
16321         (gst_fake_src_init), (gst_fake_src_event_handler),
16322         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
16323         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
16324         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
16325         (gst_fake_src_create_buffer), (gst_fake_src_create),
16326         (gst_fake_src_start), (gst_fake_src_stop):
16327         * gst/elements/gstfakesrc.h:
16328         * gst/elements/gstfilesink.c: (_do_init),
16329         (gst_file_sink_base_init), (gst_file_sink_class_init),
16330         (gst_file_sink_init), (gst_file_sink_dispose),
16331         (gst_file_sink_set_location), (gst_file_sink_set_property),
16332         (gst_file_sink_get_property), (gst_file_sink_open_file),
16333         (gst_file_sink_close_file), (gst_file_sink_query),
16334         (gst_file_sink_event), (gst_file_sink_render),
16335         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
16336         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
16337         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
16338         * gst/elements/gstfilesink.h:
16339         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
16340         (gst_file_src_class_init), (gst_file_src_init),
16341         (gst_file_src_finalize), (gst_file_src_set_location),
16342         (gst_file_src_set_property), (gst_file_src_get_property),
16343         (gst_file_src_map_region), (gst_file_src_map_small_region),
16344         (gst_file_src_create_mmap), (gst_file_src_create_read),
16345         (gst_file_src_create), (gst_file_src_is_seekable),
16346         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
16347         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
16348         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
16349         (gst_file_src_uri_handler_init):
16350         * gst/elements/gstfilesrc.h:
16351           more autistic cleanliness in functions/names/defines
16352
16353 2005-07-13  Andy Wingo  <wingo@pobox.com>
16354
16355         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
16356         source couldn't negotiate.
16357
16358         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
16359         connections again.
16360
16361         * gst/gstutils.h:
16362         * gst/gstutils.c (gst_element_link_pads_filtered): New old
16363         function. I am channeling Hades. Put your boots on suckers!!!
16364
16365 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16366
16367         * testsuite/caps/Makefile.am:
16368         * testsuite/caps/value_compare.c:
16369         * testsuite/caps/value_intersect.c:
16370         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
16371           move two testsuite apps over to the check dir
16372
16373 2005-07-12  Wim Taymans  <wim@fluendo.com>
16374
16375         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
16376         Added more debug info in the negotiate process.
16377
16378         * gst/gstmessage.h:
16379         Prepare for segment playback.
16380
16381         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
16382         Better debugging.
16383
16384         * gst/gstutils.c:
16385         Some more docs.
16386
16387         * tools/gst-launch.c: (main):
16388         NULL pipeline on errors.
16389
16390 2005-07-12  Andy Wingo  <wingo@pobox.com>
16391
16392         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
16393         not it comes from a malloc region. Make sure our copy gets freed.
16394
16395 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16396
16397         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
16398         * check/gst/gstmessage.c: (GST_START_TEST):
16399         * check/gst/gststructure.c: (GST_START_TEST),
16400         (gst_structure_suite), (main):
16401           more testing
16402         * gst/gstelement.c: (gst_element_message_full):
16403           clean up GError and debug string now that they get copied
16404         * gst/gstmessage.c: (gst_message_new_error),
16405         (gst_message_new_warning), (gst_message_parse_error),
16406         (gst_message_parse_warning):
16407           use GST_TYPE_G_ERROR for structure_new, and take copies of
16408           arguments, so that we don't mess up refcounting
16409
16410 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16411
16412         * check/Makefile.am:
16413           add per-test valgrind targets
16414         * check/gst-libs/gdp.c: (GST_START_TEST),
16415         (gst_data_protocol_suite), (main):
16416           clean up
16417
16418 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16419
16420         * check/Makefile.am:
16421           instate more valgrindable tests
16422         * check/elements/gstfakesrc.c: (chain_func), (event_func),
16423         (GST_START_TEST), (fakesrc_suite):
16424         * check/gst/gstpad.c: (GST_START_TEST):
16425         * check/gst/gststructure.c: (GST_START_TEST):
16426           fix test leaks
16427         * docs/gst/tmpl/gstminiobject.sgml:
16428         * gst/gstpad.c: (gst_pad_finalize):
16429           fix the static mutex leak
16430
16431 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16432
16433         * check/Makefile.am:
16434           add two more tests for valgrinding
16435         * check/gst/gstvalue.c: (GST_START_TEST):
16436           test refcount of deserialized buffer, found a leak
16437         * docs/gst/gstreamer-docs.sgml:
16438         * docs/gst/gstreamer-sections.txt:
16439         * docs/gst/gstreamer.types:
16440         * docs/gst/tmpl/gstminiobject.sgml:
16441           add miniobject to docs
16442         * gst/gstminiobject.c:
16443           add some docs
16444         * gst/gstvalue.c: (gst_value_deserialize_buffer),
16445         (gst_string_unwrap):
16446           fix a hard-to-find invalid write for one of the tests
16447           fix a leak for deserialized buffers
16448
16449 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16450
16451         * docs/pwg/advanced-events.xml:
16452         * docs/pwg/advanced-request.xml:
16453         * docs/pwg/advanced-scheduling.xml:
16454         * docs/pwg/appendix-porting.xml:
16455         * docs/pwg/building-boiler.xml:
16456         * docs/pwg/intro-preface.xml:
16457         * docs/pwg/other-ntoone.xml:
16458           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
16459           of example code and explanation for pad activation, loop() and
16460           getrange() functions and a bit more. Remove old comments pointing
16461           to loop-functions.
16462         * examples/pwg/Makefile.am:
16463           Add loop/getrange examples.
16464
16465 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16466
16467         * configure.ac:
16468           check for valgrind binary + some fixes
16469         * check/gst.supp:
16470           valgrind suppressions for the tests
16471         * check/Makefile.am:
16472           add a valgrind: target that valgrinds the unit tests
16473         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
16474         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
16475         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16476         * check/gst/gstghostpad.c:
16477           added some cleanup
16478         * check/gst/gstdata.c:
16479           removed
16480         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
16481         (thread_unref), (gst_mini_object_suite), (main):
16482           added
16483         * gst/gst.c: (gst_deinit):
16484         * gst/gst.h:
16485           add a method to clean up.
16486         * gst/gstsystemclock.c: (gst_system_clock_dispose),
16487         (gst_system_clock_obtain):
16488           allow for disposing the system clock.
16489         * tools/gst-launch.c: (main):
16490           deinit
16491
16492 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16493
16494         * docs/gst/tmpl/gstbasesrc.sgml:
16495         * docs/gst/tmpl/gstfakesrc.sgml:
16496         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16497         (gst_base_src_init), (gst_base_src_set_property),
16498         (gst_base_src_get_property), (gst_base_src_get_range),
16499         (gst_base_src_start):
16500         * gst/base/gstbasesrc.h:
16501           add num-buffers property
16502         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16503         (gst_fakesrc_init), (gst_fakesrc_set_property),
16504         (gst_fakesrc_get_property), (gst_fakesrc_create),
16505         (gst_fakesrc_start):
16506           remove num-buffers property
16507
16508 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16509
16510         * docs/gst/gstreamer-sections.txt:
16511         * docs/gst/tmpl/gstbasesink.sgml:
16512         * docs/gst/tmpl/gstbasesrc.sgml:
16513         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
16514         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
16515         (gst_base_sink_finalize), (gst_base_sink_set_clock),
16516         (gst_base_sink_set_property), (gst_base_sink_get_property),
16517         (gst_base_sink_handle_object), (gst_base_sink_event),
16518         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
16519         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
16520         (gst_base_sink_loop), (gst_base_sink_deactivate),
16521         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
16522         (gst_base_sink_change_state):
16523         * gst/base/gstbasesink.h:
16524         * gst/base/gstbasesrc.h:
16525         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
16526         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16527         (gst_filesink_init):
16528           more macro splitting
16529
16530 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16531
16532         * gst/gstelement.c: (gst_element_get_bus):
16533           add debug
16534         * tools/gst-launch.c: (check_intr), (event_loop):
16535           fix bus leaks
16536
16537 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16538
16539         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
16540           fix a caps leak
16541
16542 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16543
16544         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16545         (gst_base_src_finalize):
16546           add finalize method and clean up properly
16547         * gst/gstpipeline.c: (gst_pipeline_dispose):
16548           add debug
16549
16550 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16551
16552         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
16553         (gst_bin_suite):
16554           add more things to check
16555         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
16556         * gst/gstelement.c:
16557           more debug
16558
16559 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16560
16561         * check/elements/gstfakesrc.c: (chain_func), (event_func),
16562         (GST_START_TEST), (fakesrc_suite):
16563         * check/gst-libs/gdp.c: (GST_START_TEST):
16564         * check/gst/gst.c: (GST_START_TEST):
16565         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
16566         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16567         * check/gst/gstbus.c: (GST_START_TEST):
16568         * check/gst/gstcaps.c: (GST_START_TEST):
16569         * check/gst/gstdata.c: (GST_START_TEST):
16570         * check/gst/gstelement.c: (GST_START_TEST):
16571         * check/gst/gstghostpad.c: (GST_START_TEST):
16572         * check/gst/gstiterator.c: (GST_START_TEST):
16573         * check/gst/gstmessage.c: (GST_START_TEST):
16574         * check/gst/gstobject.c: (GST_START_TEST):
16575         * check/gst/gstpad.c: (GST_START_TEST):
16576         * check/gst/gststructure.c: (GST_START_TEST):
16577         * check/gst/gstsystemclock.c: (GST_START_TEST),
16578         (gst_systemclock_suite):
16579         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
16580         * check/gst/gstvalue.c: (GST_START_TEST):
16581         * check/pipelines/cleanup.c: (GST_START_TEST):
16582         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
16583         * check/states/sinks.c: (GST_START_TEST):
16584         * check/gstcheck.c: (gst_check_init):
16585         * check/gstcheck.h:
16586           add debugging category
16587           use GST_START_TEST now, so we add a debug line
16588
16589 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16590
16591         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
16592           add test for state change message on a bin
16593         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
16594           add another test
16595         * gst/gstbin.c: (gst_bin_init):
16596         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
16597         * gst/gstelement.c: (gst_element_post_message),
16598         (gst_element_set_state):
16599         * gst/gstelementfactory.c: (gst_element_factory_create):
16600         * gst/gstmessage.c: (gst_message_new):
16601         * gst/gstscheduler.c:
16602           various debugging additions and cleanups
16603
16604 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16605
16606         * check/Makefile.am:
16607         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
16608         (main):
16609           adding tests for elements
16610         * gst/gstelement.c: (gst_element_dispose):
16611
16612 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16613
16614         * gst/registries/gstlibxmlregistry.c: (load_feature):
16615           plug more leaks.  A simple gst_init() now is leakfree, yay.
16616
16617 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16618
16619         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
16620         (gst_xml_registry_load):
16621           plug another memleak
16622
16623 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16624
16625         * configure.ac:
16626           use GST_SET_ERROR_CFLAGS
16627         * docs/faq/cvs.xml:
16628           change to ERROR_CFLAGS
16629
16630 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16631
16632         * configure.ac:
16633           make GST_ERROR_CFLAGS overridable and re-enable Werror
16634         * docs/faq/cvs.xml:
16635           add a note about error CFLAGS
16636         * docs/gst/tmpl/gstfakesrc.sgml:
16637         * gst/elements/gstfakesrc.c:
16638           comment out some unused code
16639         * gst/gst.c: (split_and_iterate):
16640         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
16641         (load_feature):
16642           plug some memleaks
16643
16644 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16645
16646         * common/Makefile.am:
16647         * common/gtk-doc.mak:
16648         * docs/gst/Makefile.am:
16649           factor out gtk-doc.mak
16650
16651 2005-07-07  Wim Taymans  <wim@fluendo.com>
16652
16653         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
16654         (gst_thread_scheduler_dispose):
16655         Unlock the STREAM_LOCK completely.
16656
16657 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16658
16659         * check/Makefile.am:
16660         * check/elements/.cvsignore:
16661         * check/elements/gstfakesrc.c: (chain_func), (event_func),
16662         (START_TEST), (fakesrc_suite), (main):
16663         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16664         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
16665         (gst_fakesrc_create), (gst_fakesrc_start):
16666         * gst/elements/gstfakesrc.h:
16667           adding a first element test
16668
16669 2005-07-07  Andy Wingo  <wingo@pobox.com>
16670
16671         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
16672         debug message.
16673
16674 2005-07-07  Wim Taymans  <wim@fluendo.com>
16675
16676         * gst/gstquery.c:
16677         * gst/gstquery.h:
16678         Remove old types
16679
16680 2005-07-07  Wim Taymans  <wim@fluendo.com>
16681
16682         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
16683         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
16684         Allow subclasses to implement their own negotiation.
16685
16686 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
16687
16688         * docs/design/part-gstbin.txt:
16689         * docs/design/part-gstpipeline.txt:
16690           Update design notes to reflect the movement of
16691           responsibility for bus handling from GstPipeline to
16692           GstBin
16693
16694 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
16695
16696         * configure.ac:
16697           Remove unnecessary queue2/3/4 examples.
16698
16699 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
16700
16701         * examples/Makefile.am:
16702         * examples/helloworld/helloworld.c: (event_loop), (main):
16703         * examples/queue/queue.c: (event_loop), (main):
16704         * examples/queue2/queue2.c: (main):
16705           Update a couple of the examples to work again.
16706
16707         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16708         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
16709          Spelling corrections and extra debug.
16710         
16711         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
16712         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
16713         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
16714         * gst/gstbin.h:
16715         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
16716         (gst_pipeline_change_state):
16717         * gst/gstpipeline.h:
16718           Move the bus handler for children to the GstBin, and create a
16719           separate bus for receiving messages from children to the one the
16720           bus sends 'upwards' on.
16721
16722 2005-07-06  Wim Taymans  <wim@fluendo.com>
16723
16724         * gst/base/README:
16725         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16726         (gst_base_sink_handle_object), (gst_base_sink_loop),
16727         (gst_base_sink_change_state):
16728         * gst/base/gstbasesink.h:
16729         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16730         (gst_base_src_init), (gst_base_src_setcaps),
16731         (gst_base_src_getcaps), (gst_base_src_loop),
16732         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
16733         (gst_base_src_start), (gst_base_src_change_state):
16734         * gst/base/gstbasesrc.h:
16735         Make basesrc negotiate.
16736         Handle the case where preroll fails in basesink.
16737         Update README.
16738
16739 2005-07-06  Wim Taymans  <wim@fluendo.com>
16740
16741         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
16742         Implement the fixate function.
16743         Clean up acceptcaps.
16744
16745 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16746
16747         * docs/pwg/building-filterfactory.xml:
16748         * docs/pwg/pwg.xml:
16749           Remove never-written filter-factory chapter; I'll add the various
16750           base classes to part 4 ("other element types") later on.
16751
16752 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16753
16754         * docs/pwg/advanced-negotiation.xml:
16755         * docs/pwg/building-boiler.xml:
16756         * docs/pwg/building-pads.xml:
16757         * docs/pwg/pwg.xml:
16758         * examples/pwg/Makefile.am:
16759           Add a chapter on caps negotiation, simplify the original code
16760           samples a bit w.r.t. caps negotiation, add link to the advanced
16761           section. Add a bunch of examples showing different use cases of
16762           different types of caps negotiation. Upstream renegotiation isn't
16763           fully documented yet since nobody knows how that works.
16764
16765 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16766
16767         * check/gst/gstpad.c:
16768         * check/gstcheck.c:
16769         * gst/gstpad.c: (gst_pad_get_internal_links_default):
16770           if pad has no parent, return NULL as list of internal links
16771
16772 2005-07-05  Andy Wingo  <wingo@pobox.com>
16773
16774         * gst/elements/gstfilesrc.c:
16775         * gst/elements/gstfakesrc.c: 
16776         * gst/base/gstpushsrc.c:
16777         * gst/base/gstbasesrc.h: 
16778         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
16779         
16780 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
16781
16782         * Makefile.am:
16783           better report generation target (lcov needs a patch)
16784
16785 2005-07-05  Andy Wingo  <wingo@pobox.com>
16786
16787         * gst/elements, testsuite: Null if we got it...
16788
16789 2005-07-05  Wim Taymans  <wim@fluendo.com>
16790
16791         * configure.ac:
16792         * libs/gst/dataprotocol/Makefile.am:
16793         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
16794         * libs/gst/dataprotocol/dataprotocol.h:
16795         * pkgconfig/Makefile.am:
16796         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
16797         * pkgconfig/gstreamer-dataprotocol.pc.in:
16798         Ported dataprotol to 0.9. 
16799         Added pkgconfig files.
16800
16801 2005-07-05  Andy Wingo  <wingo@pobox.com>
16802
16803         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
16804         Default to returning TRUE for the case when tranform_caps returns
16805         a fixed caps, like for identity or volume.
16806
16807         * check/gst/gstbus.c (pound_bus_with_messages): 
16808         * check/gst/gstmessage.c (START_TEST): 
16809         * check/pipelines/simple_launch_lines.c (got_handoff): Application
16810         message API change.
16811
16812         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
16813         logic weaks here: always run transform_caps, trying passthrough
16814         operation only if the original caps intersects with the transform.
16815
16816         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
16817         source and sink caps.
16818
16819         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
16820         Intersect the peer caps with the pad template before going into
16821         transform_caps.
16822         (gst_base_transform_transform_caps): More debugging.
16823
16824         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
16825         src argument.
16826
16827 2005-07-04  Edward Hervey  <edward@fluendo.com>
16828
16829         * gst/gstutils.c:
16830         * gst/gstutils.h:
16831         (gst_pad_add_*_probe): now returns the signal id for better wrapping
16832         in bindings.
16833
16834 2005-07-04  Andy Wingo  <wingo@pobox.com>
16835
16836         * check/gst/gstpad.c: Only set explicit caps on pads.
16837
16838 2005-07-01  Andy Wingo  <wingo@pobox.com>
16839
16840         * tests/network-clock.scm: Commentary update.
16841
16842         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
16843         Didn't really make sense, not implementable with basetransform,
16844         etc.
16845         (gst_identity_transform): Unref inbuf via make_writable. Feeble
16846         attempt at implementing the sync property, needs an unlock method.
16847
16848         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
16849         New func, by default returns the same caps (the identity
16850         transformation).
16851         (gst_base_transform_getcaps): Uses transform_caps to return
16852         something sensible.
16853         (gst_base_transform_setcaps): Complicated logic to get caps on
16854         both pads, even if they are different, and to call set_caps once
16855         for every time both pads get their caps set.
16856         (gst_base_transform_handle_buffer): Give the ref to the transform
16857         function. Allows in-place modification of the buffer.
16858
16859         * gst/base/gstbasetransform.h (transform_caps): New class method.
16860         Given caps on one side, what can I do on the other.
16861         (set_caps): Take two caps, one for each side of the element.
16862
16863         * gst/gstpad.h:
16864         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
16865         caps in place. This is safe because we can check the mutability of
16866         the caps, and a good idea because fixate functions are just called
16867         as a matter of last resort. (Not actually implemented.)
16868         (gst_pad_set_caps): If the caps we're setting is actually the same
16869         as the existing pad caps, just update the pointer without calling
16870         setcaps. Assert that caps is either NULL or fixed, as per the
16871         docs.
16872
16873         * gst/gstghostpad.c: Update for fixate changes.
16874
16875 2005-07-02  Andy Wingo  <wingo@pobox.com>
16876
16877         * gst/gstcaps.c:
16878         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
16879         two refcounts makes it immutable, which is enough. Doc more.
16880
16881 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
16882
16883         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
16884           Put the mini_object into GValue as a mini_object,
16885           not a gpointer, since that's how we declared
16886           the signal.
16887
16888 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16889
16890         * examples/pwg/Makefile.am:
16891           Fix buildbot again.
16892
16893 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16894
16895         * docs/pwg/building-testapp.xml:
16896           Add extra check.
16897         * examples/pwg/Makefile.am:
16898           Fix buildbot.
16899
16900 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16901
16902         * configure.ac:
16903         * examples/Makefile.am:
16904         * examples/pwg/Makefile.am:
16905         * examples/pwg/extract.pl:
16906           Enable building the PWG examples.
16907         * docs/pwg/advanced-interfaces.xml:
16908           Add URI interface stub.
16909         * docs/pwg/advanced-types.xml:
16910         * docs/pwg/other-autoplugger.xml:
16911         * docs/pwg/appendix-porting.xml:
16912         * docs/pwg/pwg.xml:
16913           Add porting guide (mostly stubs), remove autoplugging (see ADM).
16914         * docs/pwg/building-boiler.xml:
16915         * docs/pwg/building-chainfn.xml:
16916         * docs/pwg/building-pads.xml:
16917         * docs/pwg/building-props.xml:
16918         * docs/pwg/building-state.xml:
16919         * docs/pwg/building-testapp.xml:
16920           Update the building-*.xml parts for 0.9 changes. All examples
16921           code blocks compile in examples/pwg/*.
16922
16923 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16924
16925         * docs/manual/advanced-autoplugging.xml:
16926         * docs/manual/appendix-checklist.xml:
16927         * docs/manual/appendix-integration.xml:
16928         * docs/manual/highlevel-components.xml:
16929           Fix playbin/decodebin examples, update docs a bit, mention bus
16930           instead of signals in various places, mention kmplayer and
16931           kaffeine since they have a working GStreamer backend in the KDE
16932           section.
16933
16934 2005-06-30  Wim Taymans  <wim@fluendo.com>
16935
16936         * CHANGES-0.9:
16937         * docs/design/draft-ghostpads.txt:
16938         * docs/design/draft-push-pull.txt:
16939         * docs/design/draft-query.txt:
16940         * docs/design/part-TODO.txt:
16941         * docs/design/part-query.txt:
16942         Added CHANGES-0.9 doc, updated status of other docs.
16943         
16944         * gst/gstquery.h:
16945         Remove "hmm" macro
16946
16947 2005-06-30  Wim Taymans  <wim@fluendo.com>
16948
16949         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16950         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
16951         (gst_base_sink_change_state):
16952         * gst/base/gstbasesink.h:
16953         Some tweaks, only EOS and a buffer complete a preroll.
16954
16955 2005-06-30  Andy Wingo  <wingo@pobox.com>
16956
16957         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
16958         activate_push down to the internal pad as well.
16959
16960 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
16961
16962         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16963
16964         * gst/gsttaginterface.c:
16965           Some documentation fixes (#307394 and #307397).
16966
16967 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
16968
16969         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16970
16971         * gst/gstvalue.c: (gst_value_intersect_list):
16972           Fix memleak (#309125).
16973
16974 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16975
16976         * docs/manual/advanced-dataaccess.xml:
16977           Fix fakesrc example to compile; doesn't work, bug somewhere...?
16978         * docs/manual/basics-pads.xml:
16979           Add reference for filtered caps to above chapter.
16980
16981 2005-06-30  Wim Taymans  <wim@fluendo.com>
16982
16983         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
16984         (gst_bin_change_state):
16985         Probes are gone.
16986         Lame attempt at making the state change function a bit
16987         more readable.
16988
16989 2005-06-30  Wim Taymans  <wim@fluendo.com>
16990
16991         * docs/design/part-clocks.txt:
16992         * docs/design/part-element-sink.txt:
16993         * docs/design/part-events.txt:
16994         * docs/design/part-preroll.txt:
16995         * docs/design/part-states.txt:
16996         Some more tweeks and additions to the docs.
16997
16998 2005-06-30  Wim Taymans  <wim@fluendo.com>
16999
17000         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
17001         (default_have_data), (gst_pad_class_init), (gst_pad_init),
17002         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
17003         (gst_pad_check_pull_range), (gst_pad_get_range),
17004         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
17005         * gst/gstpad.h:
17006         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
17007         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17008         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17009         (gst_pad_remove_buffer_probe):
17010         Removed atomic operations, use existing LOCK.
17011         Move exception handling out of main code path.
17012
17013 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17014
17015         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
17016         (silly_return_true_function), (gst_pad_class_init),
17017         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
17018         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
17019         (gst_pad_send_event):
17020           Fix accumulator, add default value by using _emitv() instead
17021           of _emit() for signal emission.
17022
17023 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17024
17025         * docs/manual/advanced-dataaccess.xml:
17026         * examples/manual/Makefile.am:
17027           Add probe example.
17028         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
17029           Make work (??).
17030
17031 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
17032
17033         * gst/elements/gstfilesink.c: (gst_filesink_render):
17034           Simplify code so that we don't have to handle short
17035           writes and return GST_FLOW_ERROR if an error occured.
17036
17037 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17038
17039         * docs/gst/gstreamer-docs.sgml:
17040           Remove probes more.
17041
17042 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17043
17044         * docs/gst/gstreamer-sections.txt:
17045         * docs/gst/tmpl/gstpad.sgml:
17046         * docs/gst/tmpl/gstprobe.sgml:
17047         * gst/Makefile.am:
17048         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
17049         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
17050         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
17051         (gst_pad_push_event), (gst_pad_send_event):
17052         * gst/gstpad.h:
17053         * gst/gstutils.c: (gst_pad_add_data_probe),
17054         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17055         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17056         (gst_pad_remove_buffer_probe):
17057         * gst/gstutils.h:
17058           Remove old probes, add new g-signal-based probes and some utility
17059           functions.
17060
17061 2005-06-29  Edward Hervey  <edward@fluendo.com>
17062
17063         * gst/gstelementfactory.c:
17064         * gst/gstutils.h:
17065         * gst/gstutils.c:
17066         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
17067         the definition to the header file.
17068
17069 2005-06-29  Andy Wingo  <wingo@pobox.com>
17070
17071         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
17072         plugins from the source directory.
17073
17074 2005-06-29  Wim Taymans  <wim@fluendo.com>
17075
17076         * docs/gst/tmpl/gstbuffer.sgml:
17077         * docs/gst/tmpl/gstclock.sgml:
17078         Some fixings for blantently wrong text.
17079
17080 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17081
17082         * check/Makefile.am:
17083         * gst/gst.c: (add_path_func), (init_pre):
17084         * gst/gstregistry.c: (gst_registry_add_path):
17085           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
17086           only scan the GST_PLUGIN_PATH locations, and not add
17087           system locations
17088
17089 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
17090
17091         * docs/gst/gstreamer-sections.txt:
17092         * docs/gst/tmpl/gstbasesrc.sgml:
17093         * gst/gstelement.c:
17094         * gst/gstelement.h:
17095         * gst/gstevent.c:
17096         * gst/gstutils.c:
17097           doc fixes
17098
17099 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17100
17101         * docs/manual/advanced-autoplugging.xml:
17102           Fix autoplugging example.
17103
17104 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17105
17106         * docs/manual/advanced-autoplugging.xml:
17107         * docs/manual/mime-world.fig:
17108           Try to get autoplugging working, fix type detection. Fix text
17109           in hello-world image.
17110
17111 2005-06-29  Wim Taymans  <wim@fluendo.com>
17112
17113         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17114         (gst_base_sink_change_state):
17115         Small debug line.
17116
17117         * gst/gstclock.h:
17118         map SIGNAL and BROADCAST to the right function.
17119
17120         * gst/gstobject.h:
17121         Remove redundant braces.
17122
17123         * gst/gstpad.c: (gst_pad_set_caps):
17124         Don't call setcaps function when reseting caps to NULL.
17125
17126         * gst/gstsystemclock.c: (gst_system_clock_dispose),
17127         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
17128         (gst_system_clock_id_unschedule):
17129         Use BROADCAST as this is what we do.
17130
17131 2005-06-29  Wim Taymans  <wim@fluendo.com>
17132
17133         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17134         We are actually prerolling before commiting the state
17135         change. 
17136
17137 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17138
17139         * docs/manual/advanced-clocks.xml:
17140         * docs/manual/advanced-interfaces.xml:
17141         * docs/manual/advanced-metadata.xml:
17142         * docs/manual/advanced-position.xml:
17143         * docs/manual/advanced-schedulers.xml:
17144         * docs/manual/advanced-threads.xml:
17145         * docs/manual/appendix-porting.xml:
17146         * docs/manual/basics-bins.xml:
17147         * docs/manual/basics-bus.xml:
17148         * docs/manual/basics-elements.xml:
17149         * docs/manual/basics-helloworld.xml:
17150         * docs/manual/basics-pads.xml:
17151         * docs/manual/highlevel-components.xml:
17152         * docs/manual/manual.xml:
17153         * docs/manual/thread.fig:
17154           Update (until threads/scheduling) Application Development Manual;
17155           remove GstThread, add GstBus, add simple porting checklist, add
17156           documentation for tag writing, clocks, make all examples until this
17157           part compile and run.
17158         * examples/manual/Makefile.am:
17159           Update from changes to Application Development Manual; add bus
17160           example, remove thread example.
17161
17162 2005-06-28  Wim Taymans  <wim@fluendo.com>
17163
17164         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
17165         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
17166         (gst_bus_source_dispatch):
17167         Add debugging messages.
17168         Make internal methods static.
17169         Handle the case where the bus is flushed in the handler.
17170         
17171         * gst/gstelement.c: (gst_element_get_bus):
17172         Fix refcount in _get_bus();
17173
17174         * gst/gstpipeline.c: (gst_pipeline_change_state),
17175         (gst_pipeline_get_clock_func):
17176         Clock refcounting fixes.
17177         Handle the case where preroll timed out more gracefully.
17178         
17179         * gst/gstsystemclock.c: (gst_system_clock_dispose):
17180         Clean up the internal thread in dispose. This is needed
17181         for subclasses that actually get disposed.
17182         
17183         * gst/schedulers/threadscheduler.c:
17184         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
17185         (gst_thread_scheduler_dispose):
17186         Free thread pool in dispose.
17187
17188 2005-06-28  Andy Wingo  <wingo@pobox.com>
17189
17190         * tests/network-clock-utils.scm (debug, print-event): New utils.
17191
17192         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
17193         (*packet-loss*): Unified loss probability.
17194         (network-time): Report out-of-band events.
17195
17196         * tests/plot-data: Add support for out-of-band events. Hack it
17197         into this script instead of passing it down the pipe; should fix
17198         this later.
17199
17200 2005-06-28  Wim Taymans  <wim@fluendo.com>
17201
17202         * docs/gst/gstreamer.types:
17203         * docs/gst/tmpl/gstbasesrc.sgml:
17204         * docs/gst/tmpl/gstpad.sgml:
17205         Docs fixes.
17206
17207 2005-06-28  Wim Taymans  <wim@fluendo.com>
17208
17209         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
17210         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
17211         (gst_proxy_pad_do_fixatecaps):
17212         Correctly proxy the check_pull_range function.
17213
17214 2005-06-28  Andy Wingo  <wingo@pobox.com>
17215
17216         * tests/network-clock.scm: Removed need for slib.
17217         
17218 2005-06-28  Wim Taymans  <wim@fluendo.com>
17219
17220         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
17221         (gst_basesink_preroll_queue_flush):
17222         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
17223         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
17224         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
17225         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
17226         (gst_proxy_pad_set_property):
17227         * gst/gstpad.c:
17228         * gst/gstpad.h:
17229         * gst/gstqueue.c: (gst_queue_init):
17230         The deprecated pad loop function is removed now.
17231
17232 2005-06-28  Andy Wingo  <wingo@pobox.com>
17233
17234         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
17235         New parameters, simulate network packet loss.
17236
17237         * tests/network-clock-utils.scm: Initialize the RNG.
17238
17239 2005-06-28  Wim Taymans  <wim@fluendo.com>
17240
17241         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
17242         (gst_basesink_event), (gst_basesink_deactivate):
17243         Flushing the preroll queue always needs to unlock the waiters.
17244
17245 2005-06-28  Edward Hervey  <edward@fluendo.com>
17246
17247         * gst/gstpipeline.c: (gst_pipeline_send_event): 
17248         Wheen a seek was successful on a pipeline, set the stream_time to the
17249         seek offset in order to have a synchronized stream_time.
17250
17251 2005-06-28  Wim Taymans  <wim@fluendo.com>
17252
17253         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
17254         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
17255         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
17256         (gst_proxy_pad_do_fixatecaps):
17257         Call wrapper function instead of just calling the function
17258         pointers. This takes care of any locking and whatmore.
17259
17260 2005-06-28  Wim Taymans  <wim@fluendo.com>
17261
17262         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
17263         (gst_pad_pull_range):
17264         * gst/gstpad.h:
17265         CONNECTED -> LINKED.
17266
17267 2005-06-28  Andy Wingo  <wingo@pobox.com>
17268
17269         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
17270         source-munging commit!!!
17271
17272         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
17273         (gst_object_sink): Take gpointer arguments, not GstObject --
17274         avoids casts. Like GLib.
17275
17276         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
17277         activate.
17278
17279 2005-06-27  Andy Wingo  <wingo@pobox.com>
17280
17281         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
17282         remaining buffer.
17283
17284         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
17285         returns a sorted copy of the trace list.
17286         (gst_alloc_trace_print_live): New API, only prints traces with
17287         live objects. Sort the list.
17288         (gst_alloc_trace_print_all): Sort the list.
17289         (gst_alloc_trace_print): Align columns.
17290
17291         * gst/elements/gstttypefindelement.c:
17292         * gst/elements/gsttee.c:
17293         * gst/base/gstbasesrc.c:
17294         * gst/base/gstbasesink.c:
17295         * gst/base/gstbasetransform.c:
17296         * gst/gstqueue.c: Adapt for pad activation changes.
17297
17298         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
17299         sched.
17300         (gst_pipeline_dispose): Drop ref on sched.
17301
17302         * gst/gstpad.c (gst_pad_init): Set the default activate func.
17303         (gst_pad_activate_default): Push mode by default.
17304         (pre_activate_switch, post_activate_switch): New stubs, things to
17305         do before and after switching activation modes on pads.
17306         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
17307         the pad's activate function to choose which mode to activate.
17308         Shortcut on deactivation and call the right function directly.
17309         (gst_pad_activate_pull): New API, (de)activates a pad in pull
17310         mode.
17311         (gst_pad_activate_push): New API, same for push mode.
17312         (gst_pad_set_activate_function) 
17313         (gst_pad_set_activatepull_function) 
17314         (gst_pad_set_activatepush_function): Setters for new API.
17315
17316         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
17317         Trace all miniobjects.
17318         (gst_mini_object_make_writable): Unref the arg if we copy, like
17319         gst_caps_make_writable.
17320
17321         * gst/gstmessage.c (_gst_message_initialize): No trace init.
17322
17323         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
17324         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
17325         Adapt for new pad API.
17326
17327         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
17328
17329         * gst/gstelement.h:
17330         * gst/gstelement.c (gst_element_iterate_src_pads) 
17331         (gst_element_iterate_sink_pads): New API functions.
17332         
17333         * gst/gstelement.c (iterator_fold_with_resync): New utility,
17334         should fold into gstiterator.c in some form.
17335         (gst_element_pads_activate): Simplified via use of fold and
17336         delegation of decisions to gstpad->activate.
17337
17338         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
17339         help in debugging.
17340
17341         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
17342         class once in init, like gstmessage. Didn't run into this issue
17343         but it seems correct. Don't initialize a trace, gstminiobject does
17344         that.
17345
17346         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
17347         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
17348         to the bus.
17349         (assert_live_count): New util function, uses alloc traces to check
17350         cleanup.
17351
17352         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
17353         To be modified when unlink drops the internal pad.
17354
17355 2005-06-27  Wim Taymans  <wim@fluendo.com>
17356
17357         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
17358         (gst_bin_change_state):
17359         Cleanup the get_state() function a little, make sure it
17360         iterates the same set of elements.
17361         Added stub iterate_state_order().
17362
17363 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
17364
17365         * docs/gst/gstreamer-docs.sgml:
17366         * docs/gst/gstreamer-sections.txt:
17367         * docs/gst/gstreamer.types:
17368         * docs/gst/tmpl/gstbasesink.sgml:
17369         * docs/gst/tmpl/gstbasesrc.sgml:
17370         * docs/gst/tmpl/gstbasetransform.sgml:
17371         * docs/gst/tmpl/gstelement.sgml:
17372         * docs/gst/tmpl/gstiterator.sgml:
17373         * gst/base/gstbasesrc.c:
17374         * gst/base/gstbasesrc.h:
17375         * gst/base/gstbasetransform.h:
17376         * gst/gstelement.c:
17377         * gst/gstiterator.h:
17378           adding basetransform and iterator docs
17379
17380 2005-06-27  Andy Wingo  <wingo@pobox.com>
17381
17382         * docs/design/part-activation.txt: Notes on how activation should
17383         work -- not quite implemented yet.
17384
17385 2005-06-25  Wim Taymans  <wim@fluendo.com>
17386
17387         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
17388         At least get the chain function correct, needs more
17389         fixing.
17390
17391 2005-06-25  Wim Taymans  <wim@fluendo.com>
17392
17393         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
17394         (gst_basesink_handle_object), (gst_basesink_event),
17395         (gst_basesink_do_sync), (gst_basesink_handle_event),
17396         (gst_basesink_change_state):
17397         * gst/gsttask.h:
17398         Right, two problems here: ghostpads don't take locks and
17399         glib _rec_mutex_lock_full() with depth==0 still locks.
17400         Catch illegal locking and g_warn them.
17401
17402 2005-06-25  Wim Taymans  <wim@fluendo.com>
17403
17404         * check/states/sinks.c: (START_TEST), (gst_object_suite):
17405         Have to check for completion now...
17406
17407 2005-06-25  Wim Taymans  <wim@fluendo.com>
17408
17409         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
17410         (gst_basesink_handle_object), (gst_basesink_event),
17411         (gst_basesink_do_sync), (gst_basesink_handle_event),
17412         (gst_basesink_change_state):
17413         * gst/gstpad.h:
17414         Unlock STREAM_LOCK whatever the recursion was.
17415
17416 2005-06-25  Wim Taymans  <wim@fluendo.com>
17417
17418         * gst/base/gstbasesink.c: (gst_basesink_set_property),
17419         (gst_basesink_preroll_queue_empty),
17420         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
17421         (gst_basesink_event), (gst_basesink_do_sync),
17422         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
17423         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
17424         (gst_basesink_change_state):
17425         Reworked the base sink, handle event and buffer serialisation
17426         correctly and removed possible deadlock.
17427         Handle EOS correctly.
17428
17429 2005-06-25  Wim Taymans  <wim@fluendo.com>
17430
17431         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
17432         (gst_pipeline_change_state):
17433         * tools/gst-launch.c: (check_intr), (event_loop), (main):
17434         Allow elements to post EOS in the state change function.
17435         Fix up -launch, make it exit the poll loop when the
17436         pipeline actually changed state.
17437         Fix up warning parsing in -launch.
17438
17439 2005-06-25  Wim Taymans  <wim@fluendo.com>
17440
17441         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
17442         (gst_tee_sink_activate):
17443         Core takes STREAM_LOCK for us now.
17444
17445 2005-06-25  Wim Taymans  <wim@fluendo.com>
17446
17447         * gst/gstelement.c: (gst_element_get_state_func),
17448         (gst_element_set_state):
17449         * gst/gstelement.h:
17450         * gst/gstmessage.c: (gst_message_parse_error),
17451         (gst_message_parse_warning):
17452         Keep track of current target state while performing a state
17453         change so that subclasses can do something interesting.
17454         Fix parsing of warning/error messages when GError is NULL.
17455
17456 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17457
17458         * docs/gst/Makefile.am:
17459         * docs/gst/gstreamer-docs.sgml:
17460         * docs/gst/gstreamer-sections.txt:
17461         * docs/gst/gstreamer.types:
17462         * docs/gst/tmpl/gstbasesink.sgml:
17463         * docs/gst/tmpl/gstbasesrc.sgml:
17464         * docs/gst/tmpl/gstbin.sgml:
17465         * docs/gst/tmpl/gstcompat.sgml:
17466         * docs/gst/tmpl/gstfakesink.sgml:
17467         * docs/gst/tmpl/gstfakesrc.sgml:
17468         * docs/gst/tmpl/gstfilesink.sgml:
17469         * docs/gst/tmpl/gstfilesrc.sgml:
17470         * docs/gst/tmpl/gstindex.sgml:
17471         * docs/manual/appendix-quotes.xml:
17472         * gst/base/gstbasesrc.h:
17473         * gst/elements/gstfakesrc.h:
17474         * gst/gstmessage.h:
17475           start pulling in base classes and elements in our docs
17476
17477 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
17478
17479         * docs/gst/Makefile.am:
17480         * docs/libs/Makefile.am:
17481           fixed make distcheck with gtk-doc 1.3
17482
17483 2005-06-23  Wim Taymans  <wim@fluendo.com>
17484
17485         * gst/gstelement.c: (gst_element_get_state_func),
17486         (gst_element_set_state), (gst_element_change_state):
17487         When the state did not change, also report NO_PREROLL
17488         when it matters.
17489
17490 2005-06-23  Wim Taymans  <wim@fluendo.com>
17491
17492         * gst/gstpad.c: (gst_pad_event_default):
17493         * gst/gstqueue.c: (gst_queue_loop):
17494         No unsafe task pausing please.
17495
17496 2005-06-23  Wim Taymans  <wim@fluendo.com>
17497
17498         * gst/schedulers/threadscheduler.c:
17499         (gst_thread_scheduler_task_start),
17500         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
17501         Ref the task before pushing it on the threadpool. This
17502         makes sure that we have a ref when the threadfunction is
17503         actually called.
17504
17505 2005-06-23  Andy Wingo  <wingo@pobox.com>
17506
17507         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
17508         offset is greater than the file's size.
17509
17510         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
17511         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
17512         * gst/gstobject.c (gst_object_class_init): Make the class lock
17513         recursive. Wim won't let me drop deep_notify. Decodebin works
17514         again, whoopdy doo.
17515
17516         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
17517         internal pad, and hacks accordingly. Doesn't do it on the target
17518         pad because we change its caps. Probably catches all cases of
17519         interest tho.
17520         (gst_ghost_pad_set_property): Connect to notify::caps as
17521         appropritate.
17522
17523         * tests/network-clock.scm (plot-simulation): Pipe data to the
17524         elite python skript.
17525
17526         * tests/network-clock-utils.scm (define-parameter): New macro,
17527         defines a parameter that can be set via the command line.
17528         (set-parameter!, parse-parameter-arguments): Command line args
17529         parser.
17530
17531         * tests/plot-data: Simple matplotlib-based plotter, takes input on
17532         stdin.
17533
17534 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
17535
17536         * gst/elements/gsttypefindelement.c:
17537         (gst_type_find_element_handle_event):
17538           Don't restart typefinding on a discont.
17539         * gst/gstelement.c: (gst_element_set_state):
17540           Debug spelling fix.
17541         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
17542           Allow changing mode of an active pad.
17543           Debug output fixes.
17544         * gst/registries/gstlibxmlregistry.c: (load_feature):
17545           Don't cast a static pad template to a normal pad template.
17546
17547 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17548
17549         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17550         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
17551           remove gst_strtoll completely, since it didn't actually do
17552           anything more than what g_ascii_strtoull already does.
17553           check for range errors when deserializing
17554           do a cast for the unsigned cases; but further fixing needs
17555           a decision on what the interpretation of "(int)" and
17556           deserialization should be for values that fall outside the
17557           type's boundaries (ie, refuse, or interpret as casting)
17558
17559 2005-06-23  Wim Taymans  <wim@fluendo.com>
17560
17561         * check/Makefile.am:
17562         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
17563         * docs/design/part-live-source.txt:
17564         * docs/design/part-states.txt:
17565         * gst/base/gstbasesrc.c: (gst_basesrc_init),
17566         (gst_basesrc_set_live), (gst_basesrc_is_live),
17567         (gst_basesrc_get_range), (gst_basesrc_activate),
17568         (gst_basesrc_change_state):
17569         * gst/base/gstbasesrc.h:
17570         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17571         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
17572         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
17573         * gst/gstelement.c: (gst_element_get_state_func),
17574         (gst_element_set_state):
17575         * gst/gstelement.h:
17576         * gst/gsttypes.h:
17577         * tools/gst-launch.c: (event_loop), (main):
17578         Added support for live sources and other elements that
17579         cannot do preroll.
17580         Updated design docs, added live-source design doc.
17581         Implemented live source functionality in basesrc
17582         Fix error condition in _bin_get_state()
17583         Implement live source handling in -launch.
17584         Added check for live sources.
17585         Fixed case in GstBin where elements were changed state
17586         multiple times.
17587
17588
17589 2005-06-23  Andy Wingo  <wingo@pobox.com>
17590
17591         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
17592         borken refcounting.
17593
17594         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
17595         gst_caps_replace takes care of this for us.
17596
17597         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
17598         gst_pad_set_caps on the target, not just its setcaps() function.
17599
17600         * tests/network-clock.scm: 
17601         * tests/network-clock-utils.scm: A network clock simulator.
17602         Something of an algorithmic testbed before doing something in C.
17603
17604 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17605
17606         * check/Makefile.am:
17607         * check/gst/capslist.h:
17608           copy over from 0.8, and add two with bitmasks specified with
17609           (int) 0xFF...
17610         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
17611           add test to parse everything from capslist.h
17612         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
17613         (main):
17614           add test for structure deserialization
17615         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17616           add tests for deserialization of strings to int types
17617         * gst/gststructure.c: (gst_structure_nth_field_name):
17618         * gst/gststructure.h:
17619           add a way to get the name of a field referenced by index
17620         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
17621           instead of checking if the resulting long long lies between
17622           min and max, we check if the long long would fit into
17623           a number of bytes for the final type.
17624           This fixes cases where a string represents 2^32 - 1, which
17625           when cast to int would be the (valid) -1, but is bigger than
17626           G_MAXINT
17627
17628 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17629
17630         * gst/parse/grammar.y:
17631           add a log line for type deserialization
17632
17633 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17634
17635         * check/gst/gstvalue.c: (START_TEST):
17636         * gst/gstvalue.c: (gst_value_deserialize):
17637           return long long, not int, so gint64 deserialization actually
17638           works.  Is there any flag that makes the compiler check this ?
17639           Fixes #308559
17640
17641 2005-06-22  Wim Taymans  <wim@fluendo.com>
17642
17643         * gst/gstbuffer.h:
17644         Added convenience macros for setting buffers in GValue.
17645
17646 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17647
17648         * check/gst/.cvsignore:
17649         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17650           add a test deserializing int64, and comment part out because
17651           it fails, yay !
17652
17653 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17654
17655         * check/Makefile.am:
17656         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
17657         * testsuite/Makefile.am:
17658         * testsuite/caps/Makefile.am:
17659         * testsuite/caps/value_serialize.c:
17660         * testsuite/test_gst_init.c:
17661           move a value_serialize test over
17662
17663 2005-06-20  Wim Taymans  <wim@fluendo.com>
17664
17665         * gst/gstpad.c:
17666         Small doc updates.
17667         
17668         * gst/gstvalue.c: (gst_value_compare_buffer),
17669         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
17670         (gst_value_compare_flags), (gst_value_serialize_flags),
17671         (gst_value_deserialize_flags), (_gst_value_initialize):
17672         Fix serialisation of buffers, they are not boxed types anymore
17673
17674 2005-06-20  Wim Taymans  <wim@fluendo.com>
17675
17676         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
17677         Testcase to show error in buffer-on-caps serialisation.
17678
17679 2005-06-20  Andy Wingo  <wingo@pobox.com>
17680
17681         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
17682         will be adding to later.
17683
17684         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
17685         if its socks fill with rocks.
17686         (gst_system_clock_obtain): Set the name on object construction.
17687         Avoid double-checked locking.
17688
17689 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
17690
17691         * gst/gsturi.c: (gst_element_make_from_uri):
17692           Fix potential endless loop.
17693
17694 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17695
17696         * check/Makefile.am:
17697           add gsttag
17698         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
17699         (main):
17700           move over from testsuite dir and clean up
17701         * configure.ac:
17702         * gst/gsttag.c:
17703         * testsuite/Makefile.am:
17704         * testsuite/tags/.cvsignore:
17705         * testsuite/tags/Makefile.am:
17706         * testsuite/tags/merge.c:
17707           remove testsuite/tags
17708
17709 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17710
17711         * docs/gst/gstreamer-sections.txt:
17712         * docs/gst/tmpl/gstenumtypes.sgml:
17713         * win32/gstenumtypes.c:
17714           clean up documentation build a little
17715
17716 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17717
17718         * check/gstcheck.h:
17719           add macros for checking refcounts on objects and caps
17720         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
17721           add some more unit tests
17722         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17723         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
17724           fix leaked refcounts (I hope :)) so unittest works
17725         * gst/gstpad.h:
17726           whitespace removal
17727
17728 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17729
17730         * configure.ac: back to HEAD
17731
17732 === release 0.9.1 ===
17733
17734 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
17735
17736         * NEWS:
17737         * RELEASE:
17738           updated
17739
17740 2005-06-17  Andy Wingo  <wingo@pobox.com>
17741
17742         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
17743         assert; it's always possible that the pad gets deactivated in
17744         between the checks in gstpad.c and the implementation. Rely on
17745         finish_preroll() to return a FLUSHING or similar instead of on the
17746         assert.
17747         
17748         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
17749         clock and post an EOS message if we come out of finish_preroll in
17750         the playing state.
17751
17752 2005-06-16  David Schleef  <ds@schleef.org>
17753
17754         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
17755         (gst_capsfilter_set_property): Allow NULL as possible value
17756         for filter_caps property, indicating GST_CAPS_ANY.
17757
17758 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17759
17760         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
17761           fix debug output
17762         * gst/schedulers/Makefile.am:
17763           use libgst prefix
17764         * gstreamer.spec.in:
17765           fix spec for it
17766
17767 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17768
17769         * gstreamer.spec.in:
17770           clean up
17771
17772 2005-06-08  Andy Wingo  <wingo@pobox.com>
17773
17774         * gst/gstutils.c: RPAD fixes all around.
17775         (gst_element_link_pads): Refcounting fixes.
17776
17777         * tools/gst-inspect.c:
17778         * tools/gst-xmlinspect.c:
17779         * parse/grammar.y:
17780         * gst/base/gsttypefindhelper.c:
17781         * gst/base/gstbasesink.c:
17782         * gst/gstqueue.c: RPAD fixes.
17783
17784         * gst/gstghostpad.h:
17785         * gst/gstghostpad.c: New ghost pad implementation as full proxy
17786         pads. The tricky thing is they provide both source and sink
17787         interfaces, since they proxy the internal pad for the external
17788         pad, and vice versa. Implement with lower-level ProxyPad objects,
17789         with the interior proxy pad as a child of the exterior ghost pad.
17790         Should write a doc on this.
17791         
17792         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
17793         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
17794         gst_object API.
17795         
17796         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
17797         pads are real pads. No ghost pads in this file. Not documenting
17798         the myriad s/RPAD/PAD/ and REALIZE fixes.
17799         (gst_pad_class_init): Add properties for "direction" and
17800         "template". Both are construct-only, so they can't change during
17801         the life of the pad. Fixes properly deriving from GstPad.
17802         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
17803         derived objects, just set properties when creating the objects via
17804         g_object_new.
17805         (gst_pad_get_parent): Implement as a function, return NULL if the
17806         parent is not an element.
17807         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
17808         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
17809         
17810         * gst/gstobject.c (gst_object_class_init): Make name a construct
17811         property. Don't set it in the object init.
17812
17813         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
17814         with UNKNOWN direction.
17815         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
17816         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
17817         (gst_element_remove_pad): Remove ghost-pad special cases.
17818         (gst_element_pads_activate): Remove rpad cruft.
17819
17820         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
17821         catch the pad's-parent-not-an-element case.
17822
17823         * gst/gst.h: Include gstghostpad.h.
17824
17825         * gst/gst.c (init_post): No more real, ghost pads.
17826
17827         * gst/Makefile.am: Add gstghostpad.[ch].
17828
17829         * check/Makefile.am:
17830         * check/gst/gstbin.c:
17831         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
17832         into a bin creates ghost pads, and that the refcounts are right.
17833         Partly moved from gstbin.c.
17834
17835 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17836
17837         * check/gst-libs/.cvsignore:
17838         * check/gst/.cvsignore:
17839         * check/pipelines/.cvsignore:
17840           ignore more
17841         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
17842         (START_TEST), (cleanup_suite), (main):
17843           add some tests related to cleanup after running pipelines
17844
17845 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17846
17847         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
17848           add a testsuite for GstBuffer
17849
17850 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17851
17852         * gst/gstminiobject.h:
17853           add defines for accessing the refcount
17854
17855 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
17856
17857         * Makefile.am: added support for html unit test coverage reports
17858
17859 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
17860
17861         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
17862           Free existing caps if the capsfilter changes. Add a FIXME about
17863           setting those caps on the pads.
17864
17865         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
17866           Before adding a ghost pad to a parent bin, check that there isn't
17867           already one for the element on the bin. Prevents infinite recursion
17868           when using decodebin in parse pipelines. Andy says he'll rewrite the
17869           way this works anyway, so ignore the hack.
17870
17871 2005-06-02  Andy Wingo  <wingo@pobox.com>
17872
17873         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
17874         file size, pass it on to the type find helper.
17875
17876         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
17877         segment_start and segment_end properly according to the seek
17878         method. Segment_end is still a bit flaky because offset can be
17879         negative for CUR and END cases, but it takes -1 as an "unset"
17880         value.
17881
17882 2005-06-02  Wim Taymans  <wim@fluendo.com>
17883
17884         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
17885         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
17886         (gst_basesink_activate):
17887         * gst/base/gstbasesink.h:
17888         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17889         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
17890         (gst_pad_query), (gst_pad_start_task):
17891         * gst/gstpad.h:
17892         * gst/gstqueue.c: (gst_queue_bufferalloc),
17893         (gst_queue_handle_sink_event), (gst_queue_chain):
17894         Bufferalloc: return GstFlowReturn to more accuratly report
17895         why allocation failed.
17896
17897 2005-06-02  Wim Taymans  <wim@fluendo.com>
17898
17899         * gst/gstpipeline.c: (gst_pipeline_send_event):
17900         Take snapshot of state without blocking.
17901
17902 2005-06-02  Wim Taymans  <wim@fluendo.com>
17903
17904         * docs/design/part-TODO.txt:
17905         * docs/design/part-caps.txt:
17906         * docs/design/part-clocks.txt:
17907         * docs/design/part-negotiation.txt:
17908         * docs/design/part-preroll.txt:
17909         Small doc updates 
17910
17911 2005-05-30  Wim Taymans  <wim@fluendo.com>
17912
17913         * gst/elements/gstidentity.c: (gst_identity_event),
17914         (gst_identity_transform), (gst_identity_get_property):
17915         Protect last_message property as it is accessed from
17916         multiple threads.
17917
17918 2005-05-30  Wim Taymans  <wim@fluendo.com>
17919
17920         * gst/gstelement.c: (gst_element_init),
17921         (gst_element_pads_activate), (gst_element_change_state):
17922         Slicker pad activation code.
17923
17924 2005-05-30  Wim Taymans  <wim@fluendo.com>
17925
17926         * gst/Makefile.am:
17927         * gst/gstelement.h:
17928         * gst/gstelementfactory.h:
17929         * gst/gsttypes.h:
17930         Move elementfactory methods to separate .h file.
17931
17932 2005-05-30  Wim Taymans  <wim@fluendo.com>
17933
17934         * docs/design/part-overview.txt:
17935         * gst/gstsystemclock.h:
17936         Small typo fixes, doc updates.
17937
17938 2005-05-30  Wim Taymans  <wim@fluendo.com>
17939
17940         * gst/gst.c: (gst_init_get_popt_table), (init_post),
17941         (init_popt_callback):
17942         Remove cpu-opt flag.
17943
17944 2005-05-30  Wim Taymans  <wim@fluendo.com>
17945
17946         * gst/gstbuffer.c: (gst_subbuffer_finalize),
17947         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
17948         * gst/gstbuffer.h:
17949         Avoid typechecking in places where not needed.
17950         Added accessor for malloc_data.
17951
17952 2005-05-30  Wim Taymans  <wim@fluendo.com>
17953
17954         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
17955         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
17956         (gst_pad_configure_sink), (gst_pad_configure_src),
17957         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
17958         (gst_pad_start_task):
17959         Propagate errors from _set_caps() in configure_src/sink
17960         functions instead of returning TRUE.
17961         FLUSH events can travel up and downstream
17962
17963
17964 2005-05-30  Wim Taymans  <wim@fluendo.com>
17965
17966         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
17967         (gst_basesink_activate):
17968         Handle EOS in preroll.
17969
17970 2005-05-30  Wim Taymans  <wim@fluendo.com>
17971
17972         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
17973         (gst_queue_loop), (gst_queue_handle_src_event):
17974         Remove old pieces of code
17975         Flushing the queue in an upstream event is a very bad idea.
17976
17977 2005-05-26  Andy Wingo  <wingo@pobox.com>
17978
17979         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
17980         gst_value_set_mini_object so as to add a ref on the object (which
17981         will be removed when the value is unset).
17982
17983         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
17984         arg type in ::handoff.
17985
17986         * gst/gstelement.c (gst_element_change_state): Also deactivate
17987         pads in READY->NULL, just in case the element didn't make it to
17988         PAUSED. Wingo tested, Wim approved.
17989
17990 2005-05-26  Wim Taymans  <wim@fluendo.com>
17991
17992         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17993         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
17994         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
17995         A flushing pad cannot be used to alloc_buffer from.
17996
17997 2005-05-26  Wim Taymans  <wim@fluendo.com>
17998
17999         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
18000         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
18001         (gst_bus_source_dispatch), (gst_bus_source_finalize),
18002         (gst_bus_create_watch), (gst_bus_add_watch_full):
18003         * gst/gstbus.h:
18004         Implement a real GSource and use g_main_context_wakeup() to
18005         signal new messages instead of the socketpair.
18006
18007 2005-05-25  Wim Taymans  <wim@fluendo.com>
18008
18009         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
18010         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
18011         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
18012         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
18013         (gst_pad_send_event), (gst_pad_start_task):
18014         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
18015         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
18016         (gst_queue_sink_activate), (gst_queue_src_activate),
18017         (gst_queue_change_state):
18018         * gst/gstqueue.h:
18019         Fix state changes for non sinks. We now change sinks, then elements
18020         with unconnected srcpads, then the rest.
18021         More efficient queue unlocking in flush and state changes.
18022         Set the pad activate mode even if it does not have an activate
18023         function.
18024
18025 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18026
18027         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
18028           Don't go in pull mode for non-seekable sources.
18029         * gst/elements/gsttypefindelement.h:
18030         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
18031         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
18032         (free_entry), (stop_typefinding),
18033         (gst_type_find_element_handle_event), (find_peek),
18034         (gst_type_find_element_chain), (do_pull_typefind),
18035         (gst_type_find_element_change_state):
18036           Allow typefinding (w/o seeking) in push-mode, simplified version
18037           of what was in 0.8.
18038         * gst/gstutils.c: (gst_buffer_join):
18039         * gst/gstutils.h:
18040           gst_buffer_join() from 0.8.
18041
18042 2005-05-25  Wim Taymans  <wim@fluendo.com>
18043
18044         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
18045         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
18046         (gst_pad_send_event), (gst_pad_start_task):
18047         Disable attempt at mode switching until it is figured out.
18048
18049 2005-05-25  Wim Taymans  <wim@fluendo.com>
18050
18051         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
18052         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
18053         (gst_basesink_finish_preroll), (gst_basesink_chain),
18054         (gst_basesink_loop), (gst_basesink_activate),
18055         (gst_basesink_change_state):
18056         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
18057         (gst_basesrc_get_range), (gst_basesrc_loop),
18058         (gst_basesrc_activate):
18059         * gst/elements/gsttee.c: (gst_tee_sink_activate):
18060         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
18061         (gst_real_pad_init), (gst_real_pad_set_property),
18062         (gst_real_pad_get_property), (gst_pad_set_active),
18063         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
18064         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
18065         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
18066         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
18067         (gst_pad_event_default_dispatch), (gst_pad_event_default),
18068         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
18069         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
18070         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
18071         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
18072         (gst_pad_stop_task):
18073         * gst/gstpad.h:
18074         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18075         (gst_queue_loop), (gst_queue_src_activate):
18076         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
18077         (gst_task_get_state):
18078         * gst/gsttask.h:
18079         * gst/schedulers/threadscheduler.c:
18080         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
18081         Implement gst_pad_pause/start/stop_task(), take STREAM lock
18082         in task function.
18083         Remove ACTIVE pad flag, use FLUSHING everywhere
18084         Added _pad_chain(), _pad_get_range() to call chain/getrange 
18085         functions.
18086         Add locks around IS_FLUSHING when reading.
18087         Take STREAM lock in chain(), get_range() functions so plugins
18088         don't need to take it anymore.
18089         
18090
18091
18092 2005-05-25  Wim Taymans  <wim@fluendo.com>
18093
18094         * tools/gst-launch.c: (event_loop):
18095         Unref message after using its contents instead of
18096         before.
18097
18098 2005-05-24  Wim Taymans  <wim@fluendo.com>
18099
18100         * docs/design/draft-ghostpads.txt:
18101         * docs/design/draft-push-pull.txt:
18102         * docs/design/draft-query.txt:
18103         * docs/design/part-overview.txt:
18104         Docs updates, added general overview doc.
18105
18106 2005-05-21  David Schleef  <ds@schleef.org>
18107
18108         * docs/gst/tmpl/old/GstBin.sgml:
18109         * docs/gst/tmpl/old/GstBuffer.sgml:
18110         * docs/gst/tmpl/old/GstCaps.sgml:
18111         * docs/gst/tmpl/old/GstClock.sgml:
18112         * docs/gst/tmpl/old/GstCompat.sgml:
18113         * docs/gst/tmpl/old/GstData.sgml:
18114         * docs/gst/tmpl/old/GstElement.sgml:
18115         * docs/gst/tmpl/old/GstEvent.sgml:
18116         * docs/gst/tmpl/old/GstIndex.sgml:
18117         * docs/gst/tmpl/old/GstStructure.sgml:
18118         * docs/gst/tmpl/old/GstTag.sgml:
18119         * docs/gst/tmpl/old/cothreads.sgml:
18120         * docs/gst/tmpl/old/cothreads_compat.sgml:
18121         * docs/gst/tmpl/old/gettext.sgml:
18122         * docs/gst/tmpl/old/gobject2gtk.sgml:
18123         * docs/gst/tmpl/old/grammar.tab.sgml:
18124         * docs/gst/tmpl/old/gst-i18n-app.sgml:
18125         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
18126         * docs/gst/tmpl/old/gst_private.sgml:
18127         * docs/gst/tmpl/old/gstaggregator.sgml:
18128         * docs/gst/tmpl/old/gstarch.sgml:
18129         * docs/gst/tmpl/old/gstatomic_impl.sgml:
18130         * docs/gst/tmpl/old/gstbufferstore.sgml:
18131         * docs/gst/tmpl/old/gstdata_private.sgml:
18132         * docs/gst/tmpl/old/gstdisksink.sgml:
18133         * docs/gst/tmpl/old/gstdisksrc.sgml:
18134         * docs/gst/tmpl/old/gstelementfactory.sgml:
18135         * docs/gst/tmpl/old/gstextratypes.sgml:
18136         * docs/gst/tmpl/old/gstfakesink.sgml:
18137         * docs/gst/tmpl/old/gstfakesrc.sgml:
18138         * docs/gst/tmpl/old/gstfdsink.sgml:
18139         * docs/gst/tmpl/old/gstfdsrc.sgml:
18140         * docs/gst/tmpl/old/gstfilesink.sgml:
18141         * docs/gst/tmpl/old/gstfilesrc.sgml:
18142         * docs/gst/tmpl/old/gsthttpsrc.sgml:
18143         * docs/gst/tmpl/old/gstidentity.sgml:
18144         * docs/gst/tmpl/old/gstindexfactory.sgml:
18145         * docs/gst/tmpl/old/gstmarshal.sgml:
18146         * docs/gst/tmpl/old/gstmd5sink.sgml:
18147         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
18148         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
18149         * docs/gst/tmpl/old/gstpadtemplate.sgml:
18150         * docs/gst/tmpl/old/gstpipefilter.sgml:
18151         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
18152         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
18153         * docs/gst/tmpl/old/gstshaper.sgml:
18154         * docs/gst/tmpl/old/gstspider.sgml:
18155         * docs/gst/tmpl/old/gstspideridentity.sgml:
18156         * docs/gst/tmpl/old/gststatistics.sgml:
18157         * docs/gst/tmpl/old/gsttee.sgml:
18158         * docs/gst/tmpl/old/gsttimecache.sgml:
18159         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
18160         * docs/gst/tmpl/old/gstxmlregistry.sgml:
18161         * docs/gst/tmpl/old/gthread-cothreads.sgml:
18162         * docs/gst/tmpl/old/types.sgml:
18163           I didn't intend to add these or check them in.
18164
18165 2005-05-19  David Schleef  <ds@schleef.org>
18166
18167         * configure.ac: Use -no-common everywhere.  In a sane world, it
18168           would be the default in libtool, because without it, you can't
18169           build DLLs on Windows.
18170         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
18171         * docs/gst/gstreamer-sections.txt:
18172         * docs/gst/tmpl/gstcpu.sgml:
18173         * docs/gst/tmpl/gstdata.sgml:
18174         * docs/gst/tmpl/gstthread.sgml:
18175
18176 2005-05-19  David Schleef  <ds@schleef.org>
18177
18178         * gst/gstminiobject.c: (gst_value_set_mini_object),
18179         (gst_value_take_mini_object), (gst_value_get_mini_object):
18180         * gst/gstminiobject.h: Add GValue set/get functions.
18181
18182 2005-05-19  Wim Taymans  <wim@fluendo.com>
18183
18184         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
18185         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
18186         (gst_subbuffer_init), (gst_buffer_is_span_fast):
18187         * gst/gstbuffer.h:
18188         * gst/gstbus.c: (gst_bus_post):
18189         * gst/gstelement.c: (gst_element_get_random_pad):
18190         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
18191         Make subbufer unref the parent in finalize.
18192         some more debugging info.
18193
18194
18195 2005-05-19  Wim Taymans  <wim@fluendo.com>
18196
18197         * gst/base/gstbasesink.c: (gst_basesink_class_init),
18198         (gst_basesink_init), (gst_basesink_finalize),
18199         (gst_basesink_activate), (gst_basesink_change_state):
18200         Don't free preroll queue too early.
18201
18202 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18203
18204         * gst/Makefile.am:
18205         * gst/ROADMAP:
18206           Hi, I'm outdated. Please shoot me.
18207
18208 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18209
18210         * gst/gstpipeline.c: (gst_pipeline_send_event):
18211           Do not access variables after they have been deleted.
18212
18213 2005-05-19  Wim Taymans  <wim@fluendo.com>
18214
18215         * tools/gst-inspect.c: (print_plugin_features):
18216         A plugin feature does unfortunatly not use the
18217         object name yet...
18218
18219 2005-05-18  Wim Taymans  <wim@fluendo.com>
18220
18221         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
18222         Port _span() functions to new subbuffers.
18223
18224 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18225
18226         * gst/gstbin.c: (gst_bin_add_func):
18227           Fix clock settery in bins when adding kids after the clock has
18228           been selected.
18229
18230 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18231
18232         * gst/elements/gstidentity.c: (gst_identity_class_init):
18233           Workaround until signals support GstMiniObject.
18234
18235 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
18236
18237         * gst/gstbuffer.c:
18238         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
18239
18240 2005-05-18  Wim Taymans  <wim@fluendo.com>
18241
18242         * gst/base/Makefile.am:
18243         * gst/base/gstadapter.c: (gst_adapter_base_init),
18244         (gst_adapter_class_init), (gst_adapter_init),
18245         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
18246         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
18247         (gst_adapter_flush), (gst_adapter_available),
18248         (gst_adapter_available_fast):
18249         * gst/base/gstadapter.h:
18250         Ported and added adapter to the base classes.
18251
18252 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18253
18254         * gst/gst.c:
18255         * gst/gstmessage.c:
18256           Make sure the class is reffed/unreffed once before threads can be
18257           used.  Fixes #304551.
18258
18259 2005-05-17  Wim Taymans  <wim@fluendo.com>
18260
18261         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
18262         (gst_basesink_chain_unlocked), (gst_basesink_activate):
18263         * gst/gstminiobject.c: (gst_mini_object_get_type),
18264         (gst_mini_object_free):
18265         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
18266         (gst_pad_push), (gst_pad_push_event):
18267         * gst/gstqueue.c: (gst_queue_change_state):
18268         Don't queue buffers in basesink when we are flushing.
18269         Unref buffer when flushing in basesink.
18270         Flush queue when going to READY
18271         Unref buffer when _push() returns an error.
18272         Don't free MiniObject instance when refcount is incremented
18273         in _finalize() so that we can recover objects.
18274
18275 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
18276
18277         * docs/manual/advanced-schedulers.xml:
18278         * docs/manual/appendix-checklist.xml:
18279         * docs/pwg/advanced-clock.xml:
18280         * docs/pwg/advanced-interfaces.xml:
18281         * docs/pwg/advanced-request.xml:
18282         * docs/pwg/advanced-types.xml:
18283         * docs/pwg/intro-preface.xml:
18284         * examples/plugins/example.c: (gst_example_get_type),
18285         (gst_example_class_init), (gst_example_chain),
18286         (gst_example_set_property), (gst_example_get_property),
18287         (gst_example_change_state), (plugin_init):
18288         * examples/plugins/example.h:
18289           small doc fixes
18290
18291 2005-05-17  Wim Taymans  <wim@fluendo.com>
18292
18293         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
18294         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
18295         * gst/gstqueue.c: (gst_queue_change_state):
18296         Clear queue when going to READY.
18297         Remove IN_SETCAPS flag too.
18298
18299 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
18300
18301         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
18302           Remove implicit cast from gboolean to GstElementStateReturn;
18303           make sure we still return failure in paused => ready case if
18304           the parent class fails to change state and our own stop 
18305           vfunc succeeds.
18306
18307 2005-05-17  Wim Taymans  <wim@fluendo.com>
18308
18309         * tools/gst-launch.c: (event_loop):
18310         Message was unreffed too soon.
18311
18312 2005-05-16  Andy Wingo  <wingo@pobox.com>
18313
18314         * gst/gstbin.c (sink_iterator_filter): Err... um...
18315
18316         * check/gst/gstbin.c (test_ghost_pads): New test for the
18317         ghosting-if-elements-not-in-same-bin behavior.
18318
18319 2005-05-16  David Schleef  <ds@schleef.org>
18320
18321         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
18322         accessing refcount directly.
18323
18324 2005-05-15  David Schleef  <ds@schleef.org>
18325
18326         * check/Makefile.am: remove GstData checks
18327         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
18328         * gst/Makefile.am: add miniobject, remove data
18329         * gst/gst.h: add miniobject, remove data
18330         * gst/gstdata.c: remove
18331         * gst/gstdata.h: remove
18332         * gst/gstdata_private.h: remove
18333         * gst/gsttypes.h: remove GstEvent and GstMessage
18334         * gst/gstelement.c: (gst_element_post_message): fix for API changes
18335         * gst/gstmarshal.list: change BOXED -> OBJECT
18336
18337         Implement GstMiniObject.
18338         * gst/gstminiobject.c:
18339         * gst/gstminiobject.h:
18340
18341         Modify to be subclasses of GstMiniObject.
18342         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
18343         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
18344         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
18345         (gst_subbuffer_get_type), (gst_subbuffer_init),
18346         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
18347         (gst_buffer_span):
18348         * gst/gstbuffer.h:
18349         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
18350         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
18351         (_gst_event_copy), (gst_event_new):
18352         * gst/gstevent.h:
18353         * gst/gstmessage.c: (_gst_message_initialize),
18354         (gst_message_get_type), (gst_message_class_init),
18355         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
18356         (gst_message_new), (gst_message_new_error),
18357         (gst_message_new_warning), (gst_message_new_tag),
18358         (gst_message_new_state_changed), (gst_message_new_application):
18359         * gst/gstmessage.h:
18360         * gst/gstprobe.c: (gst_probe_perform),
18361         (gst_probe_dispatcher_dispatch):
18362         * gst/gstprobe.h:
18363         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
18364         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
18365         (_gst_query_copy), (gst_query_new):
18366
18367         Update elements for GstData -> GstMiniObject changes
18368         * gst/gstquery.h:
18369         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
18370         (gst_queue_chain), (gst_queue_loop):
18371         * gst/elements/gstbufferstore.c:
18372         (gst_buffer_store_add_buffer_func),
18373         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
18374         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
18375         (gst_fakesink_render):
18376         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
18377         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
18378         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
18379         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
18380         (gst_filesrc_create_read):
18381         * gst/elements/gstidentity.c: (gst_identity_class_init):
18382         * gst/elements/gsttypefindelement.c:
18383         (gst_type_find_element_src_event), (free_entry_buffers),
18384         (gst_type_find_element_handle_event):
18385         * libs/gst/dataprotocol/dataprotocol.c:
18386         (gst_dp_header_from_buffer):
18387         * libs/gst/dataprotocol/dataprotocol.h:
18388         * libs/gst/dataprotocol/dp-private.h:
18389
18390 2005-05-15  David Schleef  <ds@schleef.org>
18391
18392         * gst/elements/gstelements.c: Don't include headers that were
18393         just removed.
18394
18395 2005-05-15  David Schleef  <ds@schleef.org>
18396
18397         * gst/elements/Makefile.am: Remove some elements that don't
18398         need to be in the core (or even exist at all).
18399         * gst/elements/gstaggregator.c:
18400         * gst/elements/gstaggregator.h:
18401         * gst/elements/gstmd5sink.c:
18402         * gst/elements/gstmd5sink.h:
18403         * gst/elements/gstmultifilesrc.c:
18404         * gst/elements/gstmultifilesrc.h:
18405         * gst/elements/gstpipefilter.c:
18406         * gst/elements/gstpipefilter.h:
18407         * gst/elements/gstshaper.c:
18408         * gst/elements/gstshaper.h:
18409         * gst/elements/gststatistics.c:
18410         * gst/elements/gststatistics.h:
18411         * po/POTFILES.in: Remove above files.
18412
18413 2005-05-14  Andy Wingo  <wingo@pobox.com>
18414
18415         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
18416         so as to get the refs right.
18417         (sink_iterator_filter): New function, wraps bin_element_is_sink,
18418         unreffing objects that don't pass the filter.
18419
18420         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
18421         gst_element_set_bus.
18422         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
18423         normal cases, this will destroy the bus.
18424
18425         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
18426         object.
18427
18428         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
18429         has no sinks.
18430
18431 2005-05-13  Andy Wingo  <wingo@pobox.com>
18432
18433         * gst/gstutils.c (gst_element_link_pads): Instead of calling
18434         gst_pad_link, call pad_link_maybe_ghosting,
18435         (pad_link_maybe_ghosting): Links pads, making sure that the
18436         elements being linked are in the same bin.
18437         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
18438         Helpers for pad_link_maybe_ghosting.
18439
18440 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
18441
18442         * configure.ac:
18443           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
18444
18445 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
18446
18447         * docs/design/part-element-source.txt:
18448           Mention GstPushSrc
18449
18450 2005-05-12  Wim Taymans  <wim@fluendo.com>
18451
18452         * gst/base/gstbasesink.c: (gst_basesink_init),
18453         (gst_basesink_activate):
18454         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
18455         (gst_basesrc_is_seekable):
18456         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
18457         (bin_element_is_sink), (gst_bin_change_state):
18458         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
18459         * gst/gstelement.h:
18460         Identify sinks by their flag to avoid overly complicated
18461         checks (fow now).
18462         Do state changes even for elements not reachable from the
18463         sinks.
18464         BaseSink is a sink now :)
18465         Some more debugging info in the basesrc.
18466
18467
18468 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18469
18470         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
18471           Implement _query on a bin, similar to _send_event.
18472
18473 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
18474
18475         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
18476           Discont event offset format should be GST_FORMAT_BYTES,
18477           not GST_FORMAT_TIME.
18478
18479 2005-05-12  Wim Taymans  <wim@fluendo.com>
18480
18481         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
18482         Same fix as Ronald's but without the signal. 
18483
18484 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18485
18486         * gst/gstutils.c: (gst_element_query_position):
18487           No, an element is not a pad.
18488
18489 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18490
18491         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
18492         (gst_bin_get_state):
18493           If a child is removed from a bin while we remove the child from
18494           the bin and while we're retrieving its state, signal this to the
18495           get_state function so we abort the wait (instead of waiting for
18496           a timeout) and can immediately re-iterate over all other elements.
18497
18498 2005-05-12  Wim Taymans  <wim@fluendo.com>
18499
18500         * gst/base/Makefile.am:
18501         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
18502         (gst_basesrc_start):
18503         * gst/base/gstbasesrc.h:
18504         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
18505         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
18506         (gst_pushsrc_init), (gst_pushsrc_create):
18507         * gst/base/gstpushsrc.h:
18508         Added is_seekable to BaseSrc
18509         Added simple PushSrc.
18510
18511 2005-05-11  Wim Taymans  <wim@fluendo.com>
18512
18513         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
18514         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18515         (gst_element_link_pads), (gst_element_query_position),
18516         (gst_element_query_convert), (intersect_caps_func),
18517         (gst_pad_query_position), (gst_pad_query_convert):
18518         Fix refcounting in utils function.
18519         No point in trying to activate a pad when it's added, it could
18520         be added from the state change function and then we deadlock, the
18521         element has to decide what to do.
18522
18523 2005-05-10  Andy Wingo  <wingo@pobox.com>
18524
18525         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
18526         *all* the arguments.
18527
18528         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
18529         stream lock if it's a FLUSH_DONE; normal flushes don't get the
18530         lock (according to the docs -- if this is wrong change the docs).
18531
18532         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
18533         flush messages in the NULL state.
18534
18535         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
18536         message immediately and return.
18537         (gst_bus_set_flushing): New function. If a bus is flushing, it
18538         flushes out any queued messages and immediately unrefs new
18539         messages. This is so when an element goes to NULL, all of the
18540         unhandled messages coming from it can be freed, and their
18541         references to the element dropped. In other words: message source
18542         ref considered harmful :P
18543
18544         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
18545         we're finished with it.
18546
18547         * gst/gstmessage.c (gst_message_new_state_changed): 
18548
18549 2005-05-10  Wim Taymans  <wim@fluendo.com>
18550
18551         * gst/gstvalue.c: (gst_value_compare_flags),
18552         (gst_value_serialize_flags), (gst_value_deserialize_flags),
18553         (_gst_value_initialize):
18554         Added flags serialize/deserialize/compare code.
18555
18556 2005-05-09  Andy Wingo  <wingo@pobox.com>
18557
18558         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
18559         Intersect the peer's caps with our caps.
18560
18561 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18562
18563         * gst/base/gsttypefindhelper.c: (helper_find_peek):
18564         * gst/elements/gsttypefindelement.c: (find_peek):
18565           Handle negative offsets better. Fixes decodebin.
18566
18567 2005-05-09  Wim Taymans  <wim@fluendo.com>
18568
18569         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
18570         (gst_base_transform_event):
18571         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
18572         Implement accept_caps.
18573         Fix silly lock/unlock mismatch in base class.
18574
18575 2005-05-09  Wim Taymans  <wim@fluendo.com>
18576
18577         * docs/design/draft-push-pull.txt:
18578         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
18579         * gst/elements/gstfilesink.c: (gst_filesink_init),
18580         (gst_filesink_query):
18581         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
18582         (gst_type_find_handle_src_query), (find_element_get_length):
18583         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
18584         * gst/gstelement.h:
18585         * gst/gstmessage.c:
18586         * gst/gstmessage.h:
18587         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
18588         (gst_real_pad_get_caps_unlocked),
18589         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
18590         (gst_pad_event_default_dispatch), (gst_pad_event_default),
18591         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
18592         (gst_real_pad_dispose), (gst_real_pad_finalize),
18593         (gst_pad_load_and_link), (gst_pad_save_thyself),
18594         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
18595         (gst_pad_check_pull_range), (gst_pad_pull_range),
18596         (gst_pad_template_get_type), (gst_pad_template_class_init),
18597         (gst_pad_template_init), (gst_pad_template_dispose),
18598         (name_is_valid), (gst_static_pad_template_get),
18599         (gst_pad_template_new), (gst_static_pad_template_get_caps),
18600         (gst_pad_template_get_caps), (gst_pad_set_element_private),
18601         (gst_pad_get_element_private), (gst_pad_start_task),
18602         (gst_pad_pause_task), (gst_pad_stop_task),
18603         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
18604         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
18605         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
18606         (gst_ghost_pad_new):
18607         * gst/gstpad.h:
18608         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
18609         (gst_query_new_position), (gst_query_set_position),
18610         (gst_query_parse_position), (gst_query_new_convert),
18611         (gst_query_set_convert), (gst_query_parse_convert):
18612         * gst/gstquery.h:
18613         * gst/gstqueryutils.c:
18614         * gst/gstqueryutils.h:
18615         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
18616         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
18617         (gst_queue_handle_src_query):
18618         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18619         (gst_element_query_position), (gst_element_query_convert),
18620         (intersect_caps_func), (gst_pad_query_position),
18621         (gst_pad_query_convert):
18622         * gst/gstutils.h:
18623         * tools/gst-inspect.c: (print_pad_info):
18624         * tools/gst-xmlinspect.c: (print_element_info):
18625         Remove old query functions. Ported old code.
18626         Added position/convert helper functions to gstutils.
18627         Reordered gstpad.c code, grouping relevant things.
18628         Remove gst_message_new(), always need to speficy a specific
18629         message.
18630
18631
18632 2005-05-09  Andy Wingo  <wingo@pobox.com>
18633
18634         * gst/gstiterator.h: Add some includes.
18635
18636         * gst/gstqueryutils.h: Include more headers.
18637
18638         * gst/gstpad.h:
18639         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
18640         some uses of gst_pad_query.
18641
18642         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
18643         NULL out parameters.
18644         (gst_query_new_position): New proc, allocates a new position
18645         query.
18646
18647         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
18648         gstqueryutils.c to the build.
18649
18650         * gst/gststructure.c (gst_structure_set_valist): Implement with
18651         the generic G_VALUE_COLLECT.
18652         
18653 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
18654
18655         * gst/Makefile.am: (gst_headers):
18656         Added gstqueryutils.h to the list of headers to install, that was
18657         a 'nachty' move wingo :)
18658
18659 2005-05-06  Andy Wingo  <wingo@pobox.com>
18660
18661         * gst/gstquery.h
18662         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
18663         GstData, init a memchunk.
18664         (standard_definitions): Add a few query types, deprecate a few.
18665         (gst_query_get_type): New proc.
18666         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
18667         implementation.
18668         (gst_query_new_application, gst_query_get_structure): New public
18669         procs.
18670
18671         * docs/design/draft-query.txt: Removed LINKS from the query types,
18672         because all the rest can be dispatched to other pads -- seemed
18673         ugly to have a query that couldn't be dispatched. internal_links
18674         is fine as a pad method.
18675
18676         * gst/gstpad.h: Add query2 as a pad method, add the new functions
18677         in gstpad.c, but maintain binary compatibility for the moment.
18678         Will fix before 0.9 is out.
18679
18680         * gst/gstqueryutils.c: 
18681         * gst/gstqueryutils.h: New files, implement 3 methods for each
18682         query type: parse_query, parse_response, and set. Probably need an
18683         allocator as well.
18684
18685         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
18686
18687         * gst/elements/gstfilesink.c (gst_filesink_query2):
18688         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
18689         query_types, and formats methods.
18690
18691         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
18692         (gst_pad_set_query2_function): New functions.
18693         (gst_real_pad_init): Set query2_default as the default query2
18694         function. Basically just dispatches to internally linked pads.
18695
18696         Needs review!
18697         
18698         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
18699         without using the atomic operations. Only one thread can possibly
18700         be accessing the data at this point. Changed so as to avoid
18701         gst_atomic operations.
18702
18703 2005-05-06  Wim Taymans  <wim@fluendo.com>
18704
18705         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
18706         Also set caps if we use the fallback buffer alloc.
18707
18708 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
18709
18710         * docs/gst/Makefile.am:
18711         * docs/gst/gstreamer-docs.sgml:
18712         * docs/gst/gstreamer-sections.txt:
18713         * docs/gst/tmpl/gstatomic.sgml:
18714         * docs/gst/tmpl/gstmemchunk.sgml:
18715         * testsuite/elements/struct_i386.h:
18716         * win32/GStreamer.vcproj:
18717         * win32/Makefile:
18718           Purge GstAtomic stuff from docs and win32 makefiles as well
18719
18720 2005-05-06  Wim Taymans  <wim@fluendo.com>
18721
18722         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
18723         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
18724         * gst/gstpad.c: (gst_pad_peer_get_caps):
18725         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
18726         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
18727         (gst_queue_src_activate), (gst_queue_change_state):
18728         * gst/gstqueue.h:
18729         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18730         (intersect_caps_func):
18731         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
18732         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
18733         Some fixes for the peer_get_caps() change.
18734
18735 2005-05-06  Wim Taymans  <wim@fluendo.com>
18736
18737         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
18738         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
18739         (gst_basesink_activate):
18740         Actually do something with error codes returned from the push
18741         functions.
18742
18743 2005-05-06  Wim Taymans  <wim@fluendo.com>
18744
18745         * docs/design/part-element-sink.txt:
18746         * docs/design/part-element-source.txt:
18747         * gst/base/gstbasesink.c: (gst_basesink_class_init),
18748         (gst_basesink_event), (gst_basesink_activate):
18749         * gst/base/gstbasesink.h:
18750         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
18751         (gst_basesrc_activate):
18752         * gst/base/gstbasesrc.h:
18753         * gst/gstelement.c: (gst_element_pads_activate):
18754         Some more documentation.
18755         Fixed scheduling decision in _pads_activate().
18756
18757 2005-05-05  Andy Wingo  <wingo@pobox.com>
18758
18759         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
18760         the test suite.
18761
18762 2005-05-05  Wim Taymans  <wim@fluendo.com>
18763
18764         * gst/base/Makefile.am:
18765         * gst/base/gstbasesink.h:
18766         * gst/base/gstbasesrc.c: (gst_basesrc_init),
18767         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
18768         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
18769         (gst_collectpads_class_init), (gst_collectpads_init),
18770         (gst_collectpads_finalize), (gst_collectpads_new),
18771         (gst_collectpads_set_function), (gst_collectpads_add_pad),
18772         (find_pad), (gst_collectpads_remove_pad),
18773         (gst_collectpads_is_active), (gst_collectpads_collect),
18774         (gst_collectpads_collect_range), (gst_collectpads_start),
18775         (gst_collectpads_stop), (gst_collectpads_peek),
18776         (gst_collectpads_pop), (gst_collectpads_available),
18777         (gst_collectpads_read), (gst_collectpads_flush),
18778         (gst_collectpads_chain):
18779         * gst/base/gstcollectpads.h:
18780         * gst/elements/Makefile.am:
18781         * gst/elements/gstelements.c:
18782         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
18783         (gst_fakesink_get_times), (gst_fakesink_event),
18784         (gst_fakesink_preroll), (gst_fakesink_render):
18785         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
18786         (gst_filesink_init), (gst_filesink_set_location),
18787         (gst_filesink_open_file), (gst_filesink_close_file),
18788         (gst_filesink_pad_query), (gst_filesink_event),
18789         (gst_filesink_render), (gst_filesink_change_state):
18790         * gst/elements/gstfilesink.h:
18791         Added object to help in making collect pad based elements.
18792         Ported filesink.
18793         Make event function in sink baseclass return gboolean.
18794
18795 2005-05-05  Wim Taymans  <wim@fluendo.com>
18796
18797         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
18798         (gst_bin_get_by_name):
18799         * gst/gstbuffer.h:
18800         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
18801         (gst_clock_finalize):
18802         * gst/gstdata.c: (gst_data_replace):
18803         * gst/gstdata.h:
18804         * gst/gstelement.c: (gst_element_request_pad),
18805         (gst_element_pads_activate):
18806         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
18807         (gst_object_unref):
18808         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18809         (gst_pad_set_checkgetrange_function),
18810         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
18811         (gst_pad_check_pull_range), (gst_pad_pull_range),
18812         (gst_static_pad_template_get_caps), (gst_pad_start_task),
18813         (gst_pad_pause_task), (gst_pad_stop_task):
18814         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18815         (gst_element_request_pad), (gst_pad_proxy_getcaps):
18816         Fix name lookup in GstBin.
18817         Added _data_replace() function and _buffer_replace()
18818         Use finalize method to clean up clock.
18819         Fix refcounting on request pads.
18820         Fix pad schedule mode error.
18821         Some more object refcounting debug info,
18822
18823
18824 2005-05-04  Andy Wingo <wingo@pobox.com>
18825
18826         * check/Makefile.am:
18827         * docs/gst/tmpl/gstatomic.sgml:
18828         * docs/gst/tmpl/gstplugin.sgml:
18829         * gst/base/gstbasesink.c: (gst_basesink_activate):
18830         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
18831         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
18832         (gst_basesrc_query), (gst_basesrc_set_property),
18833         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
18834         (gst_basesrc_activate):
18835         * gst/base/gstbasesrc.h:
18836         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
18837         (gst_base_transform_src_activate):
18838         * gst/elements/gstelements.c:
18839         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18840         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
18841         * gst/elements/gsttee.c: (gst_tee_sink_activate):
18842         * gst/elements/gsttypefindelement.c: (find_element_get_length),
18843         (gst_type_find_element_checkgetrange),
18844         (gst_type_find_element_activate):
18845         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
18846         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
18847         (gst_caps_load_thyself):
18848         * gst/gstelement.c: (gst_element_pads_activate),
18849         (gst_element_save_thyself), (gst_element_restore_thyself):
18850         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
18851         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
18852         * gst/gstpad.h:
18853         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
18854         (gst_xml_parse_file), (gst_xml_parse_memory),
18855         (gst_xml_get_element), (gst_xml_make_element):
18856         * gst/indexers/gstfileindex.c: (gst_file_index_load),
18857         (_file_index_id_save_xml), (gst_file_index_commit):
18858         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
18859         (read_enum), (load_pad_template), (load_feature), (load_plugin),
18860         (load_paths):
18861         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
18862         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
18863         * tools/gst-complete.c: (main):
18864         * tools/gst-compprep.c: (main):
18865         * tools/gst-inspect.c: (print_element_properties_info):
18866         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
18867         * tools/gst-xmlinspect.c: (print_element_properties):
18868         GCC 4 fixen.
18869         
18870 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
18871
18872         * gst/gstplugin.c: (gst_plugin_check_module),
18873         (gst_plugin_check_file), (gst_plugin_load_file):
18874             apply patch from #172526 to make register work on MacOSX
18875
18876 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18877
18878         * docs/gst/tmpl/gstconfig.sgml:
18879         * gst/gstconfig.h.in:
18880           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
18881         * testsuite/debug/printf_extension.c: (main):
18882           Do not use GST_PTR_FORMAT on pointers to types with
18883           sizeof < sizeof(gpointer).  Fixes test on 64-bit
18884         * testsuite/elements/property.h:
18885           use correct printf format
18886
18887 2005-05-02  Wim Taymans  <wim@fluendo.com>
18888
18889         * docs/design/draft-push-pull.txt:
18890         * docs/design/draft-query.txt:
18891         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
18892         (gst_basesrc_start):
18893         Added draft for new query API.
18894         Added draft for better selecting scheduling methods.
18895         Make basesrc ignore length if the subclass does not support
18896         it.
18897
18898 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18899
18900         * gst/Makefile.am:
18901           possible fixes for automake-1.5 - _LIBADD is reserved
18902
18903 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18904
18905         * docs/faq/Makefile.am:
18906         * docs/manual/Makefile.am:
18907         * docs/manuals.mak:
18908         * docs/pwg/Makefile.am:
18909         * gst/Makefile.am:
18910           possible fixes for automake-1.5
18911
18912 2005-04-28  Wim Taymans  <wim@fluendo.com>
18913
18914         * gst/base/gstbasesink.c: (gst_basesink_base_init),
18915         (gst_basesink_pad_getcaps), (gst_basesink_init),
18916         (gst_basesink_do_sync):
18917         * gst/gstclock.c: (gst_clock_entry_new):
18918         * gst/gstevent.c: (gst_event_discont_get_value):
18919         * gst/gstpipeline.c: (pipeline_bus_handler),
18920         (gst_pipeline_change_state):
18921         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
18922         Better debugging of clocking info.
18923         Allow NULL values when getting discont values.
18924
18925 2005-04-27  Wim Taymans  <wim@fluendo.com>
18926
18927         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
18928         * check/gst/gstpad.c: (gst_pad_suite):
18929         Increase timeout for checks.
18930
18931 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18932
18933         * check/Makefile.am:
18934           fix the broken rule for cleanup.  Apparently this rule is
18935           only needed on FC2, so maybe this warrants further autotool
18936           inspection.
18937
18938 2005-04-26  Wim Taymans  <wim@fluendo.com>
18939
18940         * gst/gsttrashstack.h:
18941         Ooohh. a nasty one! After having a failed pop() from the stack,
18942         it's possible that the stack is empty. In that case, don't
18943         follow the NULL pointer.
18944
18945 2005-04-25  Wim Taymans  <wim@fluendo.com>
18946
18947         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18948         (gst_pad_set_checkgetrange_function),
18949         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
18950         (gst_pad_check_pull_range), (gst_pad_pull_range),
18951         (gst_static_pad_template_get_caps), (gst_pad_start_task),
18952         (gst_pad_pause_task), (gst_pad_stop_task):
18953         * gst/gstplugin.c: (gst_plugin_load):
18954         * gst/gstplugin.h:
18955         Remove gst_library_load as it does more harm than good with
18956         the new g_module flags.
18957         Revert bogus caps template check in pad linking, pad caps
18958         are important when linking not the template, which is more
18959         general than the current caps.
18960
18961 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18962
18963         * gst/autoplug/.cvsignore:
18964         * gst/autoplug/Makefile.am:
18965         * gst/autoplug/gstsearchfuncs.c:
18966         * gst/autoplug/gstsearchfuncs.h:
18967         * gst/autoplug/gstspider.c:
18968         * gst/autoplug/gstspider.h:
18969         * gst/autoplug/gstspideridentity.c:
18970         * gst/autoplug/gstspideridentity.h:
18971         * gst/autoplug/spidertest.c:
18972           Die, spider, die.
18973
18974 2005-04-25  Wim Taymans  <wim@fluendo.com>
18975
18976         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18977         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
18978         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
18979         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
18980         * gst/gstpad.h:
18981         Added stubs for unimplemented functions. 
18982
18983 2005-04-24  David Schleef  <ds@schleef.org>
18984
18985         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
18986         please fix.
18987
18988 2005-04-24  David Schleef  <ds@schleef.org>
18989
18990         Convert everything from GstAtomicInt to g_atomic_int_*, and
18991         remove gstatomic.
18992         * gst/Makefile.am:
18993         * gst/gstatomic.c:
18994         * gst/gstatomic.h:
18995         * gst/gstatomic_impl.h:
18996         * gst/gstbuffer.c:
18997         * gst/gstcaps.c:
18998         * gst/gstcaps.h:
18999         * gst/gstclock.c:
19000         * gst/gstclock.h:
19001         * gst/gstdata.c:
19002         * gst/gstdata.h:
19003         * gst/gstdata_private.h:
19004         * gst/gstevent.c:
19005         * gst/gstinfo.c:
19006         * gst/gstinfo.h:
19007         * gst/gstmessage.c:
19008         * gst/gstobject.c:
19009         * gst/gstobject.h:
19010         * gst/gststructure.c:
19011         * gst/gststructure.h:
19012         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
19013         * gst/gstutils.h:
19014
19015 2005-04-24  David Schleef  <ds@schleef.org>
19016
19017         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
19018         make the regressions tests work.  Remove some code that is no
19019         longer true.
19020         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
19021         Disable warning for pads without templates.
19022
19023 2005-04-24  David Schleef  <ds@schleef.org>
19024
19025         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
19026         functions that handle filtered links.
19027         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
19028         removed functions.
19029         * gst/gstutils.c: Fix/remove utility functions that handle
19030         filtered caps.
19031         * gst/gstutils.h:
19032         * gst/gstvalue.c: Add serialization/deserialization of caps
19033         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
19034         requires fixing so that the filter caps notation creates
19035         a capsfilter element and sets the filter_caps property.  I
19036         think everyone probably wants to keep the shorthand notation.
19037         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
19038         * docs/gst/tmpl/gstpad.sgml:
19039
19040         * gst/elements/gstelements.c: Register capsfilter element.
19041         * gst/Makefile.am: fix spacing
19042         * docs/random/ds/0.9-suggested-changes: random
19043
19044 2005-04-23  David Schleef  <ds@schleef.org>
19045
19046         * gst/elements/Makefile.am:
19047         * gst/elements/gstcapsfilter.c: New element that acts like an
19048         identity, but filters caps.  Will eventually replace filtered
19049         caps in pad linking.
19050         * gst/gstutils.c: (gst_element_create_all_pads): New function
19051         to create all the ALWAYS pads that are registered with an
19052         element class.  This functionality should eventually be
19053         merged in with GstElement initialization.
19054         * gst/gstutils.h:
19055         * testsuite/trigger/README: part of trigger test code that should
19056         have been checked in a long time ago.
19057
19058 2005-04-23  David Schleef  <ds@schleef.org>
19059
19060         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
19061         needed with new versions of libtool (nobody will confirm this),
19062         and hard to carry around.
19063         * gst/autoplug/Makefile.am:
19064         * gst/base/Makefile.am:
19065         * gst/elements/Makefile.am:
19066         * gst/indexers/Makefile.am:
19067         * gst/schedulers/Makefile.am:
19068         * libs/gst/bytestream/Makefile.am:
19069         * libs/gst/control/Makefile.am:
19070         * libs/gst/dataprotocol/Makefile.am:
19071         * libs/gst/getbits/Makefile.am:
19072
19073 2005-04-21  Wim Taymans  <wim@fluendo.com>
19074
19075         * docs/design/draft-push-pull.txt:
19076         * docs/design/part-MT-refcounting.txt:
19077         * docs/design/part-TODO.txt:
19078         * docs/design/part-caps.txt:
19079         * docs/design/part-events.txt:
19080         * docs/design/part-gstbus.txt:
19081         * docs/design/part-gstpipeline.txt:
19082         * docs/design/part-messages.txt:
19083         * docs/design/part-push-pull.txt:
19084         * docs/design/part-query.txt:
19085         Some more docs.
19086
19087 2005-04-21  Wim Taymans  <wim@fluendo.com>
19088
19089         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
19090         (gst_message_new), (gst_message_new_error),
19091         (gst_message_new_warning), (gst_message_new_tag),
19092         (gst_message_new_state_changed), (gst_message_new_application),
19093         (gst_message_get_structure):
19094         * gst/gstmessage.h:
19095         * gst/gststructure.c: (gst_structure_set_parent_refcount),
19096         (gst_structure_copy_conditional):
19097         Use parent refcount in GstMessage to ensure GstStructure
19098         consistency.
19099         Cleaned up headers a bit.
19100         
19101
19102 2005-04-20  Wim Taymans  <wim@fluendo.com>
19103
19104         * gst/base/gstbasesink.c: (gst_basesink_base_init),
19105         (gst_basesink_pad_getcaps), (gst_basesink_init),
19106         (gst_basesink_chain_unlocked):
19107         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
19108         (gst_type_find_helper):
19109         * gst/elements/gsttypefindelement.c:
19110         (gst_type_find_element_have_type), (gst_type_find_element_init),
19111         (stop_typefinding), (gst_type_find_element_handle_event),
19112         (find_suggest), (gst_type_find_element_chain),
19113         (gst_type_find_element_checkgetrange),
19114         (gst_type_find_element_getrange), (do_typefind),
19115         (gst_type_find_element_activate):
19116         * gst/gstbuffer.c: (_gst_buffer_sub_free),
19117         (gst_buffer_default_free), (gst_buffer_default_copy),
19118         (gst_buffer_set_caps):
19119         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
19120         (gst_caps_replace):
19121         * gst/gstmessage.c: (gst_message_new),
19122         (gst_message_new_state_changed):
19123         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19124         (gst_pad_set_checkgetrange_function),
19125         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
19126         (gst_pad_set_caps), (gst_pad_check_pull_range),
19127         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
19128         * gst/gstpad.h:
19129         * gst/gsttypefind.c: (gst_type_find_register):
19130         Make gst_caps_replace() work like other _replace() functions.
19131         Use _caps_replace() where possible.
19132         Make sure _message_new() initialises its field.
19133         Add gst_static_pad_template_get_caps()
19134
19135
19136 2005-04-18  Andy Wingo  <wingo@pobox.com>
19137
19138         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
19139         on the peer, not the pad. I think that was a typo. Pass an extra
19140         arg to see if random access is possible. Activate the pads as
19141         PULL_RANGE if possible.
19142
19143         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
19144
19145         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
19146         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
19147         to PROP_....
19148
19149 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19150
19151         * docs/faq/using.xml:
19152           Add note on gstreamer-properties (#154996).
19153
19154 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19155
19156         * docs/random/bbb/optional-properties:
19157           Some analysis on optional properties.
19158
19159 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19160
19161         * docs/gst/tmpl/gstelementfactory.sgml:
19162         * gst/gstelement.h:
19163         * gst/gstelementfactory.c: (gst_element_factory_init),
19164         (gst_element_factory_cleanup), (gst_element_register),
19165         (__gst_element_factory_add_static_pad_template),
19166         (gst_element_factory_get_static_pad_templates),
19167         (gst_element_factory_can_src_caps),
19168         (gst_element_factory_can_sink_caps):
19169         * gst/registries/Makefile.am:
19170         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
19171         (gst_xml_registry_class_init), (gst_xml_registry_init),
19172         (gst_xml_registry_new), (gst_xml_registry_set_property),
19173         (gst_xml_registry_get_property), (get_time), (make_dir),
19174         (gst_xml_registry_get_perms_func),
19175         (plugin_times_older_than_recurse), (plugin_times_older_than),
19176         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
19177         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
19178         (add_to_char_array), (read_string), (read_uint), (read_enum),
19179         (load_pad_template), (load_feature), (load_plugin), (load_paths),
19180         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
19181         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
19182         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
19183         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
19184         (gst_xml_registry_rebuild):
19185         * gst/registries/gstlibxmlregistry.h:
19186         * tools/gst-compprep.c: (main):
19187         * tools/gst-inspect.c: (print_pad_templates_info):
19188         * tools/gst-xmlinspect.c: (print_element_info):
19189           Use libxml2 for registry parsing, use staticpadtemplates in
19190           elementfactories. Makes gst_init() +/- 10x faster.
19191
19192 2005-04-12  Wim Taymans  <wim@fluendo.com>
19193
19194         * gst/base/Makefile.am:
19195         * gst/base/gstbasesink.c: (gst_basesink_base_init),
19196         (gst_basesink_pad_getcaps), (gst_basesink_init),
19197         (gst_basesink_event), (gst_basesink_change_state):
19198         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
19199         (gst_basesrc_init), (gst_basesrc_query),
19200         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
19201         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
19202         (gst_basesrc_check_get_range), (gst_basesrc_loop),
19203         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
19204         (gst_basesrc_stop), (gst_basesrc_activate),
19205         (gst_basesrc_change_state):
19206         * gst/base/gsttypefindhelper.c: (helper_find_peek),
19207         (helper_find_suggest), (gst_type_find_helper):
19208         * gst/base/gsttypefindhelper.h:
19209         * gst/elements/Makefile.am:
19210         * gst/elements/gstelements.c:
19211         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
19212         (gst_fakesink_get_times), (gst_fakesink_event),
19213         (gst_fakesink_preroll), (gst_fakesink_render):
19214         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19215         (gst_fakesrc_init), (gst_fakesrc_event_handler),
19216         (gst_fakesrc_get_property), (gst_fakesrc_create),
19217         (gst_fakesrc_start), (gst_fakesrc_stop):
19218         * gst/elements/gstfakesrc.h:
19219         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
19220         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
19221         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
19222         (gst_filesrc_create_read), (gst_filesrc_create),
19223         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
19224         (gst_filesrc_start):
19225         * gst/elements/gsttypefindelement.c:
19226         (gst_type_find_element_have_type), (gst_type_find_element_init),
19227         (start_typefinding), (stop_typefinding), (push_buffer_store),
19228         (gst_type_find_element_handle_event),
19229         (gst_type_find_element_chain),
19230         (gst_type_find_element_checkgetrange),
19231         (gst_type_find_element_getrange), (do_typefind),
19232         (gst_type_find_element_activate),
19233         (gst_type_find_element_change_state):
19234         * gst/elements/gsttypefindelement.h:
19235         * gst/gstpipeline.c: (pipeline_bus_handler):
19236         Added typefind helper.
19237         Small preroll fix in the base sink.
19238         Disable typefind code in basesrc.
19239         Crude port of typefindelement.
19240         Fakesrc cleanups.
19241
19242
19243 2005-04-11  Wim Taymans  <wim@fluendo.com>
19244
19245         * check/gst/gstbus.c: (gstbus_suite):
19246         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
19247         * check/gstcheck.h:
19248           Fix up the timeout so that the test does not fail.
19249
19250 2005-04-06  Wim Taymans  <wim@fluendo.com>
19251
19252         * gst/base/README:
19253         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
19254         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
19255         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
19256         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
19257         (gst_basesrc_check_get_range), (gst_basesrc_loop),
19258         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
19259         (gst_basesrc_stop), (gst_basesrc_activate),
19260         (gst_basesrc_change_state), (basesrc_find_peek),
19261         (basesrc_find_suggest), (gst_basesrc_type_find):
19262         * gst/base/gstbasesrc.h:
19263         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
19264         (gst_filesrc_class_init), (gst_filesrc_init),
19265         (gst_filesrc_finalize), (gst_filesrc_set_location),
19266         (gst_filesrc_set_property), (gst_filesrc_get_property),
19267         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
19268         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
19269         (gst_filesrc_create_read), (gst_filesrc_create),
19270         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
19271         * gst/elements/gstfilesrc.h:
19272         * gst/gstelement.c: (gst_element_get_state_func),
19273         (gst_element_lost_state), (gst_element_pads_activate):
19274         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19275         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
19276         (gst_pad_pull_range):
19277         * gst/gstpad.h:
19278         More work on the generic source base class, implement seeking,
19279         query.
19280         Make filesrc extend the base source class.
19281         Added gst_pad_set_checkgetrange_function to GstPad.
19282
19283 2005-04-06  Andy Wingo  <wingo@pobox.com>
19284
19285         * pkgconfig/gstreamer-base.pc.in:
19286         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
19287
19288         * pkgconfig/Makefile.am:
19289         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
19290
19291 2005-04-04  Wim Taymans  <wim@fluendo.com>
19292
19293         * gst/base/Makefile.am:
19294         * gst/base/README:
19295         * gst/base/gstbasesink.c: (gst_basesink_base_init),
19296         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
19297         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
19298         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
19299         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
19300         (gst_basesrc_base_init), (gst_basesrc_class_init),
19301         (gst_basesrc_init), (gst_basesrc_get_formats),
19302         (gst_basesrc_get_query_types), (gst_basesrc_query),
19303         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
19304         (gst_basesrc_set_property), (gst_basesrc_get_property),
19305         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
19306         (gst_basesrc_loop), (gst_basesrc_activate),
19307         (gst_basesrc_change_state):
19308         * gst/base/gstbasesrc.h:
19309         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
19310         (gst_fakesrc_class_init), (gst_fakesrc_init),
19311         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
19312         (gst_fakesrc_get_property), (gst_fakesrc_create):
19313         * gst/elements/gstfakesrc.h:
19314         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
19315         (gst_filesrc_open_file), (gst_filesrc_loop),
19316         (gst_filesrc_activate), (filesrc_find_peek),
19317         (gst_filesrc_type_find):
19318         Made base source class, make fakesrc extend it.
19319         Add comments to basesink class.
19320         Some filesrc cleanup.
19321
19322 2005-03-31  David Schleef  <ds@schleef.org>
19323
19324         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
19325         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
19326         expected to link against libgstreamer.
19327         * gst/base/Makefile.am: link against libgstreamer
19328         * gst/elements/Makefile.am: same
19329
19330 2005-03-31  Andy Wingo  <wingo@pobox.com>
19331
19332         * tests/instantiate/Makefile.am:
19333         * tests/instantiate/caps.c: Add test to test speed of caps copy
19334         and free.
19335
19336         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
19337         GMemChunk to be fair.
19338
19339         * gst/gsttrashstack.h: Remove warning about using the fallback
19340         trash stack implementation, it's still faster than malloc.
19341
19342 2005-03-30  Andy Wingo  <wingo@pobox.com>
19343
19344         * tests/complexity.c: Add a copyright.
19345
19346 2005-03-31  Wim Taymans  <wim@fluendo.com>
19347
19348         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
19349         (gst_base_transform_class_init), (gst_base_transform_init),
19350         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
19351         (gst_base_transform_get_property),
19352         (gst_base_transform_sink_activate),
19353         (gst_base_transform_src_activate),
19354         (gst_base_transform_change_state):
19355         * gst/base/gstbasetransform.h:
19356         * gst/elements/gstidentity.c: (gst_identity_class_init),
19357         (gst_identity_event), (gst_identity_check_perfect),
19358         (gst_identity_transform), (gst_identity_start),
19359         (gst_identity_stop):
19360         Added start/stop methods to transform base class so subclasses 
19361         don't need to deal with state changes even.
19362
19363 2005-03-31  Wim Taymans  <wim@fluendo.com>
19364
19365         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
19366         (gst_event_new_discontinuous), (gst_event_discont_get_value):
19367         * gst/gstevent.h:
19368         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19369         (gst_pad_pull_range):
19370         Added rate to the discont event to prepare for variable speed
19371         and reverse playback.
19372
19373 2005-03-29  David Schleef  <ds@schleef.org>
19374
19375         * configure.ac:
19376         * testsuite/trigger/Makefile.am:
19377         * testsuite/trigger/trigger.c: A little example program to show
19378         how trigger-based elements can work.
19379
19380 2005-03-29  Wim Taymans  <wim@fluendo.com>
19381
19382         * gst/base/Makefile.am:
19383         * gst/base/README:
19384         * gst/base/gstbasesink.c: (gst_basesink_get_type),
19385         (gst_basesink_base_init), (gst_basesink_class_init),
19386         (gst_basesink_pad_getcaps), (gst_basesink_init),
19387         (gst_basesink_activate), (gst_basesink_change_state):
19388         * gst/base/gstbasesink.h:
19389         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
19390         (gst_base_transform_base_init), (gst_base_transform_finalize),
19391         (gst_base_transform_class_init), (gst_base_transform_init),
19392         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
19393         (gst_base_transform_event), (gst_base_transform_getrange),
19394         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
19395         (gst_base_transform_set_property),
19396         (gst_base_transform_get_property),
19397         (gst_base_transform_sink_activate),
19398         (gst_base_transform_src_activate),
19399         (gst_base_transform_change_state):
19400         * gst/base/gstbasetransform.h:
19401         * gst/elements/gstidentity.c: (gst_identity_finalize),
19402         (gst_identity_class_init), (gst_identity_init),
19403         (gst_identity_event), (gst_identity_check_perfect),
19404         (gst_identity_transform), (gst_identity_set_property),
19405         (gst_identity_get_property), (gst_identity_change_state):
19406         * gst/elements/gstidentity.h:
19407         * gst/gstelement.c: (gst_element_get_state_func),
19408         (gst_element_lost_state), (gst_element_pads_activate):
19409         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19410         (gst_pad_check_pull_range), (gst_pad_pull_range):
19411         * gst/gstpad.h:
19412         Simplify pad activation.
19413         Added function to check if pull_range can be performed.
19414         Error out when pulling inactive or flushing pads.
19415         Removed const from refcounted types as it does not make sense.
19416         Simplify pad templates in basesink
19417         Added base class for simple 1-to-1 transforms.
19418         Make identity subclass the base transform.
19419
19420 2005-03-29  Andy Wingo  <wingo@pobox.com>
19421
19422         * docs/libs/gstreamer-libs-overrides.txt: 
19423         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
19424         really don't understand what's going on, but like whatever. I want
19425         green buildbot!
19426
19427         * docs/gst/Makefile.am:
19428         * docs/libs/Makefile.am: Dist the overrides files.
19429
19430         * check/Makefile.am (clean-local): Remove .libs directories.
19431
19432         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
19433         elements to EXTRA_DIST, so po/ files are happy.
19434
19435         * po/POTFILES.in: Er, remove it here.
19436
19437         * po/POTFILES: Remove gstspider.c.
19438
19439         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
19440
19441         * docs/libs/gstreamer-libs-docs.sgml: 
19442         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
19443         bytestream.
19444
19445         * tests/complexity.c (main): Set the length of the preroll queue
19446         on the sinks to prevent a lockup.
19447
19448         * libs/gst/dataprotocol/Makefile.am: 
19449         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
19450         the same as the one in check/gst-libs/gdp.c.
19451
19452         * po/, docs/gst/: Commit automatic changes to docs and po files.
19453
19454         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
19455         the versioned libgstbase.
19456
19457         * check/Makefile.am: Depend on an unversioned gst-register, seems
19458         to make autoconf happier.
19459
19460         * gst/base/Makefile.am: Make libgstbase a versioned lib.
19461
19462 2005-03-28  Wim Taymans  <wim@fluendo.com>
19463
19464         * configure.ac:
19465         * docs/design/part-gstelement.txt:
19466         * docs/design/part-negotiation.txt:
19467         * docs/design/part-preroll.txt:
19468         * docs/design/part-scheduling.txt:
19469         * docs/design/part-states.txt:
19470         * gst/Makefile.am:
19471         * gst/base/Makefile.am:
19472         * gst/base/README:
19473         * gst/base/gstbasesink.c: (gst_basesink_get_template),
19474         (gst_basesink_base_init), (gst_basesink_class_init),
19475         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
19476         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
19477         (gst_basesink_set_pad_functions),
19478         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
19479         (gst_basesink_set_property), (gst_basesink_get_property),
19480         (gst_base_sink_get_template), (gst_base_sink_get_caps),
19481         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
19482         (gst_basesink_preroll_queue_push),
19483         (gst_basesink_preroll_queue_empty),
19484         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
19485         (gst_basesink_event), (gst_basesink_get_times),
19486         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
19487         (gst_basesink_chain_unlocked), (gst_basesink_chain),
19488         (gst_basesink_loop), (gst_basesink_activate),
19489         (gst_basesink_change_state):
19490         * gst/base/gstbasesink.h:
19491         * gst/elements/Makefile.am:
19492         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
19493         (gst_fakesink_class_init), (gst_fakesink_init),
19494         (gst_fakesink_set_property), (gst_fakesink_get_property),
19495         (gst_fakesink_get_times), (gst_fakesink_event),
19496         (gst_fakesink_preroll), (gst_fakesink_render),
19497         (gst_fakesink_change_state):
19498         * gst/elements/gstfakesink.h:
19499         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
19500         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
19501         * gst/gstelement.c: (gst_element_add_pad),
19502         (gst_element_get_state_func), (gst_element_abort_state),
19503         (gst_element_commit_state), (gst_element_lost_state),
19504         (gst_element_set_state), (gst_element_pads_activate):
19505         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
19506         * gst/gstpipeline.c: (gst_pipeline_send_event),
19507         (gst_pipeline_change_state):
19508         Added state change code.
19509         Added/updated docs.
19510         Added sink base class, make fakesink extend the base class.
19511         Small cleanups in GstPipeline.
19512
19513 2005-03-26  David Schleef  <ds@schleef.org>
19514
19515         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
19516         is broken and should be implemented in a different library.
19517         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
19518         * gst/gst.h: remove gstcpu.h
19519         * gst/gstcpu.c: remove
19520         * gst/gstcpu.h: remove
19521         * gst/Makefile.am.future: Remove this file.  It's ancient.
19522
19523 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19524
19525         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
19526         (gst_bin_send_event):
19527           Add default event/set_manager handlers. The set_manager handler
19528           takes care that the manager is distributed over kids that were
19529           already in the bin before the manager was set. The event handler
19530           is a utility virtual function that sends the event over all sinks,
19531           so that gst_element_send_event (bin, event); has the expected
19532           behaviour.
19533         * gst/gstpad.c: (gst_pad_event_default):
19534           Re-install default event handling for discontinuities, so that
19535           seeking works without requiring hacks in applications or extra
19536           code in sinks.
19537         * gst/gstpipeline.c: (gst_pipeline_class_init),
19538         (gst_pipeline_send_event):
19539           Half hack, half utility: set a pipeline to PAUSED for seek events,
19540           since that is the only way we can guarantee a/v sync. Means that
19541           you can do gst_element_seek (pipeline, method, pos); on a pipeline
19542           and it "just works".
19543
19544 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19545
19546         * gst/gstpipeline.c: (gst_pipeline_use_clock):
19547           Lock/unlock mismatch.
19548
19549 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
19550
19551         * docs/faq/gst-uninstalled:
19552           add gst-plugins-base
19553         * docs/gst/Makefile.am:
19554           don't error out until docs are fixed
19555         * docs/gst/gstreamer.types:
19556           remove thread
19557
19558 2005-03-22  Wim Taymans  <wim@fluendo.com>
19559
19560         * check/Makefile.am:
19561         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
19562         * gst/gststructure.c: (gst_structure_set_valist),
19563         (gst_structure_copy_conditional):
19564         Activated more tests.
19565         Added message test.
19566         Added G_TYPE_POINTER to GstStructure.
19567         
19568
19569 2005-03-22  Wim Taymans  <wim@fluendo.com>
19570
19571         * docs/design/part-TODO.txt:
19572         * docs/design/part-events.txt:
19573         * docs/design/part-gstbin.txt:
19574         * docs/design/part-gstbus.txt:
19575         * docs/design/part-gstpipeline.txt:
19576         * docs/design/part-messages.txt:
19577         * gst/gstbus.c:
19578         * gst/gstmessage.c:
19579         Docs updates
19580
19581 2005-03-21  Wim Taymans  <wim@fluendo.com>
19582
19583         * gst/gstbus.c: (gst_bus_post):
19584         Fix copy-and-paste error.
19585
19586 2005-03-21  Wim Taymans  <wim@fluendo.com>
19587
19588         * check/Makefile.am:
19589         * gst/Makefile.am:
19590         * gst/elements/Makefile.am:
19591         * gst/elements/gstelements.c:
19592         * gst/elements/gstfakesink.c: (gst_fakesink_init),
19593         (gst_fakesink_event), (gst_fakesink_chain):
19594         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19595         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
19596         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
19597         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
19598         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
19599         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
19600         (gst_fakesrc_loop), (gst_fakesrc_activate),
19601         (gst_fakesrc_change_state):
19602         * gst/elements/gstfakesrc.h:
19603         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
19604         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
19605         (gst_filesrc_open_file), (gst_filesrc_loop),
19606         (gst_filesrc_activate), (gst_filesrc_change_state),
19607         (filesrc_find_peek), (filesrc_find_suggest),
19608         (gst_filesrc_type_find):
19609         * gst/elements/gstidentity.c: (gst_identity_finalize),
19610         (gst_identity_class_init), (gst_identity_init),
19611         (gst_identity_proxy_getcaps), (identity_queue_push),
19612         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
19613         (gst_identity_getrange), (gst_identity_chain),
19614         (gst_identity_sink_loop), (gst_identity_src_loop),
19615         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
19616         (gst_identity_set_property), (gst_identity_get_property),
19617         (gst_identity_change_state):
19618         * gst/elements/gstidentity.h:
19619         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
19620         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
19621         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
19622         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
19623         (gst_tee_sink_activate):
19624         * gst/elements/gsttee.h:
19625         * gst/gst.c: (gst_register_core_elements), (init_post):
19626         * gst/gst.h:
19627         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
19628         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
19629         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
19630         (gst_bin_change_state):
19631         * gst/gstbin.h:
19632         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
19633         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
19634         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
19635         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
19636         (gst_bus_set_sync_handler), (gst_bus_create_watch),
19637         (bus_watch_callback), (bus_watch_destroy),
19638         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
19639         (poll_timeout), (gst_bus_poll):
19640         * gst/gstbus.h:
19641         * gst/gstcaps.h:
19642         * gst/gstdata.h:
19643         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
19644         (gst_element_post_message), (gst_element_message_full),
19645         (gst_element_get_state_func), (gst_element_get_state),
19646         (gst_element_abort_state), (gst_element_commit_state),
19647         (gst_element_lost_state), (gst_element_set_state),
19648         (gst_element_pads_activate), (gst_element_change_state),
19649         (gst_element_dispose), (gst_element_set_manager_func),
19650         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
19651         (gst_element_set_manager), (gst_element_get_manager),
19652         (gst_element_set_bus), (gst_element_get_bus),
19653         (gst_element_set_scheduler), (gst_element_get_scheduler):
19654         * gst/gstelement.h:
19655         * gst/gstevent.c: (gst_event_new_segment_seek),
19656         (gst_event_new_flush):
19657         * gst/gstevent.h:
19658         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
19659         (_gst_message_free), (gst_message_get_type), (gst_message_new),
19660         (gst_message_new_eos), (gst_message_new_error),
19661         (gst_message_new_warning), (gst_message_new_tag),
19662         (gst_message_new_state_changed), (gst_message_new_application),
19663         (gst_message_get_structure), (gst_message_parse_tag),
19664         (gst_message_parse_state_changed), (gst_message_parse_error),
19665         (gst_message_parse_warning):
19666         * gst/gstmessage.h:
19667         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
19668         (gst_real_pad_set_property), (gst_pad_set_active),
19669         (gst_pad_is_active), (gst_pad_set_blocked_async),
19670         (gst_pad_set_blocked), (gst_pad_is_blocked),
19671         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
19672         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
19673         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
19674         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
19675         (gst_pad_link_filtered), (gst_pad_relink_filtered),
19676         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
19677         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
19678         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
19679         (gst_pad_set_caps), (gst_pad_configure_sink),
19680         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
19681         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
19682         (gst_real_pad_dispose), (gst_real_pad_finalize),
19683         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
19684         (gst_pad_event_default_dispatch), (gst_pad_event_default),
19685         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
19686         * gst/gstpad.h:
19687         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
19688         (pipeline_bus_handler), (gst_pipeline_change_state),
19689         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
19690         * gst/gstpipeline.h:
19691         * gst/gstprobe.h:
19692         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
19693         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
19694         (gst_queue_link_src), (gst_queue_bufferalloc),
19695         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
19696         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
19697         (gst_queue_loop), (gst_queue_handle_src_event),
19698         (gst_queue_handle_src_query), (gst_queue_src_activate),
19699         (gst_queue_change_state):
19700         * gst/gstqueue.h:
19701         * gst/gstscheduler.c: (gst_scheduler_init),
19702         (gst_scheduler_dispose), (gst_scheduler_create_task),
19703         (gst_scheduler_factory_create):
19704         * gst/gstscheduler.h:
19705         * gst/gststructure.c: (gst_structure_get_type),
19706         (gst_structure_copy_conditional):
19707         * gst/gststructure.h:
19708         * gst/gsttaginterface.h:
19709         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
19710         (gst_task_init), (gst_task_dispose), (gst_task_create),
19711         (gst_task_get_state), (gst_task_start), (gst_task_stop),
19712         (gst_task_pause):
19713         * gst/gsttask.h:
19714         * gst/gstthread.c:
19715         * gst/gstthread.h:
19716         * gst/gsttypes.h:
19717         * gst/schedulers/Makefile.am:
19718         * gst/schedulers/cothreads_compat.h:
19719         * gst/schedulers/entryscheduler.c:
19720         * gst/schedulers/faircothreads.c:
19721         * gst/schedulers/faircothreads.h:
19722         * gst/schedulers/fairscheduler.c:
19723         * gst/schedulers/gstbasicscheduler.c:
19724         * gst/schedulers/gstoptimalscheduler.c:
19725         * gst/schedulers/gthread-cothreads.h:
19726         * gst/schedulers/threadscheduler.c:
19727         (gst_thread_scheduler_task_get_type),
19728         (gst_thread_scheduler_task_class_init),
19729         (gst_thread_scheduler_task_init),
19730         (gst_thread_scheduler_task_start),
19731         (gst_thread_scheduler_task_stop),
19732         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
19733         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
19734         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
19735         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
19736         (plugin_init):
19737         * libs/gst/Makefile.am:
19738         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
19739         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
19740         (gst_file_pad_parent_set):
19741         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
19742         (gst_dp_event_from_packet):
19743         * tests/complexity.c: (main):
19744         * tests/mass_elements.c: (main):
19745         * testsuite/states/locked.c: (message_received), (main):
19746         * testsuite/states/parent.c: (main):
19747         * tools/gst-inspect.c: (print_element_flag_info),
19748         (print_implementation_info), (print_pad_info):
19749         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
19750         (main):
19751         * tools/gst-md5sum.c: (event_loop), (main):
19752         * tools/gst-typefind.c: (main):
19753         * tools/gst-xmlinspect.c: (print_element_info):
19754         Next big merge.
19755         Added GstBus for mainloop integration.
19756         Added GstMessage for sending notifications on the bus.
19757         Added GstTask as an abstraction for pipeline entry points.
19758         Removed GstThread.
19759         Removed Schedulers.
19760         Simplified GstQueue for multithreaded core.
19761         Made _link threadsafe, removed old capsnego.
19762         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
19763         Added pad blocking functions.
19764         Reworked scheduling functions in GstPad to prepare for
19765         scheduling updates soon.
19766         Moved events out of data stream.
19767         Simplified GstEvent types.
19768         Added return values to push/pull.
19769         Removed clocking from GstElement.
19770         Added prototypes for state change function for next merge.
19771         Removed iterate from bins and state change management.
19772         Fixed some elements, disabled others for now.
19773         Fixed -inspect and -launch.
19774         Added check for GstBus.
19775
19776 2005-03-10  Wim Taymans  <wim@fluendo.com>
19777
19778         * docs/design/part-MT-refcounting.txt:
19779         * docs/design/part-clocks.txt:
19780         * docs/design/part-gstelement.txt:
19781         * docs/design/part-gstobject.txt:
19782         * docs/design/part-standards.txt:
19783         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19784         (gst_bin_remove_func), (gst_bin_remove):
19785         * gst/gstbin.h:
19786         * gst/gstbuffer.c:
19787         * gst/gstcaps.h:
19788         * testsuite/clock/clock1.c: (main):
19789         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
19790         (main):
19791         * testsuite/dlopen/loadgst.c: (do_test):
19792         * testsuite/refcounting/bin.c: (add_remove_test1),
19793         (add_remove_test2), (main):
19794         * testsuite/refcounting/element.c: (main):
19795         * testsuite/refcounting/element_pad.c: (main):
19796         * testsuite/refcounting/pad.c: (main):
19797         * tools/gst-launch.c: (sigint_handler_sighandler):
19798         * tools/gst-typefind.c: (main):
19799         Doc updates.
19800         Added doc about clock.
19801         removed gst_bin_iterate_recurse_up(), marked methods
19802         for removal.
19803         Fix more testsuites.
19804
19805 2005-03-09  Wim Taymans  <wim@fluendo.com>
19806
19807         * gst/gstpad.c: (gst_pad_get_direction),
19808         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
19809         (gst_pad_collect_valist):
19810         * testsuite/bins/interface.c: (main):
19811         * testsuite/caps/audioscale.c: (test_caps):
19812         * testsuite/caps/caps.c: (test1), (test2), (test3):
19813         * testsuite/caps/deserialize.c: (main):
19814         * testsuite/caps/enumcaps.c: (main):
19815         * testsuite/caps/filtercaps.c: (main):
19816         * testsuite/caps/intersect2.c: (main):
19817         * testsuite/caps/random.c: (main):
19818         * testsuite/caps/renegotiate.c: (my_fixate), (main):
19819         * testsuite/caps/sets.c: (check_caps):
19820         * testsuite/caps/simplify.c: (check_caps), (main):
19821         * testsuite/caps/subtract.c: (check_caps):
19822         Fix _pad_get_direction wrt ghostpads.
19823         Fix caps testsuite.
19824
19825 2005-03-09  Wim Taymans  <wim@fluendo.com>
19826
19827         * check/Makefile.am:
19828         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
19829         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
19830         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
19831         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
19832         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
19833         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
19834         (gst_bin_remove), (gst_bin_iterate_recurse_up),
19835         (bin_element_is_sink), (gst_bin_iterate_sinks),
19836         (gst_bin_iterate_all_by_interface):
19837         * gst/gstbin.h:
19838         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
19839         (gst_element_change_state), (gst_element_dispose),
19840         (gst_element_finalize), (gst_element_set_loop_function):
19841         * gst/gstelement.h:
19842         * gst/gstiterator.c: (find_custom_fold_func):
19843         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
19844         (gst_pad_collectv), (gst_pad_collect_valist),
19845         (gst_pad_template_new):
19846         * gst/gstpipeline.c: (gst_pipeline_class_init),
19847         (gst_pipeline_dispose), (gst_pipeline_set_property),
19848         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
19849         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
19850         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
19851         * gst/gstutils.h:
19852         * gst/schedulers/entryscheduler.c:
19853         * gst/schedulers/gstbasicscheduler.c:
19854         (gst_basic_scheduler_cothreaded_chain),
19855         (gst_basic_scheduler_chain_add_element):
19856         * testsuite/bins/interface.c: (main):
19857         Added GstBin test.
19858         Added GstSystemClock test.
19859         Implemented clock distribution code in GstBin.
19860         Implemented iterate sinks method for future use.
19861         Rearranged gstelement.h
19862         Fix GstIterator comparison bug.
19863         Moved some code to GstPipeline, mostly clocking related.
19864
19865 2005-03-09  Wim Taymans  <wim@fluendo.com>
19866
19867         * configure.ac:
19868         * gst/gst_private.h:
19869         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19870         (gst_bin_remove_func), (gst_bin_remove),
19871         (gst_bin_get_by_name_recurse_up):
19872         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
19873         (gst_clock_id_compare_func), (gst_clock_id_wait),
19874         (gst_clock_id_wait_async), (gst_clock_init),
19875         (gst_clock_adjust_unlocked), (gst_clock_get_time):
19876         * gst/gstelement.h:
19877         * gst/gstinfo.c: (_gst_debug_init):
19878         * gst/gstobject.h:
19879         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
19880         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
19881         * gst/gstpad.h:
19882         Bump version number, we're now 0.9.0
19883         Add future debugging category.
19884         Fix NULL _unref() in _get_by_name_recurse_up
19885         Rearrange gstpad.h.
19886         Update some docs.
19887
19888 2005-03-08  Wim Taymans  <wim@fluendo.com>
19889
19890         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
19891         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
19892         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
19893         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
19894         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
19895         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
19896         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
19897         * gst/elements/gstidentity.c: (gst_identity_class_init):
19898         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
19899         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
19900         * gst/elements/gstshaper.c: (gst_shaper_class_init):
19901         * gst/elements/gststatistics.c: (gst_statistics_class_init):
19902         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
19903         (gst_tee_link):
19904         * gst/gstelement.c: (gst_element_class_init),
19905         (gst_element_base_class_init), (gst_element_init),
19906         (gst_element_get_random_pad), (gst_element_wait_state_change),
19907         (gst_element_change_state), (gst_element_dispose),
19908         (gst_element_finalize), (gst_element_set_loop_function):
19909         * gst/gstelement.h:
19910         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
19911         * gst/gstthread.c: (gst_thread_class_init),
19912         (gst_thread_release_children_locks), (gst_thread_change_state):
19913         * gst/schedulers/gstbasicscheduler.c:
19914         (gst_basic_scheduler_loopfunc_wrapper),
19915         (gst_basic_scheduler_chain_wrapper),
19916         (gst_basic_scheduler_src_wrapper),
19917         (gst_basic_scheduler_remove_element):
19918         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
19919         Remove threadsafe properties. Fix elements because GObject
19920         complains when installing a property before declaring a
19921         set/get_property handler.
19922         Rearrange gstelement.h file, use STATE macros for state locks.
19923         Free mutexes in the finalize method instead of dispose.
19924
19925 2005-03-08  Wim Taymans  <wim@fluendo.com>
19926
19927         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
19928         * gst/gstthread.c: (gst_thread_release_children_locks):
19929         Added parentage check.
19930         Fix build og GstThread again.
19931
19932 2005-03-08  Wim Taymans  <wim@fluendo.com>
19933
19934         * docs/design/part-MT-refcounting.txt:
19935         * docs/design/part-conventions.txt:
19936         * docs/design/part-gstobject.txt:
19937         * docs/design/part-relations.txt:
19938         * docs/design/part-standards.txt:
19939         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19940         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
19941         (gst_bin_get_by_name), (gst_bin_get_by_interface),
19942         (gst_bin_iterate_all_by_interface):
19943         * gst/gstbuffer.h:
19944         * gst/gstclock.h:
19945         * gst/gstelement.c: (gst_element_class_init),
19946         (gst_element_change_state), (gst_element_set_loop_function):
19947         * gst/gstelement.h:
19948         * gst/gstiterator.c:
19949         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
19950         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
19951         (gst_object_dispatch_properties_changed), (gst_object_set_name),
19952         (gst_object_set_parent), (gst_object_unparent),
19953         (gst_object_check_uniqueness):
19954         * gst/gstobject.h:
19955         Docs updates, clean up some headers.
19956
19957 2005-03-07  Wim Taymans  <wim@fluendo.com>
19958
19959         * check/.cvsignore:
19960         * check/Makefile.am:
19961         * check/gst-libs/.cvsignore:
19962         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
19963         * check/gst/.cvsignore:
19964         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
19965         (START_TEST), (gstbus_suite), (main):
19966         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
19967         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
19968         (gst_data_suite), (main):
19969         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
19970         (add_fold_func), (gstiterator_suite), (main):
19971         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
19972         (thread_name_object), (thread_name_object_default),
19973         (gst_object_name_compare), (gst_object_suite), (main):
19974         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
19975         (gst_pad_suite), (main):
19976         * check/gstcheck.c: (gst_check_log_message_func),
19977         (gst_check_log_critical_func), (gst_check_init):
19978         * check/gstcheck.h:
19979         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19980         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
19981         Added checks.
19982
19983 2005-03-07  Wim Taymans  <wim@fluendo.com>
19984
19985         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
19986         (gst_list_iterator_next), (gst_list_iterator_resync),
19987         (gst_list_iterator_free), (gst_iterator_new_list),
19988         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
19989         (gst_iterator_free), (gst_iterator_push), (filter_next),
19990         (filter_resync), (filter_uninit), (filter_free),
19991         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
19992         (gst_iterator_foreach), (find_custom_fold_func),
19993         (gst_iterator_find_custom):
19994         * gst/gstiterator.h:
19995         Added missing files.
19996
19997 2005-03-07  Wim Taymans  <wim@fluendo.com>
19998
19999         * Makefile.am:
20000         * configure.ac:
20001         * docs/design/part-MT-refcounting.txt:
20002         * docs/design/part-conventions.txt:
20003         * docs/design/part-gstobject.txt:
20004         * docs/design/part-relations.txt:
20005         * examples/mixer/mixer.c: (main):
20006         * examples/thread/thread.c: (eos), (main):
20007         * gst/Makefile.am:
20008         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
20009         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
20010         (gst_spider_plug_from_srcpad):
20011         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
20012         (gst_spider_identity_change_state),
20013         (gst_spider_identity_sink_loop_type_finding):
20014         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
20015         * gst/elements/gstidentity.c: (gst_identity_init):
20016         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
20017         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
20018         * gst/elements/gsttypefindelement.c: (free_entry):
20019         * gst/gst.c:
20020         * gst/gst.h:
20021         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
20022         (gst_bin_set_clock_func), (gst_bin_auto_clock),
20023         (gst_bin_set_index), (gst_bin_set_element_sched),
20024         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
20025         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
20026         (gst_bin_iterate_elements), (iterate_child_recurse),
20027         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
20028         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
20029         (compare_interface), (gst_bin_get_by_interface),
20030         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
20031         * gst/gstbin.h:
20032         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
20033         (gst_buffer_default_free), (gst_buffer_default_copy),
20034         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
20035         (gst_buffer_create_sub):
20036         * gst/gstbuffer.h:
20037         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
20038         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
20039         (gst_caps_unref), (gst_static_caps_get),
20040         (gst_caps_remove_and_get_structure), (gst_caps_append),
20041         (gst_caps_append_structure), (gst_caps_remove_structure),
20042         (gst_caps_copy_nth), (gst_caps_set_simple),
20043         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
20044         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
20045         (gst_caps_structure_intersect_field), (gst_caps_intersect),
20046         (gst_caps_structure_subtract_field), (gst_caps_subtract),
20047         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
20048         (gst_caps_structure_figure_out_union),
20049         (gst_caps_switch_structures), (gst_caps_do_simplify),
20050         (gst_caps_replace), (gst_caps_from_string),
20051         (gst_caps_copy_conditional):
20052         * gst/gstcaps.h:
20053         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
20054         (_gst_clock_id_free), (gst_clock_id_unref),
20055         (gst_clock_id_compare_func), (gst_clock_id_wait),
20056         (gst_clock_id_wait_async), (gst_clock_class_init),
20057         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
20058         (gst_clock_get_time), (gst_clock_set_time_adjust),
20059         (gst_clock_set_property), (gst_clock_get_property):
20060         * gst/gstclock.h:
20061         * gst/gstcompat.h:
20062         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
20063         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
20064         * gst/gstdata.h:
20065         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
20066         (gst_element_requires_clock), (gst_element_provides_clock),
20067         (gst_element_set_clock), (gst_element_clock_wait),
20068         (gst_element_wait), (gst_element_set_time_delay),
20069         (gst_element_is_indexable), (gst_element_add_pad),
20070         (gst_element_add_ghost_pad), (gst_element_remove_pad),
20071         (pad_compare_name), (gst_element_get_static_pad),
20072         (gst_element_request_pad), (gst_element_get_request_pad),
20073         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
20074         (gst_element_class_get_pad_template_list),
20075         (gst_element_class_get_pad_template), (gst_element_error_func),
20076         (gst_element_get_random_pad), (gst_element_get_event_masks),
20077         (gst_element_send_event), (gst_element_seek),
20078         (gst_element_get_query_types), (gst_element_query),
20079         (gst_element_get_formats), (gst_element_convert),
20080         (gst_element_is_locked_state), (gst_element_set_locked_state),
20081         (gst_element_sync_state_with_parent), (gst_element_change_state),
20082         (gst_element_finalize), (gst_element_yield),
20083         (gst_element_interrupt), (gst_element_set_scheduler),
20084         (gst_element_get_scheduler), (gst_element_set_loop_function):
20085         * gst/gstelement.h:
20086         * gst/gstevent.h:
20087         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
20088         (gst_format_get_by_nick), (gst_format_get_details),
20089         (gst_format_iterate_definitions):
20090         * gst/gstformat.h:
20091         * gst/gstindex.c: (gst_index_gtype_resolver):
20092         * gst/gstinfo.c:
20093         * gst/gstinfo.h:
20094         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
20095         (gst_mem_chunk_free):
20096         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
20097         (gst_object_ref), (gst_object_unref), (gst_object_sink),
20098         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
20099         (gst_object_dispatch_properties_changed),
20100         (gst_object_set_name_default), (gst_object_set_name),
20101         (gst_object_get_name), (gst_object_set_name_prefix),
20102         (gst_object_get_name_prefix), (gst_object_set_parent),
20103         (gst_object_get_parent), (gst_object_unparent),
20104         (gst_object_check_uniqueness), (gst_object_save_thyself),
20105         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
20106         (gst_object_set_property), (gst_object_get_property),
20107         (gst_object_get_path_string):
20108         * gst/gstobject.h:
20109         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
20110         (gst_real_pad_init), (gst_real_pad_get_property),
20111         (gst_pad_custom_new), (gst_pad_get_direction),
20112         (gst_pad_set_active), (gst_pad_is_active),
20113         (gst_pad_set_event_function), (gst_pad_is_linked),
20114         (gst_pad_link_free), (gst_pad_link_intersect),
20115         (gst_pad_link_fixate), (gst_pad_set_caps),
20116         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
20117         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
20118         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
20119         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
20120         (gst_pad_get_caps), (gst_pad_peer_get_caps),
20121         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
20122         (gst_pad_realize), (gst_pad_get_allowed_caps),
20123         (gst_real_pad_dispose), (gst_real_pad_finalize),
20124         (gst_pad_collectv), (gst_pad_collect_valist),
20125         (gst_pad_template_dispose), (gst_pad_template_new),
20126         (gst_pad_get_internal_links):
20127         * gst/gstpad.h:
20128         * gst/gstpipeline.c: (gst_pipeline_dispose),
20129         (gst_pipeline_change_state):
20130         * gst/gstpipeline.h:
20131         * gst/gstplugin.c:
20132         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
20133         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
20134         * gst/gstpluginfeature.h:
20135         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
20136         * gst/gstquery.c: (_gst_query_type_initialize),
20137         (gst_query_type_register), (gst_query_type_get_by_nick),
20138         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
20139         * gst/gstquery.h:
20140         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
20141         * gst/gstscheduler.c: (gst_scheduler_add_element),
20142         (gst_scheduler_factory_create):
20143         * gst/gststructure.c: (gst_structure_set_parent_refcount),
20144         (gst_structure_free), (gst_structure_set_name),
20145         (gst_structure_id_set_value), (gst_structure_set_value),
20146         (gst_structure_set_valist), (gst_structure_remove_field),
20147         (gst_structure_remove_fields),
20148         (gst_structure_remove_fields_valist),
20149         (gst_structure_remove_all_fields), (gst_structure_foreach),
20150         (gst_structure_map_in_place),
20151         (gst_caps_structure_fixate_field_nearest_int),
20152         (gst_caps_structure_fixate_field_nearest_double):
20153         * gst/gststructure.h:
20154         * gst/gstsystemclock.c: (gst_system_clock_class_init),
20155         (gst_system_clock_init), (gst_system_clock_dispose),
20156         (gst_system_clock_async_thread),
20157         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
20158         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
20159         * gst/gstsystemclock.h:
20160         * gst/gsttag.c: (gst_tag_list_add_value_internal),
20161         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
20162         * gst/gsttaginterface.c:
20163         * gst/gstthread.c: (gst_thread_dispose),
20164         (gst_thread_release_children_locks), (gst_thread_change_state),
20165         (gst_thread_main_loop):
20166         * gst/gsttrashstack.h:
20167         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
20168         * gst/gsttypes.h:
20169         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
20170         (gst_element_request_pad), (gst_element_get_pad_from_template),
20171         (gst_element_request_compatible_pad),
20172         (gst_element_get_compatible_pad_filtered),
20173         (gst_element_get_compatible_pad), (gst_element_state_get_name),
20174         (gst_element_link_pads_filtered), (gst_element_link_filtered),
20175         (gst_element_link_many), (gst_element_link),
20176         (gst_element_link_pads), (gst_element_unlink_pads),
20177         (gst_element_unlink_many), (gst_element_unlink),
20178         (gst_pad_can_link_filtered), (gst_pad_can_link),
20179         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
20180         (gst_object_default_error), (gst_bin_add_many),
20181         (gst_bin_remove_many), (gst_element_populate_std_props),
20182         (gst_element_class_install_std_props), (gst_buffer_merge),
20183         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
20184         (link_fold_func), (gst_pad_proxy_setcaps):
20185         * gst/gstutils.h:
20186         * gst/gstvalue.c: (gst_value_deserialize_string):
20187         * gst/parse/grammar.y:
20188         * gst/schedulers/gstbasicscheduler.c:
20189         (gst_basic_scheduler_cothreaded_chain),
20190         (gst_basic_scheduler_chain_recursive_add),
20191         (gst_basic_scheduler_pad_link):
20192         * gst/schedulers/gstoptimalscheduler.c:
20193         (get_group_schedule_function),
20194         (gst_opt_scheduler_state_transition),
20195         (gst_opt_scheduler_add_element), (element_get_reachables_func):
20196         * libs/gst/bytestream/bytestream.c:
20197         * libs/gst/dataprotocol/dataprotocol.c:
20198         (gst_dp_header_from_buffer):
20199         * po/nb.po:
20200         * po/ru.po:
20201         * tests/threadstate/threadstate2.c: (eos):
20202         * tools/gst-compprep.c: (main):
20203         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
20204         (print_pad_info), (print_children_info):
20205         * tools/gst-launch.c: (idle_func), (main):
20206         * tools/gst-md5sum.c: (idle_func), (main):
20207         * tools/gst-xmlinspect.c: (print_element_info):
20208         First THREADED backport attempt, focusing on adding locks and
20209         making sure the API is threadsafe. Needs more work. More docs
20210         follow this week.
20211
20212 2005-02-24  Andy Wingo  <wingo@pobox.com>
20213
20214         * tests/bench-complexity.scm:
20215         * tests/complexity.gnuplot: New files, good for running complexity
20216         benchmarks.
20217
20218         * tests/Makefile.am:
20219         * tests/complexity.c: New test, sets up N elements, at each level
20220         teeing into M streams per element. Eeeenteresting.
20221
20222         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
20223         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
20224         running bench-mass_elements.scm.
20225
20226         * tests/bench-mass_elements.scm: New script, runs mass_elements
20227         for various numbers of identities, outputting the results to a
20228         file. Requires guile 1.6. Just for testing.
20229
20230 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20231
20232         * gst/schedulers/fairscheduler.c:
20233           compile with debug disabled
20234
20235 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20236
20237         * configure.ac:
20238           hunting season on 0.9 is now OPEN