gst/: Re-commit the registry changes, along with an extra fix:
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
2
3         * gst/gst.c: (init_pre), (scan_and_update_registry),
4         (ensure_current_registry_nonforking),
5         (ensure_current_registry_forking), (ensure_current_registry),
6         (init_post), (gst_debug_help), (gst_deinit):
7         * gst/gst_private.h:
8         * gst/gstregistry.c: (gst_registry_finalize),
9         (gst_registry_remove_features_for_plugin_unlocked),
10         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
11         (gst_registry_scan_path),
12         (_priv_gst_registry_remove_cache_plugins),
13         (_priv_gst_registry_cleanup):
14         * gst/gstregistry.h:
15         Re-commit the registry changes, along with an extra fix:
16           When a cached plugin is encountered at a different file path,
17           update the stored path in the registry cache so that the parent
18           process knows where it actually is now when it re-reads the registry
19           cache. Fixes the thing that broke distcheck with the previous commit.
20
21         * tests/check/Makefile.am:
22         Clean up files named 'core' too when running make clean.
23
24         * tests/examples/manual/Makefile.am:
25         Set up a registry path for running these tests, and clean it properly
26         for distcheck.
27
28 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
29
30         * configure.ac:
31         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
32         want gmodule-no-export-2.0.pc instead so that we don't drag in
33         --export-dynamic on every project that links to GStreamer.
34
35         Also, make our export regex only match the start of symbols, rather 
36         than any symbol that contains '_gst' somewhere.
37
38         * libs/gst/check/Makefile.am:
39         The libgstcheck we build does however need export-dynamic, as it
40         produces some symbols that don't match our _gst... style regex.
41
42 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
43
44         * gst/gst.c: (init_pre), (scan_and_update_registry),
45         (ensure_current_registry_nonforking),
46         (ensure_current_registry_forking), (ensure_current_registry),
47         (init_post), (gst_debug_help), (gst_deinit):
48         * gst/gst_private.h:
49         * gst/gstregistry.c: (gst_registry_finalize),
50         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
51         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
52         (_gst_registry_cleanup):
53         * gst/gstregistry.h:
54           Revert previous change until I figure out why it breaks distcheck.
55
56 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
57
58         * gst/gst.c: (init_pre), (scan_and_update_registry),
59         (ensure_current_registry_nonforking),
60         (ensure_current_registry_forking), (ensure_current_registry),
61         (init_post), (gst_debug_help), (gst_deinit):
62
63           Make init_pre and init_post take the full complement of GOptionFunc
64           args so they can return useful GErrors. Make the registry updating
65           functions do so.
66
67           Call _priv_gst_registry_remove_cache_plugins after scanning files to
68           ensure that the registry we're about to write out doesn't contain
69           stale information about old-deleted plugin files.
70
71           Make _priv_gst_registry_remove_cache_plugins return a boolean so
72           that deletion of plugin files is considered a registry change.
73
74         * gst/gst_private.h:
75         * gst/gstregistry.c: (gst_registry_finalize),
76         (gst_registry_remove_features_for_plugin_unlocked),
77         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
78         (gst_registry_scan_path),
79         (_priv_gst_registry_remove_cache_plugins),
80         (_priv_gst_registry_cleanup):
81         * gst/gstregistry.h:
82         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
83         by adding _priv prefix, so that they won't appear in the global
84         symbol table. They still do atm though because of #318031. Move the
85         prototypes to gst_private.h
86
87         When removing a plugin, remove all features for that plugin too. 
88         Fixes #340878.
89
90 2006-09-27  Wim Taymans  <wim@fluendo.com>
91
92         * docs/random/moving-plugins:
93         Make it clear that the "compiled-in descriptions" really mean
94         the element details.
95
96         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
97         (gst_base_sink_wait_preroll):
98         Update docs.
99
100         * docs/libs/gstreamer-libs-sections.txt:
101         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
102         (gst_base_src_get_range), (gst_base_src_activate_push):
103         * libs/gst/base/gstbasesrc.h:
104         Added function to block while waiting for PLAYING, this function
105         is used by live sources that block on the clock.
106         API: gst_base_src_wait_playing()
107
108 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
109
110         Patch by: Peter Kjellerstedt <pkj at axis com>
111
112         * Makefile.am:
113           gst-element-check.m4 is generated and should therefore be
114           copied from the build dir rather than the source dir (#357593).
115           'make distcheck' hasn't noticed this because we were disting
116           the file as well, so stop doing that.
117
118 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
119
120         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
121           Add some tests for gst_caps_intersect().
122
123         * tools/gst-launch.c: (event_loop):
124           Print all buffering percentages we get, even the 100% one.
125
126 2006-09-26  Wim Taymans  <wim@fluendo.com>
127
128         * tools/gst-inspect.c: (print_element_properties_info),
129         (print_signal_info):
130         Fix printing of flags to match the look of enums.
131
132 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
133
134         * gst/gstelementfactory.c:
135           Fix typo in docs blurb.
136
137 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
138
139         * gst/gsturi.c: (search_by_entry):
140           Don't assert/crash here if a uri handler doesn't return any
141           supported protocols. The list of protocols could be generated
142           dynamically at runtime or at plugin registration, and an error
143           in the underlying library shouldn't be fatal (#353301).
144
145 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
146
147         * gst/gstinfo.c:
148           Fix warning if HAVE_PRINTF_EXTENSION is undefined
149           (spotted by Peter Kjellerstedt).
150
151 2006-09-23  Wim Taymans  <wim@fluendo.com>
152
153         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
154
155         * libs/gst/base/gstbasesrc.c:
156         (gst_base_src_default_check_get_range), (gst_base_src_start),
157         (gst_base_src_activate_push), (gst_base_src_activate_pull),
158         (gst_base_src_change_state):
159         Match _start/_stop calls in the activate functions. Remove redundant
160         _stop call from the state change function. Fixes #356910.
161         Turn failure DEBUG into ERROR. 
162
163 2006-09-22  Wim Taymans  <wim@fluendo.com>
164
165         * docs/design/part-buffering.txt:
166         * gst/gstmessage.c: (gst_message_new_buffering),
167         (gst_message_parse_buffering):
168         Update docs about buffering.
169
170         * docs/design/part-trickmodes.txt:
171         Fix typo.
172
173 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
174
175         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
176         (gst_controller_new_list):
177           Ref instances when returning them again (fixes #357180)
178
179 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
180
181         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
182           Don't forget to release proxy lock when there's an error.
183
184 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
185
186         * gst/gstcaps.h:
187           Add extra initialisers for Caps things, to fix some plugin warnings
188           when using -Wextra
189
190 2006-09-18  Wim Taymans  <wim@fluendo.com>
191
192         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
193           Also set template on the internal pad so that a getcaps from the 
194           target pad returns the template caps.
195
196 2006-09-18  Wim Taymans  <wim@fluendo.com>
197
198         * gst/gstelement.c: (gst_element_post_message),
199         (gst_element_dispose):
200         Use _DEBUG_OBJECT some more.
201
202         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
203         Avoid typechecks.
204
205         * tools/gst-launch.c: (main):
206         If the toplevel element is not a GstPipeline, it must be put in a
207         pipeline so that a bus and clock is selected.
208
209 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
210
211         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
212           JITTER, RATE, and LATENCY query should be handled by the
213           default case and not by the CONVERT query code.
214
215 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
216
217         * gst/gstformat.c: (gst_format_register):
218           Fix locking order (must take lock before using n_values).
219
220         * gst/gstvalue.c: (gst_value_serialize_enum),
221         (gst_value_deserialize_enum_iter_cmp),
222         (gst_value_deserialize_enum):
223           Fix serialisation/deserialisation of custom registered GstFormats.
224
225         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
226           Unit test for custom format serialisation/deserialisation.
227
228 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
229
230         * docs/pwg/building-boiler.xml:
231         * plugins/elements/gstcapsfilter.c:
232         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
233         section.
234
235 2006-09-16  Edward Hervey  <edward@fluendo.com>
236
237         * libs/gst/base/gstbasetransform.c:
238         (gst_base_transform_buffer_alloc):
239         Check if requested caps are the same as the sinks caps IF
240         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
241         is FALSE.
242         This fixes the renegotiation issues stated in #352827.
243
244 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
245
246         * configure.ac:
247         * docs/manual/advanced-autoplugging.xml:
248         * tests/examples/Makefile.am:
249         * tests/examples/manual/.cvsignore:
250         * tests/examples/manual/Makefile.am:
251         * tests/examples/manual/extract.pl:
252           Extract the manual examples again like we used to do.
253           Fix one of them.
254
255 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
256
257         * win32/common/config.h:
258           update for version
259
260 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
261
262         * gst/gsterror.c:
263           Documents how to receive errors.
264
265 2006-09-15  Wim Taymans  <wim@fluendo.com>
266
267         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
268         (event_loop), (main):
269         Added some comments here and there.
270         Post an application message when an interrupt is caught instead of doing
271         an uncontrolled state change.
272         Clean up the event loop.
273         Handle buffering messages, pause/resume the pipeline.
274         Make shutdown because of an interrupt more reliable.
275
276 2006-09-15  Wim Taymans  <wim@fluendo.com>
277
278         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
279         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
280         (gst_base_sink_preroll_object):
281         Make sure that our internal state is correct when we commit our state
282         asynchronously. This solves a race where a state change to PLAYING
283         could cause the sink to remain blocked in preroll in some situations.
284
285 2006-09-15  Wim Taymans  <wim@fluendo.com>
286
287         * tools/gst-inspect.c: (print_element_properties_info),
288         (print_signal_info):
289         List flags as hex so it's easier to deal with.
290
291 2006-09-15  Wim Taymans  <wim@fluendo.com>
292
293         * docs/libs/gstreamer-libs-sections.txt:
294         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
295         (gst_base_sink_do_sync):
296         * libs/gst/base/gstbasesink.h:
297         Expose logic to wait for preroll so that subclasses such as audiosink
298         can also use this method.
299         API: gst_base_sink_wait_preroll()
300
301 2006-09-15  Wim Taymans  <wim@fluendo.com>
302
303         * gst/gstobject.c: (gst_object_set_parent):
304         * gst/gstpipeline.c: (do_pipeline_seek):
305         Small cleanups in docs and code.
306
307         * gst/gstsegment.c: (gst_segment_clip):
308         * tests/check/gst/gstsegment.c: (GST_START_TEST):
309         if stop == start and start is in the segment, no clipping should be
310         done. Also add a test for this.
311
312 2006-09-15  Wim Taymans  <wim@fluendo.com>
313
314         * docs/design/part-buffering.txt:
315         * docs/gst/gstreamer-sections.txt:
316         * gst/gstmessage.c: (gst_message_new_buffering),
317         (gst_message_parse_buffering):
318         * gst/gstmessage.h:
319         Added methods to create and parse BUFFERING messages.
320         Added preliminary docs about buffering.
321         API: gst_message_new_buffering
322         API: gst_message_parse_buffering
323
324 2006-09-06  Wim Taymans  <wim@fluendo.com>
325
326         * gst/gstbin.c:
327         Update documentation.
328
329         * gst/gstelement.c: (gst_element_class_init),
330         (gst_element_release_request_pad), (gst_element_set_clock),
331         (gst_element_get_index), (gst_element_add_pad),
332         (gst_element_remove_pad), (gst_element_get_random_pad),
333         (gst_element_send_event), (gst_element_get_query_types),
334         (gst_element_query), (gst_element_post_message),
335         (gst_element_message_full), (gst_element_continue_state),
336         (gst_element_lost_state), (gst_element_save_thyself),
337         (gst_element_restore_thyself):
338         Documentation updates.
339         Rename last bit of the new-pad -> pad-added signal rename.
340         Fix the case where an element query would only work if the source
341         pad was linked.
342         Avoid some useless type checking in message handling.
343
344         * gst/gstevent.c:
345         * gst/gstevent.h:
346         * gst/gstutils.c:
347         Documentation updates.
348
349 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
350
351         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
352           add an INFO line for when we actually update the fd
353
354 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
355
356         * configure.ac:
357           back to TRUNK
358
359 === release 0.10.10 ===
360
361 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
362
363         * configure.ac:
364           releasing 0.10.10, "Pais"
365
366 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
367
368         * docs/manual/advanced-position.xml:
369           Fix typo in sample code.
370
371 2006-09-05  Wim Taymans  <wim@fluendo.com>
372
373         * libs/gst/net/gstnetclientclock.c: (inet_aton),
374         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
375         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
376         * libs/gst/net/gstnetclientclock.h:
377         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
378         * libs/gst/net/gstnettimepacket.h:
379         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
380         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
381         (gst_net_time_provider_thread), (gst_net_time_provider_new):
382         * libs/gst/net/gstnettimeprovider.h:
383         Make stuff compile on windows. Fixes #345295.
384
385 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
386
387         * gst/gst.c: (ensure_current_registry_forking):
388           Print better details when child was terminated by signal.
389
390 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
391
392         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
393           Print a warning rather than g_assert() if a plugin feature
394           is a URI handler but returns no protocols (#353976).
395
396 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
397
398         * docs/random/moving-plugins:
399         Fix two typos.         
400
401 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
402
403         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
404           Fix locking order, handle NULL function values properly.
405
406         * gst/gstinfo.h:
407           Fix docs.
408
409         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
410           Initialise variable before using it and fix debug statement to
411           print the address of the function rather than the address of the
412           variable on the stack holding the address of the function.
413
414 2006-09-01  Wim Taymans  <wim@fluendo.com>
415
416         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
417         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
418         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
419         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
420         (gst_ghost_pad_parent_unset),
421         (gst_ghost_pad_internal_do_activate_push),
422         (gst_ghost_pad_internal_do_activate_pull),
423         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
424         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
425         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
426         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
427         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
428         (gst_ghost_pad_new_no_target_from_template),
429         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
430         More cleanups.
431         Avoid needless typechecking in macros.
432         Since the internal pad is always present and never changes, there is
433         no need to locking or ref when retrieving it.
434         Improve debugging a bit.
435         Handle link errors when setting the target. Fixes #341029.
436
437 2006-09-01  Wim Taymans  <wim@fluendo.com>
438
439         * docs/libs/gstreamer-libs-sections.txt:
440         * docs/plugins/gstreamer-plugins-sections.txt:
441         Fix docs some more.
442
443         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
444         (gst_collect_pads_event):
445         * libs/gst/base/gstcollectpads.h:
446         Documentation updates.
447         Free queued buffer when removing a pad.
448
449 2006-08-31  Michael Smith  <msmith@fluendo.com>
450
451         * gst/gstutils.c: (gst_element_link_pads),
452         (gst_element_link_pads_filtered):
453           Ensure that we set a capsfilter to NULL if we failed to link it
454           when doing filtered linking, to avoid criticals.
455
456           No need to check for unreffing srcpad, which is explicly NULLed
457           above (a trivial code cleanup).
458
459 2006-08-31  Wim Taymans  <wim@fluendo.com>
460
461         * docs/design/part-gstghostpad.txt:
462         Update ascii art in documentation.
463
464         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
465         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
466         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
467         (gst_ghost_pad_internal_do_activate_push),
468         (gst_ghost_pad_internal_do_activate_pull),
469         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
470         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
471         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
472         (gst_ghost_pad_set_target):
473         Small cleanups and leak fixes.
474         Remove some checks now that the internal pad is never NULL.
475         Fix the case where linking pads without a target would create nasty
476         criticals. Fixes #341029.
477         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
478         value of _set_target().
479
480         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
481         (gst_ghost_pad_suite):
482         Some more tests for creating and linking untargeted ghostpads.
483
484 2006-08-31  Edward Hervey  <edward@fluendo.com>
485
486         * docs/gst/gstreamer-sections.txt:
487         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
488         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
489         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
490         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
491         (gst_ghost_pad_new_from_template),
492         (gst_ghost_pad_new_no_target_from_template):
493         * gst/gstghostpad.h:
494         Refactored *_new() functions.
495         Templates are now used as a g_object_new() parameter.
496         Use template in _do_getcaps() if we don't have a target.
497         Small documentation cleanups.
498         Added two new constructors:
499         gst_ghost_pad_new_from_template()
500         gst_ghost_pad_new_no_target_from_template()
501         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
502         (gst_ghost_pad_suite):
503         Added tests for new ghostpad instanciation functions.
504
505         API additions: gst_ghost_pad_new_from_template,
506         gst_ghost_pad_new_no_target_from_template
507
508 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
509
510         * docs/random/ensonic/profiling.txt:
511           Ideas about qos profiling.
512
513 2006-08-29  Wim Taymans  <wim@fluendo.com>
514
515         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
516         Code cleanups.
517         Fix memleak.
518
519 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
520
521         * gst/gstxml.c:
522           Improve and detypofy docs.
523
524         * tests/check/Makefile.am:
525         * tests/check/gst/.cvsignore:
526         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
527           Add a basic test suite for GstXML.
528
529 2006-08-29  Wim Taymans  <wim@fluendo.com>
530
531         * gst/gstelement.c: (activate_pads), (clear_caps),
532         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
533         Clear the pad caps when the element shut down all of the pads and
534         is not streaming data that could modify the caps. 
535         Fixes #352958.
536
537 2006-08-28  Michael Smith  <msmith@fluendo.com>
538
539         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
540           Revert previous change; I misunderstood single-segment mode.
541
542 2006-08-28  Michael Smith  <msmith@fluendo.com>
543
544         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
545           Unset DISCONT on buffers when using single-segment mode.
546
547 2006-08-28  Wim Taymans  <wim@fluendo.com>
548
549         * gst/gstcaps.c: (gst_caps_merge_structure):
550         * gst/gstcaps.h:
551         Fix docs and indentation again.
552
553         * tests/check/gst/gstquery.c: (GST_START_TEST):
554         Fix leak in tests and add some more tests.
555
556 2006-08-28  Edward Hervey  <edward@fluendo.com>
557
558         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
559         Inform GstSegment of the last stop position in order for the current
560         segment to have a proper duration if it doesn't have a specific stop
561         position from which a duration could be calculated.
562         This bug was noticeable when a non-flushing, non-update new segment was
563         followed by another segment (all buffers from the new segment were being
564         dropped).
565
566 2006-08-28  Wim Taymans  <wim@fluendo.com>
567
568         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
569         Small comment update.
570
571         * plugins/elements/gstidentity.c: (gst_identity_class_init),
572         (gst_identity_transform_ip):
573         Drop-probability is broken, mention this in the code with a 
574         FIXME and also in the property description.
575         Make silent also be silent about the drop messages.
576
577 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
578
579         * docs/manual/appendix-win32.xml:
580           Remove mention of popt, we don't depend on that any
581           longer (#353136). Add some comments pointing out that
582           this section is slightly outdated.
583
584 2006-08-28  Wim Taymans  <wim@fluendo.com>
585
586         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
587
588         * gst/gstquery.c: (gst_query_new_segment):
589         * tests/check/gst/gstquery.c: (GST_START_TEST):
590         Initialize variables when creating a new segment query.
591         Fixes #353121.
592
593 2006-08-28  Wim Taymans  <wim@fluendo.com>
594
595         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
596
597         * gst/gstelement.c: (gst_element_get_bus):
598         * tests/check/gst/gstelement.c: (GST_START_TEST):
599         Check for NULL before _reffing the bus. Fixes #353122.
600
601 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
602
603         * docs/manual/basics-bus.xml:
604           Docs update: fix wrong callback return value explanation; add
605           some lines about the implicit relationship between main loop
606           and main context; remove duplicate main loop variable declaration.
607
608 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
609
610         * tests/check/gst/gstcaps.c: (GST_START_TEST):
611           Don't leak caps in unit test; add a few more simple
612           checks. 
613
614 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
615
616         * docs/gst/gstreamer-sections.txt:
617         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
618         (gst_caps_structure_is_subset), (gst_caps_merge),
619         (gst_caps_merge_structure):
620         * gst/gstcaps.h:
621         * libs/gst/base/gstbasetransform.c:
622         (gst_base_transform_transform_caps):
623         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
624           implement caps merging (fixes #352580)
625
626 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
627
628         * tools/Makefile.am:
629         * tools/gst-plot-timeline.py:
630           add debug-log plotting developer tool (#340674)
631
632 2006-08-23  Wim Taymans  <wim@fluendo.com>
633
634         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
635         (gst_pad_stop_task):
636         Improve debugging for task functions.
637
638         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
639         (gst_task_start), (gst_task_pause), (gst_task_join):
640         Make sure that the task function started and finished after a 
641         join(). 
642         Don't try to push the task function on the threadpool multiple
643         times.
644         Improve the g_warning message with some useful suggestions
645         about how to fix the problem. 
646
647 2006-08-23  Wim Taymans  <wim@fluendo.com>
648
649         * gst/gstutils.c: (gst_pad_proxy_getcaps):
650         Handle RESYNC correctly in _proxy_getcaps.
651
652 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
653
654         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
655         (gst_xml_parse_memory), (gst_xml_get_element):
656           Chain up to parent class in dispose function and also
657           unref the elements in the toplevel_elements GList.
658           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
659           Always return a reference in gst_xml_get_element() rather
660           than only sometimes.
661
662         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
663           Don't leak GstXml object.
664
665 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
666
667         * docs/gst/gstreamer-sections.txt:
668         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
669         (gst_caps_merge):
670         * gst/gstcaps.h:
671         * libs/gst/base/gstbasetransform.c:
672         (gst_base_transform_transform_caps):
673           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
674           in a better way
675
676 2006-08-21  Edward Hervey  <edward@fluendo.com>
677
678         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
679         Implement GObject::dispose virtual method in GstXML so we can free the
680         top_elements GList.
681
682 2006-08-21  Wim Taymans  <wim@fluendo.com>
683
684         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
685         (gst_buffer_create_sub):
686         Copy duration/offset_end/caps when creating a subbuffer of the
687         complete parent.
688         Make the subbuffer read-only when we make the metadata writable for
689         now. Fixes #351768.
690
691         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
692         Added check for metadata copy when creating subbuffers.
693
694 2006-08-21  Edward Hervey  <edward@fluendo.com>
695
696         * libs/gst/base/gstbasetransform.c:
697         (gst_base_transform_buffer_alloc):
698         Only call downstream buffer_alloc if transform element is passthrough
699         or always_in_place. Closes #350449.
700
701 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
702
703         * ChangeLog:
704           ChangeLog surgery to add comments to previous changes
705
706 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
707
708         * gst/gst.c:
709           Add comments
710
711         * gst/gstpad.c: (gst_pad_set_active):
712           Be more verbose in the log
713
714         * libs/gst/base/gstbasetransform.c:
715         (gst_base_transform_transform_caps):
716           Simplify caps to get rid of duplicates, fixes #345444
717
718 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
719
720         * gst/gstvalue.c:
721         * gst/gstvalue.h:
722           Use these optimizations only internally.
723
724 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
725
726         * gst/gstvalue.c: (gst_value_compare_list),
727         (gst_value_compare_fraction_range),
728         (gst_value_intersect_fraction_fraction_range),
729         (gst_value_intersect_fraction_range_fraction_range),
730         (gst_value_subtract_fraction_fraction_range),
731         (gst_value_subtract_fraction_range_fraction_range),
732         (gst_value_get_compare_func), (gst_value_compare),
733         (gst_value_compare_with_func):
734         * gst/gstvalue.h:
735           Saves the expensive lookup of the compare function in many cases
736          (#345444)
737
738 2006-08-18  Edward Hervey  <edward@fluendo.com>
739
740         * tests/check/gst/gstinfo.c: (gst_info_suite):
741         Disable test that require gstdebug if it wasn't built in core.
742
743 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
744
745         * docs/random/ensonic/logging.txt:
746           update ideas
747           
748         * gst/gstinfo.c: (gst_debug_log_default):
749           reorder fields, save some columns, add optional color codes for log
750           levels
751
752 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
753
754         * docs/random/ensonic/logging.txt:
755           add ideas about making the logs a bit more useful
756
757 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
758
759         * docs/pwg/advanced-events.xml:
760         * docs/pwg/titlepage.xml:
761           Update for 0.10 API (#340627). Add myself
762           to authors list.
763
764 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
765
766         * docs/libs/gstreamer-libs-docs.sgml:
767         * docs/libs/gstreamer-libs-sections.txt:
768         * libs/gst/check/gstbufferstraw.c:
769           Make gstcheck stuff show up in docs (still needs to
770           be documented properly though).
771
772 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
773
774         * docs/gst/gstreamer-sections.txt:
775         * gst/Makefile.am:
776         * gst/gst.c: (init_post):
777         * gst/gst_private.h:
778         * gst/gstquark.c: (_priv_gst_quarks_initialize):
779         * gst/gstquark.h:
780         * gst/gstquery.c: (gst_query_new_position),
781         (gst_query_set_position), (gst_query_parse_position),
782         (gst_query_new_duration), (gst_query_set_duration),
783         (gst_query_parse_duration), (gst_query_new_convert),
784         (gst_query_set_convert), (gst_query_parse_convert),
785         (gst_query_new_segment), (gst_query_set_segment),
786         (gst_query_parse_segment), (gst_query_new_seeking),
787         (gst_query_set_seeking), (gst_query_parse_seeking):
788         Add internal helpers for pre-registering quarks from static strings
789         and using the quark values directly instead of looking them up when
790         creating and parsing queries. Can be used for event construction too.
791         Closes #350432.
792
793 2006-08-16  Wim Taymans  <wim@fluendo.com>
794
795         * gst/gstbin.c:
796         Fix bogus docs.
797
798 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
799
800         * gst/gstutils.c: (gst_util_set_value_from_string):
801           Fix memleak (#351502).
802
803         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
804           Add unit test for most of gst_util_set_value_from_string()
805           (not that one would want to encourage use of this function).
806
807 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
808
809         * libs/gst/check/gstcheck.h:
810           Use const gchar * variables in fail_unless_equals_string
811           macro to avoid compiler warnings (and don't use tabs for
812           indenting).
813
814 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
815
816         * tools/gst-launch.c: (print_tag):
817           More space on the left for the tag names, to cater
818           for the 'extended comment' tag (not touching the
819           string for the first line since it's translated).
820
821 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
822
823         * libs/gst/check/gstcheck.h:
824           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
825           print something when they fail.
826
827 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
828
829         * docs/gst/gstreamer-sections.txt:
830         * gst/gsttaglist.c: (_gst_tag_initialize):
831         * gst/gsttaglist.h:
832           API: add GST_TAG_EXTENDED_COMMENT (#350935).
833           Also change merge function for GST_TAG_COMMENT to
834           use_first.
835
836 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
837
838         * gst/gstinfo.c: (gst_debug_print_object):
839           Make GST_PTR_FORMAT print messages as well.
840
841         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
842         (GST_START_TEST), (gst_info_suite):
843           More tests.
844
845 2006-08-14  Edward Hervey  <edward@fluendo.com>
846
847         * gst/gstelementfactory.c: (gst_element_register):
848         If the GstElementClass doesn't have a GstElementDetails with all fields
849         filled up correctly (longname, description AND author), then error out
850         nicely instead of crashing.
851
852 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
853
854         * gst/gststructure.c:
855           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
856
857         * gst/gstvalue.h:
858           Expand on the difference between arrays and lists as we use them.
859           
860 2006-08-14  Wim Taymans  <wim@fluendo.com>
861
862         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
863         If the parent state change function failed, don't assume we can safely
864         stop the source, this will be done when the pads are deactivated.
865
866 2006-08-14  Wim Taymans  <wim@fluendo.com>
867
868         * gst/gstbuffer.c:
869         * gst/gsttask.c: (gst_task_join):
870         Small doc updates.
871
872         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
873         (gst_pad_stop_task):
874         When pad (de)activation failed for some reason, restore the old
875         activation mode and set the pad to flushing instead of assuming the
876         pad is deactivated.
877         If the _task_join() failed, reinstall the task on the pad so that it can
878         be stopped later and return an error.
879
880 2006-08-11  Andy Wingo  <wingo@pobox.com>
881
882         * configure.ac:
883         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
884         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
885         is only for users of API that don't want to see deprecated
886         functions in the headers; people that want to compile out
887         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
888         CFLAGS. Fixes the build of multifdsink, or will soon..
889
890 2006-08-11  Wim Taymans  <wim@fluendo.com>
891
892         * docs/gst/gstreamer-sections.txt:
893         Add GstClockClass vmethod docs.
894
895         * gst/gstcaps.h:
896         Mark #endif with comment for associated #if
897
898         * gst/gstclock.c: (gst_clock_id_wait):
899         * gst/gstclock.h:
900         Add vmethod wait_jitter to avoid an unneeded _get_time() for
901         most clock implementations.
902         Document vmethods.
903         Flesh out docs about resolution methods.
904         API: GstClockClass::wait_jitter
905
906         * gst/gstsystemclock.c: (gst_system_clock_class_init),
907         (gst_system_clock_async_thread),
908         (gst_system_clock_id_wait_jitter_unlocked),
909         (gst_system_clock_id_wait_jitter):
910         Use base class wait_jitter variant for improved performance
911         due to less clock polling.
912
913 2006-08-11  Edward Hervey  <edward@fluendo.com>
914
915         * gst/gst.c: (gst_init_check), (init_post):
916         Set gst as being initialized before scanning/updating the registry,
917         since there might be my python plugin loader that calls gst_init() and
918         we don't want to loop back in.
919         Closes #350879
920
921 2006-08-11  Wim Taymans  <wim@fluendo.com>
922
923         * docs/design/part-qos.txt:
924         Bring docs in line with the code. Mostly the sign of the jitter was
925         wrong in the docs. Fixes #349943.
926
927         * gst/gstclock.c:
928         Fix the docs for the jitter.
929
930         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
931         (gst_event_parse_tag), (gst_event_new_buffer_size),
932         (gst_event_parse_buffer_size), (gst_event_parse_qos),
933         (gst_event_new_seek), (gst_event_parse_seek),
934         (gst_event_new_navigation):
935         Make sure the GstStructure has no parent when creating custom
936         events.
937         Add some more argument checking so that we avoid 0.0 rates.
938         Flesh out the docs for the QoS event some more.
939
940 2006-08-11  Wim Taymans  <wim@fluendo.com>
941
942         * docs/gst/gstreamer-sections.txt:
943         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
944         (ensure_current_registry_forking), (ensure_current_registry),
945         (parse_one_option), (parse_goption_arg), (gst_deinit),
946         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
947         * gst/gst.h:
948         Doc updates.
949         Added API and command line option to disable registry forking in
950         addition to the environment variable.
951         Constify some static arrays.
952         Added some more debug.
953         Don't deinit twice.
954         API: gst_registry_fork_is_enabled()
955         API: gst_registry_fork_set_enabled()
956         API: --gst-disable-registry-fork command line option
957         Fixes #348918.
958
959 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
960
961         * gst/gst.c: (gst_init):
962           Fix typo in error message.
963
964 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
965
966         * libs/gst/controller/gstcontroller.h:
967           fix ABI size-correction
968
969         * tests/check/libs/gdp.c: (gst_dp_suite):
970           make tests that use deprecated API conditional
971
972 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
973
974         * docs/libs/gstreamer-libs-sections.txt:
975         * libs/gst/controller/gstcontroller.c:
976         (_gst_controller_get_property), (_gst_controller_set_property),
977         (_gst_controller_init), (_gst_controller_class_init):
978         * libs/gst/controller/gstcontroller.h:
979         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
980         (gst_object_set_control_rate):
981           API: add gst_object_{s,g}et_control_rate(), add private data section,
982           fix docs
983
984         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
985         * libs/gst/dataprotocol/dataprotocol.h:
986           add deprecation guards to make gtk-doc happy and allow disabling cruft
987
988 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
989
990         * tests/check/Makefile.am:
991         * tests/check/gst/.cvsignore:
992           Let's enable the new unit test as well.
993
994 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
995
996         * configure.ac:
997         * docs/gst/gstreamer-sections.txt:
998         * gst/gstconfig.h.in:
999         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
1000         (_gst_info_printf_extension_ptr),
1001         (_gst_info_printf_extension_segment):
1002           API: add GST_SEGMENT_FORMAT, which is a printf extension we
1003           register that lets us easily dump GstSegments into debug
1004           logs (#350419).
1005
1006         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
1007         (info_segment_format_printf_extension), (gst_info_suite):
1008           Add simple unit test that logs a bunch of different segments (not
1009           valgrinded at the moment because of leaks in
1010           gst_debug_add_log_function).
1011
1012 2006-08-09  Edward Hervey  <edward@fluendo.com>
1013
1014         * libs/gst/base/gstbasetransform.c:
1015         (gst_base_transform_buffer_alloc):
1016         Even if we can't figure out the proper format to request downstream,
1017         call buffer_alloc() downstream with the input parameters without setting
1018         the caps on the srcpad. This will force negotiation in the chain
1019         function.
1020         Closes #350449
1021
1022 2006-08-08  Edward Hervey  <edward@fluendo.com>
1023
1024         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
1025         Unlinking from a pad without a target is now a perfectly valid case
1026         which should NOT raise an assertion.
1027         This case would happen if a linked ghostpad its target set to NULL after
1028         it was previously linked.
1029
1030 2006-08-08  Edward Hervey  <edward@fluendo.com>
1031
1032         * tests/check/libs/gdp.c:
1033         Also comment out the test (see below).
1034
1035 2006-08-08  Edward Hervey  <edward@fluendo.com>
1036
1037         * tests/check/libs/gdp.c: (gst_dp_suite):
1038         Use the architecture information from config.h and not gcc macros
1039         in order to properly disable a test that fails on PPC64.
1040
1041 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
1042
1043         * gst/gstelement.c: (gst_element_remove_pad):
1044           Don't crash printing the warning if the pad has no parent.
1045
1046 2006-08-02  Wim Taymans  <wim@fluendo.com>
1047
1048         * libs/gst/dataprotocol/dataprotocol.c:
1049         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
1050         (gst_dp_crc), (gst_dp_header_payload_length),
1051         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
1052         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
1053         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
1054         (gst_dp_event_from_packet), (gst_dp_validate_header),
1055         (gst_dp_validate_payload):
1056         Make debug category static
1057         Constify the crc table.
1058         Do some more arg checking in public functions.
1059         Fix some docs and do some small cleanups.
1060
1061         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
1062         Add some more checks to see if GDP deals with bogus input.
1063
1064 2006-07-31  Wim Taymans  <wim@fluendo.com>
1065
1066         * gst/gstvalue.c: (gst_value_compare_list):
1067         Fix GstValueList comparison code. Fixes #347293.
1068
1069         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1070         Check to test GstValueList comparison.
1071
1072 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
1073
1074         * gst/gstelementfactory.c: (gst_element_factory_create):
1075         Remove unnecessary ref/unref pair
1076
1077         * gst/parse/grammar.y:
1078         Make sure to free the parse buffer on all code paths.
1079         Move a g_free up to the error handler where it's easier to see.
1080
1081         * tests/check/gst/gstevent.c: (test_event):
1082         Extending timeout for downstream travelling events to 10 seconds to
1083         hopefully avoid intermittent failure on the buildbots.
1084
1085         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
1086         Don't manually set the state of the src element - it will happen as a
1087         natural consequence of the pipeline changing state, and that way it
1088         will do it in the right order too.
1089
1090 2006-07-31  Wim Taymans  <wim@fluendo.com>
1091
1092         * libs/gst/base/gstbasetransform.c:
1093         (gst_base_transform_buffer_alloc):
1094         Use OBJECT_LOCK and refcounting to get the pad caps in the
1095         buffer_alloc function because the caps could change while we are
1096         busy with them. Fixes #349105
1097
1098 2006-07-31  Wim Taymans  <wim@fluendo.com>
1099
1100         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
1101         Protect _PAD_CAPS with OBJECT_LOCK.
1102
1103 2006-07-31  Wim Taymans  <wim@fluendo.com>
1104
1105         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
1106         (gst_pad_get_property), (gst_pad_activate_pull),
1107         (gst_pad_activate_push), (gst_pad_set_blocked_async),
1108         (gst_pad_set_activate_function),
1109         (gst_pad_set_activatepull_function),
1110         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
1111         (gst_pad_set_getrange_function),
1112         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
1113         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
1114         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
1115         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
1116         (gst_pad_set_acceptcaps_function),
1117         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
1118         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
1119         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
1120         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
1121         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
1122         (gst_pad_configure_sink), (gst_pad_configure_src),
1123         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
1124         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
1125         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
1126         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
1127         (gst_pad_send_event):
1128         Use _DEBUG_OBJECT when it makes sense.
1129         Protect GST_PAD_CAPS with the OBJECT_LOCK.
1130         Small cleanups and code reflows.
1131         Avoid caps refcounting in _accept_caps.
1132         Refactor alloc_buffer so that the code performed on the peer is in a
1133         separate function. Also if the pad does not implement a buffer alloc
1134         function, we should still check if the pad is flushing before falling
1135         back to the default allocator.
1136
1137 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
1138
1139         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1140         Make all uses of identity and fakesink have silent=true to avoid
1141         serialising every passing data structure, which is breaking tests
1142         on FC4 for some unknown reason.
1143
1144 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
1145
1146         * gst/parse/Makefile.am:
1147         * gst/parse/grammar.y:
1148         * gst/parse/parse.l:
1149           Reverted previous patch as it required to bump the flex dependency to
1150           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
1151
1152 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
1153
1154         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
1155
1156         * gst/parse/Makefile.am:
1157         * gst/parse/grammar.y:
1158         * gst/parse/parse.l:
1159           push & pop the state of the lexer for reentrant use case
1160           Fixes #349180
1161
1162 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
1163
1164         * libs/gst/base/gstbasesrc.h:
1165           Note in the docs that the ::newsegment vfunc is not actually used by
1166           GstBaseSrc.
1167
1168 2006-07-28  Wim Taymans  <wim@fluendo.com>
1169
1170         * libs/gst/base/gstcollectpads.c:
1171         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
1172         (gst_collect_pads_clear), (gst_collect_pads_flush),
1173         (gst_collect_pads_event), (gst_collect_pads_chain):
1174         When flushing a pad, also clear the queued buffer so that we don't
1175         accidentally use it when we shouldn't.
1176         Fix leaks by inreffing incomming buffer.
1177         Flush out queued buffers in case of errors.
1178         Fixes #347452.
1179
1180 2006-07-28  Wim Taymans  <wim@fluendo.com>
1181
1182         * docs/random/phonon-gst:
1183         Random notes about a Phonon backend.
1184
1185 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
1186
1187         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
1188         Extra debug output
1189         * tests/check/libs/gdp.c: (gst_dp_suite):
1190         Take a whack at fixing the ppc compile using a different define to
1191         disable the broken test.
1192
1193         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1194         Remove excess g_print()
1195
1196 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
1197
1198         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
1199         Oops, meant to uncomment this line too to dampen the noise a bit.
1200
1201 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
1202
1203         * gst/parse/grammar.y:
1204         * gst/parse/parse.l:
1205         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
1206         (GST_START_TEST), (parse_suite):
1207         Fix some of the leaks exposed by extending the parse-launch testsuite,
1208         and move the 3 I can't figure out into a separate test that won't run
1209         the pipelines unless the appropriate line is uncommented.
1210
1211 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
1212
1213         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1214           Requesting 0 bytes before the end of the file should result in
1215           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
1216           unit test.
1217
1218 2006-07-27  Wim Taymans  <wim@fluendo.com>
1219
1220         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
1221         Fix useless assert, a uint is always positive.
1222
1223         * gst/gststructure.c: (gst_structure_nth_field_name),
1224         (gst_structure_foreach), (gst_structure_map_in_place):
1225         Check input arguments for public functions to avoid obvious crashes.
1226
1227         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
1228         * plugins/elements/gstfakesink.h:
1229         Do less useless typechecking.
1230
1231 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
1232
1233         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1234           Do not use mmap() by default since there are a number of error
1235           conditions that we would like to handle in a non-fatal way that
1236           will result in a SIGBUS if we use mmap(). Examples: external
1237           devices (USB harddrive, portable music player) being unplugged
1238           while in use; file on mounted CD/DVD that can't be read because
1239           the medium is partly damaged. Fixes #348455 and #348475.
1240
1241 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
1242
1243         * gst/gstquery.h:
1244         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
1245         rates are a gdouble
1246
1247 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
1248
1249         * gst/gstregistry.c:
1250           Move big documentation comment into class section header, so that it
1251           appears in the API docs.
1252
1253 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1254
1255         * docs/gst/gstreamer-sections.txt:
1256         Oops. Commit the docs additions too for new API.
1257         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
1258
1259 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1260
1261         * gst/gststructure.c: (gst_structure_id_set),
1262         (gst_structure_id_set_valist):
1263         * gst/gststructure.h:
1264         Add API for setting values into structures without performing
1265         a quark lookup, if the appropriate quark is already known.
1266
1267         API: gst_structure_id_set
1268         API: gst_structure_id_set_valist
1269
1270         * gst/parse/grammar.y:
1271         * gst/parse/parse.l:
1272         Remove some dead code shown by the coverage information.
1273         Don't throw a critical g_warning when encountering a syntax error,
1274         just warn and let the normal error path handle it.
1275
1276         * plugins/elements/gstelements.c:
1277         Bump the rank of filesink up to PRIMARY so that it is preferred over
1278         gnomevfssink for file:// sink uri's
1279
1280         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
1281         (GST_START_TEST), (run_delayed_test),
1282         (gst_parse_test_element_base_init),
1283         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
1284         (gst_parse_test_element_change_state),
1285         (gst_register_parse_element), (parse_suite):
1286         Beef up the tests for parse syntax to check that more error cases
1287         fail as they are supposed to. Increases the test coverage a bit.
1288
1289 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
1290
1291         * docs/manual/basics-elements.xml:
1292           Fix gst_element_link() example.
1293
1294         * gst/gstutils.c:
1295           Mention in API docs that one should usually gst_bin_add()
1296           elements to a bin or pipeline before doing the linking.
1297           
1298 2006-07-26  Wim Taymans  <wim@fluendo.com>
1299
1300         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
1301         (gst_subbuffer_get_type), (gst_buffer_create_sub):
1302         Avoid function call for known types by keeping the buffer and
1303         subbuffer GType global.
1304
1305         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1306         Random silly optimisations in read() path.
1307
1308 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
1309
1310         * tools/gst-launch.c: (main):
1311           If the top-level of the parse is a normal bin, it doesn't do the
1312           right logic to run as a top-level element, so place it inside a
1313           pipeline.
1314
1315 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
1316
1317         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
1318           Remove superfluous g_object_notify() calls, GObject does
1319           that for us automatically.
1320
1321 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
1322
1323         * gst/gstinfo.h:
1324           on Win32, use dllspec to export the debug category symbols
1325
1326 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
1327
1328         * gst/gsttaglist.c: (_gst_tag_initialize):
1329           Allow more than one GST_TAG_IMAGE per taglist.
1330
1331 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
1332
1333         * gst/gstminiobject.c:
1334           update docs
1335         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
1336         (gst_fd_src_create):
1337           log recurring events at LOG level
1338           add more debug for when the fd gets set
1339
1340 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
1341
1342         * gst/gstparse.c: (gst_parse_launch):
1343           Also remove reentrance checks if flex is MT safe (#348179)
1344          Fix my empty ChangeLog entry below
1345
1346 2006-07-21  Andy Wingo  <wingo@pobox.com>
1347
1348         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
1349
1350         * libs/gst/check/Makefile.am
1351         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
1352         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
1353         * libs/gst/check/gstbufferstraw.h:
1354         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
1355         functions, thus proving I am still a GStreamer haxor. OK I wrote
1356         them a long time ago, but anyways.
1357
1358 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
1359
1360         * configure.ac:
1361         * gst/gstparse.c: (gst_parse_launch):
1362           Check for flex version and omit mutex if we have a MT save flex
1363           (fixes #348179)
1364
1365 2006-07-21  Wim Taymans  <wim@fluendo.com>
1366
1367         * gst/gstparse.c: (gst_parse_launch):
1368         Protect recursive calls to _parse with a recursive mutex
1369         and busy flag.
1370
1371 2006-07-21  Wim Taymans  <wim@fluendo.com>
1372
1373         * tests/check/gst/gstpad.c: (GST_START_TEST):
1374         Fix leak in test.
1375
1376 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
1377
1378         * gst/gstparse.c: (gst_parse_launch):
1379           Do not hang on recursive usage of gst_parse_launch()
1380
1381 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
1382
1383         * gst/gsttaglist.c:
1384           Add some more docs, comments and FIXME 0.11s here and there
1385           and also fix some typos.
1386
1387 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
1388
1389         * gst/gstsegment.h:
1390           Convert tabs to spaces for better readability. 
1391
1392 2006-07-20  Edward Hervey  <edward@fluendo.com>
1393
1394         * tests/check/libs/gdp.c: (gst_dp_suite):
1395         the test_buffer test fails at line 140 on ppc64 at the following
1396         check:
1397         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
1398                 GST_BUFFER_FLAG_IN_CAPS),
1399                 "GST_BUFFER_IN_CAPS flag should have been copied !");
1400         See bug #348114 for more details.
1401
1402 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
1403
1404         * docs/pwg/advanced-scheduling.xml:
1405         * gst/gstpad.c:
1406           Fix typos (#348000).
1407
1408 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
1409
1410         * docs/pwg/intro-basics.xml:
1411           Fix wrong links (#347927).
1412
1413 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
1414
1415         * gst/gstregistry.h:
1416         * gst/gstregistryxml.c: (load_feature),
1417         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1418         * win32/common/config.h:
1419           make --disable-index work (#342564)
1420
1421 2006-07-18  Wim Taymans  <wim@fluendo.com>
1422
1423         Patch by: Peter Kjellerstedt <pkj at axis dot com>
1424
1425         * gst/Makefile.am:
1426         * gst/gsttrace.h:
1427         The attached patch adds two missing defines to gsttrace.h when tracing
1428         is disabled.  It also corrects one existing define.
1429         Fixes #347756.
1430
1431 2006-07-17  Wim Taymans  <wim@fluendo.com>
1432
1433         * docs/gst/gstreamer-sections.txt:
1434         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
1435         * gst/gst.h:
1436         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
1437         Add two functions to check and change the SIGSEGV behaviour
1438         when loading plugins.
1439         Don't mess with the SIGSEGV handler when we were told not to.
1440         Fixes #347794.
1441         API: gst_segtrap_is_enabled
1442         API: gst_segtrap_set_enabled
1443
1444 2006-07-14  Wim Taymans  <wim@fluendo.com>
1445
1446         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
1447         * tests/check/elements/filesrc.c: (GST_START_TEST):
1448         Revert fix for regression in #347408 after release.
1449
1450 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
1451
1452         Patch by: Antoine Tremblay <hexa00 at gmail com>
1453
1454         * gst/gstutils.c: (gst_element_unlink):
1455           Free iterator when done (#347311).
1456
1457         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1458           And add a test case for this.
1459
1460 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
1461
1462         * configure.ac:
1463         Bump nano back to CVS
1464
1465 === release 0.10.9 ===
1466
1467 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
1468
1469         * configure.ac:
1470           releasing 0.10.9, "On the road again"
1471
1472 2006-07-13  Wim Taymans  <wim@fluendo.com>
1473
1474         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
1475         * tests/check/elements/filesrc.c: (GST_START_TEST):
1476         Revert pull-0 fix for release. Disable check. Fixes #347408.
1477
1478 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1479
1480         * libs/gst/dataprotocol/dataprotocol.c:
1481         (gst_dp_event_from_packet_1_0):
1482           Fixes #347337: failure to deserialize event packets with
1483           empty payload (only event type)
1484
1485 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1486
1487         * gst/Makefile.am:
1488           do not install a .c file in the header directory
1489
1490 2006-07-13  Edward Hervey  <edward@fluendo.com>
1491
1492         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
1493         GhostPad no longer implicitely use the padtemplates of the targets.
1494         Fixes #347384
1495
1496 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
1497
1498         * gst/gstvalue.c: (gst_value_compare_list),
1499         (gst_value_compare_array), (_gst_value_initialize):
1500         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1501         Make GstValueArray comparison be order dependent as designed.
1502         Add checks for value lists and value array comparisons.
1503         Fixes #347221
1504
1505 2006-07-11  Edward Hervey  <edward@fluendo.com>
1506
1507         * gst/gstbin.c: (activate_pads),
1508         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
1509         (gst_bin_change_state_func):
1510         (de)activate src pads before calling state_change on the childs.
1511         This is to avoid the case where a src ghostpad is blocked (holding the
1512         stream lock), which would block the deactivation of the ghostpad's
1513         target pad.
1514         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
1515         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
1516         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
1517         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
1518         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
1519         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
1520         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
1521         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
1522         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
1523         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
1524         (gst_ghost_pad_class_init),
1525         (gst_ghost_pad_internal_do_activate_push),
1526         (gst_ghost_pad_internal_do_activate_pull),
1527         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
1528         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
1529         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
1530         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
1531         GhostPads now create their internal GstProxyPad at creation (and not
1532         when they're linked, as it was being done previously).
1533         The internal and target pads are linked straight away.
1534         The data will also travel through the other pad in order to make
1535         pad blocking and probes non-hackish (the probe/block now really happens
1536         on the GhostPad and not on the target).
1537         * gst/gstpad.c: (gst_pad_set_blocked_async),
1538         (gst_pad_link_prepare), (gst_pad_push_event):
1539         Remove previous ghostpad cruft.
1540         * gst/gstutils.c: (gst_pad_add_data_probe),
1541         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
1542         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
1543         (gst_pad_remove_buffer_probe):
1544         Remove previous ghost pad cruft.
1545         Added more detailed debug statements.
1546         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1547         Fix the testsuite for refcounting changes.
1548         The comments about who has references were correct, but the refcount
1549         being checked wasn't the same (!?!).
1550
1551         Fixes #341029
1552
1553 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
1554
1555         * docs/gst/gstreamer-sections.txt:
1556         * gst/gstconfig.h.in:
1557         More docs for configuration options, add docs to gtk-doc.
1558
1559 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
1560
1561         * gst/Makefile.am:
1562         * gst/gstconfig.h.in:
1563         * win32/common/config.h:
1564         Fix build when disabling tracing (fixes #344016). Also start to document
1565         the defines that disable the sub-systems.
1566
1567 2006-07-10  Edward Hervey  <edward@fluendo.com>
1568
1569         * gst/gst.c: (ensure_current_registry_forking):
1570         let's make valgrind happy...
1571
1572 2006-07-09  Wim Taymans  <wim@fluendo.com>
1573
1574         * gst/gstelement.c: (activate_pads),
1575         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
1576         Better pad activation code: Reset the collect value too on resync.
1577         Add some comments.
1578
1579 2006-07-09  Wim Taymans  <wim@fluendo.com>
1580
1581         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
1582         (gst_pad_activate_push):
1583         Use some more macros where it makes sense.
1584         Allow pad mode switching instead of asserting. When a pad
1585         is activated in one mode and we activate it in another, 
1586         deactivate it first before activating it in a different mode.
1587         Fixes #329198.
1588
1589 2006-07-08  Andy Wingo  <wingo@pobox.com>
1590
1591         * tools/gst-launch.c (main): Handle err == NULL.
1592
1593         * gst/gst.c (init_post, ensure_current_registry)
1594         (ensure_current_registry_forking)
1595         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
1596         factoring out the registry scanning into separate functions. Don't
1597         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
1598         Better environment var name/interface suggestions accepted.
1599
1600 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1601
1602         * gst/gstobject.c: (gst_object_set_name_default),
1603         (gst_object_set_name):
1604           Random micro-optimisation: don't use a hash table
1605           with strings as keys and the usual strdup/strcmp
1606           involved, but rather just use the GQuark of the
1607           type name as key, since it needs to be looked up
1608           anyway to get the type name string.
1609
1610         * tests/check/gst/gstobject.c: (GST_START_TEST):
1611           Fix various leaks.
1612
1613 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1614
1615         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
1616         (gst_bin_iterate_all_by_interface):
1617           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
1618           GTypes are gulongs and thus the top 4 bytes might be cut
1619           off on some platforms when doing GPOINTER_TO_INT, leading
1620           to invalid GTypes and bad things happening (see RH bug #179654).
1621           Also add a check to make sure the type passed in is really
1622           an interface type.
1623
1624 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1625
1626         * .cvsignore:
1627           Ignore more.
1628
1629 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
1630
1631         * Makefile.am:
1632         * configure.ac:
1633         * gst-element-check.m4:
1634         * gst-element-check.m4.in:
1635           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
1636           instead of the unversioned gst-inspect (#324176, #168659).
1637
1638 2006-07-06  Wim Taymans  <wim@fluendo.com>
1639
1640         * gst/gstmessage.h:
1641         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
1642         warnings.
1643
1644 2006-07-06  Wim Taymans  <wim@fluendo.com>
1645
1646         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1647         (gst_base_src_wait), (gst_base_src_update_length),
1648         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
1649         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
1650         (gst_base_src_loop), (gst_base_src_start),
1651         (gst_base_src_activate_pull):
1652         Update docs.
1653         blocksize == 0 now means the default blocksize when working in push
1654         based mode.
1655         Remove some pointless asserts in _wait function.
1656         Fix offset/length calculations and EOS handling. We can now pull 0
1657         bytes as well, which is allowed.
1658         use _check_get_range() to decide if we can operate in _pull based
1659         mode.
1660         Fix refcounting leak when check_get_range function was not 
1661         implemented.
1662         API GstBaseSrc::blocksize range can be 0 too now (default)
1663
1664         * tests/check/elements/filesrc.c: (GST_START_TEST),
1665         (filesrc_suite):
1666         Added check to test _get_range() behaviour.
1667
1668 2006-07-06  Wim Taymans  <wim@fluendo.com>
1669
1670         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
1671         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
1672         (gst_pad_pull_range):
1673         * gst/gstpad.h:
1674         Lots of comments and docs added to the pad functions.
1675         Flesh out the expected behaviour of the get_range() functions.
1676
1677 2006-07-06  Wim Taymans  <wim@fluendo.com>
1678
1679         * gst/gstbus.h:
1680         * gst/gstclock.h:
1681         * gst/gstevent.h:
1682         * gst/gstiterator.h:
1683         * gst/gstpad.h:
1684         * gst/gstplugin.h:
1685         * gst/gsttask.h:
1686         Remove comma at end of enumerator list. 
1687
1688 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
1689
1690         * win32/common/libgstbase.def:
1691         * win32/common/libgstdataprotocol.def:
1692         * win32/common/libsgtreamer.def:
1693         Add new exported functions.
1694
1695 2006-07-05  Wim Taymans  <wim@fluendo.com>
1696
1697         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
1698         Add some more docs here and there.
1699
1700 2006-07-05  Wim Taymans  <wim@fluendo.com>
1701
1702         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
1703         (gst_base_sink_loop), (gst_base_sink_get_position):
1704         When operating in pull mode update the offset so that we
1705         read sequentially.
1706
1707 2006-07-05  Wim Taymans  <wim@fluendo.com>
1708
1709         * gst/gstregistryxml.c: (read_string):
1710         Avoid strdup. (will happen in libxml, but hey!)
1711
1712         * gst/gsturi.c:
1713         Add some more docs.
1714
1715 2006-07-05  Wim Taymans  <wim@fluendo.com>
1716
1717         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
1718         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
1719         (gst_buffer_suite):
1720         No point in checking if the size of the subbuffer > 0, the
1721         code handles it correclty as demonstrated by unit test.
1722         Also add a unit test for the zero sized _new_and_alloc and
1723         _copy. Fixes #346663.
1724
1725 2006-07-05  Wim Taymans  <wim@fluendo.com>
1726
1727         * libs/gst/base/gstbasetransform.c:
1728         (gst_base_transform_prepare_output_buffer),
1729         (gst_base_transform_buffer_alloc),
1730         (gst_base_transform_handle_buffer):
1731         Make sure the buffer we pass to transform_ip has a refcount of
1732         1 and thus is writable. Fixes #343196
1733
1734 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
1735
1736         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
1737         (gst_file_src_init), (gst_file_src_set_property),
1738         (gst_file_src_get_property), (gst_file_src_map_region):
1739         * plugins/elements/gstfilesrc.h:
1740         Add "sequential" property, off by default, to use madvise and hint
1741         to the kernel that sequential access is desired.
1742         Touch all retrieved pages by default to ensure they are pulled
1743         into memory. (Closes #345720)
1744
1745 2006-07-03  Wim Taymans  <wim@fluendo.com>
1746
1747         * docs/design/part-block.txt:
1748         * docs/design/part-dynamic.txt:
1749         Small docs updates.
1750
1751 2006-07-03  Wim Taymans  <wim@fluendo.com>
1752
1753         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
1754         (gst_caps_unref), (gst_static_caps_get),
1755         (gst_caps_append_structure):
1756         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
1757         Use GSlice when the glib we build against is >= 2.10
1758
1759 2006-07-03  Wim Taymans  <wim@fluendo.com>
1760
1761         * gst/gstelement.c: (gst_element_pads_activate):
1762         Small cleanup in pad activation code.
1763
1764 2006-07-03  Wim Taymans  <wim@fluendo.com>
1765
1766         Patch by: Peter Kjellerstedt <pkj at axis dot com>
1767
1768         * gst/gst-i18n-app.h:
1769         * gst/gst-i18n-lib.h:
1770         * tools/gst-inspect.c: (print_signal_info):
1771         The attached patch will make the inclusion of gettext.h unconditional in
1772         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
1773         libintl.h in tools/gst-inspect.c.
1774         This allows use of --disable-nls again and fixes #344642.
1775
1776 2006-07-03  Edward Hervey  <edward@fluendo.com>
1777
1778         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
1779         Implement pad blocking on events according to part-block.txt.
1780         More comments on behaviour.
1781         * tests/check/gst/gstevent.c: (test_event):
1782         Send event to peer pad of blocked pad (else it will block).
1783
1784 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1785
1786         * libs/gst/check/gstcheck.c: (gst_check_message_error),
1787         (gst_check_run_suite):
1788           if we get the wrong message, give us the types as string
1789         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
1790           Fix a translatable
1791         * tests/check/elements/filesrc.c: (GST_START_TEST):
1792           add a test for trying to open a non-existing file
1793
1794 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1795
1796         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
1797           add a test for adding self
1798
1799 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1800
1801         * libs/gst/check/gstcheck.h:
1802           add some assert_ as alias for fail_unless_*
1803         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
1804           increase test coverage
1805
1806 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1807
1808         * Makefile.am:
1809           include lcov.mak for lcov coverage generation
1810         * tools/Makefile.am:
1811           add to CLEANFILES
1812
1813 2006-07-02  Edward Hervey  <edward@fluendo.com>
1814
1815         * tests/check/elements/.cvsignore:
1816         moaping
1817
1818 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1819
1820         * configure.ac:
1821           don't set CFLAGS and friends for gcov, done from GST_GCOV now
1822         * tests/check/Makefile.am:
1823           clean up gcov files
1824
1825 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1826
1827         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
1828           remove gst_caps_simplify; it was not declared and not used
1829           and deprecated in 0.8
1830
1831 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1832
1833         * docs/faq/gst-uninstalled:
1834           don't put empty paths on PYTHONPATH
1835         * docs/gst/gstreamer-sections.txt:
1836           remove some symbols that are not there
1837
1838 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1839
1840         * gst/gstcaps.c: (gst_caps_compare_structures):
1841           whitespace fixes
1842         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1843         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
1844           add more tests
1845
1846 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1847
1848         * libs/gst/dataprotocol/Makefile.am:
1849           build dataprotocol test by linking to the lib, instead of
1850           compiling the source, so we get coverage
1851         * tests/check/Makefile.am:
1852         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
1853         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
1854           add a test for filesrc
1855
1856 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1857
1858         * tests/check/gst/gststructure.c: (GST_START_TEST),
1859         (gst_structure_suite):
1860           Push coverage from 59.04% to 70.00%
1861
1862 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1863
1864         * tests/check/Makefile.am:
1865           gst-inspect every element; this makes sure that we also get
1866           coverage on element's get/set functions
1867
1868 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1869
1870         * configure.ac:
1871           set CFLAGS and friends to -O0 if gcov is being used
1872           add GCOV LIBS
1873         * gst/Makefile.am:
1874         * libs/gst/base/Makefile.am:
1875         * libs/gst/check/Makefile.am:
1876         * libs/gst/controller/Makefile.am:
1877         * libs/gst/dataprotocol/Makefile.am:
1878         * libs/gst/net/Makefile.am:
1879         * plugins/elements/Makefile.am:
1880         * plugins/indexers/Makefile.am:
1881           add makefile rules to generate gcov data and clean up
1882         * tests/check/Makefile.am:
1883           add a coverage target that generates an html overview
1884           of coverage data
1885
1886 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1887
1888         * tests/check/elements/fakesink.c:
1889         * tests/check/elements/fakesrc.c:
1890         * tests/check/elements/fdsrc.c:
1891         * tests/check/elements/identity.c:
1892         * tests/check/generic/sinks.c: (gst_sinks_suite):
1893         * tests/check/generic/states.c:
1894         * tests/check/gst/gst.c:
1895         * tests/check/gst/gstabi.c:
1896         * tests/check/gst/gstbin.c:
1897         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
1898         * tests/check/gst/gstbus.c: (gst_bus_suite):
1899         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1900         * tests/check/gst/gstelement.c:
1901         * tests/check/gst/gstevent.c: (gst_event_suite):
1902         * tests/check/gst/gstghostpad.c:
1903         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
1904         * tests/check/gst/gstmessage.c: (gst_message_suite):
1905         * tests/check/gst/gstminiobject.c:
1906         * tests/check/gst/gstobject.c:
1907         * tests/check/gst/gstpad.c:
1908         * tests/check/gst/gstpipeline.c:
1909         * tests/check/gst/gstplugin.c:
1910         * tests/check/gst/gstquery.c: (gst_query_suite):
1911         * tests/check/gst/gstsegment.c: (gst_segment_suite):
1912         * tests/check/gst/gststructure.c:
1913         * tests/check/gst/gstsystemclock.c:
1914         * tests/check/gst/gsttag.c:
1915         * tests/check/gst/gsttask.c: (gst_task_suite):
1916         * tests/check/gst/gstutils.c:
1917         * tests/check/gst/gstvalue.c:
1918         * tests/check/libs/adapter.c:
1919         * tests/check/libs/basesrc.c:
1920         * tests/check/libs/collectpads.c:
1921         * tests/check/libs/controller.c:
1922         * tests/check/libs/gdp.c: (gst_dp_suite):
1923         * tests/check/libs/gstnetclientclock.c:
1924         * tests/check/libs/gstnettimeprovider.c:
1925         * tests/check/libs/libsabi.c: (libsabi_suite):
1926         * tests/check/libs/typefindhelper.c:
1927         * tests/check/pipelines/cleanup.c:
1928         * tests/check/pipelines/parse-launch.c:
1929         * tests/check/pipelines/simple-launch-lines.c:
1930         * tests/check/pipelines/stress.c: (stress_suite):
1931           use the new macro
1932
1933 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1934
1935         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
1936         * libs/gst/check/gstcheck.h:
1937           create a macro and function so that the simple unit test
1938           case can be just one macro to create main()
1939
1940 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
1941
1942         * gst/gstbin.c: (gst_bin_restore_thyself):
1943         * gst/gstxml.c: (gst_xml_make_element):
1944           Fix deserialisation from XML. Set parent manually
1945           instead of using gst_bin_add(), since gst_bin_add()
1946           will unlink all pads of the element being added.
1947           Fixes #341667.
1948
1949 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
1950
1951         Patch by: Peter Kjellerstedt <pkj at axis com>
1952
1953         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
1954           Fix missing g_strdup() and double free when using the
1955           --gst-plugin-load command line option (#346097).
1956
1957 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
1958
1959         * gst/gstinfo.c:
1960           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
1961
1962         * libs/gst/net/gstnetclientclock.c:
1963         * libs/gst/net/gstnettimeprovider.c:
1964           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
1965
1966 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
1967
1968         * docs/manual/advanced-dataaccess.xml:
1969           Fix buffer probe example compilation in
1970           ADM (#345708).
1971         
1972 2006-06-22  Edward Hervey  <edward@fluendo.com>
1973
1974         * gst/gstelement.c: (gst_element_pads_activate):
1975         We need to deactivate src pads first and then sink pads.
1976         The reason is the src pads might be blocking while holding the streaming
1977         lock, so we need to deactivate them first so that deactivating the sink
1978         pads doesn't block (since it will require the streaming lock).
1979
1980 2006-06-22  Wim Taymans  <wim@fluendo.com>
1981
1982         * libs/gst/base/gstbasetransform.c:
1983         (gst_base_transform_buffer_alloc):
1984         Forgot to remove two unneeded unrefs.
1985         Simplify a check _is_equal allready checks the obvious case.
1986
1987 2006-06-22  Wim Taymans  <wim@fluendo.com>
1988
1989         * docs/design/part-block.txt:
1990         Some docs about what pad_block should do.
1991
1992 2006-06-22  Wim Taymans  <wim@fluendo.com>
1993
1994         * gst/gstcaps.c: (gst_caps_replace):
1995         Fix crasher when passed NULL. Doc clarification.
1996         Optimize for the trivial case.
1997
1998         * gst/gstpipeline.c: (gst_pipeline_change_state):
1999         Small cleanups.
2000
2001         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
2002         Small documentation cleanup.
2003
2004         * libs/gst/base/gstbasetransform.c:
2005         (gst_base_transform_buffer_alloc):
2006         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
2007         is what we need and it avoids a whole lot of redundant 
2008         refcount operations.
2009
2010 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
2011
2012         Patch by: Philip Jägenstedt  <philip at lysator liu se>
2013
2014         * docs/manual/advanced-dataaccess.xml:
2015           Fix 'Embedding static elements' section to use
2016           GST_PLUGIN_DEFINE_STATIC (#345607).
2017
2018 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
2019
2020         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
2021           Attempt to 'fix' spuriously failing test case: it seems like the
2022           timeout of half a second is simply too small when the system is under
2023           load otherwise, and the timeout doesn't really seem to serve any
2024           particular purpose here. Give the pipeline a few seconds to preroll
2025           first, and then give it another half a second to go from PAUSED to
2026           PLAYING and marshal the message into the main thread.
2027
2028 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
2029
2030         * tools/gst-feedback-m.m:
2031           Don't only use unversioned tools, try versioned tools as well
2032           (#345086).
2033
2034 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
2035
2036         * gst/gstbus.c: (gst_bus_class_init):
2037           Fix some typos, make docs more explicit.
2038
2039 2006-06-20  Wim Taymans  <wim@fluendo.com>
2040
2041         * tests/check/gst/gstghostpad.c: (block_callback),
2042         (GST_START_TEST), (gst_ghost_pad_suite):
2043         Added some more ghostpad tests, mainly blocking
2044         and probes.
2045
2046 2006-06-16  Wim Taymans  <wim@fluendo.com>
2047
2048         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
2049         (gst_file_sink_close_file), (gst_file_sink_do_seek),
2050         (gst_file_sink_event), (gst_file_sink_render):
2051         * plugins/elements/gstfilesink.h:
2052         Check if we can seek in the file instead of assuming
2053         we always can. Post an error when we are asked to seek in a
2054         non-seekable file (like a fifo). Fixes #343312.
2055         Some cleanups.
2056
2057 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
2058
2059         * tools/gst-launch.1.in:
2060           Un-garble (fourcc) bit in filtered caps section.
2061
2062 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
2063
2064         * docs/manual/advanced-autoplugging.xml:
2065         * docs/manual/basics-helloworld.xml:
2066         * docs/manual/highlevel-components.xml:
2067           Don't leak bus reference in sample code.
2068
2069 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
2070
2071         * autogen.sh:
2072           Add default for new --enable-plugin-docs switch.
2073
2074         * configure.ac:
2075           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
2076           Fixes #344039.
2077
2078         * docs/Makefile.am:
2079           Use new ENABLE_PLUGIN_DOCS conditional.
2080
2081 2006-06-14  Wim Taymans  <wim@fluendo.com>
2082
2083         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
2084         Make it clear with a FIXME and a real define what the #if 0
2085         previously disabled.
2086
2087 2006-06-14  Wim Taymans  <wim@fluendo.com>
2088
2089         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2090         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
2091         * libs/gst/base/gstbasetransform.c:
2092         (gst_base_transform_sink_eventfunc):
2093         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
2094         Don't randomly and silently reset a segment when the format 
2095         changes as this is a bug somewhere upstream. Fixes #330379.
2096
2097 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
2098
2099         Patch by: Wouter Paesen  <wouter at kangaroot net>
2100
2101         * libs/gst/controller/gstcontroller.c:
2102         (gst_controlled_property_new):
2103           Fix controlling of float properties (#344849).
2104
2105         * tests/check/libs/controller.c:
2106         (gst_test_mono_source_get_property),
2107         (gst_test_mono_source_set_property),
2108         (gst_test_mono_source_class_init), (GST_START_TEST):
2109           While we're at it, add some float stuff to unit test.
2110
2111 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2112
2113         * docs/README:
2114         * docs/images/gdp-header.svg:
2115           add a gdp image
2116         * docs/libs/Makefile.am:
2117         * docs/libs/gdp-header.png:
2118         * libs/gst/dataprotocol/dataprotocol.c:
2119           add it to the API docs
2120         * docs/manual/intro-motivation.xml:
2121           fix typo
2122
2123 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
2124
2125         * gst/gst.c: (scan_and_update_registry), (init_post):
2126           If the fork()'ed child process can't write the updated registry cache
2127           file to disk for some reason, make it exit with a failure exit code,
2128           so that the parent can then re-scan the plugins itself and update the
2129           registry structures in memory and work with that (rather than failing
2130           when creating elements because seemingly no plugins are available).
2131           Refactor registry scanning code into separate function for this and
2132           also separate fork() and non-fork() code paths. Fixes #344748.
2133
2134 2006-06-13  Wim Taymans  <wim@fluendo.com>
2135
2136         * docs/manual/advanced-dataaccess.xml:
2137         Fix wrong PluginDesc. Fixes #344755.
2138
2139 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
2140
2141         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
2142           Fix silly bug that prevented us from creating
2143           ~/.gstreamer-0.10 and writing the registry in one
2144           go (the first call to g_mkstemp() would overwrite the
2145           placeholder in the template string, so the second call
2146           to g_mkstemp() after creating the missing directory
2147           would then error out with 'invalid argument').
2148
2149 2006-06-13  Edward Hervey  <edward@fluendo.com>
2150
2151         * gst/gst.c: (init_post):
2152         Free string.
2153
2154 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2155
2156         * gst/glib-compat-private.h:
2157         * gst/glib-compat.c:
2158         * gst/glib-compat.h:
2159         * gst/gstvalue.c: (gst_value_serialize_flags):
2160           remove GLib 2.6 compatibility code
2161
2162 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
2163
2164         * gst/parse/Makefile.am:
2165           Fix build with 'make -j N' even more (#340016).
2166
2167 2006-06-12  Wim Taymans  <wim@fluendo.com>
2168
2169         * docs/gst/gstreamer-sections.txt:
2170         Fix docs.
2171
2172 2006-06-12  Wim Taymans  <wim@fluendo.com>
2173
2174         * gst/gstsegment.c: (gst_segment_set_duration),
2175         (gst_segment_set_last_stop), (gst_segment_set_seek),
2176         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
2177         (gst_segment_to_running_time), (gst_segment_clip):
2178         Use G_UNLIKELY to help the compiler a bit.
2179
2180 2006-06-12  Wim Taymans  <wim@fluendo.com>
2181
2182         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
2183
2184         * gst/gstevent.c: (gst_event_get_type):
2185         * gst/gstmessage.c:
2186         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
2187         (gst_pad_push):
2188         constify quark registration strings. Fixes #344115
2189         Avoid unneeded type checking is _pad_push() by internally
2190         calling gst_pad_chain_unchecked().
2191
2192 2006-06-12  Wim Taymans  <wim@fluendo.com>
2193
2194         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
2195         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
2196         (gst_subbuffer_finalize), (gst_buffer_create_sub),
2197         (gst_buffer_is_span_fast), (gst_buffer_span):
2198         Init _type for consistency.
2199         Use _FLAGS macro to avoid type check.
2200         Avoid unneeded type checks in subbufer code.
2201
2202 2006-06-12  Wim Taymans  <wim@fluendo.com>
2203
2204         * gst/gst.c: (gst_debug_help):
2205         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
2206         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
2207         (gst_plugin_feature_list_free):
2208         * gst/gstregistry.c: (gst_registry_add_plugin),
2209         (gst_registry_add_feature), (gst_registry_plugin_filter),
2210         (gst_registry_feature_filter), (gst_registry_find_plugin),
2211         (gst_registry_find_feature), (gst_registry_get_plugin_list),
2212         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
2213         * gst/gstregistryxml.c: (load_feature),
2214         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
2215         * gst/gstminiobject.c: (gst_mini_object_unref),
2216         (gst_mini_object_replace), (gst_value_mini_object_free),
2217         (gst_value_mini_object_copy):
2218         Use _CAST macros to avoid unneeded type checking.
2219         Added some more G_UNLIKELY.
2220
2221 2006-06-12  Wim Taymans  <wim@fluendo.com>
2222
2223         * gst/gstbuffer.h:
2224         Avoid unneeded type checking.
2225         API: GST_BUFFER_IS_DISCONT
2226
2227         * gst/gstminiobject.h:
2228         Avoid type check in flag accessor.
2229
2230         * gst/gstelementfactory.h:
2231         * gst/gstplugin.h:
2232         * gst/gstpluginfeature.h:
2233         Add _CAST macros.
2234         API: GST_ELEMENT_FACTORY_CAST
2235         API: GST_PLUGIN_CAST
2236         API: GST_PLUGIN_FEATURE_CAST
2237
2238 2006-06-12  Wim Taymans  <wim@fluendo.com>
2239
2240         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
2241         (gst_object_unref):
2242         Add G_UNLIKELY in type registration.
2243         Avoid type check in _ref/_unref since that is also
2244         done in glib.
2245
2246 2006-06-12  Wim Taymans  <wim@fluendo.com>
2247
2248         * gst/gsterror.c: (gst_g_error_get_type):
2249         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
2250         (gst_static_pad_template_get_type):
2251         * gst/gsttaglist.c: (gst_tag_list_get_type):
2252         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
2253         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
2254         * gst/gsturi.c: (gst_uri_handler_get_type):
2255         * gst/gstvalue.c: (gst_date_get_type):
2256         * gst/gstxml.c: (gst_xml_get_type):
2257         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
2258         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
2259         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
2260         Add G_UNLIKELY in type registration.
2261
2262 2006-06-12  Wim Taymans  <wim@fluendo.com>
2263
2264         * tools/gst-inspect.c: (print_signal_info):
2265         Properly print enum values.
2266
2267 2006-06-12  Wim Taymans  <wim@fluendo.com>
2268
2269         * gst/gstinfo.c: (gst_debug_set_active),
2270         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
2271         * gst/gstinfo.h:
2272         Add some G_[UN]LIKELY.
2273         Maintain __gst_debug_min to avoid formatting the arguments of
2274         debug messages that will be dropped anyway to avoid a lot of 
2275         overhead from the debugging system.
2276
2277 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
2278
2279         * po/POTFILES.in:
2280         * po/POTFILES.skip:
2281           add missing files containing translatable strings, tell intltool about
2282           one exception
2283
2284 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
2285
2286         * tests/check/libs/.cvsignore:
2287         add test-binary to ignore list
2288
2289 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
2290
2291         * docs/libs/gstreamer-libs-docs.sgml:
2292         reorder (put dp into a chapter) and indent
2293
2294 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2295
2296         * configure.ac:
2297           back to HEAD
2298
2299 === release 0.10.8 ===
2300
2301 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
2302
2303         * configure.ac:
2304           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
2305
2306 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2307
2308         * gst/gst.c: (init_post):
2309           move pid declaration to declaration block
2310
2311 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2312
2313         * gst/gst.c: (init_post):
2314           use _exit() instead of exit() in our forked child; this ensures
2315           that none of the registered exit handlers from whatever is using
2316           GStreamer get executed.  This fixes gnome-mixer-applet failing
2317           to load, because ORBit would shut down.
2318           Spotted by: Edward Hervey  <edward@fluendo.com>
2319           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
2320           Fixes #344474
2321
2322 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
2323
2324         * configure.ac:
2325           back to TRUNK
2326
2327 === release 0.10.7 ===
2328
2329 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
2330
2331         * configure.ac:
2332           releasing 0.10.7, "Soepeke, ik zie ou"
2333
2334 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
2335
2336         * configure.ac:
2337         * po/af.po:
2338         * po/az.po:
2339         * po/bg.po:
2340         * po/ca.po:
2341         * po/cs.po:
2342         * po/de.po:
2343         * po/en_GB.po:
2344         * po/fr.po:
2345         * po/it.po:
2346         * po/nb.po:
2347         * po/nl.po:
2348         * po/ru.po:
2349         * po/sq.po:
2350         * po/sr.po:
2351         * po/sv.po:
2352         * po/tr.po:
2353         * po/uk.po:
2354         * po/vi.po:
2355         * po/zh_CN.po:
2356         * po/zh_TW.po:
2357         * win32/common/config.h:
2358           0.10.6.2 prerelease
2359
2360 2006-06-07  Wim Taymans  <wim@fluendo.com>
2361
2362         * gst/gstindex.c: (gst_index_gtype_resolver):
2363         * tools/gst-xmlinspect.c: (print_plugin_info):
2364         Fix leak spotted by coverity checker. Fixes #343827
2365         Fix another other leak found by paolo borelli.
2366
2367 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2368
2369         * libs/gst/dataprotocol/dataprotocol.c:
2370         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
2371         (gst_dp_version_get_type), (gst_dp_init),
2372         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
2373         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
2374         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
2375         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
2376         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
2377         (gst_dp_packetizer_free):
2378         * libs/gst/dataprotocol/dataprotocol.h:
2379           API: add a GstDPPacketizer object, and create/free functions
2380           API: add GstDPVersion enum
2381           Add 1.0 event function that uses the string serialization
2382           Serialize more useful buffer flags
2383           Fixes #343988
2384
2385 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2386
2387         * tests/check/Makefile.am:
2388         * tests/check/gst/gstabi.c:
2389         * tests/check/gst/struct_ppc64.h:
2390         * tests/check/libs/libsabi.c:
2391         * tests/check/libs/struct_ppc64.h:
2392           add ppc64 structure sizes
2393
2394 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2395
2396         * tests/check/Makefile.am:
2397         * tests/check/gst/gstabi.c:
2398         * tests/check/gst/struct_x86_64.h:
2399         * tests/check/libs/libsabi.c:
2400         * tests/check/libs/struct_x86_64.h:
2401           generate and add structure size lists for x86_64
2402
2403 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2404
2405         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
2406         * libs/gst/check/gstcheck.h:
2407           factor out the method from tests that checks size of structures,
2408           and add code to generate the header containing these sizes
2409         * tests/check/gst/gstabi.c: (GST_START_TEST):
2410         * tests/check/gst/struct_i386.h:
2411         * tests/check/libs/libsabi.c: (GST_START_TEST):
2412         * tests/check/libs/struct_i386.h:
2413           use it
2414
2415 2006-06-06  Michael Smith  <msmith@fluendo.com>
2416
2417         * gst/gstsegment.h:
2418           Don't use c++-style comments, fixes #343929
2419
2420 2006-06-05  Edward Hervey  <edward@fluendo.com>
2421
2422         * gst/gst.c:
2423         plugin_paths is not used if we build without registry support.
2424
2425         * gst/gstsegment.c: (gst_segment_copy): 
2426         _copy() was always returning NULL...
2427
2428 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2429
2430         * libs/gst/dataprotocol/dataprotocol.c:
2431         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2432         (gst_dp_packet_from_event):
2433           factor out CRC code
2434
2435 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2436
2437         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
2438           make sure we unset caps
2439
2440 2006-06-02  Michael Smith  <msmith@fluendo.com>
2441
2442         * libs/gst/check/gstcheck.c: (gst_check_init),
2443         (gst_check_chain_func):
2444         * libs/gst/check/gstcheck.h:
2445           Add a cond/mutex to the check support lib, signal this whenever we
2446           add to the buffers list. This will allow tests to not busy-wait on
2447           the buffer-list.
2448
2449 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2450
2451         * libs/gst/dataprotocol/dataprotocol.c:
2452         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
2453         (gst_dp_packet_from_event):
2454           factor out some common header init code
2455
2456 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2457
2458         * docs/libs/gstreamer-libs-sections.txt:
2459         * docs/libs/tmpl/gstdataprotocol.sgml:
2460         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
2461         * libs/gst/dataprotocol/dataprotocol.h:
2462           API: make gst_dp_crc() public
2463
2464 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
2465
2466         * plugins/indexers/gstindexers.c: (plugin_init):
2467         conditionally register fileindexer (fixes #343598)
2468
2469 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
2470
2471         * gst/gsttagsetter.h:
2472         Can't cast ifaces to a class
2473
2474         * libs/gst/net/gstnetclientclock.h:
2475         * libs/gst/net/gstnettimeprovider.h:
2476         * plugins/elements/gstfakesink.h:
2477         * plugins/elements/gstfakesrc.h:
2478         * plugins/elements/gstfdsink.h:
2479         * plugins/elements/gstfdsrc.h:
2480         * plugins/elements/gstfilesink.h:
2481         * plugins/elements/gstfilesrc.h:
2482         * plugins/elements/gstidentity.h:
2483         * plugins/elements/gstqueue.h:
2484         * plugins/elements/gsttee.h:
2485         * plugins/indexers/gstfileindex.c:
2486         * plugins/indexers/gstmemindex.c:
2487         * tests/old/examples/plugins/example.h:
2488         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
2489
2490 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2491
2492         * libs/gst/dataprotocol/dataprotocol.c:
2493         (gst_dp_header_from_buffer):
2494           make sure we zero the whole ABI-compatible area
2495
2496 2006-06-01  Wim Taymans  <wim@fluendo.com>
2497
2498         Patch by: Alessandro Decina <alessandro at nnva dot org>
2499
2500         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
2501         Make sure the EOS flag is cleared from pads after a flush
2502         or stop. Fixes #343538.
2503
2504         * tests/check/libs/collectpads.c: (GST_START_TEST),
2505         (gst_collect_pads_suite):
2506         Added test for collectpads reusage after EOS.
2507
2508 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
2509
2510         * gst/gst.c:
2511          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
2512         * win32/common/libgstbase.def:
2513          export gst_collect_pads_set_flushing
2514         * win32/common/libgstreamer.def:
2515          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
2516          gst_value_fraction_multiply
2517         * win32/vs6/gst_inspect.dsp:
2518          add a link to intl.lib
2519
2520 2006-05-30  Wim Taymans  <wim@fluendo.com>
2521
2522         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
2523         (gst_collect_pads_chain):
2524         Handle the case where a pad is removed from the collection
2525         that could cause the other pads to become collectable.
2526
2527 2006-05-30  Wim Taymans  <wim@fluendo.com>
2528
2529         * gst/gstelement.c:
2530         Clarify the use of _release_request_pad() and
2531         _get_request_pad() a bit better.
2532
2533         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
2534         (gst_adapter_take_buffer):
2535         Fix some doc and comment typos.
2536
2537 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2538
2539         * docs/gst/gstreamer-sections.txt:
2540         * docs/libs/gstreamer-libs-sections.txt:
2541           add declared symbols
2542
2543 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
2544
2545         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
2546         Add debug that can be enabled using a #define at the top of the file,
2547         for dumping stats about how late/early we were when waking up from
2548         waiting on the clock.
2549
2550 2006-05-30  Wim Taymans  <wim@fluendo.com>
2551
2552         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
2553         When rebuilding the pad list, don't leak the previous list.
2554
2555 2006-05-30  Wim Taymans  <wim@fluendo.com>
2556
2557         Patch by: Lutz Mueller <lutz at topfrose dot de>
2558
2559         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2560         (gst_base_src_get_query_types), (gst_base_src_update_length):
2561         Publish supported query types.
2562         Update last_stop field in get_range mode so the position
2563         query works. Fixes #342321.
2564
2565 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
2566
2567         * docs/gst/gstreamer-sections.txt:
2568         * gst/gsttaglist.c: (_gst_tag_initialize):
2569         * gst/gsttaglist.h:
2570           API: add GST_TAG_PREVIEW_IMAGE (#343341).
2571
2572 2006-05-30  Wim Taymans  <wim@fluendo.com>
2573
2574         Patch by: Alessandro Decina <alessandro at nnva dot org>
2575
2576         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
2577         Unlock mutex when removing an unknown pad.
2578         Fixes #343334.
2579
2580         * tests/check/Makefile.am:
2581         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
2582         (push_event), (setup), (teardown), (GST_START_TEST),
2583         (gst_collect_pads_suite), (main):
2584         Added collecpads check, disabled for now as check crashes for
2585         some reason.
2586
2587 2006-05-29  Wim Taymans  <wim@fluendo.com>
2588
2589         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
2590         Don't leak pads lists.
2591
2592 2006-05-29  Wim Taymans  <wim@fluendo.com>
2593
2594         * docs/libs/gstreamer-libs-sections.txt:
2595         * libs/gst/base/gstcollectpads.c:
2596         (gst_collect_pads_set_flushing_unlocked),
2597         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
2598         (gst_collect_pads_stop):
2599         * libs/gst/base/gstcollectpads.h:
2600         API: gst_collect_pads_set_flushing()
2601         Added api to set the pads to flushing, useful for seeking
2602         code in elements using collectpads.
2603         Clear segment when receiving a flush.
2604
2605 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
2606
2607         * gst/gst.c: (add_path_func), (init_post):
2608           Don't scan registry paths passed via --gst-plugin-path immediately
2609           (will crash, because absolutely nothing is set up and no types are
2610           registered etc.); do this later in init_post(). Fixes #343057.
2611
2612 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2613
2614         * gst/gst.c: (init_post):
2615           if we have fork, fork while reading/rebuilding the registry
2616           so the parent doesn't take the hit of having all plugins loaded
2617           in memory.  Fixes #342777.
2618         * configure.ac:
2619           Check if we have fork()
2620         * win32/common/config.h.in:
2621           no fork() on win32
2622
2623 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
2624
2625         * plugins/elements/gstelements.c:
2626         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2627         (gst_file_src_init), (gst_file_src_set_property),
2628         (gst_file_src_get_property), (gst_file_src_start):
2629         * plugins/elements/gstfilesrc.h:
2630           API: GstFileSrc::use-mmap
2631
2632         Add a use-mmap property to enable easier testing of all code paths.
2633         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
2634         in the absence of gnomevfssrc. (Closes #340501)
2635
2636 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2637
2638         * tools/gst-inspect.c:
2639         Add missing include, removes warning of ngettext not being defined on
2640         some arches.
2641
2642 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
2643
2644         * gst/gstvalue.c: (gst_value_deserialize_fraction):
2645         Handle NULL input and output pointers silently as a failed conversion,
2646         rather than g_warnings.
2647
2648 2006-05-25  Wim Taymans  <wim@fluendo.com>
2649
2650         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
2651         Initialize variable before using. Fixes #342820.
2652
2653 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
2654
2655         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
2656           Fix off-by-one bug that would only allow peeks of N-1 bytes
2657           from the start even if the buffer to typefind on contains
2658           in fact N bytes of data (makes vorbis typefinding from a
2659           vorbis identification header buffer work).
2660
2661         * tests/check/Makefile.am:
2662         * tests/check/libs/.cvsignore:
2663         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
2664         (gst_typefindhelper_suite), (main), (foobar_typefind),
2665         (plugin_init):
2666           Add very basic unit test for gst_type_find_helper_for_buffer()
2667           that checks for the problem fixed above.
2668
2669 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2670
2671         * tools/gst-inspect.c: (print_interfaces),
2672         (print_element_properties_info), (print_element_list), (main):
2673           add more translatable strings
2674
2675 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
2676
2677         Patch by: Julien Moutte  <julien at moutte net>
2678
2679         * docs/gst/gstreamer-sections.txt:
2680           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
2681           
2682         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
2683         (gst_fake_sink_preroll):
2684         * plugins/elements/gstfakesink.h:
2685           API: Add new GstFakeSink::preroll-handoff signal (#337100).
2686
2687 2006-05-23  Wim Taymans  <wim@fluendo.com>
2688
2689         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
2690         * gst/gstpad.h:
2691         Added _CUSTOM error and success GstFlowReturn that can be
2692         used be elements internally. 
2693         Added macro to check for SUCCESS flowreturns.
2694         API: GST_FLOW_CUSTOM_SUCCESS
2695         API: GST_FLOW_CUSTOM_ERROR
2696         API: GST_FLOW_IS_SUCCESS
2697
2698         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
2699         Added check for GstFlowReturn sanity.
2700
2701 2006-05-23  Wim Taymans  <wim@fluendo.com>
2702
2703         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2704
2705         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
2706         (gst_collect_pads_event):
2707         clear/reset segment info in FLUSH_STOP.
2708         Fixes #336929.
2709
2710 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
2711
2712         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
2713         (gst_collect_pads_check_collected):
2714         Flush queued buffer on _stop(), fixes playing again (#342454)
2715
2716 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2717
2718         * tests/check/gst/gststructure.c: (GST_START_TEST),
2719         (gst_structure_suite):
2720           add a test for a complete structure
2721
2722 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
2723
2724         * docs/faq/developing.xml:
2725         * docs/faq/faq.xml:
2726         * docs/faq/troubleshooting.xml:
2727         * docs/faq/using.xml:
2728           Some minor FAQ updates that won't change the fact that
2729           our FAQ is badly structured, full of information hardly
2730           anyone new to GStreamer needs to know and lacking lots
2731           of information people constantly ask for.
2732           
2733 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
2734
2735         * gst/gstpad.c: (gst_pad_set_caps):
2736           Short-circuit gst_pad_set_caps if setting the existing
2737           caps pointer again, and avoid printing debug and 
2738           reffing/unreffing the caps.
2739
2740         * plugins/elements/gstqueue.c: (gst_queue_push_one):
2741           There's actually no need to set the caps before pushing -
2742           the acceptcaps method will handle it anyway.
2743
2744 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
2745
2746         * docs/gst/gstreamer-sections.txt:
2747         * win32/common/libgstreamer.def:
2748         * gst/gstutils.c: (gst_element_seek_simple):
2749         * gst/gstutils.h:
2750           API: add gst_element_seek_simple() (#342238).
2751
2752 2006-05-18  Edward Hervey  <edward@fluendo.com>
2753
2754         * gst/gsttypefind.c: (gst_type_find_get_type):
2755         * gst/gsttypefind.h:
2756         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
2757         registered for GstTypeFind pointers. This allows wrapping the structure
2758         in bindings (i.e. gst-python).
2759
2760 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
2761
2762         * gst/gsttagsetter.c:
2763           Docs additions and fixes (see #339918).
2764
2765 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
2766
2767         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
2768         The caps intersection algorithm can produce multiple copies of the
2769         caps. Until that is fixed, we need to simplify the result to be
2770         sure whether the allowed caps are fixed or not.
2771
2772         * plugins/elements/gstqueue.c: (gst_queue_init),
2773         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
2774         (gst_queue_push_one):
2775         Proxied buffer alloc should not set the caps on the source pad.
2776         When pushing buffers, we always accept the caps change that triggers.
2777         This prevents negotiation errors caused by caps changing mid-stream 
2778         and then being refused on our source pad (because upstream is now
2779         refusing those caps).
2780
2781 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
2782
2783         * tests/examples/helloworld/helloworld.c: (main):
2784           Must plug audioconvert and audioresample between decoder
2785           and audio sink.
2786
2787 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
2788
2789         * gst/gstregistryxml.c: (read_string), (load_pad_template),
2790         (load_feature), (load_plugin):
2791         Allow empty strings for some of the plugin fields so we don't 
2792         drop valid plugin entries that were written out correctly
2793         (Fixes #341479)
2794
2795 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
2796         
2797         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
2798           Use g_remove and g_rename instead of remove and rename that don't 
2799           handle utf8 characters. rename was failing for users who had specific
2800           characters in their name then the registry was built at each 
2801           gstreamer init.
2802         * win32/vs6/gst_inspect.dsp:
2803         * win32/vs6/gst_launch.dsp:
2804         * win32/vs6/libgstbase.dsp:
2805         * win32/vs6/libgstcoreelements.dsp:
2806         * win32/vs6/libgstreamer.dsp:
2807           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
2808           build of libgstreamer and clean unused libraries in projects link 
2809           settings.
2810
2811 2006-05-17  Edward Hervey  <edward@fluendo.com>
2812
2813         * plugins/elements/gstqueue.c: (gst_queue_push_one):
2814         The queue is not responsible for pushing an EOS when receiving a fatal
2815         flow error. It's up to the real element driving the pipeline to do that.
2816
2817 2006-05-16  Edward Hervey  <edward@fluendo.com>
2818
2819         * plugins/elements/gstqueue.c: (gst_queue_push_one):
2820         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
2821         buffer returned a fatal error. It should just send an EOS and stop
2822         its task.
2823         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
2824         when pushing buffers on the queue and will be able to handle the event.
2825
2826 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
2827
2828         * docs/manual/basics-bins.xml:
2829         * docs/manual/basics-init.xml:
2830           Fix typos and minor errors in sample code (#341856).
2831
2832 2006-05-16  Wim Taymans  <wim@fluendo.com>
2833
2834         * docs/design/part-qos.txt:
2835         Fix indexes in formulas to make more sense.
2836
2837 2006-05-15  Wim Taymans  <wim@fluendo.com>
2838
2839         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2840         Don't report POSITION based on clock time if sync is
2841         disabled in a sink.
2842
2843 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
2844
2845         * gst/gstobject.h:
2846           Add cast to make compiler happy - refcount variable was a gint
2847           in GstObject but is a guint in GObject and g_atomic_int_get()
2848           wants a gint *.
2849
2850 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2851
2852         * gst/parse/Makefile.am:
2853           chain commands using &&, which also makes parallel make work
2854
2855 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
2856
2857         * docs/gst/gstreamer-sections.txt:
2858         * gst/gstevent.c:
2859         * gst/gstevent.h:
2860         * gst/gstmessage.h:
2861           Minor docs fixes.
2862
2863 === release 0.10.6 ===
2864
2865 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
2866
2867         * configure.ac:
2868           releasing 0.10.6, "Take the cannoli"
2869
2870 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
2871
2872         * tools/gst-launch.c: (print_tag):
2873           Fix use of uninitialized variable in the hypothetical
2874           case that some broken plugin creates a GST_TAG_IMAGE
2875           tag containing a NULL buffer (#341667).
2876
2877 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
2878
2879         * tools/gst-launch.c: (print_tag):
2880           Print something more intelligible for image tags when
2881           using the -t switch (#341556).
2882
2883 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2884
2885         * Makefile.am:
2886           updates for win32
2887         * configure.ac:
2888           define GST_MAJORMINOR so we have it available in win32/common/config.h
2889           Possibly remove it from our Makefile.am files later
2890         * win32/common/config.h:
2891         * win32/common/config.h.in:
2892           added GST_MAJORMINOR
2893         * win32/common/gstenumtypes.c: (register_gst_resource_error):
2894         * win32/common/gstversion.h:
2895           updated
2896
2897 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
2898
2899         * win32/MANIFEST:
2900           Update win32 files listing.
2901         * win32/common/gstversion.h:
2902           Add GST_MAJORMINOR definition.
2903         * win32/common/libgstreamer.def:
2904           Add new exported functions.
2905           
2906 2006-05-12  Michael Smith  <msmith@fluendo.com>
2907
2908         * gst/gstplugin.c: (gst_plugin_load_file):
2909           If an so file has no plugin entry point, unload the module.
2910
2911 2006-05-11  Wim Taymans  <wim@fluendo.com>
2912
2913         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
2914         (gst_queue_set_property):
2915         Don't forget to signal the _chain or _loop function 
2916         when the queue size or thresholds change since that might
2917         cause them to make progres again.
2918
2919 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
2920
2921         * gst/gstclock.c: (gst_clock_class_init):
2922         * gst/gstindex.c: (gst_index_class_init):
2923         * gst/gstobject.c: (gst_object_class_init):
2924         * gst/gstpad.c: (gst_pad_class_init):
2925         * gst/gstpipeline.c: (gst_pipeline_class_init):
2926         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2927         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
2928         * libs/gst/base/gstbasetransform.c:
2929         (gst_base_transform_class_init):
2930         * libs/gst/net/gstnetclientclock.c:
2931         (gst_net_client_clock_class_init):
2932         * libs/gst/net/gstnettimeprovider.c:
2933         (gst_net_time_provider_class_init):
2934         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
2935         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
2936         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
2937         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
2938         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2939         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2940         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
2941         * plugins/elements/gstidentity.c: (gst_identity_class_init):
2942         * plugins/elements/gsttee.c: (gst_tee_class_init):
2943         * tests/old/examples/plugins/example.c: (gst_example_class_init):
2944         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
2945           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
2946
2947 2006-05-11  Wim Taymans  <wim@fluendo.com>
2948
2949         * gst/gstbuffer.c: (_gst_buffer_initialize):
2950         Register subbufer along with the buffer type so that
2951         it does not accidentally gets registered from N
2952         different streaming threads in a non threadsafe way.
2953
2954 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
2955
2956         * gst/gstbuffer.h:
2957         * gst/gstevent.h:
2958         * gst/gstmessage.h:
2959           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
2960           gst_event_ref() and gst_message_ref() functions again
2961           (ugly hack, please do fix if there's a better way besides
2962           overrides.txt, which doesn't seem to work).
2963
2964 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2965
2966         * libs/gst/check/gstcheck.h:
2967           add an assert for setting state to avoid lots of repetitive code
2968           in the future
2969
2970 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2971
2972         * gst/gstvalue.c: (gst_value_serialize_flags):
2973           fix a leak if no flags are set
2974         * tests/check/gst/gstvalue.c: (GST_START_TEST):
2975           fix leak in tests
2976
2977 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
2978
2979         * docs/manual/basics-pads.xml:
2980           Expand a bit on caps and filtered links and update
2981           examples that were still using the no longer existing
2982           gst_pad_link_filtered() (#338206).
2983
2984 2006-05-10  Wim Taymans  <wim@fluendo.com>
2985
2986         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2987         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
2988         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
2989         (gst_collect_pads_stop):
2990         * libs/gst/base/gstcollectpads.h:
2991         No need to call _stop in _finalize.
2992         Iterate the main pad list in _finalize.
2993         Added some more debug.
2994         Free lists and data in the right order.
2995         Also free data whem doing _remove_pad when stopped for
2996         backward compatibility protect ::started with PAD_LOCK as
2997         well.
2998
2999 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3000
3001         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
3002         (gst_structure_parse_value):
3003           add some comments
3004           rename a method so that it actually says what it does better
3005
3006 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3007
3008         * gst/gstevent.c: (_gst_event_initialize):
3009         * gst/gstformat.c: (_gst_format_initialize):
3010           make sure some essential types used by events are registered
3011           as part of gst_init()
3012         * gst/gstvalue.c: (gst_value_serialize_flags):
3013           if no flags are set, serialize them to a value that represents NONE
3014           so that deserializing them works
3015         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3016           add tests for serialization and deserialization of flags
3017
3018 2006-05-10  Wim Taymans  <wim@fluendo.com>
3019
3020         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
3021         (gst_collect_pads_collect_range), (gst_collect_pads_available),
3022         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
3023         (gst_collect_pads_event), (gst_collect_pads_chain):
3024         Update docs.
3025         Better debug info.
3026         Catch and return errors from the collect function
3027         Refuse data on eos pads.
3028
3029 2006-05-10  Edward Hervey  <edward@fluendo.com>
3030
3031         * gst/gstinterface.h:
3032         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
3033         GInterface type checking.
3034         They were previously using non-defined macros.
3035
3036 2006-05-09  Wim Taymans  <wim@fluendo.com>
3037
3038         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
3039         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
3040         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
3041         (gst_collect_pads_start), (gst_collect_pads_stop),
3042         (gst_collect_pads_peek), (gst_collect_pads_pop),
3043         (gst_collect_pads_available), (gst_collect_pads_read),
3044         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
3045         (gst_collect_pads_is_collected), (gst_collect_pads_event),
3046         (gst_collect_pads_chain):
3047         * libs/gst/base/gstcollectpads.h:
3048         Clean up the mess that is collectpads, add comments and
3049         FIXMEs where needed.
3050         Maintain a separate pad list so we can add pads while
3051         collecting the other ones. For this we need a new separate 
3052         lock (see comics).
3053         Fix memory leak in finalize.
3054         Refactor some weird code to set/unset pad flushing flags, mark
3055         with comments.
3056         Don't crash in _available, _read, _flush when we're EOS.
3057
3058         * tests/check/libs/.cvsignore:
3059         Ignore adapter check binary.
3060
3061 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3062
3063         * gst/gstindex.c: (gst_index_resolver_get_type):
3064         * plugins/elements/gstfakesink.c:
3065         (gst_fake_sink_state_error_get_type):
3066         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
3067         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
3068         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
3069           Const-ify GEnumValue arrays.
3070
3071 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3072
3073         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
3074           Add test case for flags + gst_buffer_make_metadata_writable().
3075
3076 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3077
3078         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
3079           gst_buffer_make_metadata_writable() should maintain the
3080           buffer flags (those that make sense at least) (see #340859).
3081
3082 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3083
3084         * tools/gst-inspect.c:
3085         * tools/gst-launch.c:
3086         * tools/gst-typefind.c:
3087         * tools/gst-xmlinspect.c:
3088         * tools/tools.h:
3089           Fix up includes: need to include stdlib.h in tools.h for exit().
3090
3091 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
3092
3093         * gst/gsttaglist.c: (_gst_tag_initialize):
3094         * gst/gsttaglist.h:
3095           API: add GST_TAG_IMAGE tag (#340721).
3096
3097 2006-05-08  Wim Taymans  <wim@fluendo.com>
3098
3099         * gst/gstquery.c:
3100         Added some docs for the segment query.
3101
3102 2006-05-08  Wim Taymans  <wim@fluendo.com>
3103
3104         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3105         (gst_base_src_loop), (gst_base_src_change_state):
3106         Always push non-flushing serialized events in the streaming 
3107         thread.
3108
3109 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
3110
3111         * gst/gsterror.c: (_gst_stream_errors_init):
3112           Add a missing error string.
3113
3114 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
3115
3116         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
3117         Add applied_rate to the debug
3118
3119         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3120         Copy applied_rate into the outgoing NEWSEGMENT event
3121
3122 2006-05-08  Wim Taymans  <wim@fluendo.com>
3123
3124         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
3125
3126         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
3127         (gst_base_sink_change_state):
3128         call ::unlock before taking the PREROLL_LOCK so we can safely
3129         handle elements that lock in ::render.
3130         Fixes #340174.
3131
3132 2006-05-08  Edward Hervey  <edward@fluendo.com>
3133
3134         * autogen.sh: (CONFIGURE_DEF_OPT): 
3135         Darwin's libtoolize is in fact called glibtoolize.
3136         Adding glibtoolize to the list of accepted names for libtoolize.
3137
3138 2006-05-08  Wim Taymans  <wim@fluendo.com>
3139
3140         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3141         Unify error handling, don't post an error message
3142         when a push() returns EOS but perform our normal EOS
3143         handling code. Fixes #340772.
3144
3145 2006-05-08  Wim Taymans  <wim@fluendo.com>
3146
3147         * docs/design/part-overview.txt:
3148         Make upsteam/downstream concepts more clear.
3149         Give an example of serialized/non-serialized events.
3150
3151         * docs/design/part-events.txt:
3152         * docs/design/part-streams.txt:
3153         Mention applied_rate.
3154
3155         * docs/design/part-trickmodes.txt:
3156         Mention applied rate, flesh out some more use cases.
3157
3158         * gst/gstevent.c: (gst_event_new_new_segment),
3159         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
3160         (gst_event_parse_new_segment_full), (gst_event_new_tag),
3161         (gst_event_parse_tag), (gst_event_new_buffer_size),
3162         (gst_event_parse_buffer_size), (gst_event_new_qos),
3163         (gst_event_parse_qos), (gst_event_parse_seek),
3164         (gst_event_new_navigation):
3165         * gst/gstevent.h:
3166         Add applied_rate field to NEWSEGMENT event.
3167         API: gst_event_new_new_segment_full()
3168         API: gst_event_parse_new_segment_full()
3169
3170         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
3171         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
3172         (gst_segment_to_stream_time), (gst_segment_to_running_time):
3173         * gst/gstsegment.h:
3174         Add applied_rate to GstSegment structure.
3175         Make calculation of stream_time and running_time more correct
3176         wrt rate/applied_rate.
3177         Add some more docs.
3178         API: GstSegment::applied_rate field
3179         API: gst_segment_set_newsegment_full();
3180
3181         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
3182         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
3183         * libs/gst/base/gstbasetransform.c:
3184         (gst_base_transform_sink_eventfunc),
3185         (gst_base_transform_handle_buffer):
3186         Parse and use applied_rate in the GstSegment field.
3187
3188         * tests/check/gst/gstevent.c: (GST_START_TEST):
3189         Add check for applied_rate field.
3190
3191         * tests/check/gst/gstsegment.c: (GST_START_TEST),
3192         (gstsegments_suite):
3193         Add more checks for various GstSegment operations.
3194
3195 2006-05-08  Wim Taymans  <wim@fluendo.com>
3196
3197         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
3198         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
3199         (gst_base_sink_get_position), (gst_base_sink_change_state):
3200         Store the sync time of the buffer end position separatly in a
3201         new variable eos_rtime so we can properly sync the EOS event.
3202         Fixes #340697.
3203         Fix the docs for gst_base_sink_set_qos_enabled().
3204         Don't set segment start to invalid value when we receive a 
3205         non TIME newsegment.
3206         get closer to handling position reporting for negative rates 
3207         correctly.
3208
3209 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
3210
3211         * gst/gstcaps.c:
3212         Docs about how to print caps for debug purposes.
3213
3214         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
3215         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
3216
3217 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
3218
3219         * gst/gstelement.c:
3220           use full enum names and preprend a '%' in docs strings to make recent 
3221           gtk-doc turn that into a link
3222
3223 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3224
3225         * docs/manual/basics-bins.xml:
3226         * docs/manual/basics-bus.xml:
3227         * docs/manual/basics-pads.xml:
3228           Some typo fixes, some additions, some clarifications. 
3229
3230 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3231
3232         * tools/gst-inspect.c: (main):
3233         * tools/gst-launch.c: (main):
3234         * tools/gst-run.c: (main):
3235         * tools/gst-typefind.c: (main):
3236         * tools/gst-xmlinspect.c: (main):
3237           Use the string passed to g_option_context_new() for
3238           what it's intended for - the program name is already
3239           printed elsewhere.
3240
3241 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3242
3243         * tools/Makefile.am:
3244         * tools/gst-inspect.c: (main):
3245         * tools/gst-launch.c: (main):
3246         * tools/gst-xmlinspect.c: (main):
3247         * tools/tools.h:
3248           Add back --version command line option (#340460).
3249
3250         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
3251           Add --version option and use GOption for argument parsing; refactor a
3252           bit; accept directories as arguments and recurse into them; lastly,
3253           print a decent error message when things go wrong.
3254
3255 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3256
3257         * docs/manual/basics-bins.xml:
3258         Don't mention GstThread (#340611)
3259         * docs/manual/basics-elements.xml:
3260         Update link to GObject tutorial (#340607)
3261         
3262 2006-05-05  Wim Taymans  <wim@fluendo.com>
3263
3264         * gst/gstbuffer.h:
3265         * gst/gstminiobject.c:
3266         Add note about refcounting and miniobject/buffer writeability
3267         to docs. Fixes #340604
3268
3269         * gst/gstelementfactory.h:
3270         Added some explanation about @klass.
3271
3272 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3273
3274         * docs/manual/intro-motivation.xml:
3275         * docs/manual/manual.xml:
3276         Avoid CORBA & Bonobo references (#340598)
3277
3278 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3279
3280         * docs/manual/basics-bus.xml:
3281         * docs/manual/basics-pads.xml:
3282         Fix up some inaccuracies and omissions (#340609)
3283         
3284 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
3285
3286         * gst/gstghostpad.c:
3287           Small typo in docs (#340625)
3288
3289 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3290
3291         * gst/parse/Makefile.am:
3292           Make 'make -j' proof (see #340698).
3293
3294 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
3295
3296         * configure.ac:
3297           Require GLib-2.8 here as well.
3298
3299 2006-05-05  Wim Taymans  <wim@fluendo.com>
3300
3301         * gst/glib-compat.c:
3302         * gst/gst.c: (init_pre):
3303         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
3304         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
3305         (gst_object_dispatch_properties_changed):
3306         * gst/gstobject.h:
3307         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
3308         * gst/gststructure.c: (gst_structure_set_valist):
3309         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
3310         Remove pre glib2.8 compatibility, fixes #340508
3311
3312 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
3313
3314         * gst/gsttaglist.h:
3315           Mention type of tags in doc blurbs.
3316
3317 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
3318
3319         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
3320         (gst_pad_configure_src), (gst_pad_push):
3321         Restore acceptcaps checking behaviour now that good plugins have
3322         been released.
3323
3324 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
3325
3326         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
3327
3328         * gst/gst.c:
3329         * gst/gstbus.c:
3330         * gst/gstclock.c:
3331         * gst/gstevent.c:
3332         * gst/gstformat.c:
3333         * gst/gstmessage.c:
3334         * gst/gstparse.c:
3335         * gst/gstquery.c:
3336         * gst/gstutils.c:
3337         * gst/parse/Makefile.am:
3338         * libs/gst/base/gstadapter.c:
3339         * libs/gst/base/gstbasesrc.c:
3340         * libs/gst/base/gstpushsrc.c:
3341         * libs/gst/base/gsttypefindhelper.c:
3342         * plugins/elements/gstfakesrc.c:
3343         * plugins/elements/gstidentity.c:
3344           Make sure gstprivate.h and/or config.h are
3345           always included first, otherwise some of our
3346           defines (like _FILE_OFFSET_BITS) might be
3347           redefined in the system headers. Fixes build
3348           on opensolaris (#340016).
3349
3350 2006-05-04  Wim Taymans  <wim@fluendo.com>
3351
3352         * docs/libs/gstreamer-libs-sections.txt:
3353         API: addition: gst_adapter_take_buffer()
3354         
3355         * libs/gst/base/gstadapter.c: (gst_adapter_push),
3356         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
3357         (gst_adapter_available_fast):
3358         * libs/gst/base/gstadapter.h:
3359         Prepare for optimizing the hell out of this hugely inefficient
3360         piece of code. 
3361         Added gst_adapter_take_buffer() so we can at least start thinking
3362         about subbuffering and merging.
3363         Added some comments.
3364
3365         * tests/check/Makefile.am:
3366         * tests/check/libs/adapter.c: (GST_START_TEST),
3367         (gst_adapter_suite), (main):
3368         Added GstAdapter check.
3369
3370 2006-05-04  Wim Taymans  <wim@fluendo.com>
3371
3372         * docs/design/part-overview.txt:
3373         Fix some typos, add blurb about buffer flags.
3374
3375 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3376
3377         * docs/libs/gstreamer-libs-sections.txt:
3378           make sure GstBaseTransformClass shows up in the docs
3379         * libs/gst/base/gstbasetransform.c:
3380         * libs/gst/base/gstbasetransform.h:
3381           move docs so gtk-doc picks it up now
3382
3383 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
3384
3385         * docs/libs/gstreamer-libs-sections.txt:
3386           add missing symbols to docs
3387
3388 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
3389
3390         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
3391           back out the newsegment handling change, see #340060 for ongoing
3392           discussion
3393
3394 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
3395
3396         * tools/gst-run.c: (get_candidates), (main):
3397           Fix wrong g_file_test() usage (see glib docs for why it doesn't
3398           work); fix typo in error message. Fixes #340079.
3399
3400 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3401
3402         * common/Makefile.am:
3403         * docs/Makefile.am:
3404         * docs/faq/Makefile.am:
3405         * docs/gst/Makefile.am:
3406         * docs/libs/Makefile.am:
3407         * docs/manual/Makefile.am:
3408         * docs/plugins/Makefile.am:
3409         * docs/pwg/Makefile.am:
3410         * docs/slides/Makefile.am:
3411         * docs/upload.mak:
3412         * common/upload.mak:
3413           move upload.mak to common
3414
3415 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
3416
3417         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3418           add more asserts on refcounts
3419           do more cleanup at end of tests
3420           fix test leaks showing in FC5
3421
3422 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
3423
3424         * plugins/elements/gsttypefindelement.c:
3425         (gst_type_find_element_handle_event):
3426         reverted wrong change and reflowed code to avoid others falling into
3427         this trap
3428
3429 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3430
3431         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
3432           fix changelog entry about last collectpads change,
3433           add notes about proper fix
3434
3435 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3436
3437         * gst/gst.c:
3438         * gst/gstregistry.c: (gst_registry_scan_path_level),
3439         (gst_registry_scan_path):
3440         * gst/gstregistry.h:
3441           only write out registry if it has changed, fixes #338339
3442
3443 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3444
3445         * gst/gstbin.c:
3446         * gst/gstpipeline.c:
3447         * plugins/elements/gstcapsfilter.c:
3448         * plugins/elements/gstfakesink.c:
3449         * plugins/elements/gstfakesrc.c:
3450         * plugins/elements/gstfdsink.c:
3451         * plugins/elements/gstfdsrc.c:
3452         * plugins/elements/gstfilesink.c:
3453         * plugins/elements/gstfilesrc.c:
3454         * plugins/elements/gstidentity.c:
3455         * plugins/elements/gstqueue.c:
3456         * plugins/elements/gsttee.c:
3457         * plugins/elements/gsttypefindelement.c:
3458         (gst_type_find_element_handle_event):
3459           make GstElementDetails const
3460
3461 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3462
3463         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
3464         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3465         (gst_collect_pads_is_collected), (gst_collect_pads_event):
3466           more detailed debug and formatting cleanup,
3467           forward newsegments to src-pad (so that e.g. adder not eats them)
3468
3469 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3470
3471         * gst/gstutils.c: (gst_element_link_pads):
3472           cleanup double code
3473
3474 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
3475
3476         * libs/gst/controller/gstcontroller.c:
3477         (gst_controller_sync_values):
3478           some little tuning
3479         * tests/check/libs/controller.c: (GST_START_TEST),
3480         (gst_controller_suite):
3481           a new test for live value handling
3482
3483 2006-04-28  Wim Taymans  <wim@fluendo.com>
3484
3485         * gst/gstutils.c: (push_and_ref):
3486         Added some more docs.
3487         Fix refcount issue whith gst_element_found_tags() helper 
3488         function. Fixes #338335
3489
3490         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3491         Added testsuite for gst_element_found_tags().
3492
3493 2006-04-28  Michael Smith  <msmith@fluendo.com>
3494
3495         * gst/gstvalue.c: (gst_value_serialize_flags):
3496           Avoid NULL dereference when trying to serialize flags containing
3497           invalid values.
3498
3499 2006-04-28  Michael Smith  <msmith@fluendo.com>
3500
3501         * plugins/elements/gsttypefindelement.c:
3502         (gst_type_find_element_handle_event):
3503           If we get EOS before any data is accumulated, don't use
3504           uninitialised local variables.
3505
3506 2006-04-28  Michael Smith  <msmith@fluendo.com>
3507
3508         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
3509         (gst_dp_event_from_packet):
3510           Fixes in reading/writing events over GDP (not currently used?) - 
3511           dereferencing NULL events for unknown/invalid event types, memory
3512           leak, and change g_warning to GST_WARNING.
3513
3514 2006-04-28  Wim Taymans  <wim@fluendo.com>
3515
3516         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
3517         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
3518         (gst_base_sink_get_position), (gst_base_sink_change_state):
3519         When frame dropping is enabled, we should not ignore frames
3520         without a duration.
3521         Update some documentation.
3522
3523 2006-04-28  Wim Taymans  <wim@fluendo.com>
3524
3525         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
3526         (gst_base_src_send_event), (gst_base_src_change_state):
3527         Documentation updates.
3528
3529 2006-04-28  Wim Taymans  <wim@fluendo.com>
3530
3531         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
3532         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
3533         handle EAGAIN, EINTR and short writes correctly. Also clean
3534         up some error cases, avoid a deadlock on bad file descriptors and
3535         use GST_DEBUG_OBJECT.
3536         Fixes #339843
3537
3538 2006-04-28  Wim Taymans  <wim@fluendo.com>
3539
3540         * gst/gstvalue.c: (gst_value_serialize_buffer),
3541         (gst_value_deserialize_buffer):
3542         Don't try to serialize a GValue with a NULL buffer. 
3543         Fixes #339821.
3544
3545         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3546         Added check for serialisation of NULL buffers.
3547
3548 2006-04-28  Wim Taymans  <wim@fluendo.com>
3549
3550         * gst/gstminiobject.c: (gst_value_take_mini_object):
3551         Taking a NULL miniobject is valid, fix the case where
3552         we try to unref the NULL miniobject.
3553
3554 2006-04-28  Wim Taymans  <wim@fluendo.com>
3555
3556         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
3557
3558         * gst/gstbin.c: (gst_bin_handle_message_func):
3559         Update docs.
3560         Don't leak bin refcount when a state recalc is
3561         in progress and we delay another one #339808.
3562
3563 2006-04-28  Wim Taymans  <wim@fluendo.com>
3564
3565         * docs/design/part-TODO.txt:
3566         Mention QoS as an ongoing work item.
3567
3568         * docs/design/part-buffering.txt:
3569         New doc about buffering that needs to be fleshed out
3570         at some point.
3571
3572         * docs/design/part-qos.txt:
3573         More QoS policy for decoders/demuxers/transforms
3574
3575         * docs/design/part-trickmodes.txt:
3576         Small update.
3577
3578 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3579
3580         * configure.ac:
3581           back to HEAD
3582
3583 === release 0.10.5 ===
3584
3585 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
3586
3587         * configure.ac:
3588           releasing 0.10.5, "Fogo"
3589
3590 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3591
3592         patch by: Wim Taymans
3593
3594         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
3595         (gst_pad_configure_src), (gst_pad_push):
3596         * gst/gstpipeline.c: (gst_pipeline_init):
3597           Fix internal data flow errors.  Fixes #338711.
3598
3599 2006-04-12  Wim Taymans  <wim@fluendo.com>
3600
3601         * tests/check/gst/gstelement.c: (GST_START_TEST):
3602         Don't leak the factory.
3603
3604 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
3605
3606         * configure.ac:
3607         * win32/common/config.h:
3608           prerelease
3609
3610 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3611
3612         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
3613         (gst_controller_unset_all):
3614           Free allocated GstTimedValues when freeing list nodes.
3615           Should fix leaks 'make check-valgrind' complains about.
3616
3617         * win32/common/libgstcontroller.def:
3618           Add gst_controller_unset_all.
3619
3620 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
3621
3622         * docs/libs/gstreamer-libs-sections.txt:
3623         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
3624         (gst_controller_unset_all):
3625         * libs/gst/controller/gstcontroller.h:
3626         API: Added new method gst_controller_unset_all()
3627         fixed gst_controller_unset()
3628         * tests/check/libs/controller.c: (GST_START_TEST),
3629         (gst_controller_suite):
3630         Added two testcases for new and fixed method
3631
3632 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
3633
3634         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3635           MSG_DONTWAIT is not defined on Cygwin, so work
3636           around that (fixes #317048).
3637           
3638 2006-04-11  Wim Taymans  <wim@fluendo.com>
3639
3640         * gst/gstelementfactory.c: (gst_element_register),
3641         (gst_element_factory_create), (gst_element_factory_make):
3642         Some cleanups.
3643         Fixed a FIXME.
3644         Updated docs (Fixes #131079)
3645
3646         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
3647         Small cleanups.
3648
3649         * tests/check/gst/gstelement.c: (GST_START_TEST),
3650         (gst_element_suite):
3651         Added testcase for elementfactory class field.
3652
3653 2006-04-10  Wim Taymans  <wim@fluendo.com>
3654
3655         * gst/gstsegment.c:
3656         Added some more docs.
3657
3658         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
3659         (gst_base_sink_reset_qos):
3660         Calculate more accurate rate values.
3661
3662 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
3663
3664         * gst/gst_private.h:
3665           add a new #ifdef to use __declspec(dllimport) only for
3666           other modules and not for gstreamer core
3667         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
3668           use gst_guint64_to_gdouble for conversion
3669         * win32/common/libgstreamer.def:
3670           add new exported functions
3671         * win32/vs6/gst_inspect.dsp:
3672         * win32/vs6/gst_launch.dsp:
3673         * win32/vs6/libgstbase.dsp:
3674         * win32/vs6/libgstcontroller.dsp:
3675         * win32/vs6/libgstcoreelements.dsp:
3676         * win32/vs6/libgstdataprotocol.dsp:
3677         * win32/vs6/libgstnet.dsp:
3678           update project files
3679
3680 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
3681
3682         * gst/gstbuffer.c: (gst_subbuffer_class_init):
3683         * gst/gstclock.c: (gst_clock_class_init):
3684         * gst/gstelement.c: (gst_element_class_init):
3685         * gst/gstindex.c: (gst_index_class_init):
3686         * gst/gstindexfactory.c: (gst_index_factory_class_init):
3687         * gst/gstobject.c: (gst_object_class_init),
3688         (gst_signal_object_class_init):
3689         * gst/gstpad.c: (gst_pad_class_init):
3690         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
3691         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
3692         * gst/gstregistry.c: (gst_registry_class_init):
3693         * gst/gstsystemclock.c: (gst_system_clock_class_init):
3694         * gst/gsttask.c: (gst_task_class_init):
3695         * gst/gstxml.c: (gst_xml_class_init):
3696         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3697         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3698         (gst_base_src_loop):
3699         * libs/gst/controller/gstcontroller.c:/
3700         (_gst_controller_class_init):
3701         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3702         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
3703         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
3704         * tests/old/examples/plugins/example.c: (gst_example_class_init):
3705         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
3706         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
3707
3708 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
3709
3710         * gst/gstpad.c: (gst_pad_link):
3711           Must set peer pads before calling the link function, otherwise
3712           a task started from a link function might get a flow-not-linked
3713           result when trying to push because the other thread where the
3714           linking happens hasn't had a chance to set the peers yet. This
3715           might happen for example when a queue gets linked to a downstream
3716           element, as queue starts a streaming task when its source pad
3717           gets linked. Happens in real life when playing back flac/musepack
3718           files in playbin (#332390).
3719           
3720 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
3721
3722         * gst/gstindex.h:
3723         * gst/gstxml.h:
3724         * libs/gst/base/gstadapter.h:
3725         * libs/gst/base/gstbasesink.h:
3726         * libs/gst/base/gstbasesrc.h:
3727         * libs/gst/base/gstbasetransform.h:
3728         * libs/gst/base/gstcollectpads.h:
3729         * libs/gst/base/gstpushsrc.h:
3730         Fix broken GObject macros
3731
3732 2006-04-07  Wim Taymans  <wim@fluendo.com>
3733
3734         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3735         Initialize start and stop times, thanks valgrind.
3736
3737 2006-04-07  Wim Taymans  <wim@fluendo.com>
3738
3739         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3740         Be a bit nicer to badly behaving upstream elements that expect
3741         us to deal with non TIME segments and timestamps (such as fakesrc
3742         in the testsuite).
3743
3744 2006-04-07  Wim Taymans  <wim@fluendo.com>
3745
3746         * gst/gstbus.c:
3747         Small documentation clarification about the signal watch.
3748
3749         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
3750         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
3751         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
3752         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
3753         (gst_base_sink_get_position_last),
3754         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
3755         Convert and store timestamps in stream time and running time, the
3756         raw timestamps are not usefull, also document this better.
3757         Use different window sizes for good and bad QoS observations so
3758         we react to badness a little quicker.
3759         Keep track of the amount of rendered and dropped buffers.
3760         Send QoS timestamps in running time.
3761
3762         * libs/gst/base/gstbasetransform.c:
3763         (gst_base_transform_sink_eventfunc),
3764         (gst_base_transform_handle_buffer):
3765         Compare QoS timestamps against running time.
3766
3767 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
3768
3769         * gst/gstpad.c:
3770           Typo fixes in docs.
3771
3772 2006-04-06  Michael Smith  <msmith@fluendo.com>
3773
3774         * gst/gstpad.c: (gst_pad_set_property):
3775           Use g_value_get_object() instead of g_value_dup_gst_object(),
3776           to avoid double-reffing the pad template (which we then sink,
3777           so this worked previously if (and only if) the pad template
3778           was floating.
3779
3780         * gst/gstpadtemplate.c: (gst_pad_template_init),
3781         (gst_pad_template_pad_created):
3782           Never return floating references to pad templates, create
3783           them as initially-sunken.
3784
3785           Document an extra function (and make this stop sinking our
3786           pad template, since that is now guaranteed to do nothing,
3787           since we created it sunken).
3788
3789         * gst/gstghostpad.c:
3790           Fix docs typo.
3791
3792 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
3793
3794         * gst/gstinfo.c: (__gst_in_valgrind):
3795           Add some newlines.
3796
3797         * plugins/elements/gsttypefindelement.c:
3798         (gst_type_find_element_chain):
3799           Don't leak buffer caps.
3800
3801 2006-04-06  Michael Smith  <msmith@fluendo.com>
3802
3803         * gst/parse/grammar.y:
3804           Fix a leak in parse-launch for any source-or-sink named element 
3805           references used.
3806
3807         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
3808           Unref the pipeline if it exists after we've failed parsing.
3809
3810 2006-04-05  Michael Smith  <msmith@fluendo.com>
3811
3812         * gst/gstpipeline.c: (gst_pipeline_init):
3813           When we create a pipeline bus, initially create it in flushing mode.
3814           Fixes leaks in at least one test, and makes a new pipeline work the
3815           same as one that has gone to READY and then back to NULL.
3816
3817         * gst/gstelement.c:
3818           Typo fix in docs.
3819
3820 2006-04-05  Michael Smith  <msmith@fluendo.com>
3821
3822         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3823           Unref a pad we reffed.
3824         * tests/check/gst/gstutils.c: (GST_START_TEST):
3825           Unref bins
3826
3827 2006-04-05  Michael Smith  <msmith@fluendo.com>
3828
3829         * gst/gstquery.c: (gst_query_set_formats),
3830         (gst_query_set_formatsv):
3831           Fix leaking GValues in queries, as shown by valgrind/testsuite.
3832
3833 2006-04-05  Michael Smith  <msmith@fluendo.com>
3834
3835         * tests/check/generic/sinks.c: (GST_START_TEST):
3836           Fix a variety of memleaks in sinks check, which are only sometimes 
3837           shown by running the tests under valgrind (weird?).
3838
3839 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
3840
3841         * docs/version.entities.in:
3842           Fix the substituted entity name after thomas' changes on the
3843           weekend.
3844
3845 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3846
3847         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
3848         VALGRIND_PRINTF
3849         
3850 2006-04-05  Andy Wingo  <wingo@pobox.com>
3851
3852         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
3853
3854         * libs/gst/base/gstbasetransform.c
3855         (gst_base_transform_sink_eventfunc): When resetting our segment on
3856         FLUSH_STOP, also update the flag saying we haven't seen a
3857         newsegment.
3858
3859 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
3860
3861         Patch by: Paolo Borelli  <pborelli at katamail dot com>
3862
3863         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
3864         (gst_plugin_check_license):
3865           minor clean-ups: G_DEFINE_TYPE already takes care of the
3866           parent_class stuff, no need to do it twice. Mark array of
3867           license strings as constant. (#337103)
3868           
3869 2006-04-04  Michael Smith  <msmith@fluendo.com>
3870
3871         * tools/gst-inspect.c: (print_element_list):
3872           Free the right plugin list; fixes a memory leak.
3873
3874 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
3875
3876         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
3877
3878         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
3879           Don't error out on empty buffers (#336945).
3880           
3881 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
3882
3883         * docs/libs/gstreamer-libs-sections.txt:
3884         * gst/gsttaglist.c:
3885         * libs/gst/base/gstbasesink.c:
3886         * libs/gst/base/gstbasesink.h:
3887         * libs/gst/base/gstbasesrc.c:
3888         * libs/gst/base/gstbasesrc.h:
3889           Documentation updates. Make BaseSink and BaseSrc docs contain the
3890           class structure so that people can actually see the prototypes for
3891           virtual functions they're supposed to be overriding.
3892
3893 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
3894
3895         * plugins/elements/gsttypefindelement.c:
3896         (gst_type_find_element_chain):
3897           More debug info; when skipping typefinding, send cached
3898           events in all cases.
3899
3900 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3901
3902         * configure.ac:
3903           use new AS_VERSION and AS_NANO macros
3904         * gst/gst-i18n-lib.h:
3905         * gst/gst.c:
3906         * gst/gsterror.c:
3907         * gst/gstversion.h.in:
3908         * win32/common/config.h:
3909         * win32/common/config.h.in:
3910           update accordingly
3911
3912 2006-03-31  Michael Smith  <msmith@fluendo.com>
3913
3914         * plugins/elements/gsttypefindelement.c:
3915         (gst_type_find_element_chain):
3916           Do not typefind content if the buffers already have caps.
3917           Neccesary for icydemux (#333657), and the right thing to do anyway.
3918
3919 2006-03-30  Wim Taymans  <wim@fluendo.com>
3920
3921         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3922         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
3923         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
3924         (gst_base_sink_record_qos_observation),
3925         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
3926         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
3927         (gst_base_sink_change_state):
3928         More QoS measurements as described in the design doc.
3929         Get rid of ringbuffer with observations, running average is
3930         more simple and equally good.
3931         Calculates valid proportion now.
3932         Added beginning of flood measurement.
3933
3934 2006-03-29  Wim Taymans  <wim@fluendo.com>
3935
3936         * docs/design/part-qos.txt:
3937         * gst/gstclock.c:
3938         Small documentation updates and additions.
3939
3940 2006-03-29  Wim Taymans  <wim@fluendo.com>
3941
3942         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
3943         (gst_base_src_send_event), (gst_base_src_loop),
3944         (gst_base_src_change_state):
3945         Perform the EOS logic when we reach the segment stop position.
3946         Fix compilation on gcc4.1
3947
3948 2006-03-29  Wim Taymans  <wim@fluendo.com>
3949
3950         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
3951
3952         * plugins/elements/gstqueue.c: (gst_queue_init),
3953         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
3954         (gst_queue_set_property):
3955         * plugins/elements/gstqueue.h:
3956         In queue, when EOS is received, if minimum threshold > max_size -
3957         current_level, there is chance that queue blocks forever in conditional
3958         item del wait. This is because the queue is not emptied completely due
3959         to minimum threshold.  Here is another approach. Instead of setting
3960         cur_levels to max in EOS, just zero all minimum threshold levels. This
3961         should make sure that queue gives out all data. When going to READY
3962         (stop) state, just reset the original minimum threshold levels.
3963         Fixes #336336.
3964
3965 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
3966
3967         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
3968         (gst_type_find_element_handle_event),
3969         (gst_type_find_element_send_cached_events),
3970         (gst_type_find_element_change_state):
3971         * plugins/elements/gsttypefindelement.h:
3972           When typefinding is done in push mode, we should cache
3973           events we receive during typefinding instead of just
3974           dropping them (e.g. newsegment, custom events from
3975           dvdreadsrc etc.) and then send them out once we've
3976           determined the type of the stream (and decodebin
3977           has had a chance to plug in a decoder/demuxer).
3978           
3979 2006-03-27  Wim Taymans  <wim@fluendo.com>
3980
3981         * docs/design/part-qos.txt:
3982         First QoS ideas.
3983
3984 2006-03-27  Wim Taymans  <wim@fluendo.com>
3985
3986         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
3987
3988         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
3989         (gst_base_src_send_event), (gst_base_src_change_state):
3990         Handle element seek correctly when we are streaming.
3991         Fixes #326998.
3992
3993 2006-03-24  Michael Smith  <msmith@fluendo.com>
3994
3995         * docs/faq/gst-uninstalled:
3996           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
3997           allow you to correctly run intalled applications built against old 
3998           core, using plugins that require updated core (e.g. running
3999           installed totem against a full uninstalled gstreamer stack)
4000
4001 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
4002
4003         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
4004         more debug details
4005
4006 2006-03-24  Wim Taymans  <wim@fluendo.com>
4007
4008         * docs/gst/gstreamer-sections.txt:
4009         Rearrange the order of the methods so that related methods
4010         are grouped together in sections.
4011
4012 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
4013
4014         * gst/gstelement.c:
4015           Little clarification in the docs
4016
4017 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
4018
4019         * docs/README:
4020         formatting fix
4021         * plugins/elements/gstidentity.c:
4022         * plugins/elements/gstqueue.c:
4023         * plugins/elements/gsttee.c:
4024         * plugins/elements/gsttypefindelement.c:
4025         GST_ELEMENT_DETAILS formatting
4026
4027 2006-03-24  Wim Taymans  <wim@fluendo.com>
4028
4029         * libs/gst/base/gstbasesink.h:
4030         Only add fields, not insert or we break ABI.
4031
4032 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
4033
4034         * win32/common/libgstbase.def:
4035         * win32/common/libgstreamer.def:
4036           Update, add recently added functions.
4037
4038 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
4039
4040         * docs/gst/gstreamer-sections.txt:
4041         * gst/gstutils.c: (gst_pad_query_peer_position),
4042         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
4043         * gst/gstutils.h:
4044           API: add some new utility functions:
4045            - gst_pad_query_peer_position()
4046            - gst_pad_query_peer_duration()
4047            - gst_pad_query_peer_convert()
4048           
4049 2006-03-23  Wim Taymans  <wim@fluendo.com>
4050
4051         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4052         (gst_base_sink_init), (gst_base_sink_finalize),
4053         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
4054         (gst_base_sink_set_property), (gst_base_sink_get_property),
4055         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
4056         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
4057         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
4058         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
4059         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
4060         (gst_base_sink_preroll_object), (gst_base_sink_event),
4061         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
4062         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
4063         (gst_base_sink_query), (gst_base_sink_change_state):
4064         Decouple max-lateness and the fact that QoS messages are generated
4065         with a new property (qos).
4066         added API: GstBaseSink::async_play()
4067         Add vmethod so subclasses can be notified of ASYNC playing
4068         state changes.
4069         Collect timestamp start and stop to report better current
4070         position in EOS/PLAYING/PAUSED/READY/NULL.
4071         Refactor QoS/frame dropping and other measurements.
4072         API: GstBaseSrc::qos
4073         Fixes #326311
4074
4075         * libs/gst/base/gstbasesink.h:
4076         Added Private struct.
4077         API: gst_base_sink_set_qos_enabled()
4078         API: gst_base_sink_is_qos_enabled()
4079
4080 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
4081
4082         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
4083           If compiling against GLib-2.8 or newer, try to read the
4084           registry file using GMappedFile first before falling back
4085           to fopen() + fread() (#332151).
4086
4087 2006-03-22  Wim Taymans  <wim@fluendo.com>
4088
4089         * gst/gstinfo.c: (gst_debug_set_active),
4090         (gst_debug_category_set_threshold):
4091         Disable debugging unless explicitly activated.
4092         Fixes #335480.
4093
4094 2006-03-22  Wim Taymans  <wim@fluendo.com>
4095
4096         * gst/gstelement.c: (gst_element_set_locked_state),
4097         (gst_element_dispose):
4098         Cleanup the error case.
4099
4100         * gst/gstobject.c: (gst_object_dispose):
4101         print a critical when some object was disposed with
4102         a parent, also revive the object since it might
4103         crash the parent.
4104
4105 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
4106
4107         * tools/gst-launch.1.in:
4108           Fix another typo.
4109
4110 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4111
4112         * configure.ac:
4113         * tests/check/Makefile.am:
4114           disable some tests when we don't have a registry
4115         * tests/check/gst/gstutils.c: (gst_utils_suite):
4116           don't build the part that needs parsing
4117
4118 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
4119
4120         * gst/Makefile.am
4121         * tests/examples/Makefile.am:
4122           fix --disable-parse build
4123
4124 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4125
4126         * tools/gst-feedback.1.in:
4127           Fix typo: s/feeback/feedback/ (#133494).
4128
4129 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4130
4131         * tools/Makefile.am:
4132         * tools/gst-launch.1.in:
4133           Add FILES section and correct entry about GST_REGISTRY_PATH
4134           environment variable (#133495; #133494).
4135
4136 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4137
4138         * tools/Makefile.am:
4139         * tools/gst-md5sum.1.in:
4140         * tools/gst-md5sum.c:
4141           Remove gst-md5sum and man page (the md5sink element
4142           required was removed ages ago)
4143
4144 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4145
4146         * gst/gststructure.c: (gst_structure_id_set_value):
4147           Make sure that string fields in structures/taglists
4148           contain valid UTF-8 - we don't want to pass rubbish to
4149           applications because of a buggy plugin (cp. #334167).
4150
4151 2006-03-21  Edward Hervey  <edward@fluendo.com>
4152
4153         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
4154         (gst_bin_handle_message_func):
4155         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
4156         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
4157         (gst_element_set_bus_func):
4158         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
4159         * gst/gstminiobject.c: (gst_value_set_mini_object),
4160         (gst_value_take_mini_object):
4161         * gst/gstpad.c: (gst_pad_set_pad_template):
4162         * gst/gstpipeline.c: (gst_pipeline_dispose),
4163         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
4164         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
4165         (gst_collect_pads_chain):
4166         * libs/gst/net/gstnettimeprovider.c:
4167         (gst_net_time_provider_set_property):
4168         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
4169         It's in fact all issues with gst_*object_replace().
4170
4171 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
4172
4173         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
4174         
4175         * pkgconfig/gstreamer-check-uninstalled.pc.in:
4176         * pkgconfig/gstreamer-check.pc.in:
4177           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
4178
4179 2006-03-21  Edward Hervey  <edward@fluendo.com>
4180
4181         * gst/gstbuffer.h:
4182         * gst/gstevent.h:
4183         * gst/gstmessage.h:
4184         gst_[buffer|event|message]_ref() macros are replaced by a static
4185         inline functions because gcc-4.1 will about if the return value
4186         isn't used.
4187         * tests/check/gst/gstevent.c: (event_probe):
4188         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
4189
4190 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
4191
4192         * gst/gstutils.h:
4193         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
4194         the type' case. (Closes: #335195 for now). In the future, when we
4195         depend on GLib 2.10, we could also intern the type name using
4196         g_intern_static_string()
4197
4198 2006-03-20  Wim Taymans  <wim@fluendo.com>
4199
4200         * gst/gstbin.c: (gst_bin_handle_message_func),
4201         (bin_query_max_init), (bin_query_position_fold),
4202         (bin_query_position_done), (gst_bin_query):
4203         Position query should also take max of all streams.
4204
4205 2006-03-20  Wim Taymans  <wim@fluendo.com>
4206
4207         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4208         (gst_fake_src_finalize):
4209         Fix leaks in fakesrc.
4210
4211         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4212         Fix leaks in the testcase.
4213
4214 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
4215
4216         * gst/gst_private.h:
4217           add win32 specific import decoration(__declspec(dllimport)) 
4218           for all extern GstDebugCategory * variables
4219         * win32/common/libgstbase.def:
4220         * win32/common/libgstcontroller.def:
4221         * win32/common/libgstreamer.def:
4222           Add some exports, remove empty lines
4223         * win32/common/libgstdataprotocol.def:
4224         * win32/common/libgstdataprotocol.dsp:
4225         * win32/common/libgstnet.def:
4226         * win32/common/libgstnet.dsp:
4227           new project files and exportation files added
4228         
4229 2006-03-19  Wim Taymans  <wim@fluendo.com>
4230
4231         * tests/check/libs/basesrc.c: (eos_event_counter):
4232         Use proper return value for probe.
4233
4234 2006-03-17  Wim Taymans  <wim@fluendo.com>
4235
4236         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
4237         (gst_pad_push):
4238         Don't leak buffers, caps and pads on negotiation errors.
4239
4240 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
4241
4242         * docs/faq/cvs.xml:
4243         * docs/faq/dependencies.xml:
4244         * docs/faq/developing.xml:
4245         * docs/faq/faq.xml:
4246         * docs/faq/general.xml:
4247         * docs/faq/getting.xml:
4248         * docs/faq/legal.xml:
4249         * docs/faq/troubleshooting.xml:
4250         * docs/faq/using.xml:
4251         Faq review and update.
4252
4253 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
4254
4255         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
4256         (gst_pad_push):
4257         Don't pound the cpu to pieces by checking get_caps when accept_caps
4258         is called with the same caps as the pad already has.
4259         Use GST_DEBUG_OBJECT when outputting caps change information.
4260
4261 2006-03-15  Wim Taymans  <wim@fluendo.com>
4262
4263         * gst/gstclock.c: (gst_clock_class_init):
4264         Fix docs.
4265
4266 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
4267
4268         * gst/gstbuffer.h:
4269         Documentation fix.
4270
4271         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
4272         (gst_pad_accept_caps), (gst_pad_configure_sink),
4273         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
4274         Make the default acceptcaps behaviour be to check the requested 
4275         caps against the gst_pad_get_caps output. 
4276
4277         Ensure that gst_pad_accept_caps is used to check caps when a pad
4278         doesn't have a setcaps function, so that pads automatically refuse 
4279         caps that they don't allow in their pad template. (Fixes #332986)
4280
4281         When a buffer with attached caps is pushed, ensure that the source 
4282         pad receives those caps even if the element didn't call
4283         gst_pad_set_caps first.
4284
4285 2006-03-15  Wim Taymans  <wim@fluendo.com>
4286
4287         * libs/gst/base/gstadapter.c:
4288         Add some docs.
4289
4290 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
4291
4292         * win32/common/libgstbase.def:
4293         * win32/common/libgstcontroller.def:
4294         * win32/common/libgstreamer.def:
4295           Add a whole bunch of missing functions (#334434).
4296
4297 2006-03-14  Wim Taymans  <wim@fluendo.com>
4298
4299         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
4300         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
4301         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
4302         Better debug info when we receive a segment event.
4303         Reorganize a bit so we can pass the get_times() results around.
4304         Use the segment format when calculating the running time.
4305         Don't do QoS is sync is disabled or we have no clock or the
4306         element does not want us to sync to the clock.
4307         Don't drop buffers if QoS is disabled for now.
4308
4309 2006-03-14  Wim Taymans  <wim@fluendo.com>
4310
4311         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
4312         Marked the stats property as unimplemented so people don't get
4313         wild ideas.
4314         Add debug message when regression goes wrong.
4315         Added some more docs.
4316
4317 2006-03-14  Wim Taymans  <wim@fluendo.com>
4318
4319         * gst/gstsegment.c: (gst_segment_to_stream_time):
4320         Return correct return type in case of errors.
4321
4322 2006-03-14  Wim Taymans  <wim@fluendo.com>
4323
4324         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
4325           Don't segfault on invalid formats.
4326
4327 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
4328
4329         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
4330           Can't use gst_segment_to_running_time() when the segment
4331           is not in GST_TIME_FORMAT (like with filesink, for example).
4332           Stops flac encoding pipelines from spewing critical warnings
4333           at EOS (#331248).
4334           
4335 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
4336
4337         * gst/gstpipeline.c: (gst_pipeline_class_init):
4338           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
4339
4340         * plugins/elements/gsttypefindelement.c:
4341         (gst_type_find_element_handle_event):
4342           Don't try to typefind empty streams.
4343
4344 2006-03-14  Wim Taymans  <wim@fluendo.com>
4345
4346         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
4347         (gst_base_sink_do_qos):
4348         Separate QoS calculation.
4349         Only drop buffers when lateness is bigger than the 
4350         duration of the buffer.
4351
4352 2006-03-13  Wim Taymans  <wim@fluendo.com>
4353
4354         * gst/gstpipeline.c: (gst_pipeline_set_property),
4355         (gst_pipeline_get_property), (do_pipeline_seek),
4356         (gst_pipeline_change_state), (gst_pipeline_set_delay),
4357         (gst_pipeline_get_delay):
4358         Don't deadlock when reading properties.
4359
4360 2006-03-13  Wim Taymans  <wim@fluendo.com>
4361
4362         * libs/gst/base/gstbasetransform.c:
4363         (gst_base_transform_class_init), (gst_base_transform_init),
4364         (gst_base_transform_sink_event),
4365         (gst_base_transform_sink_eventfunc),
4366         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
4367         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
4368         (gst_base_transform_set_property),
4369         (gst_base_transform_get_property),
4370         (gst_base_transform_change_state), (gst_base_transform_update_qos),
4371         (gst_base_transform_set_qos_enabled),
4372         (gst_base_transform_is_qos_enabled):
4373         * libs/gst/base/gstbasetransform.h:
4374         Make basetransform virtual method for src events too.
4375         Handle QOS in basetransform.
4376         API: gst_base_transform_update_qos()
4377         API: gst_base_transform_set_qos_enabled()
4378         API: gst_base_transform_is_qos_enabled()
4379
4380 2006-03-13  Wim Taymans  <wim@fluendo.com>
4381
4382         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
4383         (gst_base_sink_do_sync):
4384         Small cleanups.
4385         Use QOS debug category.
4386
4387 2006-03-13  Wim Taymans  <wim@fluendo.com>
4388
4389         * plugins/elements/gstqueue.c:
4390         Very small doc update.
4391
4392 2006-03-13  Wim Taymans  <wim@fluendo.com>
4393
4394         * gst/gst_private.h:
4395         * gst/gstinfo.c: (_gst_debug_init):
4396         Added QOS debug category
4397
4398 2006-03-13  Wim Taymans  <wim@fluendo.com>
4399
4400         * docs/gst/gstreamer-sections.txt:
4401         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
4402         * gst/gstbin.h:
4403         * gst/gstbus.c: (gst_bus_class_init):
4404         * gst/gstbus.h:
4405         * gst/gstclock.c:
4406         * gst/gstelement.c: (gst_element_set_locked_state):
4407         * gst/gstsegment.c:
4408         Documentation updates.
4409
4410         * gst/gstpipeline.c: (gst_pipeline_get_type),
4411         (gst_pipeline_class_init), (gst_pipeline_init),
4412         (gst_pipeline_dispose), (gst_pipeline_set_property),
4413         (gst_pipeline_get_property), (do_pipeline_seek),
4414         (gst_pipeline_send_event), (gst_pipeline_change_state),
4415         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
4416         (gst_pipeline_get_delay):
4417         * gst/gstpipeline.h:
4418         Added methods for setting the delay.
4419         API: gst_pipeline_set_delay()
4420         API: gst_pipeline_get_delay()
4421         Add pipeline debug category
4422         Various cleanups.
4423         Updated docs.
4424         Don't reset stream time when seek failed.
4425
4426 2006-03-13  Wim Taymans  <wim@fluendo.com>
4427
4428         * docs/design/draft-klass.txt:
4429         * docs/design/part-clocks.txt:
4430         * docs/design/part-events.txt:
4431         * docs/design/part-gstbin.txt:
4432         * docs/design/part-gstpipeline.txt:
4433         * docs/design/part-messages.txt:
4434         * docs/design/part-negotiation.txt:
4435         * docs/design/part-overview.txt:
4436         * docs/design/part-preroll.txt:
4437         * docs/design/part-seeking.txt:
4438         * docs/design/part-states.txt:
4439         * docs/design/part-streams.txt:
4440         Documentation updates.
4441
4442 2006-03-12  Julien MOUTTE  <julien@moutte.net>
4443
4444         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
4445         us to leak strings...
4446
4447 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4448
4449         * libs/gst/net/gstnettimeprovider.c:
4450           fix docs
4451         * win32/common/config.h:
4452           update
4453
4454 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
4455
4456         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
4457
4458         * configure.ac:
4459           Don't check for libgnomeui (leftover from old examples
4460           that aren't built or disted any longer) (#334303).
4461           
4462 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
4463
4464         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
4465         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
4466           Emit RESOURCE_NO_SPACE_LEFT error here as well when
4467           there's no space left on the device.
4468
4469 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
4470
4471         * gst/gstclock.h:
4472           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
4473           to cast the input to GstClockTime before comparing with
4474           another GstClockTime value.
4475
4476 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4477
4478         * configure.ac:
4479           back to trunk
4480
4481 === release 0.10.4 ===
4482
4483 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
4484
4485         * configure.ac:
4486           releasing 0.10.4, "Light"
4487
4488 2006-03-10  Michael Smith  <msmith@fluendo.com>
4489
4490         * libs/gst/dataprotocol/dataprotocol.c:
4491           Fix docs for dataprocotol to not get the return types completely
4492           wrong for a few functions.
4493
4494 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
4495
4496         * docs/gst/gstreamer-sections.txt:
4497         * gst/gstpipeline.c: (gst_pipeline_class_init),
4498         (gst_pipeline_init), (gst_pipeline_set_property),
4499         (gst_pipeline_get_property), (gst_pipeline_change_state),
4500         (gst_pipeline_set_auto_flush_bus),
4501         (gst_pipeline_get_auto_flush_bus):
4502         * gst/gstpipeline.h:
4503           Add new API: gst_pipeline_set_auto_flush_bus() and
4504           gst_pipeline_get_auto_flush_bus() to disable automatic
4505           flushing of the pipeline's GstBus when going from READY
4506           to NULL state (#332045).
4507
4508 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
4509
4510         * docs/gst/gstreamer-sections.txt:
4511         * gst/gsturi.c: (gst_uri_has_protocol):
4512         * gst/gsturi.h:
4513            Add new API: gst_uri_has_protocol() (#333779).
4514
4515 2006-03-09  Wim Taymans  <wim@fluendo.com>
4516
4517         * gst/gstclock.c: (gst_clock_entry_new),
4518         (gst_clock_id_compare_func), (gst_clock_id_wait),
4519         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
4520         (gst_clock_init), (gst_clock_get_internal_time),
4521         (gst_clock_set_master), (do_linear_regression),
4522         (gst_clock_add_observation), (gst_clock_set_property):
4523         * gst/gstclock.h:
4524         Review docs.
4525         Small cleanups.
4526         Fix a possible segfault when the window-size is made smaller.
4527         Calculate jitter before performing the clock wait. Ideally
4528         the clock implementation should calculate jitter but we need
4529         API breakage for that.
4530
4531         * gst/gstsystemclock.c: (gst_system_clock_init):
4532         Docs review.
4533         
4534         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4535         Remove leftover else
4536
4537         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
4538         (gst_systemclock_suite):
4539         Added check to test GST_CLOCK_DIFF.
4540
4541 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
4542
4543         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
4544         (gst_type_find_helper_get_range):
4545           If we are provided with the size, we should implement
4546           GstTypeFind::get_length, so that typefind functions who
4547           want to can actually peek at the middle of a file.
4548
4549 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
4550
4551         * docs/manual/advanced-dataaccess.xml:
4552           Add some very very basic error checking.
4553
4554         * docs/pwg/appendix-checklist.xml:
4555           Some updates to the list of things to check when writing an element.
4556
4557 2006-03-08  Wim Taymans  <wim@fluendo.com>
4558
4559         * docs/design/part-element-transform.txt:
4560         Added some docs about the design of tranform elements.
4561
4562         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
4563         (gst_base_src_loop), (gst_base_src_change_state):
4564         Mark buffers with the DISCONT flag.
4565
4566 2006-03-08  Michael Smith  <msmith@fluendo.com>
4567
4568         * gst/gstregistry.h:
4569         * gst/gstregistryxml.c: (gst_registry_save),
4570         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
4571         (gst_registry_xml_save_pad_template),
4572         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
4573         (gst_registry_xml_write_cache):
4574           Rewrite registry-saving to avoid race conditions and check for
4575           failed writes.
4576
4577 2006-03-08  Wim Taymans  <wim@fluendo.com>
4578
4579         * libs/gst/base/gstbasetransform.c:
4580         (gst_base_transform_transform_caps),
4581         (gst_base_transform_transform_size),
4582         (gst_base_transform_prepare_output_buffer),
4583         (gst_base_transform_get_unit_size),
4584         (gst_base_transform_buffer_alloc),
4585         (gst_base_transform_handle_buffer),
4586         (gst_base_transform_change_state):
4587         Cleanups, separate normal flow from errors, add sensible
4588         DEBUG lines.
4589         Don't try to renegotiate when allocating an output buffer.
4590         Also copy DISCONT buffer flag when copying a buffer.
4591         Reset the transform after we finish streaming, not during.
4592
4593 2006-03-08  Wim Taymans  <wim@fluendo.com>
4594
4595         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4596         Use last buffer timestamp in qos message.
4597
4598 2006-03-07  Wim Taymans  <wim@fluendo.com>
4599
4600         Patch by: Christophe Fergeau
4601
4602         * docs/pwg/advanced-tagging.xml:
4603         * docs/pwg/building-pads.xml:
4604           fixes #333416
4605
4606 2006-03-07  Wim Taymans  <wim@fluendo.com>
4607
4608         * docs/libs/gstreamer-libs-sections.txt:
4609         Added basesink new methods.
4610
4611         * gst/gstevent.c:
4612         * gst/gstevent.h:
4613         Docs updates. Flesh out the QoS docs.
4614
4615         * libs/gst/base/gstadapter.c:
4616         Small doc clarification about ownership and flushing.
4617
4618         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
4619         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
4620         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
4621         (gst_base_sink_get_property), (gst_base_sink_do_sync):
4622         * libs/gst/base/gstbasesink.h:
4623         API additions: 
4624         Added new methods to allow subclass to control max-lateness 
4625         and sync.
4626         Generate very basic QoS events based on last sync observation.
4627         Updated docs, fix typo, added some QoS blurb.
4628
4629         * libs/gst/base/gstbasesrc.c:
4630         Remove obsolete _get_state() calls from docs.
4631
4632 2006-03-07  Wim Taymans  <wim@fluendo.com>
4633
4634         * docs/libs/gstreamer-libs-sections.txt:
4635         * libs/gst/base/gstbasetransform.h:
4636         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
4637         Fix docs for GstBaseSrc.
4638
4639 2006-03-07  Wim Taymans  <wim@fluendo.com>
4640
4641         * docs/gst/gstreamer-sections.txt:
4642         * gst/gstbuffer.h:
4643         * gst/gstvalue.c:
4644         * libs/gst/base/gstbasetransform.h:
4645         Small documentation fixes.
4646
4647 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
4648
4649         * gst/gstvalue.c:
4650           Document thread-unsafety of gst_value_register_foo_func()
4651           when used at the same time as gst_value_foo() (#322628).
4652
4653 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
4654
4655         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
4656         (gst_push_src_check_get_range):
4657           Push sources don't support pull mode by default.
4658
4659 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
4660
4661         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4662         (gst_base_src_init), (gst_base_src_pad_check_get_range),
4663         (gst_base_src_default_check_get_range):
4664         * libs/gst/base/gstbasesrc.h:
4665           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
4666           provide default implementation, and rename
4667           gst_base_src_check_get_range() to
4668           gst_base_src_pad_check_get_range() for clarity.
4669
4670 2006-03-06  Wim Taymans  <wim@fluendo.com>
4671
4672         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4673         Make property overridable.
4674
4675 2006-03-06  Wim Taymans  <wim@fluendo.com>
4676
4677         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4678         (gst_base_sink_init), (gst_base_sink_set_property),
4679         (gst_base_sink_get_property), (gst_base_sink_do_sync):
4680         * libs/gst/base/gstbasesink.h:
4681         API addition: Make max-lateness a property.
4682
4683 2006-03-06  Wim Taymans  <wim@fluendo.com>
4684
4685         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
4686         (gst_base_sink_do_sync), (gst_base_sink_render_object):
4687         Don't ever draw a frame that is >10ms late.
4688
4689 2006-03-06  Michael Smith  <msmith@fluendo.com>
4690
4691         * gst/gstmessage.c: (_gst_message_copy):
4692           When copying a message, set the parent_refcount of the enclosed
4693           structure to point at the copy, not the original message.
4694
4695 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
4696
4697         Patch by: Christophe Fergeau
4698
4699         * gst/gstutils.h:
4700           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
4701           usable in c++ code (#333417)
4702
4703 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4704
4705         * gst/gstclock.h:
4706           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
4707
4708 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
4709
4710         * libs/gst/base/gstbasetransform.c:
4711         (gst_base_transform_transform_caps):
4712           Make sure caps are writable before passing them to
4713           gst_caps_append().
4714
4715 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
4716
4717         * gst/gsterror.h:
4718           Fix some minor docs errors.
4719
4720 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
4721
4722           Patch by: Ross Burton <ross at burtonini dot com>
4723
4724         * gst/gsterror.c: (_gst_resource_errors_init):
4725         * gst/gsterror.h:
4726           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
4727
4728 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
4729
4730         * gst/gst.c:
4731         Add a check and output a g_warning when GStreamer is built
4732         against GLib 2.6 but running against 2.8 or higher, and vice 
4733         versa. (Closes: #323542)
4734
4735 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
4736
4737         * gst/parse/parse.l:
4738           Commit patch for parse_launch syntax from #331255. Removes 
4739           support for quoted strings and mimetypes when writing filtered 
4740           caps. See the bug report for more details - I'm pretty sure this
4741           obscure feature is not in use by _anyone_ anywhere.
4742
4743           With this simple change, the size of the gstreamer.so here 
4744           drops from 2193KB to 1565KB.
4745
4746 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4747
4748         * plugins/elements/gsttypefindelement.h:
4749         * plugins/elements/gsttypefindelement.c:
4750         (gst_type_find_element_src_event), (start_typefinding),
4751         (stop_typefinding), (gst_type_find_element_handle_event),
4752         (gst_type_find_element_chain),
4753         (gst_type_find_element_chain_do_typefinding):
4754           Use gst_type_find_helper_for_buffer() for chain-based
4755           typefinding.
4756
4757 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4758
4759         * plugins/elements/gsttypefindelement.c:
4760         (gst_type_find_element_class_init),
4761         (gst_type_find_element_set_property),
4762         (gst_type_find_element_get_property):
4763           Deprecate "maximum" property (not only was it only taken into
4764           account for typefinding in push-mode anyway, it also was never
4765           actually possible to set it in the first place because the
4766           property was registered with the numeric property ID for the
4767           "minimum" property). Register "maximum" property correctly,
4768           for the sake of future copy'n'pasters. Remove some cruft
4769           from property get/set functions.
4770
4771 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4772
4773         * plugins/elements/gsttypefindelement.c:
4774         (gst_type_find_element_activate):
4775           Use gst_type_find_helper_get_range() here, so we
4776           can honour the "minimum" property and also emit
4777           the signal with the correct probability of the found caps.
4778
4779 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
4780
4781         * docs/libs/gstreamer-libs-sections.txt:
4782         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
4783         (helper_find_suggest), (gst_type_find_helper_get_range),
4784         (gst_type_find_helper):
4785         * libs/gst/base/gsttypefindhelper.h:
4786           New API: gst_type_find_helper_get_range() (#333042).
4787
4788 2006-03-02  Michael Smith  <msmith@fluendo.com>
4789
4790         * gst/gstregistryxml.c: (load_feature):
4791           Asserting on a failure to read part of the registry is Not Cool.
4792           Just log a warning and return NULL (which is already handled)
4793
4794 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
4795
4796         * win32/common/libgstbase.def:
4797           added export of gst_type_find_helper_for_buffer
4798         * win32/common/libgstbase.def:
4799           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
4800           gst_ghost_pad_get_target
4801
4802 2006-02-28  Wim Taymans  <wim@fluendo.com>
4803
4804         * docs/design/draft-klass.txt:
4805         We use Filter now.
4806         Added Connector to mark elements that are only used to
4807         allow pipeline connections.
4808         Moved Debug to extra feature since most of them are 
4809         functionally something else.
4810
4811 2006-02-28  Wim Taymans  <wim@fluendo.com>
4812
4813         * docs/design/draft-klass.txt:
4814         Some updates and clarifications.
4815
4816 2006-02-28  Wim Taymans  <wim@fluendo.com>
4817
4818         * docs/design/draft-klass.txt:
4819         Proposal for klass field values.
4820
4821         * docs/design/part-streams.txt:
4822         Start of a doc describing stream anatomy.
4823
4824 2006-02-28  Wim Taymans  <wim@fluendo.com>
4825
4826         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
4827         Help the compiler a bit with type registration.
4828         Use existing forward cod path instead of duplicating it when 
4829         handling a message.
4830         
4831         * gst/gstbus.c: (gst_bus_get_type):
4832         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
4833         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
4834         * gst/gstclock.c: (gst_clock_get_type):
4835         * gst/gstelement.c: (gst_element_get_type),
4836         * gst/gstelementfactory.c: (gst_element_factory_get_type):
4837         * gst/gstindexfactory.c: (gst_index_factory_get_type):
4838         * gst/gstminiobject.c: (gst_mini_object_get_type):
4839         * gst/gstpad.c: (gst_pad_get_type):
4840         * gst/gstsegment.c: (gst_segment_get_type):
4841         * gst/gststructure.c: (gst_structure_get_type):
4842         * gst/gstsystemclock.c: (gst_system_clock_get_type):
4843         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
4844         * gst/gstvalue.c:
4845         Help compiler with type registration.
4846
4847         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
4848         Small doc update.
4849
4850 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4851
4852         * plugins/elements/gsttypefindelement.c:
4853         (gst_type_find_element_handle_event):
4854           When we get an EOS event and have not found a type yet
4855           (most likely because we had not yet accumulated
4856           TYPE_FIND_MIN_SIZE of data yet), try to determine the
4857           type given the data we have so far. Fixes typefinding
4858           for very short streams again, most notably quicktime
4859           redirections as used on Apple's trailer site (#331701).
4860
4861 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4862
4863         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
4864         (gst_type_find_helper):
4865           Try typefinding factories with the highest rank first.
4866
4867 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4868
4869         * docs/libs/gstreamer-libs-docs.sgml:
4870         * docs/libs/gstreamer-libs-sections.txt:
4871         * libs/gst/base/gsttypefindhelper.c:
4872           Add section for typefind helper and add documentation
4873           for the old and the new function.
4874
4875 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4876
4877         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
4878         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
4879         (gst_type_find_helper_for_buffer):
4880         * libs/gst/base/gsttypefindhelper.h:
4881           New API: gst_type_find_helper_for_buffer() (#332723).
4882           
4883 2006-02-27  Michael Smith  <msmith@fluendo.com>
4884
4885         Patch by: Loïc Minier
4886
4887         * configure.ac:
4888         * docs/Makefile.am:
4889         * docs/slides/Makefile.am:
4890           prevent CVS directories getting disted.
4891
4892 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
4893
4894         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
4895           Use the REFCOUNTING category for caps refcounting.
4896           
4897 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
4898
4899         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
4900           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
4901
4902 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
4903
4904         * plugins/elements/gsttypefindelement.c:
4905         (gst_type_find_element_activate):
4906           Use gst_pad_check_pull_range() before _activate_pull()
4907           to avoid unnecessary open/close (see #331690).
4908
4909 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
4910
4911         * gst/gstutils.c:
4912           Docs enhancement: make it crystal clear what the
4913           gst_pad_add_*_probe() callbacks should look like.
4914
4915 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
4916
4917         * libs/gst/base/gstbasesrc.c:
4918           Document how applications can stop recording from
4919           live sources (see #330996).
4920
4921 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4922
4923         * tests/check/Makefile.am:
4924         * tests/check/libs/basesrc.c: (eos_event_counter),
4925         (basesrc_eos_events_pull), (basesrc_eos_events_push),
4926         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
4927         (gst_basesrc_suite), (main):
4928           ... and add some tests for the base source EOS stuff.
4929
4930 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4931
4932         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
4933           Test case originally showed the problem fixed below,
4934           but was then amended. Add checks back at the place
4935           where they used to be.
4936
4937 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4938
4939         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4940         (gst_base_src_init), (gst_base_src_loop),
4941         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4942         (gst_base_src_change_state):
4943         * libs/gst/base/gstbasesrc.h:
4944           Don't unconditionally send EOS when going from PAUSED to
4945           READY state, esp. make sure we don't send two EOS events
4946           in some cases (e.g. one when reaching EOS and one when
4947           going from PAUSED to READY). Also, we don't want to send
4948           EOS events when operating in pull mode. However, we do
4949           want to send an EOS event when shutting down a live
4950           source explicitly, for example (fixes #330996).
4951           
4952 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4953
4954         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4955           Update src->read_position after a seek when not using mmap.
4956           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
4957
4958 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
4959
4960         * gst/Makefile.am:
4961         * gst/gstparse.h:
4962         * gst/gstutils.c:
4963         * gst/gstutils.h:
4964         Make things work with --disable-parse as they do with 
4965         --disable-load-save - the symbols involved disappear, but the
4966         header is still installed and GST_DISABLE_PARSE is included via
4967         gstconfig.h
4968
4969 2006-02-20  Julien MOUTTE  <julien@moutte.net>
4970
4971         * libs/gst/base/gstbasetransform.c:
4972         (gst_base_transform_change_state): Fix a stupid bug. I was 
4973         sure I compiled that.
4974
4975 2006-02-20  Julien MOUTTE  <julien@moutte.net>
4976
4977         * gst/gstpad.c: (gst_pad_set_blocked_async):
4978         * gst/gstutils.c: (gst_pad_add_data_probe),
4979         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
4980         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
4981         (gst_pad_remove_buffer_probe): Make those function act on the
4982         ghostpad target when it's a ghostpad. (Closes #331727)
4983
4984 2006-02-20  Julien MOUTTE  <julien@moutte.net>
4985
4986         * libs/gst/base/gstbasetransform.c:
4987         (gst_base_transform_change_state): Make basetransform reusable.
4988         (Closes #331898)
4989
4990 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
4991
4992         * docs/random/release:
4993         Move the current documentation of how to do a release to the top
4994         of the file.
4995
4996         * gst/gstbin.c: (gst_bin_class_init),
4997         (gst_bin_handle_message_func):
4998         Allow multiple state-recalculation threads. (Closes #328873)
4999
5000 2006-02-19  Julien MOUTTE  <julien@moutte.net>
5001
5002         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
5003         * gst/gstpad.c: (gst_pad_set_event_function),
5004         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
5005         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
5006         2 strings. You can't use the STR_NULL macro on that.
5007
5008 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
5009
5010         * gst/gstpad.c: (gst_pad_set_event_function),
5011         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
5012         (gst_pad_set_getcaps_function)
5013         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
5014           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
5015           So now, we can use --gst-debug-level=5 on Windows
5016         * win32/common/libgstcontroller.def:
5017           Added export of gst_controller_init
5018         * win32/vs6/libgstcontroller.dsp:
5019           Fixed Release post build configuration
5020
5021 2006-02-17  Wim Taymans  <wim@fluendo.com>
5022
5023         * tests/check/gst/gstquery.c: (GST_START_TEST):
5024         Added another check.
5025
5026 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
5027
5028         * plugins/elements/gsttypefindelement.c: (find_peek):
5029           We can do peeks at non-zero offsets, as long as they
5030           fall within the buffer we have.
5031
5032 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
5033
5034         * tests/check/Makefile.am:
5035         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
5036         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
5037         (parse_suite), (main):
5038           Add testsuite for parse launch syntax
5039
5040 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
5041
5042         * plugins/elements/gsttypefindelement.c:
5043         (gst_type_find_element_chain):
5044           When typefinding is unsuccessful in the chain function, don't
5045           error out immediately. Only error out with NO_CAPS_FOUND if
5046           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
5047           otherwise simply wait for more data so we can try typefinding
5048           again with more data later. Also, don't attempt to typefind
5049           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
5050           this should improve typefinding from network sources where the
5051           size of the first buffer can be somewhat random.
5052
5053 2006-02-14  Wim Taymans  <wim@fluendo.com>
5054
5055         * docs/gst/gstreamer-sections.txt:
5056         * gst/gstpadtemplate.c:
5057         * gst/gstpadtemplate.h:
5058         Fix padtemplate docs, fixes #328805.
5059
5060 2006-02-14  Wim Taymans  <wim@fluendo.com>
5061
5062         * tools/gst-launch.c: (main):
5063         NO_PREROLL is not an ERROR so don't send confusing messages
5064         to the user.
5065
5066 2006-02-14  Wim Taymans  <wim@fluendo.com>
5067
5068         Patch by: Torsten Schoenfeld
5069
5070         * gst/gstregistry.c: (gst_registry_get_default),
5071         (_gst_registry_cleanup):
5072         Protect default registry with lock and ref/sink it.
5073         Fixes #324818
5074
5075 2006-02-14  Wim Taymans  <wim@fluendo.com>
5076
5077         * gst/gstbuffer.c:
5078         * gst/gstquery.c: (gst_query_list_add_format),
5079         (gst_query_set_formatsv), (gst_query_parse_formats_length),
5080         (gst_query_parse_formats_nth):
5081         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5082         Docs fixes.
5083
5084 2006-02-14  Wim Taymans  <wim@fluendo.com>
5085
5086         * docs/gst/gstreamer-sections.txt:
5087         Reworked query docs.
5088
5089         * gst/gstquery.c: (gst_query_new_formats),
5090         (gst_query_list_add_format), (gst_query_set_formats),
5091         (gst_query_set_formatsv), (gst_query_parse_formats_length),
5092         (gst_query_parse_formats_nth):
5093         * gst/gstquery.h:
5094         Flesh out formats query, added some new methods.
5095         Fix part of #324398.
5096
5097         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
5098         Added query creation tests.
5099
5100 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
5101
5102         * gst/gstpad.c: (fixate_value):
5103         Add a default fixation for fraction lists.
5104
5105 2006-02-13  Wim Taymans  <wim@fluendo.com>
5106
5107         * gst/gsttask.c: (gst_task_init), (gst_task_func),
5108         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
5109         (gst_task_join):
5110         * gst/gsttask.h:
5111         Detect and warn for obvious deadlocks. fixes #320340
5112         Fix error case where lock was not released.
5113
5114         * tests/check/Makefile.am:
5115         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
5116         (task_func), (gst_element_suite), (main):
5117         Add task check.
5118
5119 2006-02-13  Wim Taymans  <wim@fluendo.com>
5120
5121         * docs/gst/gstreamer-sections.txt:
5122         * gst/gstbus.c:
5123         Add new functions to docs.
5124
5125 2006-02-13  Wim Taymans  <wim@fluendo.com>
5126
5127         * docs/design/part-TODO.txt:
5128         Updated TODO list, basesrc supports seeking to non-bytes
5129         formats.
5130
5131         * docs/design/part-element-sink.txt:
5132         Update docs.
5133
5134         * gst/gstbin.c: (bin_replace_message),
5135         (gst_bin_handle_message_func):
5136         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
5137         * gst/gstevent.c: (gst_event_finalize):
5138         * gst/gstpad.c: (gst_pad_event_default_dispatch),
5139         (gst_pad_send_event):
5140         Use shiny new _TYPE_NAME macros.
5141
5142         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
5143         Move debug statement up.
5144
5145         * gst/gstelement.c: (gst_element_set_locked_state):
5146         Add some debugging.
5147
5148 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
5149
5150         * docs/gst/gstreamer-sections.txt:
5151         * gst/gstmessage.h:
5152         * gst/gstquery.h:
5153           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
5154           macros (#330906). Also, document the already existing
5155           GST_QUERY_TYPE macro.
5156
5157 2006-02-13  Wim Taymans  <wim@fluendo.com>
5158
5159         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
5160         (event_probe), (GST_START_TEST):
5161         Only events up to the pipeline EOS are counted, there are
5162         some more when going to NULL currently which we don't care
5163         about for now.
5164
5165 2006-02-13  Wim Taymans  <wim@fluendo.com>
5166
5167         * gst/gstpad.c: (gst_pad_send_event):
5168         Correctly check flushing and emit probes. fixes #330125
5169
5170 2006-02-10  Andy Wingo  <wingo@pobox.com>
5171
5172         * gst/gstbus.c (gst_bus_class_init): Declare our private data
5173         structure.
5174         (gst_bus_init): Cache the location of the private data in the
5175         instance structure.
5176         (gst_bus_enable_sync_message_emission) 
5177         (gst_bus_disable_sync_message_emission): Implement new public
5178         functions.
5179         (gst_bus_post): Emit the sync-message signal if the user asked for
5180         it. Fixes #330684.
5181
5182         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
5183         location of the bus-private structure.
5184         (gst_bus_enable_sync_message_emission)
5185         (gst_bus_disable_sync_message_emission): API addition
5186
5187 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
5188
5189         Patch by: Vincent Torri
5190
5191         * docs/pwg/building-boiler.xml:
5192         PWG patch from #326800
5193
5194 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
5195
5196         * configure.ac:
5197         * docs/Makefile.am:
5198         * docs/design/Makefile.am:
5199           Dist design docs.
5200
5201 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
5202
5203         * configure.ac:
5204           back to CVS
5205
5206 === release 0.10.3 ===
5207
5208 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
5209
5210         * configure.ac:
5211           releasing 0.10.3, "Like a virgin"
5212
5213 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
5214
5215         * configure.ac:
5216           2nd prerelease of 0.10.3
5217           Bump libtool versioning.
5218
5219 2006-02-07  Andy Wingo  <wingo@pobox.com>
5220
5221         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
5222         update last_stop if we're in TIME format and the timestamp is
5223         valid.
5224
5225         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
5226         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
5227         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
5228         If we get a new newsegment with a different format, adapt
5229         accordingly.
5230
5231         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
5232         of 0. Not a problem, really.
5233
5234         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
5235         warn if sync=true.
5236
5237 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
5238
5239         * configure.ac:
5240           Prelease of 0.10.3
5241
5242 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
5243
5244         * win32/vs7:
5245           project files updated to the default vs7 configuration
5246         * win32/common/libgstbase.def:
5247         * win32/common/libgstreamer.def:
5248           added new symbols,
5249           removed empty lines,
5250           sorted all exported symbols alphabetically
5251         * win32/common/dirent.c:
5252         * win32/common/dirent.h:
5253         * win32/common/gchar.h:
5254           use windows line end.
5255           
5256 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
5257
5258         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
5259           Send EOS event when stopping.
5260
5261 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
5262
5263         * docs/README:
5264           Tell folks what to do if the plugin-foobar.xml file
5265           hasn't been generated for a newly-added plugin.
5266
5267 2006-02-05  Julien MOUTTE  <julien@moutte.net>
5268
5269         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
5270         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
5271         (gst_collect_pads_start), (gst_collect_pads_stop),
5272         (gst_collect_pads_event): Collectpads now holds a reference
5273         to the GstPad that was added. Indeed we don't want to look
5274         at pads that might just go away with no warning...
5275
5276 2006-02-05  Julien MOUTTE  <julien@moutte.net>
5277
5278         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
5279         (gst_collect_pads_start), (gst_collect_pads_stop),
5280         (gst_collect_pads_event), (gst_collect_pads_chain):
5281         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
5282         Mark Nauwelaerts's patch on bug #328491.
5283
5284 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
5285
5286         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
5287         (gst_utils_suite):
5288           Add some simple tests for gst_parse_bin_from_description() and
5289           gst_bin_find_unconnected_pad() (#329069).
5290
5291 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
5292
5293         * tools/gst-launch.c: (event_loop), (main):
5294           Catch errors during preroll (#320084).
5295
5296 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
5297
5298         * plugins/elements/gsttypefindelement.c:
5299         (gst_type_find_element_activate):
5300           Post TYPE_NOT_FOUND error message when typefinding
5301           is unsuccessful in the activate function as well.
5302
5303 2006-02-02  Wim Taymans  <wim@fluendo.com>
5304
5305         * docs/design/part-element-sink.txt:
5306         Updated doc.
5307
5308 2006-02-02  Wim Taymans  <wim@fluendo.com>
5309
5310         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
5311         (gst_base_sink_render_object),
5312         (gst_base_sink_queue_object_unlocked):
5313         Only keep track of prerollable items when we are 
5314         prerolling.
5315         Before rendering after preroll, always check if we
5316         have queued items.
5317         Added some more debugging.
5318
5319 2006-02-02  Wim Taymans  <wim@fluendo.com>
5320
5321         * gst/gstelement.c: (gst_element_continue_state),
5322         (gst_element_set_state_func), (gst_element_change_state):
5323         Fixed #326576, been running this for quite some time with
5324         no regressions at all.
5325
5326 2006-02-02  Wim Taymans  <wim@fluendo.com>
5327
5328         * common/gst.supp:
5329         Added more suppressions
5330
5331 2006-02-02  Wim Taymans  <wim@fluendo.com>
5332
5333         * docs/design/part-element-sink.txt:
5334         Updated document.
5335
5336         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5337         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
5338         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
5339         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
5340         (gst_base_sink_do_sync), (gst_base_sink_render_object),
5341         (gst_base_sink_preroll_object),
5342         (gst_base_sink_queue_object_unlocked),
5343         (gst_base_sink_queue_object), (gst_base_sink_event),
5344         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
5345         (gst_base_sink_loop), (gst_base_sink_activate_pull),
5346         (gst_base_sink_get_position), (gst_base_sink_change_state):
5347         * libs/gst/base/gstbasesink.h:
5348         Totally refactored matching the design doc.
5349         Use two segments, one to clip incomming buffers and another to
5350         perform sync.
5351         Handle queueing correctly, bypass the queue when playing.
5352         Make EOS cancelable.
5353         Handle errors correctly when operating in pull based mode.
5354
5355         * tests/check/elements/fakesink.c: (GST_START_TEST),
5356         (fakesink_suite):
5357         Added new check for sinks.
5358
5359 2006-02-02  Wim Taymans  <wim@fluendo.com>
5360
5361         * gst/gstsegment.c: (gst_segment_clip):
5362         No reason to refuse to clip when start == -1
5363
5364 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
5365
5366         * docs/README:
5367         * docs/manual/intro-basics.xml:
5368         * docs/manual/intro-preface.xml:
5369         * docs/manual/manual.xml:
5370         * docs/pwg/advanced-dparams.xml:
5371         * docs/pwg/intro-basics.xml:
5372         * docs/pwg/intro-preface.xml:
5373         * docs/pwg/pwg.xml:
5374           describe dparams (controller) for plugins
5375           unify docs a little more
5376
5377 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
5378
5379         * docs/gst/gstreamer-sections.txt:
5380         * gst/gstutils.c: (element_find_unconnected_pad),
5381         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
5382         * gst/gstutils.h:
5383           Add new API: gst_parse_bin_from_description() and
5384           gst_bin_find_unconnected_pad() (#329069).
5385
5386 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
5387
5388         * docs/manual/README:
5389           uncover a nasty detail of the docs build
5390
5391 2006-01-31  Wim Taymans  <wim@fluendo.com>
5392
5393         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
5394         Don't cache duration messages if we're not going to use or
5395         free them.
5396
5397 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
5398
5399         * docs/manual/advanced-dparams.xml:
5400         * docs/pwg/advanced-dparams.xml:
5401           more dparam docs
5402         * gst/gstindex.c:
5403           fix docs
5404         * libs/gst/controller/lib.c: (gst_controller_init):
5405           init just once
5406
5407 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
5408
5409         * gst/gstelement.c: (gst_element_message_full):
5410           also show file/line/func if no additional debug was given
5411
5412 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
5413         
5414         * win32/vs7/grammar.vcproj:
5415           activate copy of autogenerated files for Release mode
5416
5417 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
5418         
5419         * win32/common/libgstreamer.def:
5420           export gst_value_compare
5421
5422 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
5423
5424         * plugins/elements/Makefile.am:
5425         * plugins/elements/gstelements.c:
5426         * plugins/elements/gstfdsink.c: (_do_init),
5427         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
5428         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
5429         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
5430         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
5431         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
5432         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
5433         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
5434         * plugins/elements/gstfdsink.h:
5435         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
5436
5437 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
5438
5439         * docs/manual/advanced-dparams.xml:
5440           describe controller
5441         * docs/manual/advanced-position.xml:
5442         * docs/manual/basics-init.xml:
5443         * docs/manual/manual.xml:
5444         * docs/manual/titlepage.xml:
5445         * docs/pwg/pwg.xml:
5446         * docs/pwg/titlepage.xml:
5447           cleanup xml (more to come)
5448         * libs/gst/controller/gstcontroller.c:
5449           fix typo
5450
5451 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
5452         
5453         * win32/vs6/grammar.dsp:
5454           add autogen of gstmarshal.c,h for Release mode
5455                 
5456 2006-01-30  Wim Taymans  <wim@fluendo.com>
5457
5458         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5459         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
5460         (gst_base_sink_handle_object), (gst_base_sink_event),
5461         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
5462         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
5463         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
5464         (gst_base_sink_deactivate), (gst_base_sink_activate),
5465         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
5466         (gst_base_sink_query), (gst_base_sink_change_state):
5467         Basesink cleanups, remove some old code.
5468         Handle the case where a subclass can preroll in the render
5469         method (mostly audiosinks).
5470         Handle more events.
5471         Remove some locks around variables that are now protected
5472         with the PREROLL_LOCK (clock_id, flushing, ..).
5473         Optimize position query some more, do correct locking.
5474         Remove old code to push queue in state change, this is not
5475         needed anymore since preroll blocks on all prerollable items 
5476         now.
5477         Almost implemented as described in design doc.
5478
5479 2006-01-30  Wim Taymans  <wim@fluendo.com>
5480
5481         * tests/check/gst/gstbin.c: (GST_START_TEST):
5482         Wait for refcount to settle down before checking.
5483
5484 2006-01-30  Wim Taymans  <wim@fluendo.com>
5485
5486         * docs/design/part-element-sink.txt:
5487         Pseudo code overview of desired sink behaviour regarding
5488         preroll.
5489
5490 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5491         * win32/vs6/grammar.dsp:
5492           fix some bugs in Release mode for autogenerated files
5493                 
5494 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5495         * win32/common/libgstbase.def:
5496         * win32/common/libgstreamer.def:
5497           export some new symbols: gst_base_src_set_format,
5498           gst_iterator_next, gst_structure_set_valist
5499
5500 2006-01-29  Julien MOUTTE  <julien@moutte.net>
5501
5502         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
5503         Set pad functions unconditionally. Fixes #329105.
5504
5505 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
5506         * win32/vs8:
5507           add vs8 project files created by Sergey Scobich
5508
5509 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
5510
5511         * gst/gstutils.c: (gst_element_unlink_pads):
5512         Don't leak pad references.
5513
5514         * tests/check/elements/fakesink.c: (GST_START_TEST):
5515         * tests/check/generic/sinks.c: (GST_START_TEST):
5516         * tests/check/generic/states.c: (GST_START_TEST):
5517         * tests/check/gst/gstbin.c: (GST_START_TEST):
5518         * tests/check/gst/gstcaps.c: (GST_START_TEST):
5519         * tests/check/gst/gstelement.c: (GST_START_TEST):
5520         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
5521         * tests/check/gst/gstiterator.c: (GST_START_TEST):
5522         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5523         Fix a bunch of leaks. Make generic/sinks.c
5524         use a bit less cpu by slowing the buffer rate
5525         between fakesrc and fakesink.
5526         
5527 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
5528         * gst/gstcaps.c:
5529         * gst/gstelement.c: (gst_element_send_event):
5530         * gst/gstevent.c:
5531         * gst/gstinfo.c:
5532         * gst/gstiterator.c:
5533         * gst/gstiterator.h:
5534         * gst/gstpad.c: (gst_pad_send_event):
5535         * gst/gststructure.c:
5536         * gst/gsturi.c:
5537         * gst/gstutils.c:
5538         * gst/gstvalue.c:
5539         * libs/gst/base/gstadapter.c:
5540           doc fixes, to link to function, just write gst_cool_function(), don't
5541           prefix with '#'
5542
5543 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
5544
5545         * plugins/elements/gsttee.c: (gst_tee_do_push),
5546         (gst_tee_handle_buffer):
5547         Always prefer an actual return value from a src
5548         pad in place of NOT_LINKED. This means we return
5549         WRONG_STATE when all src pads are WRONG_STATE
5550         instead of NOT_LINKED.
5551
5552         Lock when replacing the last message to prevent
5553         racing with the get_property method.
5554
5555         Add debug output
5556
5557 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
5558
5559         * tests/check/Makefile.am:
5560         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
5561         (main):
5562         Add a very simple check that should have caught the memleak I fixed
5563         last night (if not for the slice allocator hiding it)
5564
5565 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
5566
5567         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
5568         (gst_bin_remove_func), (gst_bin_handle_message_func),
5569         (bin_query_duration_fold), (bin_query_generic_fold):
5570         Clean up references to the clock provider when disposed or when
5571         handling a clock-lost message from it.
5572
5573         Unref sinks when performing a query via gst_iterator_fold, as the
5574         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
5575
5576         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
5577         (gst_clock_set_master):
5578         Drop our reference to the master clock, if any, when we are disposed.
5579
5580         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
5581         Chain up in dispose. 
5582
5583 2006-01-26  Wim Taymans  <wim@fluendo.com>
5584
5585         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
5586         Add some debugging.
5587
5588 2006-01-26  Julien MOUTTE  <julien@moutte.net>
5589
5590         * plugins/elements/gsttee.c: (gst_tee_do_push),
5591         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
5592         handles pad being NOT_LINKED or in WRONG_STATE.
5593
5594 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
5595
5596         * win32/MANIFEST:
5597           more updating
5598
5599 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
5600
5601         * win32/MANIFEST:
5602           remove obsolete entry
5603
5604 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
5605
5606         * docs/gst/gstreamer-sections.txt:
5607         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
5608         (gst_bin_iterate_sources), (gst_bin_send_event):
5609         * gst/gstbin.h:
5610         * gst/gstelement.c: (gst_element_send_event):
5611         * gst/gstevent.c:
5612         * gst/gstpad.c: (gst_pad_send_event):
5613           added code for downstream events, reviewed docs in gstevent.c
5614
5615 2006-01-25  Julien MOUTTE  <julien@moutte.net>
5616
5617         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
5618         We only query position using the clock in the playing state.
5619         Query peer in the other cases.
5620         * win32/common/config.h: Updates.
5621
5622 2006-01-24  Wim Taymans  <wim@fluendo.com>
5623
5624         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
5625         A clock entry that is scheduled for the exact time of the
5626         clock is still in time.
5627
5628         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5629         (gst_base_sink_do_sync):
5630         Add some more debug info.
5631
5632 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
5633
5634         * win32/vs7:
5635           Add new vs7 project files and solution.
5636
5637 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
5638
5639         * win32/vs7:
5640           all files removed as they were out-dated.
5641
5642 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5643
5644         * docs/random/release:
5645           update notes
5646         * gst/gstbin.c: (gst_bin_init):
5647         * gst/gstbus.c: (gst_bus_new):
5648         * gst/gstbus.h:
5649         * gst/gstpipeline.c: (gst_pipeline_init):
5650           use gst_bus_new(), improve logging, fix docs
5651         * win32/common/config.h:
5652           update for cvs build
5653
5654 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
5655
5656         * autogen.sh:
5657           up required version of automake to 1.7
5658
5659 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
5660
5661         * win32/common/libgstreamer.def:
5662           export gst_buffer_is_metadata_writable
5663
5664 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
5665
5666         * docs/gst/gstreamer-sections.txt:
5667         * gst/gstevent.h:
5668           Add gst_event_replace() (#327001)
5669
5670 2006-01-20  Wim Taymans  <wim@fluendo.com>
5671
5672         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
5673         Make it actually compile too..
5674
5675 2006-01-20  Wim Taymans  <wim@fluendo.com>
5676
5677         * gst/gstcaps.c:
5678         Clarify behaviour of _is_equal() when passing NULL parameters.
5679
5680         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
5681         (gst_pad_set_caps):
5682         Cleanups. Don't unref NULL caps.
5683         When setting the same caps, protect caps of the pad with
5684         proper lock.
5685         Use full functionality of _is_equal() when comparing caps.
5686
5687 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
5688
5689         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
5690         Don't loop infinitely if there are no buffers to present. Partially
5691         fixes #327197, but collectpads is just broken for reusing elements
5692         to do multiple encodes atm.
5693
5694 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
5695
5696         * tools/gst-inspect.c: (print_element_features):
5697         * tools/gst-xmlinspect.c: (main):
5698         URL_HANDLER is not a plugin feature we can search for in
5699         the registry.
5700
5701 2006-01-19  Edward Hervey  <edward@fluendo.com>
5702
5703         * gst/gstelement.c: (gst_element_pads_activate): 
5704         When activating, do src pads first, then sink pads.
5705         When de-activating, do sink pads first, then src pads.
5706
5707 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5708
5709         * docs/gst/gstreamer-sections.txt:
5710         Add gst_index_add_associationv to the docs
5711
5712 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5713
5714         * gst/gstevent.c:
5715           Fix docs typo
5716
5717         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
5718         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
5719           Do some refactoring. Doesn't actually change functionality,
5720           but makes landing the DRAIN event easier later.
5721
5722 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
5723
5724         * docs/pwg/advanced-scheduling.xml:
5725           Update from 0.9.x to 0.10 API and make example a bit
5726           clearer.
5727
5728 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5729
5730         * docs/gst/gstreamer-sections.txt:
5731         Add gst_buffer_(is|make)_metadata_writable methods.
5732
5733 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
5734
5735         * docs/design/part-sparsestreams.txt:
5736         Update sparse streams doc, hopefully for greater clarity
5737
5738 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
5739
5740         * docs/design/part-events.txt:
5741         Remove mention of FILLER events.
5742         Add DRAIN event.
5743
5744         * docs/design/part-sparsestreams.txt:
5745         Write some things about using NEWSEGMENT to keep sparse streams
5746         flowing.
5747
5748 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
5749
5750         * gst/gstbin.c: (gst_bin_dispose):
5751           Guard gst_object_unref call against a NULL object (dispose
5752           can theoretically be called multiple times).
5753           
5754 2006-01-18  Wim Taymans  <wim@fluendo.com>
5755
5756         * gst/gstbin.c: (gst_bin_element_set_state):
5757         * gst/gstclock.c: (gst_clock_id_wait):
5758         Added some more debug info.
5759
5760         * libs/gst/base/gstadapter.c:
5761         Added more docs.
5762
5763         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5764         (gst_base_sink_do_sync), (gst_base_sink_chain):
5765         Added some comments.
5766
5767 2006-01-18  Wim Taymans  <wim@fluendo.com>
5768
5769         * tests/check/Makefile.am:
5770         * tests/check/elements/fakesink.c: (chain_async_buffer),
5771         (chain_async), (chain_async_return), (GST_START_TEST),
5772         (fakesink_suite), (main):
5773         Added fakesink test that checks prerolling and clipping
5774         behaviour.
5775
5776         * tests/check/gst/gstutils.c: (GST_START_TEST):
5777         Make check run faster so that buildbots don't timeout.
5778
5779 2006-01-18  Wim Taymans  <wim@fluendo.com>
5780
5781         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5782         (gst_base_sink_do_sync):
5783         Some cleanups.
5784         When the sink finishes blocking on the preroll buffer, it can
5785         immediatly render it instead of rendering when the next buffer
5786         arrives.
5787
5788 2006-01-18  Wim Taymans  <wim@fluendo.com>
5789
5790         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
5791         (gst_base_sink_get_property), (gst_base_sink_do_sync),
5792         (gst_base_sink_chain):
5793         Small cleanups.
5794         GST_ELEMENT_CLOCK and sync are protected with LOCK.
5795         Don't store _last_stop if the buffer is dropped.
5796
5797 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
5798
5799         * plugins/elements/gsttypefindelement.c:
5800         (gst_type_find_element_class_init):
5801           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
5802           object method handler that sets the caps on the pad and we want
5803           that to happen before we emit the signal (fixes e.g. feeding a
5804           plain text file to decodebin).
5805
5806 2006-01-18  Christian Schaller  <Christian@fluendo.com>
5807
5808         * gst/gstplugin.c: Add MPL and Proprietary as license options
5809
5810 2006-01-18  Andy Wingo  <wingo@pobox.com>
5811
5812         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
5813         symbol was exported before, it appears this was just an oversight.
5814         Fixes #168703.
5815         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
5816
5817         * gst/gstindex.c (gst_index_add_associationv): Changed int in
5818         prototype to gint. OK since this prototype was not in the header.
5819
5820 2006-01-17  Andy Wingo  <wingo@pobox.com>
5821
5822         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
5823         registry while we remove plugins.
5824
5825         * tools/gst-inspect.c (print_element_info): Don't unref the
5826         factory arg, that should be the responsibility of whatever code
5827         received the ref. Fixes a double-free when called from
5828         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
5829         (main): Unref the factory if we have one.
5830         (print_element_list): No change -- relies on the
5831         plugin_feature_list_free to free the list of features.
5832
5833 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
5834
5835         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
5836         (gst_buffer_make_metadata_writable):
5837         * gst/gstbuffer.h:
5838         * libs/gst/base/gstbasetransform.c:
5839         (gst_base_transform_prepare_output_buf):
5840         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5841         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
5842           Replace gst_buffer_(make|is)_metadata_writable patch now
5843           that the release is out.
5844
5845 2006-01-17  Andy Wingo  <wingo@pobox.com>
5846
5847         * gst/gstregistry.c: Reflow design comment. Update so as to speak
5848         in the present tense without reference to versions.
5849
5850         * gst/gstregistry.c (gst_registry_add_plugin)
5851         (gst_registry_remove_plugin, gst_registry_remove_feature)
5852         (gst_registry_find_feature, gst_registry_get_feature_list)
5853         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
5854         (gst_registry_lookup, gst_registry_scan_path)
5855         (_gst_registry_remove_cache_plugins)
5856         (gst_registry_get_feature_list_by_plugin): Add argument
5857         validation.
5858
5859 === release 0.10.2 ===
5860
5861 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
5862
5863         * configure.ac:
5864           releasing 0.10.2, "If man is five"
5865
5866 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
5867
5868         * gst/gstbuffer.c:
5869         * gst/gstbuffer.h:
5870         * libs/gst/base/gstbasetransform.c:
5871         (gst_base_transform_prepare_output_buf):
5872         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5873         * tests/check/gst/gstbuffer.c: (gst_test_suite):
5874           Back out patch until after the release.
5875
5876 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
5877
5878         * gst/gstminiobject.c:
5879           Spelling fix in docs.
5880         * ChangeLog - remove conflict indicator
5881
5882 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
5883
5884         Reviewed By: Andy Wingo
5885
5886         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
5887         (gst_buffer_make_metadata_writable):
5888         * gst/gstbuffer.h:
5889           Add gst_buffer_(is|make)_metadata_writable as analogues of
5890           gst_buffer_(is|make)_writable.
5891
5892         * libs/gst/base/gstbasetransform.c:
5893         (gst_base_transform_prepare_output_buf):
5894         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5895           Use name gst_buffer_(is|make)_metadata_writable functions.
5896
5897         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
5898           Test gst_buffer_(is|make)_metadata_writable
5899         
5900           (Closes: #324162)
5901
5902 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5903
5904         * docs/manual/Makefile.am:
5905           don't do parallel make
5906         * configure.ac:
5907           AC_SUBST HOST_CPU
5908         * win32/common/config.h.in:
5909           add generations for HOST_CPU and GST_MAJORMINOR
5910         * win32/common/config.h:
5911           commit generated result
5912
5913 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
5914
5915         * docs/manual/appendix-integration.xml:
5916           Update GNOME integration section to use gst_init_get_option_group()
5917           instead of the old popt stuff (#322911). Also, GNOME applications
5918           should  now use gconf*sink and gconf*src instead of the old gconf
5919           helper lib we had.
5920
5921 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
5922
5923
5924         * docs/gst/gstreamer-docs.sgml:
5925         * docs/gst/gstreamer-sections.txt:
5926         * docs/libs/gstreamer-libs-sections.txt:
5927           add new API entries to the docs
5928         * libs/gst/controller/Makefile.am:
5929         * libs/gst/controller/gstcontroller.c:
5930         * libs/gst/controller/gstcontroller.h:
5931         * libs/gst/controller/gstcontrollerprivate.h:
5932         * libs/gst/controller/gsthelper.c:
5933         * libs/gst/controller/gstinterpolation.c:
5934           move private structs to private header
5935         * po/README:
5936           gstreamer-0.7 -> gstreamer-0.10
5937         * tests/check/libs/struct_i386.h:
5938           remove private structs
5939
5940 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5941
5942         * plugins/indexers/Makefile.am:
5943           Fixes as part of #317048
5944
5945 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5946
5947         * plugins/indexers/Makefile.am:
5948           fix #316086 - compilation when mmap is missing
5949
5950 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
5951
5952         * libs/gst/base/gstbasesink.c:
5953           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
5954           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
5955         * win32/common/config.h:
5956           added some defines GST_MAJORMINOR and HOST_CPU
5957         * win32/common/libgstbase.def:
5958         * win32/common/libgstreamer.def:
5959           added some exported functions.
5960
5961 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
5962
5963         * libs/gst/controller/gstcontroller.c:
5964         (gst_controlled_property_set_interpolation_mode),
5965         (gst_controlled_property_new):
5966         * libs/gst/controller/gstcontroller.h:
5967         * libs/gst/controller/gstinterpolation.c:
5968         (interpolate_none_get_string_value_array):
5969           make G_TYPE_STRING controlable
5970
5971 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
5972
5973         * tools/README:
5974         * tools/gst-feedback.1.in:
5975         * tools/gst-inspect.1.in:
5976         * tools/gst-launch.1.in:
5977         * tools/gst-md5sum.1.in:
5978         * tools/gst-typefind.1.in:
5979         * tools/gst-xmlinspect.1.in:
5980         * tools/gst-xmllaunch.1.in:
5981           cleanup man-pages, remove reference to gst-register, document env-vars
5982
5983 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
5984
5985         * gst/gstbuffer.c: (gst_buffer_span):
5986           gst_buffer_span should copy the timestamp of the first buffer
5987           if they were both originally overlapping subbuffers of the 
5988           same parent, using the same logic as the 'slow copy' case.
5989
5990 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
5991
5992         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
5993           Need to awaken ALL the pads when we pop a buffer, otherwise
5994           collectpads only works when there is 2 input streams.
5995
5996 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
5997
5998         * docs/random/ensonic/media-device-daemon.txt:
5999           more ideas (dbus)
6000         * gst/gstbuffer.c:
6001           fix doc example, add clarification
6002         * tools/gst-launch.1.in:
6003           add initial info about GST_PLUGIN_PATH, needs more work
6004
6005 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
6006
6007         * docs/manual/basics-bins.xml:
6008         * docs/manual/basics-elements.xml:
6009         * docs/manual/intro-basics.xml:
6010           Some more minor docs additions and updates.
6011
6012 2006-01-11  Wim Taymans  <wim@fluendo.com>
6013
6014         * docs/manual/basics-bins.xml:
6015         * docs/manual/basics-elements.xml:
6016         Some small fixes as pointed out by Ser-ver on IRC.
6017
6018 2006-01-10  Edward Hervey  <edward@fluendo.com>
6019
6020         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6021         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
6022         the single-segment mode.
6023
6024 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
6025
6026         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6027
6028         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
6029         (gst_base_src_perform_seek), (gst_base_src_send_event),
6030         (gst_base_src_set_property), (gst_base_src_get_property),
6031         (gst_base_src_loop), (gst_base_src_start),
6032         (gst_base_src_activate_push):
6033         * libs/gst/base/gstbasesrc.h:
6034           Name (private) union; makes Sun's Forte compiler happy (#324900).
6035
6036 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
6037
6038         * README:
6039           gst-register is gone.
6040
6041 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6042
6043         * gst/gstvalue.c: (_gst_value_initialize):
6044           make the G_TYPE_DATE instantiation work if debug is disabled
6045
6046 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
6047
6048         * gst/gstmessage.c: (gst_message_parse_tag),
6049         (gst_message_parse_error), (gst_message_parse_warning):
6050           Don't crash when return location for error/warning debug
6051           string is NULL; add fact that return locations can be
6052           NULL to docs where appropriate.
6053
6054 2006-01-05  Wim Taymans  <wim@fluendo.com>
6055
6056         * gst/gstplugin.c: (gst_plugin_load_file):
6057         Replace strdup by g_strdup.
6058
6059 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6060
6061         * docs/pwg/advanced-types.xml:
6062           fix doc borkage
6063
6064 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6065
6066         submitted by: Abel Cheung
6067
6068         * po/LINGUAS:
6069         * po/zh_TW.po:
6070           Added Chinese (traditional) translation
6071
6072 2006-01-04  Wim Taymans  <wim@fluendo.com>
6073
6074         * docs/manual/basics-pads.xml:
6075         * docs/plugins/Makefile.am:
6076         * docs/plugins/gstreamer-plugins-docs.sgml:
6077         * docs/plugins/gstreamer-plugins-sections.txt:
6078         * docs/pwg/advanced-clock.xml:
6079         * docs/pwg/advanced-scheduling.xml:
6080         * docs/pwg/advanced-types.xml:
6081         * plugins/elements/gstfdsink.c:
6082         * plugins/elements/gstfdsrc.c:
6083         * plugins/elements/gstfdsrc.h:
6084         * plugins/elements/gstidentity.c: (gst_identity_class_init):
6085         * plugins/elements/gstidentity.h:
6086         * plugins/elements/gstqueue.h:
6087         * plugins/elements/gsttee.c:
6088         * plugins/elements/gsttee.h:
6089         * plugins/elements/gsttypefindelement.c:
6090         (gst_type_find_element_class_init):
6091         * plugins/elements/gsttypefindelement.h:
6092         Small updates to various docs.
6093         Added core plugins to docs.
6094
6095 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6096
6097         * common/gst.supp:
6098           add a suppression for liboil's uninitialized variable
6099
6100 2006-01-02  James Livingston  <jrl at ids dot org dot au>
6101
6102         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6103
6104         * gst/gstutils.h:
6105           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
6106           macro, so that gcc doesn't complain if the -Wmissing-prototypes
6107           compiler switch is being used (#325429).
6108
6109 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
6110
6111         * gst/gstbin.c: (gst_bin_query):
6112           Disable duration query caching in bins until it gets
6113           fixed (see #324807).
6114
6115 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
6116
6117         * tools/gst-inspect.c: (print_element_properties_info):
6118           Handle properties of POINTER and BOXED type.
6119
6120 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
6121
6122         * gst/gst.c: (init_post):
6123           Init tags stuff and some other things before loading
6124           any static plugins (there may be other static plugins
6125           than just the GStreamer ones, and they may want to
6126           register their own tags or formats or whatever, and
6127           preferably without segfaulting).
6128
6129         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6130           Print at least a warning in the debug logs if we drop a
6131           query just because we don't know how to adjust the value
6132           in the particular format.
6133
6134 2005-12-24  David Schleef  <ds@schleef.org>
6135
6136         * tools/gstreamer-completion:
6137           Replacement for gst-complete written in sh and sed.  Only
6138           completes names of features, but that's 90% of what I want
6139           it for.  Properties are not available in registry.xml.  (Maybe
6140           they should be...)
6141
6142 === release 0.10.1 ===
6143
6144 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
6145
6146         * configure.ac:
6147           releasing 0.10.1, "Nollaig chridheil"
6148
6149 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
6150
6151         * docs/faq/cvs.xml:
6152           Add missing quote, should be make ERROR_CFLAGS="".
6153
6154 2005-12-20  Wim Taymans  <wim@fluendo.com>
6155
6156         * docs/design/part-trickmodes.txt:
6157         More documentation on trickmodes.
6158
6159 2005-12-20  Edward Hervey  <edward@fluendo.com>
6160
6161         * gst/gstcaps.c: (gst_static_caps_get_type):
6162         * gst/gstcaps.h:
6163           API addition: GST_TYPE_STATIC_CAPS
6164         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
6165         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
6166         * gst/gstpadtemplate.h:
6167           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
6168         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
6169         bindings.
6170
6171 2005-12-18  Wim Taymans  <wim@fluendo.com>
6172
6173         * libs/gst/base/gstadapter.c:
6174         * libs/gst/base/gstadapter.h:
6175         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6176         (gst_base_sink_get_position):
6177         * libs/gst/base/gstbasesink.h:
6178         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6179         (gst_base_src_default_query), (gst_base_src_default_do_seek),
6180         (gst_base_src_do_seek), (gst_base_src_perform_seek),
6181         (gst_base_src_send_event), (gst_base_src_update_length),
6182         (gst_base_src_get_range), (gst_base_src_loop),
6183         (gst_base_src_start):
6184         * libs/gst/base/gstbasesrc.h:
6185         * libs/gst/base/gstbasetransform.h:
6186         * libs/gst/base/gstcollectpads.h:
6187         * libs/gst/base/gstpushsrc.c:
6188         * libs/gst/base/gstpushsrc.h:
6189         * libs/gst/dataprotocol/dataprotocol.c:
6190         * libs/gst/dataprotocol/dataprotocol.h:
6191         * libs/gst/net/gstnetclientclock.h:
6192         * libs/gst/net/gstnettimeprovider.h:
6193         Documentation updates.
6194
6195 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
6196
6197         * docs/manual/basics-helloworld.xml:
6198           Remove superfluous closing bracket in helloworld example.
6199
6200 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
6201
6202         * tools/gst-launch.1.in:
6203           Update gst-launch man page; add a section with useful
6204           environment variables. Fixes #323882.
6205
6206 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
6207
6208         * gst/gst.c:
6209         * gst/gst_private.h:
6210           change some char* into char[]
6211
6212 2005-12-16  Wim Taymans  <wim@fluendo.com>
6213
6214         * gst/gstregistryxml.c: (load_feature):
6215         Cleanups.
6216         Don't use g_object_unref on GstObjects so that we avoid
6217         leaks on unsafe glibs.
6218
6219 2005-12-16  Wim Taymans  <wim@fluendo.com>
6220
6221         * gst/gstbin.c: (gst_bin_recalc_state):
6222         Small doc updates.
6223
6224 2005-12-16  Wim Taymans  <wim@fluendo.com>
6225
6226         * common/check.mak:
6227         Added make forever target for check.
6228
6229 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6230
6231         * gst/gst.c: (init_post):
6232           make the registry cache file HOST_CPU-dependent
6233
6234 2005-12-16  Andy Wingo  <wingo@pobox.com>
6235
6236         * plugins/elements/gstbufferstore.c
6237         (gst_buffer_store_cleared_func): Pay attention to g_list_append
6238         return value.
6239
6240         * tests/check/gst/gstobject.c
6241         (test_fake_object_name_threaded_unique): Pay attention to
6242         g_list_sort return value.
6243
6244 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
6245
6246         * tools/gst-feedback-m.m:
6247           Update for 0.9/0.10 (fixes #323870).
6248
6249 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
6250
6251         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
6252           Fix lcopy for mini objects, the mini object needs to be ref'ed.
6253           
6254         * tests/check/gst/gstminiobject.c: (my_foo_init),
6255         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
6256         (test_value_collection), (gst_mini_object_suite):
6257           Add test to ensure refcounts end up as expected when passing
6258           GstMiniObjects through g_object_get() and g_object_set().
6259
6260 2005-12-14  Julien MOUTTE  <julien@moutte.net>
6261
6262         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6263         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
6264         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
6265         of collectpads. This version removes a lot of races without
6266         touching API/ABI. Yay !
6267
6268 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
6269
6270         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
6271           Don't allow activation of a srcpad in pull_range if it has no
6272           getrange function.
6273           Change some debug statements to be a little clearer
6274
6275         * plugins/elements/gsttypefindelement.c:
6276         (gst_type_find_handle_src_query):
6277           Check that we have a peer before executing queries thereupon.
6278
6279         * tests/examples/metadata/read-metadata.c: (message_loop):
6280           Use gst_bus_pop instead of gst_bus_poll when we just want it to
6281           immediately return us any available message with 0 timeout.
6282
6283 2005-12-12  Michael Smith  <msmith@fluendo.com>
6284
6285         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
6286           Don't unref factories after calling them.
6287         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
6288         * plugins/elements/gsttypefindelement.c:
6289         (gst_type_find_element_chain):
6290           Free lists of factories after using them. Fixing typefinding memory
6291           leaks.
6292
6293 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6294
6295         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
6296         (gst_plugin_feature_load):
6297           more meaningful debug output
6298         * configure.ac:
6299         * tests/Makefile.am:
6300         * tests/old/examples/Makefile.am:
6301           make make distcheck happy again
6302
6303 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
6304
6305         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
6306           Catch the special case where we are operating chain-based,
6307           but the downstream peer pad has no chain function. Emit a
6308           custom error message in this case instead of letting the
6309           core generate one implying that this is some sort of core
6310           bug. It's not, it just means that whatever got plugged
6311           into the pipeline downstream when we announced the type
6312           can only operate pull-based, while our source can only
6313           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
6314           Error string has not been marked for translation yet, as
6315           it probably needs some more work first.
6316
6317         (gst_type_find_element_get_best_possibility):
6318           Add helper function to find the best of all available
6319           found possibilities that qualify given the min. threshold.
6320
6321         (gst_type_find_element_handle_event):
6322           Fix the case where we get an EOS while still in TYPEFIND
6323           mode (we want to chose the best of all possible types,
6324           not just the first type that happens to be in our unsorted
6325           list of possible types).
6326
6327         (gst_type_find_element_chain):
6328           Make sure we return GST_FLOW_ERROR when we errored out
6329           in stop_typefinding(); also, don't just find the best of
6330           all found type entries and then use the last examined
6331           type entry, but actually use the best entry.
6332
6333 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
6334
6335         * tests/examples/typefind/typefind.c: (type_found):
6336         * tests/examples/xml/runxml.c: (xml_loaded):
6337           More gcc4 fixes and a mem leak fix.
6338
6339 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6340
6341         * tests/examples/xml/createxml.c: (object_saved):
6342           gcc 4 fixes
6343
6344 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6345
6346         * tests/Makefile.am:
6347           enable the examples even more
6348
6349 2005-12-12  Andy Wingo  <wingo@pobox.com>
6350
6351         * libs/gst/net/gstnettimeprovider.c
6352         (gst_net_time_provider_class_init, gst_net_time_provider_init)
6353         (gst_net_time_provider_set_property)
6354         (gst_net_time_provider_get_property):
6355         API addition: Export "active" as a GObject property.
6356         (gst_net_time_provider_thread): Only respond to time queries if
6357         the time provider is active.
6358
6359         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
6360         NetTimeProvider, preserving binary compat.
6361
6362 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6363
6364         * tests/examples/controller/audio-example.c: (main):
6365         * tests/examples/launch/Makefile.am:
6366           convert comments again
6367
6368 2005-12-12  Wim Taymans  <wim@fluendo.com>
6369
6370         * libs/gst/base/gstpushsrc.c:
6371         Fix typo.
6372
6373 2005-12-12  Wim Taymans  <wim@fluendo.com>
6374
6375         * docs/libs/gstreamer-libs-sections.txt:
6376         Added new symbol to docs.
6377
6378         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6379         (gst_base_src_init), (gst_base_src_set_format),
6380         (gst_base_src_default_query), (gst_base_src_query),
6381         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
6382         (gst_base_src_perform_seek), (gst_base_src_send_event),
6383         (gst_base_src_default_event), (gst_base_src_event_handler),
6384         (gst_base_src_set_property), (gst_base_src_get_property),
6385         (gst_base_src_wait), (gst_base_src_do_sync),
6386         (gst_base_src_update_length), (gst_base_src_get_range),
6387         (gst_base_src_check_get_range), (gst_base_src_loop),
6388         (gst_base_src_default_negotiate), (gst_base_src_start),
6389         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6390         (gst_base_src_change_state):
6391         * libs/gst/base/gstbasesrc.h:
6392         Implement seeking to other formats than _BYTES.
6393         Implement more seeking methods correctly.
6394         Doc updates.
6395         Added query vmethod.
6396         Added do_seek vmethod to make life easier for subclasses
6397         when seeking.
6398         API addition: gst_base_src_set_format()
6399
6400 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6401
6402         * tests/examples/Makefile.am:
6403           added that too
6404
6405 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
6406
6407         * configure.ac:
6408         * docs/random/ensonic/media-device-daemon.txt:
6409         * tests/examples/controller/.cvsignore:
6410         * tests/examples/controller/Makefile.am:
6411         * tests/examples/controller/audio-example.c: (main):
6412         * tests/examples/helloworld/.cvsignore:
6413         * tests/examples/helloworld/Makefile.am:
6414         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
6415         * tests/examples/launch/.cvsignore:
6416         * tests/examples/launch/Makefile.am:
6417         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
6418         * tests/examples/metadata/.cvsignore:
6419         * tests/examples/metadata/Makefile.am:
6420         * tests/examples/metadata/read-metadata.c: (message_loop),
6421         (make_pipeline), (print_tag), (main):
6422         * tests/examples/queue/.cvsignore:
6423         * tests/examples/queue/Makefile.am:
6424         * tests/examples/queue/queue.c: (event_loop), (main):
6425         * tests/examples/typefind/.cvsignore:
6426         * tests/examples/typefind/Makefile.am:
6427         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
6428         (main):
6429         * tests/examples/xml/.cvsignore:
6430         * tests/examples/xml/Makefile.am:
6431         * tests/examples/xml/createxml.c: (object_saved), (main):
6432         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
6433         * tests/old/examples/Makefile.am:
6434         * tests/old/examples/TODO:
6435         * tests/old/examples/controller/.cvsignore:
6436         * tests/old/examples/controller/Makefile.am:
6437         * tests/old/examples/controller/audio-example.c:
6438         * tests/old/examples/helloworld/.cvsignore:
6439         * tests/old/examples/helloworld/Makefile.am:
6440         * tests/old/examples/helloworld/helloworld.c:
6441         * tests/old/examples/launch/.cvsignore:
6442         * tests/old/examples/launch/Makefile.am:
6443         * tests/old/examples/launch/mp3parselaunch.c:
6444         * tests/old/examples/launch/mp3play:
6445         * tests/old/examples/manual/Makefile.am:
6446         * tests/old/examples/metadata/Makefile.am:
6447         * tests/old/examples/metadata/read-metadata.c:
6448         * tests/old/examples/queue/.cvsignore:
6449         * tests/old/examples/queue/Makefile.am:
6450         * tests/old/examples/queue/queue.c:
6451         * tests/old/examples/typefind/.cvsignore:
6452         * tests/old/examples/typefind/Makefile.am:
6453         * tests/old/examples/typefind/typefind.c:
6454         * tests/old/examples/xml/.cvsignore:
6455         * tests/old/examples/xml/Makefile.am:
6456         * tests/old/examples/xml/createxml.c:
6457         * tests/old/examples/xml/runxml.c:
6458           applied some simple fixing to some examples
6459           re-enabled the working examples
6460
6461 2005-12-12  Wim Taymans  <wim@fluendo.com>
6462
6463         * gst/gstsegment.c: (gst_segment_init),
6464         (gst_segment_set_last_stop), (gst_segment_set_seek),
6465         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6466         (gst_segment_to_running_time):
6467         Added more documentation.
6468         Make sure the last_pos value is updated properly.
6469         Make sure to_stream_time and to_running_time don't
6470         operate on wrong values.
6471
6472         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6473         Update check.
6474
6475 2005-12-12  Michael Smith  <msmith@fluendo.com>
6476
6477         * plugins/elements/gsttypefindelement.c: (free_entry),
6478         (gst_type_find_element_chain):
6479           Now that we're not leaking factories, make sure we keep references
6480           to them while we need them.
6481
6482 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6483
6484         * tests/check/gst/struct_i386.h:
6485           ifdef out the XML structs
6486
6487 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6488
6489         * gst/gstvalue.c: (gst_value_transform_double_fraction):
6490           floor is not needed, F is always positive; this obviates the
6491           need for adding -lm when building without libxml
6492
6493 2005-12-12  Wim Taymans  <wim@fluendo.com>
6494
6495         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6496         Take current playback rate into account when reporting
6497         the position.
6498
6499 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6500
6501         * docs/manual/mime-world.fig:
6502           Let's try this again, this time with a file that is
6503           actually in XFig format.
6504
6505 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6506
6507         * docs/manual/mime-world.fig:
6508           Add audioconvert element to diagram so that it
6509           matches the text and the code (fixes #319526).
6510
6511 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6512
6513         * docs/pwg/building-chainfn.xml:
6514         * docs/pwg/building-pads.xml:
6515         * docs/pwg/building-state.xml:
6516         * docs/pwg/other-source.xml:
6517           Update state change stuff for 0.10 (fixes #322969).
6518
6519 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6520
6521         * docs/manual/advanced-dataaccess.xml:
6522         * docs/manual/appendix-checklist.xml:
6523         * docs/manual/appendix-programs.xml:
6524         * docs/manual/basics-pads.xml:
6525         * docs/manual/highlevel-components.xml:
6526         * docs/manual/manual.xml:
6527           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
6528           add converters in front of pipelines; remove curly
6529           brackets for threads stuff, they no longer exist; use
6530           GST_TYPE_FRACTION for framerates; update some pieces of
6531           code to 0.10, but there's plenty more to do.
6532
6533         * docs/manual/appendix-porting.xml:
6534           Expand on asynchroneous state changes; s/0.9/0.10/;
6535           mention disappearance of gst_init_get_popt_table()
6536           (fixes #322916).
6537
6538 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
6539
6540         * docs/faq/using.xml:
6541           Spider no longer exists, and neither does gst-launch-ext.
6542           Update examples to use decodebin and playbin and put
6543           converters in front of sinks (fixes #323726).
6544
6545 2005-12-09  Michael Smith  <msmith@fluendo.com>
6546
6547         * plugins/elements/gsttypefindelement.c: (find_peek),
6548         (gst_type_find_element_chain):
6549           Fix leaking element factories in typefinding.
6550           Fix problem where we forgot about a probable type on non-seekable
6551           files, and thus later mis-typefound it.
6552
6553 2005-12-09  Michael Smith  <msmith@fluendo.com>
6554
6555         * common/m4/gst-makecontext.m4:
6556         * common/m4/gst-mcsc.m4:
6557         * configure.ac:
6558         * win32/common/config.h:
6559         * win32/common/config.h.in:
6560           Remove makecontext stuff; not used in 0.10 and causes problems on
6561           HPUX according to bug #322441
6562
6563 2005-12-07  Wim Taymans  <wim@fluendo.com>
6564
6565         * tests/check/Makefile.am:
6566         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
6567         (main):
6568         * tests/check/libs/struct_i386.h:
6569         Added ABI check for libs
6570
6571 2005-12-07  Wim Taymans  <wim@fluendo.com>
6572
6573         * tests/check/Makefile.am:
6574         And add the struct_i386.h to dist.
6575
6576 2005-12-07  Wim Taymans  <wim@fluendo.com>
6577
6578         * tests/check/Makefile.am:
6579         * tests/check/gst/.cvsignore:
6580         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
6581         (main):
6582         * tests/check/gst/struct_i386.h:
6583         Added check for ABI compatibility.
6584
6585 2005-12-07  Wim Taymans  <wim@fluendo.com>
6586
6587         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
6588         (gst_fake_src_get_times), (gst_fake_src_create):
6589         Fix broken sync option, fixes #323259
6590
6591 2005-12-07  Wim Taymans  <wim@fluendo.com>
6592
6593         * gst/gstbuffer.c:
6594         Small docs update.
6595
6596         * gst/gstcaps.c: (gst_caps_is_equal):
6597         Don't assert on NULL <--> X. Fixes #323260
6598
6599         * gst/gstminiobject.c: (gst_mini_object_replace):
6600         If we're doing atomic operations, we might just as well use
6601         the proper way to get an atomic pointer.
6602
6603         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6604         Clean up debugging.
6605
6606 2005-12-07  Michael Smith  <msmith@fluendo.com>
6607
6608         * gst/parse/grammar.y:
6609           Remove handling of { } for threads.
6610
6611 2005-12-06  David Schleef  <ds@schleef.org>
6612
6613         * libs/gst/base/gstbasetransform.c: speling fix.
6614
6615 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6616
6617         * docs/libs/tmpl/gstdataprotocol.sgml:
6618         * docs/random/omega/testing/gstobject.c:
6619         * gst/gst.c:
6620         * gst/gstclock.c:
6621         * gst/gstelement.c:
6622         * gst/gstelementfactory.c:
6623         * gst/gsterror.c:
6624         * gst/gstevent.c:
6625         * gst/gstghostpad.c:
6626         * gst/gstinfo.c:
6627         * gst/gstpadtemplate.c:
6628         * gst/gstregistryxml.c:
6629         * gst/gsttaglist.c:
6630         * gst/gsttagsetter.c:
6631         * gst/gsttypefind.c:
6632         * gst/gstvalue.c:
6633         * libs/gst/base/gstbasesrc.c:
6634         * libs/gst/net/gstnetclientclock.c:
6635         * libs/gst/net/gstnettimeprovider.c:
6636         * plugins/elements/gstfakesrc.c:
6637         * plugins/elements/gstfdsrc.c:
6638         * plugins/elements/gstfilesrc.c:
6639         * plugins/elements/gstidentity.c:
6640         * plugins/elements/gstqueue.c:
6641         * plugins/elements/gsttypefindelement.c:
6642         * plugins/indexers/gstfileindex.c:
6643         * plugins/indexers/gstmemindex.c:
6644         * tests/check/gst/gsttag.c:
6645         * tests/old/examples/cutter/cutter.c:
6646         * tests/old/examples/mixer/mixer.c:
6647         * tests/old/examples/xml/runxml.c: (main):
6648         * tests/old/testsuite/caps/normalisation.c:
6649         * tests/old/testsuite/debug/global.c:
6650         * tests/old/testsuite/parse/parse1.c:
6651         * tools/gst-xmlinspect.c:
6652         * win32/common/dirent.c:
6653           expand tabs
6654
6655 === release 0.10.0 ===
6656
6657 2005-12-05   <thomas (at) apestaart (dot) org>
6658
6659         * configure.ac:
6660           releasing 0.10.0, "Maroilles"
6661
6662 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6663
6664         submitted by: Funda Wang <fundawang@linux.net.cn>
6665
6666         * po/LINGUAS:
6667         * po/zh_CN.po:
6668           added Chinese (Traditional) translation
6669
6670 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6671
6672         * docs/gst/gstreamer-sections.txt:
6673         * docs/libs/tmpl/gstdataprotocol.sgml:
6674         * docs/random/thomasvs/TODO:
6675         * gst/gstutils.c:
6676         * gst/gstutils.h:
6677           fix docs
6678
6679 2005-12-05  Andy Wingo  <wingo@pobox.com>
6680
6681         patch by: Wim Taymans <wim@fluendo.com>
6682
6683         * libs/gst/base/gstbasetransform.c
6684         (gst_base_transform_prepare_output_buf)
6685         (gst_base_transform_buffer_alloc):
6686         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
6687         alloc_buffer_and_set_caps.
6688
6689         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
6690         set_caps on the source pad.
6691         (gst_pad_alloc_buffer_and_set_caps): New function, does what
6692         alloc_buffer used to do. Fixes #322874.
6693
6694         * docs/gst/gstreamer-sections.txt: 
6695         * docs/design/part-negotiation.txt: 
6696         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
6697         changes.
6698
6699 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6700
6701         patch by: Sebastien Moutte
6702
6703         * win32/MANIFEST:
6704         * win32/common/config.h.in:
6705         * win32/vs6/libgstcontroller.dsp:
6706           win32 build fixes
6707
6708 2005-12-05  Wim Taymans  <wim@fluendo.com>
6709
6710         * gst/gstcaps.c: (gst_caps_is_equal):
6711         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
6712         (gst_fake_src_create):
6713         Back out previous code changes, leave doc updates, file bugs 
6714         instead. 
6715
6716 2005-12-05  Wim Taymans  <wim@fluendo.com>
6717
6718         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
6719         (gst_fake_src_get_times), (gst_fake_src_create):
6720         * plugins/elements/gstfakesrc.h:
6721         Fix broken sync code.
6722
6723 2005-12-05  Wim Taymans  <wim@fluendo.com>
6724
6725         * gst/gstcaps.c: (gst_caps_is_equal):
6726         Comparing NULL against !NULL yields different caps, not a
6727         failure.
6728
6729 2005-12-05  Wim Taymans  <wim@fluendo.com>
6730
6731         * gst/gstpipeline.c:
6732         Fix small typo in docs.
6733
6734 2005-12-05  Andy Wingo  <wingo@pobox.com>
6735
6736         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
6737
6738         * gst/gst.c (init_post): remove hard-coded 0.9 location for
6739         registries/plugins with a MAJORMINOR one.
6740         (plugin_desc): Rename library from gstcoreleements to
6741         staticelements. Fixes #323222.
6742
6743 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
6744
6745         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
6746           Change debug category to 'collectpads' from 'collect_pads'
6747           (fixes #323250).
6748
6749 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
6750
6751         patch by: Sebastien Moutte
6752
6753         * libs/gst/controller/gstinterpolation.c:
6754           use convert function for uint64/double
6755         * win32/vs6/libgstcontroller.dsp:
6756           link to GLib
6757
6758 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
6759
6760         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
6761         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
6762         * gst/gstutils.h:
6763         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6764           add tests that seem to show that the guint64/gdouble conversions
6765           are correct.
6766
6767 2005-12-02  Wim Taymans  <wim@fluendo.com>
6768
6769         * gst/gstregistry.c: (gst_registry_add_path):
6770         * gst/gstregistry.h:
6771         * gst/gstregistryxml.c:
6772         Fix docs again.
6773
6774 2005-12-02  Wim Taymans  <wim@fluendo.com>
6775
6776         * gst/gstutils.c: (gst_util_uint64_scale_int64),
6777         (gst_util_uint64_scale_int):
6778         Small cleanup.
6779
6780         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6781         Add debug log line.
6782
6783         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
6784         Add FIXME.
6785
6786 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6787
6788         * win32/MANIFEST:
6789         * win32/common/config.h:
6790         * win32/vs6/gstreamer.dsw:
6791         * win32/vs6/libgstcoreelements.dsp:
6792         * win32/vs6/libgstelements.dsp:
6793           renamed core elements plugin
6794
6795 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
6796
6797         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
6798         (get_candidates):
6799           do piece-wise major/minor comparison so 0.9 < 0.10
6800           also allow .exe extensions for tools
6801
6802 2005-12-02  Michael Smith  <msmith@fluendo.com>
6803
6804         * gst/gst.c:
6805           Escape a % to make gtkdoc happier; bug 322958.
6806
6807 === release 0.9.7 ===
6808
6809 2005-12-01   <thomas (at) apestaart (dot) org>
6810
6811         * configure.ac:
6812           releasing 0.9.7, "My Dog Has No Nose"
6813
6814 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6815
6816         * common/gst-xmlinspect.py:
6817         * configure.ac:
6818         * docs/libs/tmpl/gstdataprotocol.sgml:
6819         * docs/random/release:
6820         * po/af.po:
6821         * po/az.po:
6822         * po/bg.po:
6823         * po/ca.po:
6824         * po/cs.po:
6825         * po/de.po:
6826         * po/en_GB.po:
6827         * po/fr.po:
6828         * po/it.po:
6829         * po/nb.po:
6830         * po/nl.po:
6831         * po/ru.po:
6832         * po/sq.po:
6833         * po/sr.po:
6834         * po/sv.po:
6835         * po/tr.po:
6836         * po/uk.po:
6837         * po/vi.po:
6838         * win32/common/config.h:
6839         * win32/common/config.h.in:
6840         * win32/vs6/gst_inspect.dsp:
6841         * win32/vs6/gst_launch.dsp:
6842         * win32/vs6/libgstbase.dsp:
6843         * win32/vs6/libgstelements.dsp:
6844         * win32/vs6/libgstreamer.dsp:
6845         * win32/vs7/GStreamer.vcproj:
6846         * win32/vs7/gst-inspect.vcproj:
6847         * win32/vs7/gst-launch.vcproj:
6848         * win32/vs7/libgstbase.vcproj:
6849           bump GST_MAJORMINOR to 0.10
6850           reset libtool version
6851
6852 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6853
6854         * po/LINGUAS:
6855         * po/bg.po:
6856           Added Bulgarian translation by (Alexander Shopov)
6857
6858 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6859
6860         * tests/check/gst/gstplugin.c:
6861           fix test
6862
6863 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6864
6865         * common/gst-xmlinspect.py:
6866         * common/gtk-doc-plugins.mak:
6867         * configure.ac:
6868         * docs/Makefile.am:
6869         * docs/gst/Makefile.am:
6870         * docs/gst/gstreamer-docs.sgml:
6871         * docs/gst/gstreamer-sections.txt:
6872         * docs/gst/gstreamer.types:
6873         * docs/gst/gstreamer.types.in:
6874         * docs/plugins/Makefile.am:
6875         * docs/plugins/gstreamer-plugins-docs.sgml:
6876         * docs/plugins/gstreamer-plugins-sections.txt:
6877         * docs/plugins/gstreamer-plugins.types:
6878         * docs/plugins/inspect.stamp:
6879         * docs/plugins/inspect/plugin-coreelements.xml:
6880         * docs/plugins/inspect/plugin-coreindexers.xml:
6881         * docs/plugins/scanobj-build.stamp:
6882         * gstreamer.spec.in:
6883         * plugins/elements/Makefile.am:
6884         * plugins/elements/gstelements.c:
6885         * plugins/elements/gstfakesink.c:
6886         * plugins/elements/gstfakesrc.c:
6887         * plugins/elements/gstfilesink.c:
6888         * plugins/elements/gstfilesrc.c:
6889         * plugins/elements/gstqueue.c:
6890         * plugins/indexers/Makefile.am:
6891         * plugins/indexers/gstindexers.c:
6892           document core plugins in a separate document just like all the
6893           others
6894           rename these plugins to something starting with core
6895
6896 2005-12-01  Andy Wingo  <wingo@pobox.com>
6897
6898         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
6899         padding here before, but it missed the commit.
6900
6901 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6902
6903         * libs/gst/controller/gstinterpolation.c:
6904           whitespace prices have crashed, we should feel free to use some now
6905           use gst_guint64_to_gdouble
6906
6907 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6908
6909         * libs/gst/controller/gstcontroller.c:
6910         * libs/gst/controller/gsthelper.c:
6911         * libs/gst/controller/gstinterpolation.c:
6912         * libs/gst/controller/lib.c:
6913           wrap config.h include
6914
6915 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6916
6917         * docs/gst/gstreamer-sections.txt:
6918           update docs
6919
6920 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
6921
6922         * plugins/elements/gstelements.c:
6923         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
6924         (gst_fd_sink__class_init), (gst_fd_sink__init),
6925         (gst_fd_sink__chain), (gst_fd_sink__set_property),
6926         (gst_fd_sink__get_property):
6927         * plugins/elements/gstfdsink.h:
6928         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
6929         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
6930         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
6931         (gst_fd_src_unlock), (gst_fd_src_set_property),
6932         (gst_fd_src_get_property), (gst_fd_src_create),
6933         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
6934         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
6935         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
6936         (gst_fd_src_uri_handler_init):
6937         * plugins/elements/gstfdsrc.h:
6938         * plugins/elements/gstqueue.c: (gst_queue_get_type):
6939           more anal cleanup
6940
6941 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
6942
6943         * docs/gst/Makefile.am:
6944         * docs/gst/gstreamer.types.in:
6945         * gst/Makefile.am:
6946           fix the docs build
6947
6948 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6949
6950         * configure.ac:
6951         * gst/Makefile.am:
6952         * gst/gst.c:
6953         * gst/gstplugin.h:
6954         * gst/gstregistry.h:
6955         * tests/benchmarks/complexity.c:
6956         * tests/benchmarks/mass-elements.c:
6957         * tests/check/Makefile.am:
6958         * tools/Makefile.am:
6959         * tools/gst-inspect.c:
6960         * tools/gst-xmlinspect.c:
6961           various fixes to make
6962           --disable-nls --disable-registry --disable-loadsave
6963           --disable-parse --disable-gst-debug
6964           work and get the core .so down to 360444 bytes after stripping
6965
6966 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6967
6968         * Makefile.am:
6969         * configure.ac:
6970           descend into tests
6971         * docs/random/thomasvs/TODO:
6972         * tests/Makefile.am:
6973         * tests/README:
6974           add a README
6975
6976 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
6977
6978         * win32/GStreamer.vcproj:
6979         * win32/MANIFEST:
6980         * win32/Makefile:
6981         * win32/Makefile.inspect:
6982         * win32/Makefile.launch:
6983         * win32/Makefile.register:
6984         * win32/README.txt:
6985         * win32/gst-inspect.vcproj:
6986         * win32/gst-launch.vcproj:
6987         * win32/gst-register.vcproj:
6988         * win32/gstelements.vcproj:
6989         * win32/gstgetbits.def:
6990         * win32/gstgetbits.vcproj:
6991         * win32/gstreamer-dbg.def:
6992         * win32/gstreamer.def:
6993         * win32/libgstbase.def:
6994         * win32/libgstbase.vcproj:
6995         * win32/link_oldruntime.c:
6996         * win32/mman.c:
6997         * win32/mman.h:
6998         * win32/mman.inl:
6999         * win32/msvc71.sln:
7000           move even more stuff, win32/ is nice and clean now
7001
7002 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7003
7004         * libs/gst/control/.cvsignore:
7005         * win32/MANIFEST:
7006         * win32/config.h:
7007         * win32/dirent.c:
7008         * win32/dirent.h:
7009         * win32/gstbytestream.def:
7010         * win32/gstbytestream.vcproj:
7011         * win32/gstconfig.h:
7012         * win32/gstenumtypes.c:
7013         * win32/gstenumtypes.h:
7014         * win32/gstoptimalscheduler.vcproj:
7015         * win32/gstversion.h:
7016         * win32/gtchar.h:
7017         * win32/testsuite/bins.vcproj:
7018         * win32/testsuite/bytestream.vcproj:
7019         * win32/testsuite/caps.vcproj:
7020         * win32/testsuite/cleanup.vcproj:
7021         * win32/testsuite/clock.vcproj:
7022         * win32/testsuite/debug.vcproj:
7023         * win32/testsuite/dlopen.vcproj:
7024         * win32/testsuite/dynparams.vcproj:
7025         * win32/testsuite/elements.vcproj:
7026         * win32/testsuite/ghostpads.vcproj:
7027         * win32/testsuite/indexers.vcproj:
7028         * win32/testsuite/negotiation.vcproj:
7029         * win32/testsuite/parse.vcproj:
7030         * win32/testsuite/plugin.vcproj:
7031         * win32/testsuite/refcounting.vcproj:
7032         * win32/testsuite/schedulers.vcproj:
7033         * win32/testsuite/states.vcproj:
7034         * win32/testsuite/tags.vcproj:
7035         * win32/testsuite/threads.vcproj:
7036           remove old win32 stuff that isn't maintained and should be
7037           reorganized
7038
7039 2005-11-30  Andy Wingo  <wingo@pobox.com>
7040
7041         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
7042         loading the gst.interfaces python module bork.
7043
7044         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
7045         available since GLib 2.2. Fixes #318031.
7046
7047 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7048
7049         * Makefile.am:
7050         * check/.cvsignore:
7051         * check/Makefile.am:
7052         * check/elements/.cvsignore:
7053         * check/elements/fakesrc.c:
7054         * check/elements/fdsrc.c:
7055         * check/elements/identity.c:
7056         * check/generic/.cvsignore:
7057         * check/generic/states.c:
7058         * check/gst-libs/.cvsignore:
7059         * check/gst-libs/controller.c:
7060         * check/gst-libs/gdp.c:
7061         * check/gst/.cvsignore:
7062         * check/gst/capslist.h:
7063         * check/gst/gst.c:
7064         * check/gst/gstbin.c:
7065         * check/gst/gstbuffer.c:
7066         * check/gst/gstbus.c:
7067         * check/gst/gstcaps.c:
7068         * check/gst/gstelement.c:
7069         * check/gst/gstevent.c:
7070         * check/gst/gstghostpad.c:
7071         * check/gst/gstiterator.c:
7072         * check/gst/gstmessage.c:
7073         * check/gst/gstminiobject.c:
7074         * check/gst/gstobject.c:
7075         * check/gst/gstpad.c:
7076         * check/gst/gstpipeline.c:
7077         * check/gst/gstplugin.c:
7078         * check/gst/gstsegment.c:
7079         * check/gst/gststructure.c:
7080         * check/gst/gstsystemclock.c:
7081         * check/gst/gsttag.c:
7082         * check/gst/gstutils.c:
7083         * check/gst/gstvalue.c:
7084         * check/net/.cvsignore:
7085         * check/net/gstnetclientclock.c:
7086         * check/net/gstnettimeprovider.c:
7087         * check/pipelines/.cvsignore:
7088         * check/pipelines/cleanup.c:
7089         * check/pipelines/simple_launch_lines.c:
7090         * check/pipelines/stress.c:
7091         * check/states/.cvsignore:
7092         * check/states/sinks.c:
7093         * configure.ac:
7094         * examples/Makefile.am:
7095         * examples/appreader/.cvsignore:
7096         * examples/appreader/Makefile.am:
7097         * examples/appreader/appreader.c:
7098         * examples/controller/.cvsignore:
7099         * examples/controller/Makefile.am:
7100         * examples/controller/audio-example.c:
7101         * examples/cutter/.cvsignore:
7102         * examples/cutter/Makefile.am:
7103         * examples/cutter/cutter.c:
7104         * examples/cutter/cutter.h:
7105         * examples/events/Makefile.am:
7106         * examples/events/seek.c:
7107         * examples/helloworld/.cvsignore:
7108         * examples/helloworld/Makefile.am:
7109         * examples/helloworld/helloworld.c:
7110         * examples/helloworld2/.cvsignore:
7111         * examples/helloworld2/Makefile.am:
7112         * examples/helloworld2/helloworld2.c:
7113         * examples/launch/.cvsignore:
7114         * examples/launch/Makefile.am:
7115         * examples/launch/mp3parselaunch.c:
7116         * examples/launch/mp3play:
7117         * examples/manual/.cvsignore:
7118         * examples/manual/Makefile.am:
7119         * examples/manual/extract.pl:
7120         * examples/metadata/Makefile.am:
7121         * examples/metadata/read-metadata.c:
7122         * examples/mixer/.cvsignore:
7123         * examples/mixer/Makefile.am:
7124         * examples/mixer/mixer.c:
7125         * examples/mixer/mixer.h:
7126         * examples/pingpong/.cvsignore:
7127         * examples/pingpong/Makefile.am:
7128         * examples/pingpong/pingpong.c:
7129         * examples/plugins/.cvsignore:
7130         * examples/plugins/Makefile.am:
7131         * examples/plugins/example.c:
7132         * examples/plugins/example.h:
7133         * examples/pwg/.cvsignore:
7134         * examples/pwg/Makefile.am:
7135         * examples/pwg/extract.pl:
7136         * examples/queue/.cvsignore:
7137         * examples/queue/Makefile.am:
7138         * examples/queue/queue.c:
7139         * examples/queue2/.cvsignore:
7140         * examples/queue2/Makefile.am:
7141         * examples/queue2/queue2.c:
7142         * examples/queue3/.cvsignore:
7143         * examples/queue3/Makefile.am:
7144         * examples/queue3/queue3.c:
7145         * examples/queue4/.cvsignore:
7146         * examples/queue4/Makefile.am:
7147         * examples/queue4/queue4.c:
7148         * examples/retag/.cvsignore:
7149         * examples/retag/Makefile.am:
7150         * examples/retag/retag.c:
7151         * examples/retag/transcode.c:
7152         * examples/thread/.cvsignore:
7153         * examples/thread/Makefile.am:
7154         * examples/thread/thread.c:
7155         * examples/typefind/.cvsignore:
7156         * examples/typefind/Makefile.am:
7157         * examples/typefind/typefind.c:
7158         * examples/xml/.cvsignore:
7159         * examples/xml/Makefile.am:
7160         * examples/xml/createxml.c:
7161         * examples/xml/runxml.c:
7162         * tests/Makefile.am:
7163         * tests/check/Makefile.am:
7164         * testsuite/.cvsignore:
7165         * testsuite/Makefile.am:
7166         * testsuite/Rules:
7167         * testsuite/caps/.cvsignore:
7168         * testsuite/caps/Makefile.am:
7169         * testsuite/caps/app_fixate.c:
7170         * testsuite/caps/audioscale.c:
7171         * testsuite/caps/caps.c:
7172         * testsuite/caps/caps.h:
7173         * testsuite/caps/caps_strings:
7174         * testsuite/caps/compatibility.c:
7175         * testsuite/caps/deserialize.c:
7176         * testsuite/caps/enumcaps.c:
7177         * testsuite/caps/eratosthenes.c:
7178         * testsuite/caps/filtercaps.c:
7179         * testsuite/caps/fixed.c:
7180         * testsuite/caps/fraction-convert.c:
7181         * testsuite/caps/fraction-multiply-and-zero.c:
7182         * testsuite/caps/intersect2.c:
7183         * testsuite/caps/intersection.c:
7184         * testsuite/caps/normalisation.c:
7185         * testsuite/caps/random.c:
7186         * testsuite/caps/renegotiate.c:
7187         * testsuite/caps/sets.c:
7188         * testsuite/caps/simplify.c:
7189         * testsuite/caps/string-conversions.c:
7190         * testsuite/caps/structure.c:
7191         * testsuite/caps/subtract.c:
7192         * testsuite/caps/union.c:
7193         * testsuite/debug/.cvsignore:
7194         * testsuite/debug/Makefile.am:
7195         * testsuite/debug/category.c:
7196         * testsuite/debug/commandline.c:
7197         * testsuite/debug/global.c:
7198         * testsuite/debug/output.c:
7199         * testsuite/debug/printf_extension.c:
7200         * testsuite/dlopen/.cvsignore:
7201         * testsuite/dlopen/Makefile.am:
7202         * testsuite/dlopen/dlopen_gst.c:
7203         * testsuite/dlopen/loadgst.c:
7204         * testsuite/elements/.cvsignore:
7205         * testsuite/elements/Makefile.am:
7206         * testsuite/elements/gst-inspect-check.in:
7207         * testsuite/elements/struct_i386.h:
7208         * testsuite/elements/struct_size.c:
7209         * testsuite/indexers/.cvsignore:
7210         * testsuite/indexers/Makefile.am:
7211         * testsuite/indexers/cache1.c:
7212         * testsuite/indexers/indexdump.c:
7213         * testsuite/parse/.cvsignore:
7214         * testsuite/parse/Makefile.am:
7215         * testsuite/parse/parse1.c:
7216         * testsuite/parse/parse2.c:
7217         * testsuite/plugin/.cvsignore:
7218         * testsuite/plugin/Makefile.am:
7219         * testsuite/plugin/README:
7220         * testsuite/plugin/dynamic.c:
7221         * testsuite/plugin/linked.c:
7222         * testsuite/plugin/loading.c:
7223         * testsuite/plugin/registry.c:
7224         * testsuite/plugin/static.c:
7225         * testsuite/plugin/static2.c:
7226         * testsuite/plugin/testplugin.c:
7227         * testsuite/plugin/testplugin2.c:
7228         * testsuite/plugin/testplugin2_s.c:
7229         * testsuite/plugin/testplugin_s.c:
7230         * testsuite/refcounting/.cvsignore:
7231         * testsuite/refcounting/Makefile.am:
7232         * testsuite/refcounting/bin.c:
7233         * testsuite/refcounting/element.c:
7234         * testsuite/refcounting/element_pad.c:
7235         * testsuite/refcounting/mainloop.c:
7236         * testsuite/refcounting/mem.c:
7237         * testsuite/refcounting/mem.h:
7238         * testsuite/refcounting/object.c:
7239         * testsuite/refcounting/pad.c:
7240         * testsuite/refcounting/sched.c:
7241         * testsuite/refcounting/thread.c:
7242         * testsuite/states/.cvsignore:
7243         * testsuite/states/Makefile.am:
7244         * testsuite/states/bin.c:
7245         * testsuite/states/locked.c:
7246         * testsuite/states/parent.c:
7247         * testsuite/threads/.cvsignore:
7248         * testsuite/threads/159566.c:
7249         * testsuite/threads/159852.c:
7250         * testsuite/threads/Makefile.am:
7251         * testsuite/threads/queue.c:
7252         * testsuite/threads/signals.c:
7253         * testsuite/threads/staticrec.c:
7254         * testsuite/threads/thread.c:
7255         * testsuite/threads/threadb.c:
7256         * testsuite/threads/threadc.c:
7257         * testsuite/threads/threadd.c:
7258         * testsuite/threads/threade.c:
7259         * testsuite/threads/threadf.c:
7260         * testsuite/threads/threadg.c:
7261         * testsuite/threads/threadh.c:
7262         * testsuite/threads/threadi.c:
7263           move all of these under tests
7264
7265 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7266
7267         * configure.ac:
7268         * tests/Makefile.am:
7269           fix distcheck
7270
7271 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7272
7273         * docs/gst/gstreamer-sections.txt:
7274         * tests/sched/.cvsignore:
7275         * tests/sched/Makefile.am:
7276         * tests/sched/cases/(fs-fs).xml:
7277         * tests/sched/cases/(fs-i-fs).xml:
7278         * tests/sched/cases/(fs-i-i-fs).xml:
7279         * tests/sched/cases/(fs-i-q[i-fs]).xml:
7280         * tests/sched/dynamic-pipeline.c:
7281         * tests/sched/interrupt1.c:
7282         * tests/sched/interrupt2.c:
7283         * tests/sched/interrupt3.c:
7284         * tests/sched/runtestcases:
7285         * tests/sched/runxml.c:
7286         * tests/sched/sched-stress.c:
7287         * tests/sched/sort.c:
7288         * tests/sched/testcases:
7289         * tests/sched/testcases1.tc:
7290         * tests/seeking/.cvsignore:
7291         * tests/seeking/Makefile.am:
7292         * tests/seeking/seeking1.c:
7293         * tests/threadstate/.cvsignore:
7294         * tests/threadstate/Makefile.am:
7295         * tests/threadstate/test1.c:
7296         * tests/threadstate/test2.c:
7297         * tests/threadstate/threadstate1.c:
7298         * tests/threadstate/threadstate2.c:
7299         * tests/threadstate/threadstate3.c:
7300         * tests/threadstate/threadstate4.c:
7301         * tests/threadstate/threadstate5.c:
7302           remove obsolete tests
7303         * configure.ac:
7304         * tests/bench-complexity.scm:
7305         * tests/bench-mass_elements.scm:
7306         * tests/complexity.c:
7307         * tests/complexity.gnuplot:
7308         * tests/instantiate/.cvsignore:
7309         * tests/instantiate/Makefile.am:
7310         * tests/instantiate/caps.c:
7311         * tests/mass_elements.c:
7312         * tests/network-clock-utils.scm:
7313         * tests/network-clock.scm:
7314         * tests/plot-data:
7315         First pass at cleaning up tests/ dir before moving the rest
7316         Combined with CVS surgery
7317
7318 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7319
7320         * po/POTFILES.in:
7321           queue has moved, update
7322
7323 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7324
7325         * docs/gst/gstreamer-sections.txt:
7326           remove double entries from the docs
7327         * gst/gst_private.h:
7328         * gst/gstinfo.c: (_gst_debug_init):
7329           remove the THREAD debug category
7330         * gst/Makefile.am:
7331         * gst/gstqueue.c:
7332         * gst/gstqueue.h:
7333         * docs/gst/gstreamer.types:
7334         * plugins/elements/gstqueue.c: (gst_queue_get_type),
7335         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
7336           completely move queue and fix up debugging categories
7337
7338 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7339
7340         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7341           make initialization portable, using LL is not
7342
7343 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7344
7345         * win32/common/gstconfig.h:
7346           add large padding
7347
7348 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7349
7350         * win32/common/libgstreamer.def:
7351           rename symbols; sort base section
7352
7353 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7354
7355         * gst/gstclock.c: (do_linear_regression):
7356           remove crack non-portable handrolled DEBUG macro
7357
7358 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7359
7360         * docs/random/release:
7361           update notes
7362         * win32/common/gstenumtypes.c: (register_gst_object_flags),
7363         (gst_object_flags_get_type), (register_gst_bin_flags),
7364         (gst_bin_flags_get_type), (register_gst_buffer_flag),
7365         (gst_buffer_flag_get_type), (register_gst_bus_flags),
7366         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7367         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
7368         (gst_caps_flags_get_type), (register_gst_clock_return),
7369         (gst_clock_return_get_type), (register_gst_clock_entry_type),
7370         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7371         (gst_clock_flags_get_type), (register_gst_state),
7372         (gst_state_get_type), (register_gst_state_change_return),
7373         (gst_state_change_return_get_type), (register_gst_state_change),
7374         (gst_state_change_get_type), (register_gst_element_flags),
7375         (gst_element_flags_get_type), (register_gst_core_error),
7376         (gst_core_error_get_type), (register_gst_library_error),
7377         (gst_library_error_get_type), (register_gst_resource_error),
7378         (gst_resource_error_get_type), (register_gst_stream_error),
7379         (gst_stream_error_get_type), (register_gst_event_type_flags),
7380         (gst_event_type_flags_get_type), (register_gst_event_type),
7381         (gst_event_type_get_type), (register_gst_seek_type),
7382         (gst_seek_type_get_type), (register_gst_seek_flags),
7383         (gst_seek_flags_get_type), (register_gst_format),
7384         (gst_format_get_type), (register_gst_index_certainty),
7385         (gst_index_certainty_get_type), (register_gst_index_entry_type),
7386         (gst_index_entry_type_get_type),
7387         (register_gst_index_lookup_method),
7388         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7389         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7390         (gst_index_resolver_method_get_type), (register_gst_index_flags),
7391         (gst_index_flags_get_type), (register_gst_debug_level),
7392         (gst_debug_level_get_type), (register_gst_debug_color_flags),
7393         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7394         (gst_iterator_result_get_type), (register_gst_iterator_item),
7395         (gst_iterator_item_get_type), (register_gst_message_type),
7396         (gst_message_type_get_type), (register_gst_mini_object_flags),
7397         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7398         (gst_pad_link_return_get_type), (register_gst_flow_return),
7399         (gst_flow_return_get_type), (register_gst_activate_mode),
7400         (gst_activate_mode_get_type), (register_gst_pad_direction),
7401         (gst_pad_direction_get_type), (register_gst_pad_flags),
7402         (gst_pad_flags_get_type), (register_gst_pad_presence),
7403         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7404         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7405         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7406         (gst_plugin_error_get_type), (register_gst_plugin_flags),
7407         (gst_plugin_flags_get_type), (register_gst_rank),
7408         (gst_rank_get_type), (register_gst_query_type),
7409         (gst_query_type_get_type), (register_gst_tag_merge_mode),
7410         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7411         (gst_tag_flag_get_type), (register_gst_task_state),
7412         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7413         (gst_alloc_trace_flags_get_type),
7414         (register_gst_type_find_probability),
7415         (gst_type_find_probability_get_type), (register_gst_uri_type),
7416         (gst_uri_type_get_type), (register_gst_parse_error),
7417         (gst_parse_error_get_type):
7418         * win32/common/gstenumtypes.h:
7419         * win32/common/gstversion.h:
7420           update visual studio generated files
7421
7422 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7423
7424         * win32/vs6/libgstbase.dsp:
7425         * win32/vs6/libgstelements.dsp:
7426           update project files for new locations
7427
7428 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
7429
7430         * Makefile.am:
7431           remove some files
7432         * README:
7433           reinstate and update
7434         * DEVEL:
7435         * REQUIREMENTS:
7436           removed
7437         * LICENSE:
7438         * docs/random/LICENSE:
7439           moved to random
7440
7441 2005-11-30  Edward Hervey  <edward@fluendo.com>
7442
7443         * gst/gsttypefind.c: (gst_type_find_register):
7444         * gst/gsttypefind.h:
7445         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
7446         (gst_type_find_factory_dispose):
7447         * gst/gsttypefindfactory.h:
7448         Fix memory leak in GstTypeFindFactory.
7449
7450 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7451
7452         * gst/gst.c:
7453         * plugins/elements/Makefile.am:
7454         * plugins/elements/gstelements.c:
7455         * plugins/elements/gstqueue.c:
7456           move queue from core to the elements plugin
7457
7458 2005-11-29  Andy Wingo  <wingo@pobox.com>
7459
7460         * libs/gst/base/gstbasetransform.h: 
7461         * libs/gst/base/gstbasesrc.h: 
7462         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
7463
7464         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
7465         of pointers by which to pad very extensible base classes (like the
7466         ones in libs/gst/base).
7467
7468 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7469
7470         * docs/gst/gstreamer-docs.sgml:
7471         * docs/gst/gstreamer-sections.txt:
7472         * docs/libs/gstreamer-libs-docs.sgml:
7473         * docs/libs/gstreamer-libs-sections.txt:
7474           moving documentation from core to lib
7475
7476 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7477
7478         * check/Makefile.am:
7479         * configure.ac:
7480         * docs/gst/Makefile.am:
7481         * gst/Makefile.am:
7482         * gst/base/.cvsignore:
7483         * gst/base/Makefile.am:
7484         * gst/base/README:
7485         * gst/base/gstadapter.c:
7486         * gst/base/gstadapter.h:
7487         * gst/base/gstbasesink.c:
7488         * gst/base/gstbasesink.h:
7489         * gst/base/gstbasesrc.c:
7490         * gst/base/gstbasesrc.h:
7491         * gst/base/gstbasetransform.c:
7492         * gst/base/gstbasetransform.h:
7493         * gst/base/gstcollectpads.c:
7494         * gst/base/gstcollectpads.h:
7495         * gst/base/gstpushsrc.c:
7496         * gst/base/gstpushsrc.h:
7497         * gst/base/gsttypefindhelper.c:
7498         * gst/base/gsttypefindhelper.h:
7499         * gst/check/Makefile.am:
7500         * gst/check/gstcheck.c:
7501         * gst/check/gstcheck.h:
7502         * gst/net/Makefile.am:
7503         * gst/net/gstnet.h:
7504         * gst/net/gstnetclientclock.c:
7505         * gst/net/gstnetclientclock.h:
7506         * gst/net/gstnettimepacket.c:
7507         * gst/net/gstnettimepacket.h:
7508         * gst/net/gstnettimeprovider.c:
7509         * gst/net/gstnettimeprovider.h:
7510         * libs/gst/Makefile.am:
7511         * libs/gst/base/Makefile.am:
7512         * libs/gst/base/gstbasetransform.c:
7513         * libs/gst/check/Makefile.am:
7514         * plugins/elements/Makefile.am:
7515         * po/POTFILES.in:
7516           CVS surgery + support to move base, check, and net out of gst
7517           and into libs/gst
7518
7519 2005-11-29  Andy Wingo  <wingo@pobox.com>
7520
7521         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
7522
7523         * gst/gststructure.h (struct _GstStructure): Only one pointer of
7524         padding.
7525
7526         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
7527
7528         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
7529
7530         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
7531
7532         * gst/gstobject.h: (struct _GstObject): Only one pointer of
7533         padding; reduces object size by about 30%. We don't expect
7534         anything else to go into gstobject.
7535
7536         * gst/gstminiobject.h (struct _GstMiniObject)
7537         (struct _GstMiniObjectClass): Only one pointer of padding; the
7538         payload is only a pointer and two ints anyway. For the class there
7539         are only two methods as well.
7540         
7541         * gst/gstelement.h (struct _GstElementClass): Removed
7542         the state_changed signal callback, it is not used.
7543
7544 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7545
7546         * docs/gst/gstreamer.types:
7547           fix includes, though they are a little dinky
7548
7549 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7550
7551         * check/Makefile.am:
7552           look in the right place for elements, a lot more chance of
7553           success
7554         * gst/Makefile.am:
7555           remove indexers and elements subdirs
7556         * plugins/Makefile.am:
7557           make indexers conditional
7558
7559 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7560
7561         * Makefile.am:
7562         * configure.ac:
7563         * plugins/elements/Makefile.am:
7564         * plugins/elements/gstcapsfilter.c:
7565         * plugins/elements/gstfilesink.c:
7566         * plugins/elements/gstfilesrc.c:
7567         * plugins/elements/gstidentity.c:
7568         * plugins/indexers/Makefile.am:
7569           do CVS surgery and related build fixery to move elements
7570           and indexers in a new gstreamer/plugins directory, out of the
7571           gst/ directory
7572
7573 2005-11-29  Andy Wingo  <wingo@pobox.com>
7574
7575         * check/Makefile.am:
7576         * pkgconfig/gstreamer-net-uninstalled.pc.in:
7577         * pkgconfig/gstreamer-net.pc.in:
7578         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
7579         #322257.
7580
7581 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7582
7583         * tools/Makefile.am:
7584         * tools/gst-complete.1.in:
7585         * tools/gst-complete.c:
7586         * tools/gst-compprep.1.in:
7587         * tools/gst-compprep.c:
7588           removing -compprep and -complete
7589
7590 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7591
7592         * gst/gstevent.c: (gst_event_new_new_segment),
7593         (gst_event_parse_new_segment):
7594         * gst/gstevent.h:
7595           fix #320529 - clean up new_segment API and structure.
7596           Let's hope everyone was using the methods, and not the structure.
7597
7598 2005-11-29  Edward Hervey  <edward@fluendo.com>
7599
7600         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7601         (gst_base_sink_event), (gst_base_sink_do_sync),
7602         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
7603         Properly handle non GST_FORMAT_TIME segment
7604         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7605         Properly handle non GST_FORMAT_TIME segment
7606         * gst/gstsegment.c:
7607         This function is valid if the accumulator is 0 and the format
7608         is different from the requested format.
7609         
7610 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
7611
7612         * docs/gst/gstreamer-sections.txt:
7613         Add gst_query_new_seeking and gst_query_parse_seeking to the
7614         docs.
7615
7616 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
7617
7618         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
7619           Treat a pad alloc with new caps the same as if we were not
7620           negotiated, in order to allow a changing upstream output
7621           to produce a new format of data.
7622
7623 2005-11-29  Edward Hervey  <edward@fluendo.com>
7624
7625         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7626         (gst_base_transform_event), (gst_base_transform_eventfunc):
7627         The event virtual method is now properly implemented, with a default
7628         handler
7629         Sub classes should call the parent_class event method. They should
7630         return FALSE if they had a problem handling the given event, or don't
7631         want GstBaseTransform to send that even downstream
7632         * gst/elements/gstidentity.c: (gst_identity_class_init),
7633         (gst_identity_init), (gst_identity_event),
7634         (gst_identity_transform_ip), (gst_identity_set_property),
7635         (gst_identity_get_property):
7636         * gst/elements/gstidentity.h:
7637         Added the single-segment boolean property.
7638         If set to TRUE, it will output a single segment of data, starting from
7639         0, will eat up all incoming newsegment, and modify the timestamp of the
7640         buffers accordingly
7641
7642 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
7643
7644         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
7645           Don't ref NULL target pad (#322751). Improve docs.
7646
7647 2005-11-29  Michael Smith  <msmith@fluendo.com>
7648
7649         * gst/gstregistryxml.c: (load_plugin):
7650           Don't crash if we failed to load a feature from a plugin. 
7651
7652 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7653
7654         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
7655         (GST_START_TEST):
7656           use more check API and less GLib API
7657
7658 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7659
7660         * Makefile.am:
7661           don't run checks if we don't have check
7662         * common/check.mak:
7663           remove the registry when running make torture
7664         * docs/gst/gstreamer-sections.txt:
7665           remove second multiply
7666         * gst/gstqueue.c: (gst_queue_loop):
7667           fix a compile warning when disabling debug
7668
7669 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
7670
7671         * gst/gstinfo.h:
7672         Hey! Let's print the pad name if the pointer != NULL instead
7673         of when it == NULL :-)
7674
7675 2005-11-28  Wim Taymans  <wim@fluendo.com>
7676
7677         * check/gst/gstutils.c: (GST_START_TEST):
7678         Updated check, add some scaling accuracy checking code.
7679
7680         * gst/gstutils.c: (gst_util_div128_64),
7681         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
7682         (gst_util_uint64_scale_int):
7683         Fix 6 times faster division code. Optimize for common 
7684         1/1 and less common X/1 cases.
7685
7686 2005-11-28  Wim Taymans  <wim@fluendo.com>
7687
7688         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7689         More checks.
7690
7691         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
7692         (do_linear_regression), (gst_clock_add_observation):
7693         Cleanups.
7694         Release lock when the clock cannot be slaved.
7695         Catch the case where the regression returned an invalid denominator.
7696
7697         * gst/gstutils.c: (gst_util_div128_64_iterate),
7698         (gst_util_div128_64), (gst_util_uint64_scale_int64),
7699         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
7700         Add protentially more performant non-iterative 128/64 divide function
7701         that unfortunatly does not work yet.
7702         Shortcut the trivial 0/X = 0 case.
7703         Remove the warnings on overflow.
7704
7705 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7706
7707         * gst/gstplugin.c: (gst_plugin_register_func):
7708           everything causing a plugin not to load should be at least a WARNING
7709
7710 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
7711
7712         * docs/random/ensonic/dparams.txt:
7713           some TODOs for the next dev cycle
7714         * libs/gst/controller/gstcontroller.c:
7715         (gst_controlled_property_set_interpolation_mode),
7716         (gst_controlled_property_new):
7717         * libs/gst/controller/gstcontroller.h:
7718           use base type to assign acccessor functions
7719
7720 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
7721
7722         * check/Makefile.am:
7723         Oops, that should have been top_srcdir
7724
7725 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
7726
7727         * check/Makefile.am:
7728         * check/elements/fdsrc.c: (GST_START_TEST):
7729         Use a cmdline define to specify the location of a file to use for
7730         testing, to avoid breaking distcheck.
7731
7732 2005-11-28  Andy Wingo  <wingo@pobox.com>
7733
7734         * gst/gstpad.c (fixate_value): Use array functions for arrays.
7735
7736 2005-11-28  Edward Hervey  <edward@fluendo.com>
7737
7738         * tools/gst-launch.c: (main):
7739         Clarify the output strings, makes it easier to translate.
7740         Fixes #322626
7741
7742 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7743
7744         * gst/Makefile.am:
7745           don't try and build net if we don't even have <sys/socket.h>
7746
7747 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
7748
7749         * check/Makefile.am:
7750         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
7751         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
7752           Add tests for fdsrc seekability
7753
7754         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
7755         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
7756         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
7757         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
7758         * gst/elements/gstfdsrc.h:
7759           fdsrc should not be a 'live' source.
7760           Implement seeking on seekable fd's.
7761
7762         * gst/gstquery.c: (gst_query_new_seeking),
7763         (gst_query_parse_seeking):
7764         * gst/gstquery.h:
7765           Implement SEEKING query functions: 
7766             *_new_seeking and *_parse_seeking
7767
7768 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
7769
7770         * gst/gstelement.c: (gst_element_dispose):
7771           don't loop forever
7772
7773         * gst/gstiterator.c:
7774         * gst/gststructure.c:
7775           doc fixes
7776
7777         * libs/gst/controller/gstcontroller.c:
7778         (gst_controlled_property_set_interpolation_mode):
7779         * libs/gst/controller/gstcontroller.h:
7780         * libs/gst/controller/gstinterpolation.c:
7781         (interpolate_none_get_enum_value_array):
7782           support controlling enums
7783
7784 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
7785
7786         * gst/gstvalue.c:
7787           Improve documentation for gst_value_union().
7788
7789         * gst/gstvalue.h:
7790           Change return value for union, intersect and subtract functions
7791           from gint to gboolean.
7792
7793 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
7794
7795         * gst/gstvalue.c: (gst_value_serialize_any_list),
7796         (gst_value_transform_any_list_string),
7797         (gst_value_deserialize_list), (gst_value_deserialize_array),
7798         (gst_value_set_int_range), (gst_value_deserialize_int_range),
7799         (gst_value_set_double_range), (gst_value_deserialize_double_range),
7800         (gst_value_set_fraction_range_full),
7801         (gst_value_deserialize_fraction_range),
7802         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
7803         (gst_value_deserialize_boolean),
7804         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
7805         (gst_value_serialize_float), (gst_value_deserialize_float),
7806         (gst_string_wrap), (gst_value_deserialize_string),
7807         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
7808         (gst_value_union_int_range_int_range),
7809         (gst_value_intersect_int_range_int_range),
7810         (gst_value_intersect_double_range_double_range),
7811         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
7812         (gst_value_subtract_int_range_int_range),
7813         (gst_value_subtract_double_double_range),
7814         (gst_value_subtract_double_range_double_range),
7815         (gst_value_deserialize_fraction):
7816         * gst/gstvalue.h:
7817           Use gint, gdouble and gchar in our API instead of int, double and
7818           char (and make usage in gstvalue.c more consistent).
7819
7820 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7821
7822         * check/Makefile.am:
7823         * libs/gst/controller/Makefile.am:
7824         * libs/gst/dataprotocol/Makefile.am:
7825           fix up Makefile.am and remove GST_ENABLE_NEW
7826
7827 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7828
7829         * configure.ac:
7830         * gst/Makefile.am:
7831         * gst/base/Makefile.am:
7832         * gst/check/Makefile.am:
7833         * gst/elements/Makefile.am:
7834         * gst/net/Makefile.am:
7835           update LDFLAGS use some more
7836
7837 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7838
7839         * common/m4/gst-doc.m4:
7840           Fixes #312589
7841
7842 2005-11-26  Edward Hervey  <edward@fluendo.com>
7843
7844         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
7845         This shouldn't issue a g_warning since it returns NULL if it
7846         couldn't find the plugin, and all functions using this behave
7847         properly on a NULL return. Switching to a GST_WARNING.
7848
7849 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
7850
7851         * gst/gstbin.c: (gst_bin_handle_message_func):
7852         Don't leak clock messages.
7853
7854 2005-11-25  Wim Taymans  <wim@fluendo.com>
7855
7856         * gst/gstutils.c: (gst_util_uint64_scale_int64),
7857         (gst_util_uint64_scale_int):
7858         Optimisations, remove unneeded vars.
7859
7860 2005-11-25  Wim Taymans  <wim@fluendo.com>
7861
7862         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7863         Added more checks for the high precision uint64 cases.
7864
7865         * gst/gstutils.c: (gst_util_uint64_scale_int64),
7866         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
7867         Implement high precision (guint64 * guint64) / guint64.
7868
7869 2005-11-24  Wim Taymans  <wim@fluendo.com>
7870
7871         * gst/base/gstbasesrc.c: (gst_base_src_query):
7872         Fix wrong percentage query.
7873
7874         * gst/gstutils.c: (gst_util_uint64_scale),
7875         (gst_util_uint64_scale_int):
7876         Add some more common cases that can be handled 
7877         efficiently to _scale.
7878
7879 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7880
7881         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
7882         (gst_mini_object_suite):
7883           don't use check calls from threads; check probably isn't
7884           threadsafe and using a lock to make it threadsafe would
7885           defeat the purpose of this check
7886         * gst/check/gstcheck.c:
7887         * gst/check/gstcheck.h:
7888           use GST_DEBUG some more
7889
7890 2005-11-24  Wim Taymans  <wim@fluendo.com>
7891
7892         * gst/gstutils.c: (gst_util_uint64_scale),
7893         (gst_util_uint64_scale_int):
7894         Chain trivial case to _scale_int.
7895
7896 2005-11-24  Wim Taymans  <wim@fluendo.com>
7897
7898         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
7899         Added test for scaling.
7900
7901         * gst/gstclock.h:
7902         Small doc fix.
7903
7904         * gst/gstutils.c: (gst_util_uint64_scale_int):
7905         Implemented high precision scaling code.
7906
7907 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
7908
7909         * gst/gstinfo.h:
7910           do not crash on pad==NULL
7911
7912 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7913
7914         Patch by: Stefan Kost
7915
7916         * common/gtk-doc.mak:
7917         * docs/gst/Makefile.am:
7918         * docs/libs/Makefile.am:
7919           Fix distcheck issues for the libraries docs build
7920           Closes #319599.
7921
7922 2005-11-24  Michael Smith <msmith@fluendo.com>
7923
7924         * docs/manual/basics-helloworld.xml:
7925           Fix bug #315027: memory leak in example code in docs.
7926
7927 2005-11-24  Michael Smith <msmith@fluendo.com>
7928
7929         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7930           Unlock the PREROLL_LOCK in a failure case.
7931
7932 2005-11-24  Wim Taymans  <wim@fluendo.com>
7933
7934         * docs/gst/gstreamer-sections.txt:
7935         * gst/base/gstadapter.h:
7936         * gst/base/gstbasesink.h:
7937         * gst/base/gstbasesrc.h:
7938         * gst/base/gstbasetransform.h:
7939         * gst/base/gstpushsrc.h:
7940         * gst/elements/gstfakesink.h:
7941         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
7942         * gst/elements/gstfakesrc.h:
7943         * gst/elements/gstfilesink.h:
7944         * gst/elements/gstfilesrc.h:
7945         * gst/gst.c:
7946         * gst/gstbin.c:
7947         * gst/gstbuffer.c: (_gst_buffer_copy):
7948         * gst/gstbus.h:
7949         * gst/gstcaps.c:
7950         * gst/gstchildproxy.c:
7951         * gst/gstclock.c:
7952         * gst/gstelement.c:
7953         * gst/gstelementfactory.c:
7954         * gst/gstelementfactory.h:
7955         * gst/gstevent.c:
7956         * gst/gstghostpad.h:
7957         * gst/gstindex.h:
7958         * gst/gstinterface.h:
7959         * gst/gstminiobject.c:
7960         * gst/gstminiobject.h:
7961         * gst/gstpad.c:
7962         * gst/gstpad.h:
7963         * gst/gstpadtemplate.h:
7964         * gst/gstpipeline.h:
7965         * gst/gstpluginfeature.h:
7966         * gst/gstquery.h:
7967         * gst/gstqueue.h:
7968         * gst/gsttaglist.c:
7969         * gst/gsttaglist.h:
7970         * gst/gsttagsetter.c:
7971         * gst/gsttagsetter.h:
7972         * gst/gsttrace.c:
7973         * gst/gsttrace.h:
7974         * gst/gsttypefind.h:
7975         * gst/gsturi.h:
7976         * gst/gstvalue.c:
7977         * gst/net/gstnetclientclock.c:
7978         * gst/net/gstnetclientclock.h:
7979         * gst/net/gstnettimepacket.c:
7980         * gst/net/gstnettimeprovider.c:
7981         * gst/net/gstnettimeprovider.h:
7982         Doc fixes.
7983
7984 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7985
7986         * configure.ac: back to HEAD
7987
7988 === release 0.9.6 ===
7989
7990 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
7991
7992         * configure.ac:
7993           releasing 0.9.6, "Always On Time"
7994
7995 2005-11-23  Wim Taymans  <wim@fluendo.com>
7996
7997         * docs/gst/gstreamer-sections.txt:
7998         * gst/glib-compat.c:
7999         * gst/gsttagsetter.c:
8000         * gst/gstvalue.c:
8001         * gst/net/gstnetclientclock.c:
8002         * gst/net/gstnettimepacket.h:
8003         Doc updates.
8004
8005 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8006
8007         * docs/faq/using.xml:
8008         * docs/libs/tmpl/gstcontrol.sgml:
8009         * docs/manual/advanced-dparams.xml:
8010         * docs/manual/appendix-checklist.xml:
8011         * docs/manual/basics-elements.xml:
8012         * docs/pwg/other-source.xml:
8013         * docs/random/moving-plugins:
8014         * gst/gstpad.c:
8015         * tools/gst-launch.1.in:
8016           remove mentions of sinesrc
8017
8018 2005-11-23  Michael Smith <msmith@fluendo.com>
8019
8020         * docs/gst/gstreamer-sections.txt:
8021           Update for new API and API changes.
8022         * gst/gstobject.h:
8023           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
8024         * gst/gstvalue.c:
8025           Documentation typo fix.
8026         * gst/net/gstnettimepacket.c:
8027           Documentation fixes for arguments.
8028
8029 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
8030
8031         * gst/gststructure.c: (gst_structure_get_fraction),
8032         (gst_structure_parse_value),
8033         (gst_structure_fixate_field_nearest_fraction):
8034         * gst/gststructure.h:
8035         * gst/gstutils.c: (gst_util_uint64_scale_int):
8036         * gst/gstutils.h:
8037         * scripts/update-funcnames:
8038         API Changes. 
8039         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
8040         Make gst_structure_fixate_field_nearest_fraction take a numerator
8041         and denominator argument instead of a GValue
8042         add gst_structure_get_fraction helper function.
8043
8044 2005-11-23  Wim Taymans  <wim@fluendo.com>
8045
8046         * docs/design/part-TODO.txt:
8047         Update TODO.
8048
8049         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
8050         * gst/net/gstnetclientclock.h:
8051         Use parent fields for timeout and window_size.
8052
8053 2005-11-23  Andy Wingo  <wingo@pobox.com>
8054
8055         * check/net/gstnetclientclock.c (test_functioning): Adjust to
8056         rate_num/rate_denom change.
8057
8058         * gst/net/gstnetclientclock.c
8059         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
8060         OBJECT_LOCK. Don't call add_observation with the lock.
8061
8062         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
8063         fraction.
8064         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
8065         rate fraction.
8066         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
8067         deal with rate as a fraction whose numerator and denominator are
8068         GstClockTime values.
8069         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
8070         master; the other fields are protected by the SLAVE_LOCK.
8071         (do_linear_regression): Note that this must be called with the
8072         SLAVE_LOCK.
8073         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
8074         OBJECT_LOCK. Call set_calibration instead of touching the
8075         variables directly.
8076         (gst_clock_set_property, gst_clock_get_property): Protect
8077         master/slave parameters with the SLAVE_LOCK.
8078
8079         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
8080         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
8081         note that all of the instance variables that add_observation and
8082         the set_master functions use are protected by that lock and not
8083         the OBJECT_LOCK.
8084         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
8085
8086         * gst/gstclock.c (gst_clock_add_observation): No longer requires
8087         the caller to take the object lock.
8088
8089 2005-11-23  Wim Taymans  <wim@fluendo.com>
8090
8091         * gst/gsterror.c: (_gst_core_errors_init):
8092         * gst/gsterror.h:
8093         Add error for clock stuff.
8094
8095         * gst/gstpipeline.c: (gst_pipeline_change_state),
8096         (gst_pipeline_set_clock):
8097         Post clock error when clock cannot be used in a pipeline.
8098
8099 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
8100
8101         * docs/gst/gstreamer-sections.txt:
8102           make two symbols from gstinfo private for the docs
8103         * gst/base/gstcollectpads.h:
8104         * gst/gstutils.c:
8105           fix doc typos, update docs
8106
8107 2005-11-22  Wim Taymans  <wim@fluendo.com>
8108
8109         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
8110         (gst_base_sink_wait), (gst_base_sink_do_sync),
8111         (gst_base_sink_handle_event):
8112         * gst/base/gstbasesink.h:
8113         No need to store the clock, the parent element class already
8114         has it.
8115
8116         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
8117         Updates for clock_set returning a gboolean
8118
8119         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
8120         (gst_clock_id_wait_async), (gst_clock_class_init),
8121         (gst_clock_init), (gst_clock_finalize),
8122         (gst_clock_get_internal_time), (gst_clock_get_time),
8123         (gst_clock_slave_callback), (gst_clock_set_master),
8124         (gst_clock_get_master), (do_linear_regression),
8125         (gst_clock_add_observation), (gst_clock_set_property),
8126         (gst_clock_get_property):
8127         * gst/gstclock.h:
8128         Implement master/slave. When setting a clock as a slave, a
8129         periodic timeout is scheduled to sample master and slave times.
8130         Then the slave clock is recalibrated to match offset and rate
8131         of the master clock.
8132         Update logging a bit.
8133         Add flag so that a clock can state that is cannot be slaved to
8134         another clock.
8135
8136         * gst/gstelement.c: (gst_element_set_clock):
8137         * gst/gstelement.h:
8138         The set clock returns a gboolean for when an element cannot
8139         deal with the selected clock in the pipeline. 
8140
8141         * gst/gstpipeline.c: (gst_pipeline_change_state),
8142         (gst_pipeline_set_clock):
8143         * gst/gstpipeline.h:
8144         Handle the case where the selected clock cannot be set on
8145         the pipeline.
8146
8147         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
8148         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
8149         (gst_net_client_clock_set_property),
8150         (gst_net_client_clock_get_property),
8151         (gst_net_client_clock_observe_times):
8152         * gst/net/gstnetclientclock.h:
8153         Use regression code in GstClock parent, remove duplicated
8154         functionality.
8155
8156 2005-11-22  Michael Smith <msmith@fluendo.com>
8157
8158         * gst/gstutils.c: (gst_util_clock_time_scale):
8159         * gst/gstutils.h:
8160         * docs/gst/gstreamer-sections.txt:
8161           Rename method to have extra underscore.
8162
8163 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
8164
8165         * gst/elements/Makefile.am:
8166         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
8167         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
8168         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
8169         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
8170         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
8171         * gst/elements/gstfakesrc.h:
8172         * gst/gstqueue.c: (queue_leaky_get_type):
8173           correctly fix GEnumValues so that nick is the short lowercase
8174           dashed tag
8175         * tools/gst-inspect.c: (print_element_properties_info):
8176           also show the nick, since it's useful to use from parse_launch
8177           syntax
8178           Fixes #322139
8179
8180 2005-11-22  Michael Smith <msmith@fluendo.com>
8181
8182         * gst/gstutils.c: (gst_util_clocktime_scale):
8183         * gst/gstutils.h:
8184         * docs/gst/gstreamer-sections.txt:
8185           Add util method for scaling a clocktime by a fraction. Useful 
8186           implementation is left as an exercise for the reader.
8187
8188 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8189
8190         * gst/gstvalue.c: (gst_value_collect_fraction_range):
8191         If needed, allocate storage in the destination value during
8192         collection.
8193
8194 2005-11-22  Edward Hervey  <edward@fluendo.com>
8195
8196         * docs/gst/gstreamer-sections.txt:
8197         * gst/Makefile.am:
8198         * gst/gst.h:
8199         * gst/gsturitype.c:
8200         * gst/gsturitype.h:
8201         * gst/gstutils.c: (gst_util_set_object_arg):
8202         * tools/gst-compprep.c: (main):
8203         * tools/gst-inspect.c: (print_element_properties_info):
8204         Removed GstURI, closes bug #321061
8205
8206 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8207
8208         * check/gst/gststructure.c: (GST_START_TEST):
8209         * gst/gststructure.c: (gst_structure_parse_value):
8210           Oops, broke automatic string type parsing.
8211           Add a test to catch it in future.
8212
8213 2005-11-22  Andy Wingo  <wingo@pobox.com>
8214
8215         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
8216         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
8217         Actually rename the function implementations. Grr.
8218
8219 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8220
8221         * check/gst/capslist.h:
8222           Comment test cases
8223         * check/gst/gststructure.c: (GST_START_TEST),
8224         (gst_structure_suite):
8225           Test automatic value type detection in gst_structure_from_string.
8226         * gst/gststructure.c: (gst_structure_parse_value):
8227           Add fraction as a type we try and guess automatically in
8228           caps/structure strings.
8229
8230 2005-11-22  Andy Wingo  <wingo@pobox.com>
8231
8232         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
8233
8234         * gst/gsttagsetter.h:
8235         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
8236         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
8237         (gst_tag_setter_add_tag_valist)
8238         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
8239         _add_values, _add_valist, and _add_valist_values. Since this is an
8240         interface the function suffixes should be more explicit so
8241         language binding don't end up with element.add_valist ->
8242         gst_tag_setter_add_valist, for example. Fixes #322069.
8243
8244 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8245
8246         * check/gst/gstcaps.c: (GST_START_TEST):
8247           Extend caps string tests to check that a caps to string
8248           conversion is reversible and produces the same caps.
8249
8250         * gst/gststructure.c: (gst_structure_value_get_generic_type):
8251           Output "fraction" as the generic type fraction range, so caps
8252           serialisation and deserialisation works.
8253         * check/gst/capslist.h:
8254         * gst/gstvalue.c: (gst_value_deserialize_fraction):
8255           Support 'MIN' and 'MAX' for deserialising fractions.
8256
8257 2005-11-22  Andy Wingo  <wingo@pobox.com>
8258
8259         * gst/gstevent.h (gst_event_new_new_segment)
8260         (gst_event_parse_new_segment, gst_event_new_buffer_size)
8261         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
8262         Renamed from *_newsegment, *_buffersize, *_notarget.
8263
8264         * scripts/update-funcnames: New script, performs the changes
8265         listed above.
8266
8267 2005-11-22  Wim Taymans  <wim@fluendo.com>
8268
8269         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8270         Make sure the GstFlowReturn is returned.
8271
8272         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
8273         (gst_bus_add_signal_watch):
8274         * gst/gstbus.h:
8275         add gst_bus_add_signal_watch_full.
8276
8277         * gst/gstplugin.c: (gst_plugin_load_file):
8278         Small style cleanup.
8279
8280 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8281
8282         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
8283           Block the fakesrc srcpad when we send an event, to avoid
8284           contention on the stream_lock causing random test failures.
8285
8286 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8287
8288         * check/gst/gstvalue.c: (GST_START_TEST):
8289         * gst/gstvalue.c: (gst_value_fraction_subtract):
8290           Fix subtraction.
8291
8292 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
8293
8294         * gst/gst.h:
8295           include "gstchildproxy.h"
8296         * gst/gstchildproxy.h:
8297         * libs/gst/controller/gstcontroller.h:
8298           use G_GNUC_NULL_TERMINATED
8299
8300 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
8301
8302         * check/gst/capslist.h:
8303         * check/gst/gstcaps.c: (GST_START_TEST):
8304         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8305         * gst/gststructure.c: (gst_structure_parse_range),
8306         (gst_structure_fixate_field_nearest_fraction):
8307         * gst/gststructure.h:
8308         * gst/gstvalue.c: (gst_value_init_fraction_range),
8309         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
8310         (gst_value_collect_fraction_range),
8311         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
8312         (gst_value_set_fraction_range_full),
8313         (gst_value_get_fraction_range_min),
8314         (gst_value_get_fraction_range_max),
8315         (gst_value_serialize_fraction_range),
8316         (gst_value_transform_fraction_range_string),
8317         (gst_value_compare_fraction_range),
8318         (gst_value_deserialize_fraction_range),
8319         (gst_value_intersect_fraction_fraction_range),
8320         (gst_value_intersect_fraction_range_fraction_range),
8321         (gst_value_subtract_fraction_fraction_range),
8322         (gst_value_subtract_fraction_range_fraction),
8323         (gst_value_subtract_fraction_range_fraction_range),
8324         (gst_value_collect_fraction), (gst_value_fraction_multiply),
8325         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
8326         (gst_value_transform_string_fraction), (_gst_value_initialize):
8327         * gst/gstvalue.h:
8328           Implement fraction ranges and extend GstFraction to support
8329           arithmetic subtraction, as well as deserialization from integer
8330           strings such as "100"
8331           Add a testsuite as for int and double range set operations
8332
8333 2005-11-21  Andy Wingo  <wingo@pobox.com>
8334
8335         * gst/gsttaglist.h: 
8336         * gst/gstcaps.h: 
8337         * gst/gststructure.h: Add glib-compat.h.
8338
8339 2005-11-21  Wim Taymans  <wim@fluendo.com>
8340
8341         * gst/gstbin.c: (gst_bin_change_state_func):
8342         Fix for #321595
8343
8344 2005-11-21  Wim Taymans  <wim@fluendo.com>
8345
8346         * gst/gstsegment.h:
8347         And add a nice define too.
8348
8349 2005-11-21  Wim Taymans  <wim@fluendo.com>
8350
8351         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
8352         (gst_segment_new), (gst_segment_free), (gst_segment_init),
8353         (gst_segment_set_duration), (gst_segment_set_last_stop),
8354         (gst_segment_set_seek), (gst_segment_set_newsegment),
8355         (gst_segment_to_stream_time), (gst_segment_to_running_time),
8356         (gst_segment_clip):
8357         * gst/gstsegment.h:
8358         Make binding friendly.
8359
8360 2005-11-21  Andy Wingo  <wingo@pobox.com>
8361
8362         * gst/gsttagsetter.h: 
8363         * gst/gsttaglist.h: 
8364         * gst/gststructure.h: 
8365         * gst/gstcaps.h: 
8366         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
8367         #319940.
8368
8369         * gst/gsterror.c (_gst_core_errors_init):
8370         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
8371         category.
8372
8373         * gst/Makefile.am (gst_headers): Add glib-compat.h.
8374         (noinst_HEADERS): noinst the -private.
8375
8376 2005-11-21  Michael Smith <msmith@fluendo.com>
8377
8378         * gst/gstplugin.h:
8379         * gst/gstregistry.h:
8380           Remove unimplemented declarations for which we can see no sensible
8381           use.
8382
8383 2005-11-21  Andy Wingo  <wingo@pobox.com>
8384
8385         * gst/gst.h: Include glib-compat.h.
8386
8387         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
8388
8389         * gst/glib-compat.c: Include the public and the private header.
8390
8391         * gst/glib-compat-private.h: Copied here from glib-compat.h.
8392
8393         * gst/gstvalue.c: 
8394         * gst/gstpad.c: 
8395         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
8396
8397         * check/gst/gstevent.c (create_custom_events): Check that
8398         FLUSH_STOP is serialized.
8399
8400         * check/elements/identity.c (event_func): 
8401         * check/elements/fakesrc.c (event_func): No stream lock, the core
8402         takes it.
8403
8404         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
8405         stream lock taking, yay.
8406
8407         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
8408         ensure that core takes the stream lock.
8409
8410         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
8411         lock name change.
8412
8413         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
8414         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
8415         it already. For the flush start we do take it though so we get the
8416         right preroll state change messages.
8417
8418         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
8419         the stream lock here, the core does it for us.
8420
8421         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
8422         GST_STREAM_GET_LOCK.
8423         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
8424         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
8425         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
8426         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
8427         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
8428         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
8429
8430         * gst/gstpad.c: Update for stream lock name change.
8431
8432         * gst/base/gstbasesink.c: Update for preroll lock name change.
8433
8434 2005-11-21  Wim Taymans  <wim@fluendo.com>
8435
8436         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
8437         (gst_clock_get_master):
8438         * gst/gstclock.h:
8439         * gst/gstsystemclock.c: (gst_system_clock_init):
8440         Convert Clock flags to object flags.
8441         Added methods to manage master/slave clocks.
8442
8443 2005-11-21  Wim Taymans  <wim@fluendo.com>
8444
8445         * check/gst/gstsegment.c: (GST_START_TEST):
8446         * docs/design/part-TODO.txt:
8447         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8448         (gst_base_sink_event), (gst_base_sink_do_sync),
8449         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8450         (gst_base_sink_query), (gst_base_sink_change_state):
8451         * gst/base/gstbasesink.h:
8452         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
8453         (gst_base_src_default_newsegment),
8454         (gst_base_src_configure_segment), (gst_base_src_do_seek),
8455         (gst_base_src_get_range), (gst_base_src_loop),
8456         (gst_base_src_change_state):
8457         * gst/base/gstbasesrc.h:
8458         * gst/base/gstbasetransform.c:
8459         (gst_base_transform_prepare_output_buf),
8460         (gst_base_transform_event), (gst_base_transform_change_state):
8461         * gst/base/gstbasetransform.h:
8462         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8463         (gst_collect_pads_event):
8464         * gst/base/gstcollectpads.h:
8465         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
8466         (gst_fake_src_create):
8467         * gst/elements/gstfakesrc.h:
8468         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
8469         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
8470         (gst_segment_set_last_stop), (gst_segment_set_seek),
8471         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
8472         (gst_segment_to_running_time), (gst_segment_clip):
8473         * gst/gstsegment.h:
8474         More segment updates, replace code in plugins with segment
8475         helper functions.
8476
8477 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
8478
8479         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
8480         Don't ignore sscanf results
8481
8482 2005-11-21  Andy Wingo  <wingo@pobox.com>
8483
8484         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
8485
8486         * *.h:
8487         * *.c: Ran scripts/update-macros. Oh yes.
8488
8489         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
8490         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
8491         GST_GET_LOCK, etc.
8492
8493         * scripts/update-macros: New script. Run it on your files to
8494         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
8495         well.
8496
8497 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
8498
8499         * docs/gst/Makefile.am:
8500         * docs/gst/gstreamer-docs.sgml:
8501         * docs/gst/gstreamer-sections.txt:
8502         * docs/gst/gstreamer.types:
8503         * gst/gstinfo.h:
8504           more docs fixes, add new api to the docs
8505
8506 2005-11-21  Andy Wingo  <wingo@pobox.com>
8507
8508         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
8509         state_broadcast call.
8510
8511         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
8512
8513 2005-11-21  Julien MOUTTE  <julien@moutte.net>
8514
8515         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
8516         function calls for arrays.
8517
8518 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
8519
8520         * docs/random/ensonic/media-device-daemon.txt:
8521           wild idea, can this be done?
8522         * docs/gst/gstreamer-sections.txt:
8523         * gst/gsterror.h:
8524         * gst/gstfilter.c:
8525         * gst/gstfilter.h:
8526         * gst/gstplugin.h:
8527         * gst/gstpluginfeature.c:
8528         * gst/gsttrace.c:
8529         * gst/gstvalue.c:
8530         * gst/gstvalue.h:
8531           doc fixes and additions
8532
8533 2005-11-21  Andy Wingo  <wingo@pobox.com>
8534
8535         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
8536         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
8537         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
8538         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
8539         private to the basesrc implementation.
8540
8541         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
8542         behalf of event function if necessary. It should no longer be
8543         necessary to take the stream lock in pad's event functions. Fixes
8544         #320299.
8545
8546 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
8547         * docs/gst/gstreamer-sections.txt:
8548         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
8549         (gst_structure_fixate_field_nearest_double),
8550         (gst_structure_fixate_field_boolean):
8551         * gst/gststructure.h:
8552         * win32/common/libgstreamer.def:
8553         * win32/gstreamer.def:
8554
8555         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
8556         (#322027)
8557
8558 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
8559
8560         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
8561         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
8562         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
8563         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
8564         (gst_fdsrc_uri_handler_init):
8565         * gst/elements/gstfdsrc.h:
8566           Port fd:// URI handler from 0.8 to fdsrc
8567
8568 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8569
8570         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
8571         (gst_value_serialize_fourcc):
8572         * gst/gstvalue.h:
8573           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
8574           consistent with our other format defines (#320324).
8575
8576 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8577
8578         * gst/gstvalue.c: (gst_value_is_fixed):
8579           Revert previous commit. Value lists are by definition
8580           not fixed, as they are a list of possible values.
8581
8582 2005-11-21  Andy Wingo  <wingo@pobox.com>
8583
8584         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
8585         during the stable series if we need it. Fixes #319178.
8586
8587         * gst/gstevent.c (gst_event_new_filler): Removed.
8588
8589         * check/gst/gstevent.c: Update comment about filler events.
8590
8591 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8592
8593         * gst/gstvalue.c: (gst_value_is_fixed):
8594           Should handle both value arrays and value lists.
8595
8596 2005-11-21  Andy Wingo  <wingo@pobox.com>
8597
8598         patch by: Alessandro Dessina <alessandro nnva org>
8599
8600         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
8601         functions to access arrays. Fixes #321962.
8602
8603 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8604
8605         * docs/gst/gstreamer.types:
8606           gst_collectpads_get_type => gst_collect_pads_get_type.
8607           
8608         * gst/base/gstbasetransform.c:
8609           Remove unused SIGNAL_HANDOFF enum.
8610
8611 2005-11-21  Andy Wingo  <wingo@pobox.com>
8612
8613         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
8614         the event type (upstream, downstream, serialized). Renamed
8615         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
8616         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
8617         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
8618
8619         * gst/gstevent.c: Update for new CUSTOM event names.
8620
8621         * check/gst/gstevent.c: Update check for new CUSTOM event names.
8622
8623         * gst/gstevent.h:
8624         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
8625         bug #319392.
8626
8627 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8628
8629         * docs/gst/gstreamer-sections.txt:
8630         * win32/common/libgstbase.def:
8631         * win32/libgstbase.def:
8632         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
8633         (gst_collect_pads_class_init), (gst_collect_pads_init),
8634         (gst_collect_pads_finalize), (gst_collect_pads_new),
8635         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
8636         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
8637         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
8638         (gst_collect_pads_start), (gst_collect_pads_stop),
8639         (gst_collect_pads_peek), (gst_collect_pads_pop),
8640         (gst_collect_pads_available), (gst_collect_pads_read),
8641         (gst_collect_pads_flush), (gst_collect_pads_event),
8642         (gst_collect_pads_chain):
8643         * gst/base/gstcollectpads.h:
8644           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
8645           unimplemented functions as unimplemented. Add padding to
8646           GstCollectData. (#320766, #320423)
8647
8648 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
8649
8650         * gst/gstmessage.c:
8651           Improve docs for DURATION message (usage of duration parameter)
8652           (#320113)
8653
8654 2005-11-20  Wim Taymans  <wim@fluendo.com>
8655
8656         * check/Makefile.am:
8657         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
8658         (main):
8659         * gst/Makefile.am:
8660         * gst/gst.h:
8661         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
8662         (gst_segment_set_seek), (gst_segment_set_newsegment),
8663         (gst_segment_to_stream_time), (gst_segment_to_running_time),
8664         (gst_segment_clip):
8665         * gst/gstsegment.h:
8666         Added segment helper structure and methods. Not fully implemented
8667         yet.
8668         Added segment check.
8669
8670 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
8671
8672         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8673           Add a deserialisation test for fractions
8674         * examples/metadata/read-metadata.c: (message_loop),
8675         (make_pipeline), (main):
8676           Fix up metadata reading sample.
8677         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8678           Debug format fix
8679         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
8680           Don't try and fixate empty caps
8681         * gst/gst_private.h:
8682           Wrap in G_BEGIN_DECLS/G_END_DECLS
8683         * gst/gstvalue.c: (gst_value_collect_fraction),
8684         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
8685         (gst_value_transform_string_fraction),
8686         (gst_value_compare_fraction):
8687           Add some extra guards to ensure that we don't end up 
8688           with an invalid denominator of 0 in a gstfraction and
8689           that fractions always get reduced.
8690
8691 2005-11-20  Wim Taymans  <wim@fluendo.com>
8692
8693         * docs/gst/gstreamer-sections.txt:
8694         * gst/gstbuffer.h:
8695         * gst/gstelement.c:
8696         * gst/gstformat.c:
8697         * gst/gstformat.h:
8698         * gst/gstindex.h:
8699         * gst/gstquery.c:
8700         * gst/gstquery.h:
8701         * gst/gstvalue.c:
8702         Doc fixes.
8703
8704 2005-11-20  Wim Taymans  <wim@fluendo.com>
8705
8706         * docs/design/part-TODO.txt:
8707         * gst/gstcaps.h:
8708         Make a proper enum of the flag.
8709
8710 2005-11-19  Wim Taymans  <wim@fluendo.com>
8711
8712         * docs/design/part-TODO.txt:
8713         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
8714         (gst_format_to_quark), (gst_format_register):
8715         * gst/gstformat.h:
8716         * gst/gstquery.c: (_gst_query_initialize),
8717         (gst_query_type_get_name), (gst_query_type_to_quark),
8718         (gst_query_type_register):
8719         * gst/gstquery.h:
8720         Add type to quark and type to string conversions.
8721
8722 2005-11-19  Andy Wingo  <wingo@pobox.com>
8723
8724         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
8725         #320097.
8726
8727 2005-11-19  Wim Taymans  <wim@fluendo.com>
8728
8729         * docs/design/part-TODO.txt:
8730         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
8731         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
8732         (gst_bin_handle_message_func):
8733         * gst/gstbin.h:
8734         Make message handling overridable.
8735
8736 2005-11-19  Andy Wingo  <wingo@pobox.com>
8737
8738         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
8739
8740         * gst/gstclock.h:
8741         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
8742         be a GstClockTime.
8743         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
8744         is a GstClockTime. Fixes #321710.
8745
8746         * gst/gstclock.h (GstClock): Remove offset property. Add
8747         internal_calibration and external_calibration. Fix padding. Pad
8748         also by GstClockTime so we don't run into problems.
8749
8750         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
8751         (gst_clock_get_rate_offset): Remove.
8752         (gst_clock_set_time_adjust): Remove. Fixes #321712.
8753
8754         * gst/gstutils.h:
8755         * gst/gstutils.c (g_static_rec_cond_wait)
8756         (g_static_rec_cond_timed_wait): Removed, no longer needed.
8757
8758         * gst/gstbin.c: Remove terrible continue_state prototype.
8759
8760         * gst/gstelement.h (gst_element_continue_state): Make public.
8761
8762         * gst/gstelement.h:
8763         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
8764         by continue_state. Fixes #319389.
8765
8766         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
8767         Really fixes #168438. However I don't see anywhere where the
8768         filter function is called... stupid GStreamer...
8769         
8770         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
8771         don't have a dispose function, so it won't get called when the
8772         object is unreffed, but oh well!
8773
8774         * gst/gstindex.c (gst_index_set_filter_full): New API function,
8775         allows a destroy function to be set so user_data can be freed.
8776         Fixes #168438.
8777         (gst_index_set_filter): Call gst_index_set_filter_full.
8778
8779         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
8780
8781         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
8782         string should produce an error, given the lack of a way to
8783         represent NULL strings. Fixes #165650.
8784         
8785         * gst/gstvalue.h: 
8786         * gst/gstvalue.c (gst_value_array_append_value) 
8787         (gst_value_array_prepend_value, gst_value_array_get_size) 
8788         (gst_value_array_get_value): New API, copied from
8789         gst_value_list_*, only operates on arrays.
8790         (gst_value_list_append_value, gst_value_list_prepend_value) 
8791         (gst_value_list_concat, gst_value_list_get_size) 
8792         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
8793
8794         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
8795         init_list, because it works on both.
8796         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
8797         (gst_value_copy_list_or_array): Renamed from copy_list.
8798         (gst_value_free_list_or_array): Renamed from free_list.
8799         (gst_value_collect_list_or_array): Renamed from collect_list.
8800         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
8801         (gst_value_list_or_array_peek_pointer): Renamed from
8802         list_peek_pointer.
8803         (_gst_value_array_value_table, _gst_value_list_value_table):
8804         Update value table functions.
8805         (gst_value_compare_list_or_array): Renamed from compare_list.
8806
8807         * gsttaglist.h: Whoops, foreach function returns void. Also fix
8808         some constness.
8809
8810         * gst/gsttaglist.c:
8811         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
8812         GstTagList*. Fixes #143472.
8813
8814         * gst/gststructure.h: Clarify what the foreach/map functions can
8815         or can't do to their arguments.
8816
8817 2005-11-18  Wim Taymans  <wim@fluendo.com>
8818
8819         * gst/gstclock.c: (gst_clock_set_calibration),
8820         (gst_clock_get_calibration):
8821         Doc and API fixes.
8822         Calibration can be set with internal time equal to current
8823         internal time too.
8824
8825 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8826
8827         * gst/gsterror.c:
8828         * gst/gsterror.h:
8829           document
8830
8831 2005-11-18  Andy Wingo  <wingo@pobox.com>
8832
8833         * configure.ac: 
8834         * pkgconfig/gstreamer-net.pc.in:
8835         * pkgconfig/gstreamer-net-uninstalled.pc.in:
8836         * pkgconfig/Makefile.am: Add net pkgconfig files.
8837
8838 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
8839
8840         * gst/gstcaps.c:
8841         * gst/gstghostpad.c:
8842         * gst/gsttrace.c:
8843         * gst/gstvalue.c:
8844         * gst/gstvalue.h:
8845           docs fixes
8846
8847 2005-11-18  Andy Wingo  <wingo@pobox.com>
8848
8849         * gst/net/gstnetclientclock.c: Turn off debugging.
8850
8851         * check/net/gstnetclientclock.c (test_functioning): Assert that the
8852         times connverge somewhat. Can't make a real test.
8853
8854         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
8855         integer arithmetic. Return the minimum of the domain, which can be
8856         set as "internal" for gst_clock_set_calibration.
8857         (gst_net_client_clock_observe_times): Call _set_calibration.
8858         (gst_net_client_clock_new): Call _set_calibration instead of
8859         rate_offset.
8860
8861         * check/net/gstnetclientclock.c (test_functioning): Use the right
8862         adjustment api.
8863
8864         * gst/gstclock.h:
8865         * gst/gstclock.c (gst_clock_get_calibration) 
8866         (gst_clock_set_calibration): New functions, obsolete the ones I
8867         added yesterday. Doh. Precision issues mean we have to extrapolate
8868         from a point in the more recent past than 1970.
8869         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
8870         obsolete.
8871         (gst_clock_adjust_unlocked): Use the right calibration data.
8872
8873 2005-11-18  Edward Hervey  <edward@fluendo.com>
8874
8875         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
8876         Also reset the ->current_* values in READY->PAUSED
8877
8878 2005-11-18  Andy Wingo  <wingo@pobox.com>
8879
8880         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
8881         Whoops, check the right fd. Also add some debugging.
8882         (gst_net_client_clock_observe_times): Adjust for int64 offset.
8883         (do_linear_regression): Add a crapload of debugging. Subtract off
8884         the minimum values from the input series to discard unneeded bits.
8885         Use only int arithmetic. There is still double arithmetic when
8886         calculating the intercept that needs fixing. Return boolean to
8887         indicate success; FALSE would mean the domain or range is too
8888         great. Still needs fixes.
8889
8890 2005-11-18  Wim Taymans  <wim@fluendo.com>
8891
8892         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
8893         For the current position in stream time, we need to subtract
8894         accumulated time.
8895         
8896         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
8897         Release lock before calling the callback function of async
8898         entries.
8899
8900 2005-11-18  Andy Wingo  <wingo@pobox.com>
8901
8902         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
8903         Port goes all the way to MAXUINT16.
8904
8905         * gst/net/gstnettimeprovider.c: Make the port range the same as
8906         for the kernel: 0 assigns, otherwise ports are less than
8907         MAXUINT16.
8908
8909         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
8910         port change.
8911
8912         * check/net/gstnetclientclock.c (test_functioning): Add the start
8913         of another test. 
8914
8915 2005-11-18  Wim Taymans  <wim@fluendo.com>
8916
8917         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8918         (gst_bin_remove_func), (bin_bus_handler):
8919         * gst/gstbin.h:
8920         Removing a clock provider from a bin, triggers a clock lost message
8921         so that a new clock will be selected.
8922         Adding a clock to a bin triggers a clock provider message.
8923         Make sure we reselect a clock when we received a clock lost message.
8924         Keep a reference to the element that provided the clock.
8925
8926 2005-11-18  Andy Wingo  <wingo@pobox.com>
8927
8928         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
8929         the clock initially so it produces values around the base time.
8930         (gst_net_client_clock_class_init): Typo fix.
8931         (gst_net_client_clock_thread): Add note on when the socket gets
8932         closed.
8933
8934 2005-11-17  Wim Taymans  <wim@fluendo.com>
8935
8936         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
8937         Free remote and local time arrays.
8938
8939 2005-11-17  Wim Taymans  <wim@fluendo.com>
8940
8941         * gst/net/gstnetclientclock.c: (do_linear_regression),
8942         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
8943         Fix compilation, uninitialized vars and a forgotten continue.
8944
8945 2005-11-17  Andy Wingo  <wingo@pobox.com>
8946
8947         * check/Makefile.am (check_PROGRAMS): 
8948         * check/net/gstnetclientclock.c: Add a most minimal test for the
8949         net client clock. More to come later.
8950
8951         * gst/net/gstnet.h: 
8952         * gst/net/Makefile.am: Add netclientclock.
8953
8954         * gst/net/gstnetclientclock.h:
8955         * gst/net/gstnetclientclock.c: New files, implement an untested
8956         GstClock that takes its time from a network time provider.
8957         Implements the algorithm in network-clock.scm.
8958
8959         * tests/network-clock.scm (*window-size*): Rename from
8960         *queue-length*.
8961         * tests/network-clock.scm (network-time): 
8962         * tests/network-clock-utils.scm (q-push): Update callers.
8963
8964 2005-11-17  Wim Taymans  <wim@fluendo.com>
8965
8966         * gst/gstbin.c: (gst_bin_provide_clock_func),
8967         (gst_bin_sort_iterator_new):
8968         And unref the child too..
8969
8970 2005-11-17  Wim Taymans  <wim@fluendo.com>
8971
8972         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
8973         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
8974         Refactor the sort iterator so it can be used while holding the
8975         LOCK too.
8976         Make clock selection select a clock closest to the source.
8977
8978 2005-11-17  Michael Smith <msmith@fluendo.com>
8979
8980         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
8981         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
8982         * gst/gstclock.h:
8983           Anonymous structs are a gcc (and some other compilers) extension, so
8984           don't use them. Since this is only for ABI-compatibility, and our
8985           API/ABI freeze is over in a few days, this whole thing will only
8986           last a few days, so don't bother trying to think up a meaningful
8987           name for the struct.
8988
8989 2005-11-17  Andy Wingo  <wingo@pobox.com>
8990
8991         * gst/gstclock.h (GstClock): Add rate and offset properties,
8992         preserving ABI stability. Add rate/offset accessors. Will file bug
8993         for the freeze break.
8994
8995         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
8996         and offset, trying to keep precision and avoiding
8997         underflow/overflow.
8998         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
8999         functions. Make gst_clock_set_time_adjust obsolete.
9000         (gst_clock_set_time_adjust): Note that this function is obsolete.
9001         Will file bug soon.
9002
9003         * gst/base/gstbasetransform.h: Make the ABI-stability hack
9004         greppable by using GST_PADDING-1+1.
9005
9006 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
9007
9008         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9009
9010         * gst/gstmessage.c: (gst_message_parse_clock_lost):
9011           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
9012
9013         * gst/gstpadtemplate.h:
9014         * gst/gstpluginfeature.h:
9015           Don't use c++ style comments in headers (#321638).
9016
9017 2005-11-16  Andy Wingo  <wingo@pobox.com>
9018
9019         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
9020         buffer.
9021
9022         * check/net/gstnettimeprovider.c: Check to see that the time
9023         provider actually provides times. Works, yo!
9024
9025 2005-11-16  Wim Taymans  <wim@fluendo.com>
9026
9027         * check/Makefile.am:
9028         Enable more tests.
9029
9030         * check/elements/fakesrc.c: (GST_START_TEST):
9031         Set element to NULL before disposing it.
9032
9033 2005-11-16  Andy Wingo  <wingo@pobox.com>
9034
9035         * gst/net/Makefile.am:
9036         * gst/net/gstnet.h:
9037         * gst/net/gstnettimeprovider.c: 
9038         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
9039         provider, include it from gstnet.h, and add it to the build.
9040
9041         * gst/net/gstnettimepacket.h: 
9042         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
9043         sending and receiving.
9044
9045 2005-11-16  Wim Taymans  <wim@fluendo.com>
9046
9047         * check/Makefile.am:
9048         Enable valgrind check.
9049
9050         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
9051         (gst_fake_src_alloc_buffer):
9052         Fix memleak.
9053
9054 2005-11-16  Wim Taymans  <wim@fluendo.com>
9055
9056         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
9057         Call parent finalize too.
9058
9059 2005-11-16  Wim Taymans  <wim@fluendo.com>
9060
9061         * check/Makefile.am:
9062         Enable valgrind check that should work fine now.
9063
9064         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9065         * gst/gstqueue.c: (gst_queue_init):
9066         Fix memleaks in pad allocation.
9067
9068 2005-11-16  Andy Wingo  <wingo@pobox.com>
9069
9070         * gst/net/Makefile.am:
9071         * gst/net/gstnet.h: New part of core to hold network elements and
9072         objects. Put in core because it exposes API that applications want
9073         to use. The library is named libgstnet-tempname right now because
9074         of the existing libgstnet in gst-plugins-base. Solution is
9075         probably to rename the one in plugins-base; will file a bug for
9076         the freeze break.
9077
9078         * gst/net/gstnettimeprovider.c: 
9079         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
9080         get_time call over the network.
9081
9082         * configure.ac: 
9083         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
9084
9085         * check/Makefile.am:
9086         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
9087         get additions shortly.
9088
9089 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9090
9091         * gst/gstpad.c: (gst_pad_new_from_static_template):
9092         * gst/gstpad.h:
9093           add gst_pad_new_from_static_template functions
9094         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
9095         (gst_check_setup_sink_pad):
9096         * gst/elements/gsttee.c: (gst_tee_init):
9097           and use them
9098
9099 2005-11-16  Wim Taymans  <wim@fluendo.com>
9100
9101         * gst/gstpad.c: (gst_pad_pause_task):
9102         Removed warning, it's not really an error either.
9103
9104 2005-11-16  Wim Taymans  <wim@fluendo.com>
9105
9106         * gst/base/gstbasetransform.c:
9107         (gst_base_transform_prepare_output_buf),
9108         (gst_base_transform_event):
9109         Check if the caps are NULL, this can happen if the element
9110         is shutting down and the pad caps are set to NULL.
9111
9112 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9113
9114         * gst/elements/gsttee.c: (gst_tee_init):
9115           fix pad template leak in tee
9116
9117 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9118
9119         * gst/glib-compat.c: (g_value_dup_gst_object):
9120         * gst/glib-compat.h:
9121         * gst/gstpad.c: (gst_pad_set_property):
9122           use gst_object_ref when setting the pad template; this will
9123           trigger the pad template leaks on GLib 2.6 and the slaves
9124
9125 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9126
9127         * gst/glib-compat.c: (gst_flags_get_first_value):
9128         * gst/glib-compat.h:
9129         * gst/gstregistryxml.c:
9130           remove functions copied from GLib 2.6
9131
9132 2005-11-16  Michael Smith <msmith@fluendo.com>
9133
9134         * gst/Makefile.am:
9135           Don't link against VALGRIND_LIBS. That was always the wrong thing to
9136           do, but only breaks with newer valgrind versions. We're not a
9137           valgrind tool, we have no link-time dependencies on libcoregrind.
9138
9139 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9140
9141         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9142           some debug changes
9143         * gst/gstmessage.h:
9144           typo fixes
9145
9146 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9147
9148         * gst/base/gstbasesrc.c: (gst_base_src_init):
9149         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9150         * gst/gstqueue.c: (gst_queue_init):
9151         * gst/gstregistryxml.c: (load_feature):
9152           Revert all these unrefs, they don't even pass make check !
9153
9154 2005-11-15  Johan Dahlin  <johan@gnome.org>
9155
9156         * gst/base/gstbasesrc.c: (gst_base_src_init):
9157         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9158         * gst/gstqueue.c: (gst_queue_init): 
9159         Free pad templates, fixes a couple of leaks.
9160
9161 2005-11-15  Daniel Fischer  <dan at f3c dot com>
9162
9163         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9164
9165         * gst/gstpad.c: (gst_pad_get_property):
9166           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
9167           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
9168           (#321452)
9169
9170 2005-11-15  Wim Taymans  <wim@fluendo.com>
9171
9172         * gst/gstevent.c:
9173         Small doc update.
9174
9175 2005-11-15  Andy Wingo  <wingo@pobox.com>
9176
9177         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
9178
9179         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
9180         using GST_CLOCK_TIME_NONE to disable base time management.
9181         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
9182         time if it was NONE before.
9183         (gst_pipeline_change_state): Only munge the base time if
9184         stream_time != GST_CLOCK_TIME_NONE.
9185
9186         * check/gst/gstpipeline.c (test_base_time): Punt around the
9187         problem of the probe not being called, because that's not the
9188         issue I'm looking at. Add a check that setting stream_time to NONE
9189         disables base time management.
9190         
9191 2005-11-15  Wim Taymans  <wim@fluendo.com>
9192
9193         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9194         segment_stop == -1 at startup.
9195
9196         * gst/base/gstbasetransform.c: (gst_base_transform_event),
9197         (gst_base_transform_change_state):
9198         Init segment values at start.
9199
9200 2005-11-15  Wim Taymans  <wim@fluendo.com>
9201
9202         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9203         0 segment values are 0 in any format.
9204
9205         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9206         * gst/base/gstbasetransform.h:
9207         Parse newsegment correctly in basetransform
9208
9209         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
9210         Sync to clock using updated segment values.
9211
9212 2005-11-15  Andy Wingo  <wingo@pobox.com>
9213
9214         * check/gst/gstpipeline.c (test_base_time): Add check that the
9215         base time and stream time are reset correctly.
9216
9217 2005-11-15  Wim Taymans  <wim@fluendo.com>
9218
9219         * docs/design/part-TODO.txt:
9220         Some more TODO items.
9221
9222 2005-11-15  Andy Wingo  <wingo@pobox.com>
9223
9224         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
9225         error if the user selected "no clock" as the clocking method.
9226
9227         * check/gst/gstpipeline.c (test_base_time): New test for buffer
9228         timestamps with live capture.
9229
9230         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
9231         is 0 but we are a live source, timestamp the buffers using the
9232         element's clock.
9233
9234 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
9235
9236         * docs/gst/gstreamer-sections.txt:
9237         * gst/gsterror.c:
9238         * gst/gstghostpad.c:
9239         * gst/gstobject.h:
9240         * gst/gstxml.c:
9241           more section docs
9242
9243 2005-11-14  Wim Taymans  <wim@fluendo.com>
9244
9245         * common/gst.supp:
9246           add suppressions from Wim's Debian machine
9247
9248 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9249
9250         * common/gst.supp:
9251           add suppressions from Andy's AMD64 Ubuntu machine
9252
9253 2005-11-14  Andy Wingo  <wingo@pobox.com>
9254
9255         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
9256         STATE_LOCK not necessary. Fixes #311489.
9257
9258         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
9259         #305291.
9260
9261         * gst/gstindex.c (gst_index_add_object): Note in the docs that
9262         this function is not implemented.
9263
9264 2005-11-14  Julien MOUTTE  <julien@moutte.net>
9265
9266         * gst/base/gstbasetransform.c:
9267         (gst_base_transform_prepare_output_buf):
9268         Ref the source pad caps while we need them.
9269         Fixes (#321386)
9270
9271 2005-11-11  Wim Taymans  <wim@fluendo.com>
9272
9273         * docs/gst/gstreamer-sections.txt:
9274         Added some docs for GstCollectData.
9275
9276         * gst/base/gstadapter.c:
9277         Some small code example fix.
9278
9279         * gst/base/gstcollectpads.c:
9280         * gst/base/gstcollectpads.h:
9281         Document some more.
9282
9283 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9284
9285         * configure.ac: back to HEAD
9286
9287 === release 0.9.5 ===
9288
9289 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
9290
9291         * configure.ac:
9292           releasing 0.9.5, "Bike Lunch Day"
9293
9294 2005-11-11  Wim Taymans  <wim@fluendo.com>
9295
9296         * gst/gstbuffer.c: (_gst_buffer_copy):
9297         Copy more flags.
9298
9299         * gst/gstcaps.c: (gst_caps_is_equal):
9300         Fix some docs.
9301         Make _is_equal fast in the trivial cases.
9302
9303         * gst/gstminiobject.c:
9304         * gst/gstminiobject.h:
9305         More docs. Spifify .h file.
9306
9307         * gst/gstutils.c:
9308         Small doc update.
9309
9310 2005-11-11  Wim Taymans  <wim@fluendo.com>
9311
9312         * gst/base/gstbasetransform.c:
9313         (gst_base_transform_prepare_output_buf),
9314         (gst_base_transform_handle_buffer):
9315         Small cleanups.
9316         If we're processing a buffer and need to allocate an output
9317         buffer, we cannot accept a format change. If we did get a 
9318         format change, we have to alloc a buffer ourselves of the 
9319         right size.
9320
9321 2005-11-11  Wim Taymans  <wim@fluendo.com>
9322
9323         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
9324         While checking the flag for reentrancy in the gstcaps function
9325         is nice to detect recursive invocations, it also makes it 
9326         impossible to call getcaps from multiple threads, which must be
9327         possible. So, checking for recursive calls has to go.
9328
9329 2005-11-11  Michael Smith <msmith@fluendo.com>
9330
9331         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9332           Don't sync on buffers that fall partially outside our current
9333           segment. Prevents an assertion failure/abort playing some files.
9334
9335 2005-11-10  Andy Wingo  <wingo@pobox.com>
9336
9337         * check/gst/gstbin.c (test_message_state_changed_children): Style
9338         fix..
9339
9340         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
9341         gst_bus_poll with the signal watch. Ensures that poll and a signal
9342         watch see the same messages.
9343
9344         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
9345         a poll and a watch at the same time get the same messages.
9346
9347 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9348
9349         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
9350         * gst/gstcaps.c: (gst_caps_intersect):
9351           Don't call gst_caps_do_simplify - it doesn't respect order of caps
9352           and it's not needed.
9353
9354 2005-11-10  Wim Taymans  <wim@fluendo.com>
9355
9356         * docs/design/part-TODO.txt:
9357         Updated todo.
9358
9359 2005-11-10  Wim Taymans  <wim@fluendo.com>
9360
9361         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9362         * gst/base/gstbasesrc.c: (gst_base_src_wait),
9363         (gst_base_src_do_sync), (gst_base_src_get_range):
9364         Implement clock sync in base class.
9365
9366 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9367
9368         patch by: Tim-Philipp Müller <tim at centricular dot net>
9369
9370         * gst/gststructure.c: (gst_structure_parse_field),
9371         (gst_structure_from_string):
9372           Forward-port a 0.8 patch to handle escaped spaces in structure string,
9373           so that gst_parse_launch() can deal with spaces in filtered link
9374           caps (fixes #164479)
9375         * check/gst/capslist.h:
9376         * check/gst/gststructure.c: (GST_START_TEST):
9377           add unit tests for this change
9378
9379 2005-11-10  Wim Taymans  <wim@fluendo.com>
9380
9381         * docs/gst/gstreamer-sections.txt:
9382         * gst/gstelement.c:
9383         * gst/gstelement.h:
9384         Fix docs, move some STATE macros to private.
9385
9386 2005-11-10  Wim Taymans  <wim@fluendo.com>
9387
9388         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
9389         Added check for bug #317341
9390
9391         * gst/gstbuffer.c:
9392         * gst/gstbuffer.h:
9393         Some more spiffifying.
9394
9395         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
9396         Call peer linkfunction if we are a source pad. Totally fixes
9397         #317341
9398
9399         * gst/gstpad.c:
9400         Update docs, source pads should call the peer linkfunction
9401         so they can atomically perform the pad link.
9402
9403 2005-11-09  Wim Taymans  <wim@fluendo.com>
9404
9405         * gst/gstbuffer.c:
9406         * gst/gstbuffer.h:
9407         Uber-spiffy-spiffify some more.
9408
9409 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
9410
9411         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
9412         * gst/elements/gstfilesink.c: (gst_file_sink_init):
9413         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
9414         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
9415         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
9416         * gst/gstpad.c: (gst_pad_init):
9417           Use GST_DEBUG_FUNCPTR() more extensively.
9418
9419 2005-11-09  Wim Taymans  <wim@fluendo.com>
9420
9421         * gst/gstobject.c: (gst_object_class_init):
9422         * gst/gstobject.h:
9423         Documentation fixes.
9424
9425 2005-11-09  Edward Hervey  <edward@fluendo.com>
9426
9427         * gst/gsttypefindfactory.c:
9428         Fix docs.
9429         
9430 2005-11-09  Edward Hervey  <edward@fluendo.com>
9431
9432         * gst/base/gsttypefindhelper.c:
9433         * gst/gsttypefind.c:
9434         * gst/gsttypefind.h:
9435         Fix docs.
9436
9437 2005-11-09  Wim Taymans  <wim@fluendo.com>
9438
9439         * gst/gstiterator.c:
9440         Fix revision data.
9441
9442         * gst/gsttask.c:
9443         * gst/gsttask.h:
9444         Fix docs.
9445
9446 2005-11-09  Wim Taymans  <wim@fluendo.com>
9447
9448         * gst/gstevent.h:
9449         * gst/gsturi.h:
9450         Fix docs.
9451
9452 2005-11-09  Wim Taymans  <wim@fluendo.com>
9453
9454         * docs/gst/gstreamer-sections.txt:
9455         Moved the message async delivery private lock and cond
9456         to the private section.
9457
9458         * gst/gstmessage.c:
9459         * gst/gstmessage.h:
9460         Fixed docs.
9461
9462 2005-11-09  Edward Hervey  <edward@fluendo.com>
9463
9464         * docs/gst/gstreamer-sections.txt:
9465         * gst/gsturi.c:
9466         * gst/gsturi.h:
9467         Document GstURIHandler
9468
9469 2005-11-09  Wim Taymans  <wim@fluendo.com>
9470
9471         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
9472         (gst_iterator_find_custom):
9473         * gst/gstiterator.h:
9474         Fix iterator docs.
9475
9476 2005-11-09  Wim Taymans  <wim@fluendo.com>
9477
9478         * gst/gstbin.h:
9479         Document another field.
9480
9481         * gst/gststructure.c:
9482         * gst/gststructure.h:
9483         Document.
9484
9485 2005-11-09  Wim Taymans  <wim@fluendo.com>
9486
9487         * gst/gstbin.h:
9488         Documented structs.
9489
9490 2005-11-09  Wim Taymans  <wim@fluendo.com>
9491
9492         * docs/gst/gstreamer-sections.txt:
9493         Added some new macros.
9494
9495         * gst/gstclock.c:
9496         * gst/gstclock.h:
9497         * gst/gstobject.h:
9498         Docs updates.
9499
9500 2005-11-09  Wim Taymans  <wim@fluendo.com>
9501
9502         * docs/design/part-TODO.txt:
9503         Some more items for the TODO
9504
9505         * gst/gstcaps.c:
9506         * gst/gstcaps.h:
9507         Document GstCaps.
9508
9509 2005-11-09  Andy Wingo  <wingo@pobox.com>
9510
9511         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
9512         to work on something else now tho...
9513
9514         * gst/base/gstadapter.c: More adapter docs.
9515
9516         * gst/elements/gstfilesink.c (gst_file_sink_start) 
9517         (gst_file_sink_stop): New functions, replace the state change
9518         handler.
9519         (gst_file_sink_class_init): Hook up the start and stop functions.
9520         (gst_file_sink_base_init): Don't set the state change handler any
9521         more. It was a bit ugly too, being set from here...
9522         (gst_file_sink_get_property, gst_file_sink_set_property):
9523         Cleanups...
9524         (gst_file_sink_set_location): More robust check that doesn't call
9525         GST_STATE. Ugggggg.
9526
9527 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
9528
9529         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9530           Hold STREAM_LOCK while pushing newsegment or tag events as well.
9531
9532 2005-11-08  Wim Taymans  <wim@fluendo.com>
9533
9534         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
9535         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
9536         (gst_base_sink_chain), (gst_base_sink_change_state):
9537         * gst/base/gstbasesink.h:
9538         * gst/base/gstbasesrc.h:
9539         * gst/gstelement.h:
9540         * gst/gstevent.h:
9541         Avoid excessive typechecking in macros.
9542
9543         * gst/gstminiobject.c: (gst_mini_object_get_type),
9544         (gst_mini_object_init), (gst_mini_object_new),
9545         (gst_mini_object_free):
9546         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
9547         (gst_object_finalize):
9548         Remove cruft code, optimize alloc_trace.
9549
9550 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9551
9552         * docs/faq/gst-uninstalled:
9553           fix up PS1 for systems that try to reset it
9554
9555 2005-11-07  Wim Taymans  <wim@fluendo.com>
9556
9557         * gst/base/gstbasesrc.c: (gst_base_src_init),
9558         (gst_base_src_get_range):
9559         Set the segment_end to -1 initially. Fixed typefind.
9560
9561 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
9562
9563         * gst/base/gstadapter.c:
9564           Debug category should be 'adapter', not 'GstAdapter'.
9565           
9566         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
9567         (gst_collectpads_class_init), (gst_collectpads_init),
9568         (gst_collectpads_peek), (gst_collectpads_pop),
9569         (gst_collectpads_event), (gst_collectpads_chain):
9570           Add debug category and some debugging output. Use boilerplate
9571           macros. Remove some extraneous words from docs.
9572
9573 2005-11-05  Andy Wingo  <wingo@pobox.com>
9574
9575         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
9576         macro.
9577
9578 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
9579
9580         * docs/gst/gstreamer-sections.txt:
9581         * gst/gstcaps.h:
9582         * gst/gstinfo.c:
9583         * gst/gstminiobject.h:
9584         * gst/gstobject.h:
9585         * gst/gstutils.h:
9586           more docs added
9587
9588 2005-11-04  Wim Taymans  <wim@fluendo.com>
9589
9590         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9591         Small update to stop at the configured segment_end
9592         position.
9593
9594 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
9595
9596         * gst/gstregistry.c:
9597         * gst/gstregistry.h:
9598           added missing docs
9599
9600 2005-11-04  Edward Hervey  <edward@fluendo.com>
9601
9602         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
9603         Check if we are doing a segment seek and have arrived at the
9604         end of that segment.
9605
9606 2005-11-04  Wim Taymans  <wim@fluendo.com>
9607
9608         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
9609         Don't leak a mutex unlock in case of an error.
9610
9611         * gst/gstbus.h:
9612         Doc fixes.
9613
9614 2005-11-04  Wim Taymans  <wim@fluendo.com>
9615
9616         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
9617         (gst_bus_post):
9618         Get the context to wake up only once.
9619
9620 2005-11-03  Wim Taymans  <wim@fluendo.com>
9621
9622         * check/states/sinks.c: (GST_START_TEST):
9623         Uncomment fixed check.
9624
9625         * docs/design/part-TODO.txt:
9626         Updated TODO.
9627
9628         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9629         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
9630         (gst_base_sink_get_position):
9631         If we are going to PLAYING, post the right pending state
9632         when we post the intermediate paused message.
9633
9634         * gst/gstelement.c: (gst_element_continue_state),
9635         (gst_element_set_state_func), (gst_element_change_state):
9636         Don't post state changes that were between the same state
9637         and were not ASYNC.
9638
9639 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
9640
9641         * docs/gst/gstreamer-sections.txt:
9642         * gst/gstcaps.h:
9643         * gst/gstinfo.c:
9644         * gst/gstminiobject.h:
9645         * gst/gstobject.h:
9646         * gst/gstutils.h:
9647           more docs and doc style fixes
9648
9649 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
9650
9651         * docs/gst/gstreamer-sections.txt:
9652         * gst/gstelement.c:
9653         * gst/gstminiobject.c:
9654         doc fixes
9655
9656 2005-11-03  Andy Wingo  <wingo@pobox.com>
9657
9658         * check/states/sinks.c (test_livesrc_sink): Add checks that the
9659         state-changed messages actually have the right order and the right
9660         values.
9661
9662 2005-11-03  Wim Taymans  <wim@fluendo.com>
9663
9664         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
9665         Added some more checks. Specifically the case where NO_PREROLL
9666         elements are in the pipeline.
9667
9668         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9669         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
9670         (gst_base_sink_get_position):
9671         Post READY->PAUSED state change messages too.
9672         Fix bug where VOID was posted as pending state...
9673
9674         * gst/gstbin.c: (gst_bin_recalc_state):
9675         use _element_continue_state() to continue the state change.
9676
9677         * gst/gstelement.c: (gst_element_continue_state),
9678         (gst_element_commit_state), (gst_element_set_state_func),
9679         (gst_element_change_state), (gst_element_change_state_func):
9680         Lots of state change cleanups, assign the STATE_RETURN in
9681         a new continue_state() function that also propagates the
9682         last return value from a state change to the app.
9683         Update some debug statements with proper category.
9684
9685 2005-11-03  Wim Taymans  <wim@fluendo.com>
9686
9687         * docs/design/part-events.txt:
9688         * docs/design/part-gstpipeline.txt:
9689         * docs/design/part-messages.txt:
9690         * docs/design/part-overview.txt:
9691         * docs/design/part-seeking.txt:
9692         * docs/design/part-states.txt:
9693         * docs/design/part-trickmodes.txt:
9694         * docs/manual/advanced-position.xml:
9695         Small docs updates.
9696
9697         * gst/gstobject.h:
9698         People think !! is ugly, this looks better.
9699
9700         * gst/gstpad.c: (gst_pad_set_blocked_async):
9701         Remove !! since it's fixed elsewhere now.
9702
9703 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
9704
9705         * gst/gstminiobject.h:
9706         * gst/gstobject.h:
9707           Add !! to _FLAG_IS_SET macros to make the result boolean.
9708
9709 2005-11-03  Edward Hervey  <edward@fluendo.com>
9710
9711         * gst/gstpad.c: (gst_pad_set_blocked_async):
9712         comparing a flag and a gboolean rarely returns coherent results...
9713         Added two characters (!!) to make that work correctly.
9714         
9715 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
9716
9717         * gst/gstbus.c: (gst_bus_class_init):
9718           Fix some typos.
9719           
9720         * gst/gstqueue.c: (gst_queue_loop):
9721           Don't assume a miniobject that isn't a buffer is an
9722           event (it could be that there is a refcounting
9723           problem somewhere and the pointer is stale and
9724           refers to an already destroyed miniobject).
9725
9726 2005-11-03  Julien MOUTTE  <julien@moutte.net>
9727
9728         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
9729
9730 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
9731
9732         * docs/manual/advanced-position.xml:
9733           Update seek example and explanations to current 0.9 API.
9734
9735         * gst/elements/gsttypefindelement.c:
9736         (gst_type_find_element_activate):
9737           Remove FIXME comment now that the found caps
9738           are unreffed.
9739
9740 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9741
9742         * gst/gstregistryxml.c: (load_feature):
9743           Add another GST_STR_NULL instance
9744
9745 2005-11-02  Edward Hervey  <edward@fluendo.com>
9746
9747         * gst/gstpad.c: (handle_pad_block):
9748         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
9749         
9750 2005-11-02  Wim Taymans  <wim@fluendo.com>
9751
9752         * gst/gstbin.c:
9753         Fix typo in docs.
9754
9755         * gst/gstelement.c: (gst_element_commit_state):
9756         Remove unused value.
9757
9758         * gst/gstiterator.c:
9759         Mention that the returned element is reffed in the docs.
9760
9761 2005-11-02  Wim Taymans  <wim@fluendo.com>
9762
9763         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
9764         (gst_pad_push), (gst_pad_push_event):
9765         Unlock blocked pads when they are flushed.
9766
9767 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9768
9769         * docs/README:
9770         * docs/gst/gstreamer-sections.txt:
9771         * gst/gstbin.c:
9772           doc updates
9773         * gst/gstregistry.c: (gst_registry_scan_path_level):
9774           fix for a nasty little missed situation where an installed plug-in
9775           which was in the cache did not get overridden by an uninstalled one
9776           which was earlier in the plugin path because the newly created plugin
9777           for the uninstalled one (not in the registry) didn't get its
9778           ->registered set to TRUE
9779
9780 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
9781
9782         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
9783         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
9784         (gst_collectpads_is_active), (gst_collectpads_collect),
9785         (gst_collectpads_collect_range), (gst_collectpads_start),
9786         (gst_collectpads_stop), (gst_collectpads_peek),
9787         (gst_collectpads_pop), (gst_collectpads_available),
9788         (gst_collectpads_read), (gst_collectpads_flush):
9789           Guard public API with assertions.
9790         
9791         * gst/gstpad.c:
9792           Fix docs for gst_pad_set_link_function().
9793
9794 2005-11-02  Johan Dahlin  <johan@gnome.org>
9795
9796         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
9797         Unref found_caps after we used it.
9798
9799 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
9800
9801         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
9802           Don't try to ref NULL.
9803
9804 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9805
9806         * win32/common/config.h.in:
9807           provide a GST_FUNCTION that just gives a string for now
9808
9809 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
9810
9811         * win32/common/gstenumtypes.c: (register_gst_object_flags),
9812         (gst_object_flags_get_type), (register_gst_bin_flags),
9813         (gst_bin_flags_get_type), (register_gst_buffer_flag),
9814         (gst_buffer_flag_get_type), (register_gst_bus_flags),
9815         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
9816         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
9817         (gst_clock_return_get_type), (register_gst_clock_entry_type),
9818         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
9819         (gst_clock_flags_get_type), (register_gst_state),
9820         (gst_state_get_type), (register_gst_state_change_return),
9821         (gst_state_change_return_get_type), (register_gst_state_change),
9822         (gst_state_change_get_type), (register_gst_element_flags),
9823         (gst_element_flags_get_type), (register_gst_core_error),
9824         (gst_core_error_get_type), (register_gst_library_error),
9825         (gst_library_error_get_type), (register_gst_resource_error),
9826         (gst_resource_error_get_type), (register_gst_stream_error),
9827         (gst_stream_error_get_type), (register_gst_event_type),
9828         (gst_event_type_get_type), (register_gst_seek_type),
9829         (gst_seek_type_get_type), (register_gst_seek_flags),
9830         (gst_seek_flags_get_type), (register_gst_format),
9831         (gst_format_get_type), (register_gst_index_certainty),
9832         (gst_index_certainty_get_type), (register_gst_index_entry_type),
9833         (gst_index_entry_type_get_type),
9834         (register_gst_index_lookup_method),
9835         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
9836         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
9837         (gst_index_resolver_method_get_type), (register_gst_index_flags),
9838         (gst_index_flags_get_type), (register_gst_debug_level),
9839         (gst_debug_level_get_type), (register_gst_debug_color_flags),
9840         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
9841         (gst_iterator_result_get_type), (register_gst_iterator_item),
9842         (gst_iterator_item_get_type), (register_gst_message_type),
9843         (gst_message_type_get_type), (register_gst_mini_object_flags),
9844         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
9845         (gst_pad_link_return_get_type), (register_gst_flow_return),
9846         (gst_flow_return_get_type), (register_gst_activate_mode),
9847         (gst_activate_mode_get_type), (register_gst_pad_direction),
9848         (gst_pad_direction_get_type), (register_gst_pad_flags),
9849         (gst_pad_flags_get_type), (register_gst_pad_presence),
9850         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
9851         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
9852         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
9853         (gst_plugin_error_get_type), (register_gst_plugin_flags),
9854         (gst_plugin_flags_get_type), (register_gst_rank),
9855         (gst_rank_get_type), (register_gst_query_type),
9856         (gst_query_type_get_type), (register_gst_tag_merge_mode),
9857         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
9858         (gst_tag_flag_get_type), (register_gst_task_state),
9859         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
9860         (gst_alloc_trace_flags_get_type),
9861         (register_gst_type_find_probability),
9862         (gst_type_find_probability_get_type), (register_gst_uri_type),
9863         (gst_uri_type_get_type), (register_gst_parse_error),
9864         (gst_parse_error_get_type):
9865         * win32/common/gstversion.h:
9866           update win32 copies
9867
9868 2005-11-01  Luca Ognibene  <luogni@tin.it>
9869
9870         * gst/gst.c:
9871           fix docs. popt is dead, long live GOption.
9872
9873 2005-10-31  Wim Taymans  <wim@fluendo.com>
9874
9875         * gst/gstbuffer.h:
9876         Small doc fix.
9877
9878 2005-10-31  Andy Wingo  <wingo@pobox.com>
9879
9880         * Boo!
9881
9882         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
9883
9884         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
9885         need to serialize property notifications on GLib 2.8. GLib 2.6 has
9886         the possibility of deadlocks here if code calling notify() or
9887         set() has a lock that can be taken in another notify handler (ABBA
9888         with class lock and e.g. python GIL state lock).
9889
9890 2005-10-28  Julien MOUTTE  <julien@moutte.net>
9891
9892         * gst/gstbus.c: Doc updates.
9893
9894 2005-10-28  Wim Taymans  <wim@fluendo.com>
9895
9896         * docs/design/part-TODO.txt:
9897         * gst/gstiterator.c:
9898         * gst/gstsystemclock.c:
9899         * gst/gstsystemclock.h:
9900         Doc updates.
9901
9902 2005-10-28  Edward Hervey  <edward@fluendo.com>
9903
9904         * docs/gst/gstreamer-docs.sgml:
9905         * docs/gst/gstreamer-sections.txt:
9906         the GstURIType documentation page is private, it only defines GstURIType
9907         which should be defined in the GstURIHandler page
9908         
9909 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9910
9911         * gst/gstbin.c: (gst_bin_class_init):
9912         * gst/gstbin.h:
9913         * gst/gstutils.c:
9914         Documentation updates.
9915
9916 2005-10-28  Wim Taymans  <wim@fluendo.com>
9917
9918         * docs/gst/gstreamer-sections.txt:
9919         * gst/gstclock.c:
9920         * gst/gstclock.h:
9921         Documented the clocks.
9922
9923 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
9924
9925         * docs/gst/gstreamer-sections.txt:
9926           move some macros to private sections
9927         * gst/gstminiobject.c:
9928         * gst/gstminiobject.h:
9929           add descriptions provided by ds and some more
9930         * gst/gstpad.h:
9931           mark macro as to be removed
9932
9933 2005-10-28  Wim Taymans  <wim@fluendo.com>
9934
9935         * docs/design/part-TODO.txt:
9936         Add an item to TODO.
9937
9938         * gst/gstiterator.c: (gst_iterator_fold),
9939         (gst_iterator_find_custom):
9940         * gst/gstiterator.h:
9941         Add iterator docs.
9942
9943 2005-10-28  Wim Taymans  <wim@fluendo.com>
9944
9945         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
9946         (gst_base_transform_init):
9947         Don't leak class.
9948
9949         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
9950         An EOS event marks the queue as completely filled.
9951
9952 2005-10-27  Wim Taymans  <wim@fluendo.com>
9953
9954         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9955         (gst_base_sink_do_sync), (gst_base_sink_get_position):
9956         Some more debugging.
9957
9958         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
9959         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
9960         (gst_base_transform_event), (gst_base_transform_getrange),
9961         (gst_base_transform_chain):
9962         * gst/base/gstbasetransform.h:
9963         Fix debugging,
9964         Protect transform and concurrent buffer alloc with a new lock.
9965         Try not to break ABI/API.
9966
9967 2005-10-27  Wim Taymans  <wim@fluendo.com>
9968
9969         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9970         (gst_base_src_init), (gst_base_src_query),
9971         (gst_base_src_default_newsegment),
9972         (gst_base_src_configure_segment), (gst_base_src_do_seek),
9973         (gst_base_src_send_event), (gst_base_src_event_handler),
9974         (gst_base_src_pad_get_range), (gst_base_src_loop),
9975         (gst_base_src_unlock), (gst_base_src_default_negotiate),
9976         (gst_base_src_start), (gst_base_src_deactivate),
9977         (gst_base_src_activate_push), (gst_base_src_change_state):
9978         Move some stuff around and cleanup things.
9979
9980 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
9981
9982         * gst/base/gstbasesrc.c: (gst_base_src_query):
9983           Add missing break statements.
9984
9985 2005-10-27  Wim Taymans  <wim@fluendo.com>
9986
9987         * check/gst/gstbin.c: (GST_START_TEST):
9988         An extra refcount is taken in basesrc.
9989
9990         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
9991         (gst_base_src_get_range), (gst_base_src_pad_get_range),
9992         (gst_base_src_loop):
9993         Small cleanups, check for flushing after being unlocked from the 
9994         LIVE_LOCK. take refcounts correctly (not yet everywhere).
9995         Don't send out EOS when going to READY.
9996
9997 2005-10-27  Wim Taymans  <wim@fluendo.com>
9998
9999         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10000         (gst_base_sink_get_position):
10001         Some more debug.
10002
10003         * gst/gstbin.c: (message_check), (bin_replace_message),
10004         (bin_remove_messages), (is_eos), (gst_bin_add_func),
10005         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
10006         (bin_query_duration_init), (bin_query_duration_fold),
10007         (bin_query_duration_done), (bin_query_generic_fold),
10008         (gst_bin_query):
10009         * tools/gst-launch.c: (main):
10010         Remove old option.
10011
10012 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
10013
10014         * examples/controller/audio-example.c: (main):
10015         * examples/queue/queue.c: (event_loop):
10016         * gst/base/gstbasetransform.h:
10017         * gst/gstelement.c: (gst_element_send_event):
10018         * gst/gstevent.h:
10019         * gst/gstpad.c: (gst_pad_send_event):
10020           fixing examples
10021           fixing docs typos
10022           changing log priority in error situations
10023
10024 2005-10-25  Wim Taymans  <wim@fluendo.com>
10025
10026         * gst/gstbin.c: (message_check), (bin_replace_message),
10027         (bin_remove_messages), (is_eos), (gst_bin_add_func),
10028         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
10029         (bin_query_duration_init), (bin_query_duration_fold),
10030         (bin_query_duration_done), (bin_query_generic_fold),
10031         (gst_bin_query):
10032         Some doc and debug updates.
10033         Cache previously requested query DURATION for speed. invalidate
10034         cached duration if element posts a DURATION message.
10035
10036 2005-10-25  Wim Taymans  <wim@fluendo.com>
10037
10038         * docs/design/part-TODO.txt:
10039         Update TODO.
10040
10041         * gst/gstbin.c: (message_check), (bin_replace_message),
10042         (bin_remove_messages), (is_eos), (gst_bin_add_func),
10043         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
10044         (bin_query_duration_init), (bin_query_duration_fold),
10045         (bin_query_duration_done), (bin_query_generic_fold),
10046         (gst_bin_query):
10047         Handle SEGMENT_START/DONE messages correctly.
10048         More evolved query algorithm that handles duration queries
10049         correctly.
10050
10051         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
10052         (gst_element_get_state_func), (gst_element_abort_state),
10053         (gst_element_commit_state), (gst_element_lost_state):
10054         Some more debugging.
10055
10056         * gst/gstmessage.h:
10057         Added doc.
10058
10059 2005-10-25  Wim Taymans  <wim@fluendo.com>
10060
10061         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
10062         Don't use invalid stream_time.
10063
10064         * gst/gstevent.c: (gst_event_new_newsegment):
10065         stream_time in newsegment cannot be undefined.
10066
10067 2005-10-24  Wim Taymans  <wim@fluendo.com>
10068
10069         * gst/gstbus.c:
10070         Doc fix.
10071
10072         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10073         (gst_queue_loop):
10074         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
10075
10076 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
10077
10078         * docs/libs/tmpl/gstdparam.sgml:
10079         * docs/libs/tmpl/gstdplinint.sgml:
10080         * docs/libs/tmpl/gstdpman.sgml:
10081         * docs/libs/tmpl/gstdpsmooth.sgml:
10082         * docs/libs/tmpl/gstunitconvert.sgml:
10083           these are obsolete
10084
10085 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10086
10087         * configure.ac:
10088           back to HEAD
10089
10090 === release 0.9.4 ===
10091
10092 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10093
10094         * configure.ac:
10095           releasing 0.9.4, "Tyrannosaurus Rex"
10096
10097 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
10098
10099         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
10100         (gst_file_sink_get_current_offset):
10101           Use fseeko() and ftello() if available. When falling back on
10102           lseek() to get the current offset, fflush() first to make sure
10103           everything is up-to-date and we get the right offset.
10104
10105 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10106
10107         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10108         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10109         * gst/gsterror.c: (_gst_stream_errors_init):
10110         * gst/gsterror.h:
10111         * gst/gstqueue.c: (gst_queue_loop):
10112         * po/POTFILES.in:
10113           remove prematurely added error category and clean up the instances
10114
10115 2005-10-21  Wim Taymans  <wim@fluendo.com>
10116
10117         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10118         (gst_base_sink_get_position), (gst_base_sink_query),
10119         (gst_base_sink_change_state):
10120         Simply set the right flag when going to playing, that's all
10121         we need to do instead of calling a function inside the object
10122         lock (that could take the lock as well and deadlock)
10123
10124 2005-10-21  Wim Taymans  <wim@fluendo.com>
10125
10126         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
10127         (gst_base_src_loop):
10128         Don't warn, the peer element knows what to do best when
10129         the seek failed, it might try something else.
10130
10131 2005-10-21  Wim Taymans  <wim@fluendo.com>
10132
10133         * gst/base/gstbasesrc.c: (gst_base_src_init),
10134         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
10135         Fix seeking.
10136
10137 2005-10-21  Wim Taymans  <wim@fluendo.com>
10138
10139         * docs/design/part-segments.txt:
10140         More docs.
10141
10142         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
10143         Correctly set caps, even on the subbufer.
10144
10145 2005-10-21  Wim Taymans  <wim@fluendo.com>
10146
10147         * docs/gst/gstreamer-docs.sgml:
10148         * docs/gst/gstreamer-sections.txt:
10149         * gst/gstelement.h:
10150         * gst/gstevent.c:
10151         * gst/gstevent.h:
10152         * gst/gstmessage.h:
10153         * gst/gstpad.h:
10154         * gst/gstparse.h:
10155         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
10156         * gst/gsttask.h:
10157         * gst/gstutils.c:
10158         * gst/gstutils.h:
10159         And 2% more doc coverage.
10160
10161 2005-10-21  Andy Wingo  <wingo@pobox.com>
10162
10163         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
10164         position reporting.
10165
10166 2005-10-20  Wim Taymans  <wim@fluendo.com>
10167
10168         * gst/gsterror.c: (gst_error_get_message):
10169         * gst/gstparse.h:
10170         * gst/gstquery.h:
10171         * gst/gststructure.c:
10172         * gst/gsttrace.c:
10173         * gst/gstutils.c:
10174         More docs.
10175
10176 2005-10-20  Wim Taymans  <wim@fluendo.com>
10177
10178         * gst/gstbuffer.h:
10179         * gst/gstpad.c:
10180         * gst/gstparse.c:
10181         Another 1% more coverage.
10182
10183 2005-10-20  Wim Taymans  <wim@fluendo.com>
10184
10185         * docs/gst/gstreamer-sections.txt:
10186         * gst/gstelement.c: (gst_element_get_state_func),
10187         (gst_element_abort_state), (gst_element_commit_state),
10188         (gst_element_lost_state):
10189         * gst/gstevent.h:
10190         * gst/gstquery.c: (gst_query_set_position),
10191         (gst_query_parse_position), (gst_query_set_duration),
10192         (gst_query_parse_duration), (gst_query_new_convert):
10193         * gst/gstutils.c:
10194         Yay! 1% more docs coverage.
10195
10196 2005-10-20  Wim Taymans  <wim@fluendo.com>
10197
10198         * gst/gstpad.h:
10199         * gst/gstquery.c: (gst_query_set_position),
10200         (gst_query_parse_position), (gst_query_set_duration),
10201         (gst_query_parse_duration), (gst_query_new_convert):
10202         * gst/gstquery.h:
10203         * gst/gstutils.c: (gst_element_query_convert):
10204         * gst/gstutils.h:
10205         Docs and consistency fixes.
10206
10207 2005-10-20  Wim Taymans  <wim@fluendo.com>
10208
10209         * gst/gsttask.c:
10210         * gst/gsttask.h:
10211         More docs.
10212
10213 2005-10-20  Wim Taymans  <wim@fluendo.com>
10214
10215         * gst/gstbin.c: (message_check), (bin_replace_message),
10216         (bin_remove_messages), (is_eos), (gst_bin_add_func),
10217         (update_degree), (gst_bin_sort_iterator_next),
10218         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
10219         Reworked the message handling a bit, cache the messages instead of
10220         only the senders. alows us to do more in the future.
10221
10222 2005-10-20  Wim Taymans  <wim@fluendo.com>
10223
10224         * docs/design/part-TODO.txt:
10225         Update TODO
10226
10227         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
10228         (gst_base_sink_query):
10229         Don't use clock time to report position when in EOS.
10230
10231 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
10232
10233         * tools/gst-inspect.c: (print_interfaces),
10234         (print_element_properties_info), (print_element_info):
10235           Fix interface output with gst-inspect -a; don't print
10236           newlines after double/float properties.
10237
10238 2005-10-20  Wim Taymans  <wim@fluendo.com>
10239
10240         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
10241         (gst_base_sink_query):
10242         Speed up current position calculation.
10243
10244         * gst/base/gstbasesrc.c: (gst_base_src_query),
10245         (gst_base_src_default_newsegment):
10246         Correctly set stream position in newsegment.
10247
10248         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
10249         (update_degree), (gst_bin_sort_iterator_next),
10250         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
10251         * gst/gstmessage.c: (gst_message_new_custom):
10252         Clean up debugging info
10253
10254         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
10255         (gst_queue_loop), (gst_queue_handle_src_query):
10256         Pause task faster.
10257
10258 2005-10-19  Wim Taymans  <wim@fluendo.com>
10259
10260         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10261         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
10262         Fix query handling again.
10263
10264 2005-10-19  Wim Taymans  <wim@fluendo.com>
10265
10266         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10267         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
10268         * gst/base/gstbasesrc.c: (gst_base_src_query):
10269         * gst/elements/gstfilesink.c: (gst_file_sink_query):
10270         * gst/elements/gsttypefindelement.c:
10271         (gst_type_find_handle_src_query), (find_element_get_length),
10272         (gst_type_find_element_activate):
10273         API change fix.
10274
10275         * gst/gstquery.c: (gst_query_new_position),
10276         (gst_query_set_position), (gst_query_parse_position),
10277         (gst_query_new_duration), (gst_query_set_duration),
10278         (gst_query_parse_duration), (gst_query_set_segment),
10279         (gst_query_parse_segment):
10280         * gst/gstquery.h:
10281         Bundling query position/duration is not a good idea since duration
10282         does not change much and we don't want to recalculate it for every
10283         position query, so they are separated again..
10284         Base value in segment query is not needed.
10285
10286         * gst/gstqueue.c: (gst_queue_handle_src_query):
10287         * gst/gstutils.c: (gst_element_query_position),
10288         (gst_element_query_duration), (gst_pad_query_position),
10289         (gst_pad_query_duration):
10290         * gst/gstutils.h:
10291         Updates for query API change.
10292         Added some docs here and there.
10293
10294 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10295
10296         * check/gst/gstbin.c: (GST_START_TEST):
10297         * check/gst/gstghostpad.c: (GST_START_TEST):
10298         * check/pipelines/cleanup.c: (GST_START_TEST):
10299           wait on thread to die so we can check refcount correctly
10300
10301 2005-10-18  Wim Taymans  <wim@fluendo.com>
10302
10303         * check/pipelines/stress.c: (GST_START_TEST):
10304         Make check a little more time consuming.
10305
10306 2005-10-18  Wim Taymans  <wim@fluendo.com>
10307
10308         * check/Makefile.am:
10309         * check/pipelines/stress.c: (GST_START_TEST),
10310         (simple_launch_lines_suite), (main):
10311         Small state change torture test.
10312
10313         * docs/design/part-states.txt:
10314         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10315         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
10316         (gst_base_sink_change_state):
10317         Never take state lock from streaming thread, clean up ugly
10318         hacks. Unfortunatly core does not yet support nice ways to
10319         async commit state.
10320         
10321         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
10322         (bin_bus_handler):
10323         Start state recalc if a STATE_DIRTY message is posted, but only
10324         on the toplevel bin.
10325
10326         * gst/gstelement.c: (gst_element_sync_state_with_parent),
10327         (gst_element_get_state_func), (gst_element_abort_state),
10328         (gst_element_commit_state), (gst_element_lost_state),
10329         (gst_element_set_state_func), (gst_element_change_state):
10330         * gst/gstelement.h:
10331         State variables are now protected with the LOCK, the state
10332         lock is only used to serialize _set_state().
10333
10334 2005-10-18  Wim Taymans  <wim@fluendo.com>
10335
10336         * check/gst/gstbin.c: (GST_START_TEST):
10337         * check/gst/gstmessage.c: (GST_START_TEST):
10338         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10339         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
10340         (bin_bus_handler):
10341         * gst/gstelement.c: (gst_element_abort_state),
10342         (gst_element_commit_state), (gst_element_lost_state):
10343         * gst/gstmessage.c: (gst_message_new_state_changed),
10344         (gst_message_new_state_dirty), (gst_message_new_segment_start),
10345         (gst_message_new_segment_done), (gst_message_new_duration),
10346         (gst_message_parse_state_changed),
10347         (gst_message_parse_segment_start),
10348         (gst_message_parse_segment_done), (gst_message_parse_duration):
10349         * gst/gstmessage.h:
10350         * tools/gst-launch.c: (event_loop):
10351         Seriously, this is better than a previous commit as we only need
10352         to notify the fact that an element changed state in a streaming
10353         thread, marking the state of the parents dirty, hence the 
10354         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
10355         message.
10356
10357 2005-10-18  Wim Taymans  <wim@fluendo.com>
10358
10359         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
10360         (gst_bin_recalc_func):
10361         * gst/gstelement.c: (gst_element_set_clock),
10362         (gst_element_abort_state), (gst_element_lost_state):
10363         Cleanups, prepare for state change fixes.
10364
10365 2005-10-18  Wim Taymans  <wim@fluendo.com>
10366
10367         * gst/gstbin.h:
10368         * gst/gstelement.c: (gst_element_class_init),
10369         (gst_element_set_state), (gst_element_set_state_func):
10370         * gst/gstelement.h:
10371         Pending ABI changes.
10372         GThreadPool in GstBinClass to monitor async state changes.
10373         state_cookie in GstElement to detect concurrent gst/set state.
10374         set_state is now virtual too in case a very complicated element
10375         has to be constructed.
10376
10377 2005-10-18  Wim Taymans  <wim@fluendo.com>
10378
10379         * check/gst/gstbin.c: (GST_START_TEST):
10380         * check/gst/gstmessage.c: (GST_START_TEST):
10381         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
10382         * gst/gstbin.c: (bin_bus_handler):
10383         * gst/gstelement.c: (gst_element_commit_state),
10384         (gst_element_lost_state):
10385         * gst/gstmessage.c: (gst_message_new_state_changed),
10386         (gst_message_new_segment_start), (gst_message_new_segment_done),
10387         (gst_message_new_duration), (gst_message_parse_state_changed),
10388         (gst_message_parse_segment_start),
10389         (gst_message_parse_segment_done), (gst_message_parse_duration):
10390         * gst/gstmessage.h:
10391         * tools/gst-launch.c: (event_loop):
10392         Make messages future proof.
10393         state-change gets a flag if it was a message comming from the
10394         streaming thread.
10395         segment-start/stop can also be specified in other formats.
10396         A message to notify an app that a pipeline changed playback 
10397         duration.
10398         Also fix a GstMessage leak in -launch
10399
10400 2005-10-18  Andy Wingo  <wingo@pobox.com>
10401
10402         * gst/gstelement.c (gst_element_dispose): More helpful message.
10403
10404 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10405
10406         reviewed by: <delete if not using a buddy>
10407
10408         * common/gtk-doc.mak:
10409
10410 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10411
10412         * gst/gstregistry.c: (gst_registry_scan_path_level):
10413           unref a plug-in we get that was already initialized
10414
10415 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
10416
10417         * docs/gst/gstreamer-sections.txt:
10418         * docs/libs/gstreamer-libs-sections.txt:
10419         * gst/gstelement.h:
10420           add new api entries
10421           hide internal macro
10422
10423 2005-10-17  Andy Wingo  <wingo@pobox.com>
10424
10425         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
10426         cleanup.
10427
10428         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
10429
10430         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
10431
10432         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
10433         (gst_element_get_state_func): Better debug message.
10434         (gst_element_commit_state): s/INFO/DEBUG/.
10435         (gst_element_lost_state, gst_element_change_state): 
10436
10437         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
10438         (gst_message_new_custom): s/INFO/LOG/.
10439
10440 2005-10-17  Michael Smith <msmith@fluendo.com>
10441
10442         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
10443           Check if end time is valid using end time, not start time.
10444
10445 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
10446
10447         * check/gst-libs/controller.c: (GST_START_TEST),
10448         (gst_controller_suite):
10449         * libs/gst/controller/gstcontroller.c:
10450         (gst_controlled_property_set_interpolation_mode):
10451         * libs/gst/controller/gstcontroller.h:
10452         * libs/gst/controller/gstinterpolation.c:
10453         * testsuite/controller/.cvsignore:
10454         * testsuite/controller/Makefile.am:
10455         * testsuite/controller/interpolator.c:
10456           merge controller testsuites
10457           fix broken tests
10458           remove mem-chunk from docs
10459
10460 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10461
10462         * gst/gstmemchunk.c:
10463         * gst/gstmemchunk.h:
10464         * gst/gsttrashstack.c:
10465         * gst/gsttrashstack.h:
10466           out.  get out.  you're fired.  to the Attic !
10467
10468 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
10469
10470         * gst/gstcaps.c: (gst_caps_intersect):
10471           fix signedness issues in a (hopefully) correct way
10472         * gst/gstelement.c: (gst_element_pads_activate):
10473           some debugging
10474         * gst/gstobject.c: (gst_object_set_parent):
10475           some debugging
10476
10477 2005-10-17  Julien MOUTTE  <julien@moutte.net>
10478
10479         * gst/gstvalue.h: Fix prototypes.
10480
10481 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10482
10483         * docs/gst/gstreamer-sections.txt:
10484         * gst/gst.c: (gst_version_string):
10485         * gst/gst.h:
10486         * gst/gstversion.h.in:
10487         * win32/common/libgstreamer.def:
10488           add gst_version_string ()
10489
10490 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10491
10492         * configure.ac:
10493           clean up further
10494         * gst/gst.c: (init_post):
10495         * win32/common/config.h.in:
10496           it's PLUGINDIR now
10497         * gst/gstcaps.c: (gst_caps_intersect):
10498           use gint64, the range could be bigger than a guint
10499
10500 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10501
10502         * gst/gstclock.h:
10503           document potential problem in 2038
10504
10505 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10506
10507         * gst/gstcaps.c: (gst_caps_intersect):
10508           Fix guint j diving under 0
10509
10510 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10511
10512         * configure.ac:
10513         * win32/common/config.h:
10514         * win32/common/config.h.in:
10515           check for process.h, declares getpid() on Windows
10516         * gst/gstinfo.c:
10517           include process.h if we have it
10518         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
10519         * gst/gstmemchunk.h:
10520           fix signedness issues
10521         * win32/common/libgstreamer.def:
10522           fix get_type's
10523
10524 2005-10-16  Julien MOUTTE  <julien@moutte.net>
10525
10526         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
10527         fix. Because of unsigned ints, caps intersection was going nuts and
10528         trying to access structures with G_MAXUINT index. That fixes
10529         videotestsrc ! ffmpegcolorspace ! fakesink
10530         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
10531         consistency.
10532
10533 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10534
10535         * configure.ac:
10536           use the gettext macro
10537         * gst/elements/gstelements.c:
10538         * gst/gst.c:
10539         * gst/indexers/gstindexers.c:
10540           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
10541         * win32/common/config.h:
10542           updated config.h
10543         * win32/common/config.h.in:
10544           add the template to generate config.h
10545         * win32/common/gstenumtypes.c:
10546         * win32/common/gstversion.h:
10547           updated copies
10548
10549 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10550
10551         * gst/gst.c: (gst_version):
10552         * gst/gstversion.h.in:
10553           add the nano
10554
10555 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
10556
10557         * gst/gstevent.h:
10558           Oops, add missing closing bracket.
10559
10560 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10561
10562         * configure.ac:
10563           use common m4's for argument checking
10564
10565 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
10566
10567         * docs/gst/gstreamer-sections.txt:
10568         * gst/gstevent.h:
10569           Add GST_EVENT_TYPE_NAME() macro.
10570
10571 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10572
10573         * gst/gstinfo.c:
10574         * gst/gstpluginfeature.c:
10575         * gst/gsttask.c:
10576           privatize more symbols
10577
10578 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10579
10580         * configure.ac:
10581           add srcdir, builddir includes to GST_ALL_CFLAGS, since
10582           everything that uses GStreamer API should have the includes
10583
10584 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10585
10586         * docs/gst/gstreamer-sections.txt:
10587         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10588         * gst/gstvalue.h:
10589           give each value a _get_type, removes the DATA exports
10590
10591 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10592
10593         * gst/gst.c:
10594         * gst/gst.h:
10595           remove _gst_registry_auto_load, not used anymore
10596         * gst/gstbin.c: (gst_bin_get_type):
10597         * gst/gstbin.h:
10598         * gst/gstelement.c: (gst_element_get_type):
10599         * gst/gstelement.h:
10600         * gst/gstobject.c: (gst_object_get_type):
10601         * gst/gstobject.h:
10602         * gst/gstpad.c: (gst_pad_get_type):
10603         * gst/gstpad.h:
10604           make _get_type functions similar, fixes data export from library
10605
10606 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10607
10608         * configure.ac:
10609           correctly make conditionals
10610         * gst/elements/Makefile.am:
10611         * gst/elements/gstelements.c:
10612           fix typo causing fdsrc not to build
10613
10614 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10615
10616         * testsuite/Makefile.am:
10617         * testsuite/bytestream/.cvsignore:
10618         * testsuite/bytestream/Makefile.am:
10619         * testsuite/bytestream/filepadsink.c:
10620         * testsuite/bytestream/gstbstest.c:
10621         * testsuite/bytestream/test1.c:
10622         * testsuite/bytestream/testfile1:
10623         * testsuite/caps/normalisation.c:
10624         * testsuite/caps/random.c: (main):
10625         * testsuite/cleanup/.cvsignore:
10626         * testsuite/cleanup/Makefile.am:
10627         * testsuite/cleanup/cleanup1.c:
10628         * testsuite/cleanup/cleanup2.c:
10629         * testsuite/cleanup/cleanup3.c:
10630         * testsuite/cleanup/cleanup4.c:
10631         * testsuite/cleanup/cleanup5.c:
10632         * testsuite/controller/interpolator.c:
10633         * testsuite/debug/printf_extension.c: (main):
10634         * testsuite/elements/tee.c:
10635         * testsuite/negotiation/.cvsignore:
10636         * testsuite/negotiation/Makefile.am:
10637         * testsuite/negotiation/pad_link.c:
10638         * testsuite/pad/Makefile.am:
10639         * testsuite/pad/chainnopull.c:
10640         * testsuite/pad/getnopush.c:
10641         * testsuite/pad/link.c:
10642         * testsuite/refcounting/sched.c: (create_pipeline):
10643         * testsuite/registry/Makefile.am:
10644         * testsuite/registry/gst-print-formats.c:
10645         * testsuite/schedulers/.cvsignore:
10646         * testsuite/schedulers/142183-2.c:
10647         * testsuite/schedulers/142183.c:
10648         * testsuite/schedulers/143777-2.c:
10649         * testsuite/schedulers/143777.c:
10650         * testsuite/schedulers/147713.c:
10651         * testsuite/schedulers/147819.c:
10652         * testsuite/schedulers/147894-2.c:
10653         * testsuite/schedulers/147894.c:
10654         * testsuite/schedulers/Makefile.am:
10655         * testsuite/schedulers/group_link.c:
10656         * testsuite/schedulers/queue_link.c:
10657         * testsuite/schedulers/relink.c:
10658         * testsuite/schedulers/unlink.c:
10659         * testsuite/schedulers/unref.c:
10660         * testsuite/schedulers/useless_iteration.c:
10661         * testsuite/states/bin.c:
10662           clean out/remove some stuff from the testsuite directories
10663
10664 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10665
10666         * configure.ac:
10667           check for some headers
10668         * gst/elements/Makefile.am:
10669         * gst/elements/gstelements.c:
10670           don't compile fdsrc without sys/socket.h
10671         * gst/indexers/Makefile.am:
10672         * gst/indexers/gstindexers.c: (plugin_init):
10673           don't compile fileindex without mmap
10674
10675 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10676
10677         * configure.ac:
10678           reorganize
10679           clean up
10680           document more
10681           remove cruft
10682         * check/Makefile.am:
10683         * docs/gst/Makefile.am:
10684         * examples/helloworld/Makefile.am:
10685         * gst/Makefile.am:
10686         * gst/base/Makefile.am:
10687         * gst/check/Makefile.am:
10688         * gst/elements/Makefile.am:
10689         * gst/indexers/Makefile.am:
10690         * gst/parse/Makefile.am:
10691         * libs/gst/controller/Makefile.am:
10692         * libs/gst/dataprotocol/Makefile.am:
10693         * examples/helloworld/helloworld.c: (event_loop):
10694           compile fixes, though it's not being compiled currently
10695
10696 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
10697
10698         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
10699           Add some simple tests for the new taglist date API.
10700
10701 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
10702
10703         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
10704         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
10705           Beautify 'last-message' output: print 'none' for buffer timestamps
10706           and durations if none is set; improve alignment with next messages.
10707
10708 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
10709
10710         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
10711         * gst/gstpluginfeature.h:
10712         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
10713         * gst/gstregistry.h:
10714         * docs/gst/gstreamer-sections.txt:
10715           Add new API to check plugin feature version requirements.
10716
10717         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
10718           Some basic tests for the above.         
10719
10720 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10721
10722         * gst/gststructure.c: (gst_structure_to_string):
10723           guard against NULL printf - happens when for example
10724           a message structure with GstClock gets serialized
10725
10726 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
10727
10728         * gst/base/gstcollectpads.c: (gst_collectpads_event):
10729           Fix presumable copy'n'pasto.
10730
10731 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10732
10733         * gst/elements/gstfakesrc.h:
10734         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
10735         * gst/elements/gsttypefindelement.c:
10736           fix some signedness
10737         * gst/elements/gstfilesink.c: (gst_file_sink_render):
10738           I wonder if this could actually write +2GB files before
10739
10740 2005-10-13  Andy Wingo  <wingo@pobox.com>
10741
10742         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
10743         Fix Timmeke Waymans bug.
10744         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
10745         string of the proper length to gst_caps_from_string. There's a
10746         potential for, before this fix, that this could cause someone
10747         connecting over the network to cause a segfault if the payload is
10748         not NUL-terminated.
10749
10750 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
10751
10752         * docs/design/draft-push-pull.txt:
10753         * docs/design/part-overview.txt:
10754         * docs/random/TODO-pre-0.9:
10755         * docs/random/old/ChangeLog.gstreamer:
10756         * gst/base/gstpushsrc.c:
10757         * gst/gstclock.c:
10758           fixed typos
10759
10760 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10761
10762         * gst/glib-compat.c: (gst_flags_get_first_value):
10763         * gst/glib-compat.h:
10764         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
10765         (gst_value_compare_double), (gst_value_serialize_flags):
10766           GLib 2.6 g_flags_get_first_value has a bug that triggers an
10767           infinite loop
10768
10769 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10770
10771         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10772         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10773           fix up debugging
10774         * tools/gst-launch.c: (event_loop):
10775           print out clock nicely
10776
10777 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
10778
10779         * docs/gst/gstreamer-sections.txt:
10780         * gst/gsttaglist.h:
10781         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
10782         (gst_tag_list_get_date_index):
10783           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
10784           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
10785
10786 2005-10-13  Julien MOUTTE  <julien@moutte.net>
10787
10788         * gst/base/gstcollectpads.c: (gst_collectpads_event),
10789         (gst_collectpads_chain):
10790         * gst/base/gstcollectpads.h: Handle newsegment and store informations
10791         in CollectData.
10792
10793 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
10794
10795         * docs/gst/gstreamer-sections.txt:
10796         * gst/gst.c:
10797         * gst/gsterror.h:
10798         * tools/gst-inspect.c: (main):
10799         * tools/gst-launch.c: (main):
10800         * tools/gst-run.c: (main):
10801         * tools/gst-xmlinspect.c: (main):
10802           fix GOption context leaks
10803           doc fixes
10804
10805 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10806
10807         * gst/gstbus.c:
10808           use HAVE_UNISTD_H
10809         * win32/common/config.h:
10810           update config
10811         * win32/vs6/grammar.dsp:
10812         * win32/vs6/libgstelements.dsp:
10813         * win32/vs6/libgstreamer.dsp:
10814           update vs6 files
10815
10816 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10817
10818         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10819         * gst/base/gstbasesrc.c: (gst_base_src_query):
10820           fix more guint64<->gdouble conversions
10821
10822 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10823
10824         * Makefile.am:
10825           add win32-update target
10826         * win32/common/gstconfig.h:
10827         * win32/common/gstenumtypes.c:
10828         * win32/common/gstenumtypes.h:
10829         * win32/common/gstversion.h:
10830           add files that visual studio can't generate
10831
10832 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10833
10834         * Makefile.am:
10835           add a win32-update target
10836         * configure.ac:
10837
10838 2005-10-12  Wim Taymans  <wim@fluendo.com>
10839
10840         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10841         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
10842         * gst/gstelement.c: (gst_element_commit_state),
10843         (gst_element_set_state):
10844         Protect flags with proper lock.
10845         unref provided cached clock in dispose.
10846
10847 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
10848
10849         * gst/gst.c:
10850         * gst/gstminiobject.h:
10851         * gst/gstpad.h:
10852         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
10853           removed unused flags from miniobject
10854           doc fixes
10855
10856 2005-10-12  Wim Taymans  <wim@fluendo.com>
10857
10858         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
10859         (gst_file_sink_event), (gst_file_sink_render):
10860         Flush before seeking.
10861
10862 2005-10-12  Andy Wingo  <wingo@pobox.com>
10863
10864         * gst/gst.c (gst_init_check): Ignore unknown options, as has
10865         always been the case.
10866
10867 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
10868
10869         * check/gst/gstbin.c: (GST_START_TEST):
10870         * docs/gst/gstreamer-sections.txt:
10871         * gst/base/gstbasesink.c: (gst_base_sink_init):
10872         * gst/base/gstbasesrc.c: (gst_base_src_init),
10873         (gst_base_src_get_range), (gst_base_src_check_get_range),
10874         (gst_base_src_start), (gst_base_src_stop):
10875         * gst/base/gstbasesrc.h:
10876         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
10877         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
10878         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
10879         (bin_bus_handler):
10880         * gst/gstbin.h:
10881         * gst/gstbuffer.h:
10882         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
10883         * gst/gstbus.h:
10884         * gst/gstelement.c: (gst_element_is_locked_state),
10885         (gst_element_set_locked_state), (gst_element_commit_state),
10886         (gst_element_set_state):
10887         * gst/gstelement.h:
10888         * gst/gstindex.c: (gst_index_init):
10889         * gst/gstindex.h:
10890         * gst/gstminiobject.h:
10891         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
10892         (gst_object_set_parent):
10893         * gst/gstobject.h:
10894         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
10895         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
10896         * gst/gstpad.h:
10897         * gst/gstpadtemplate.h:
10898         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
10899         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
10900         * gst/gstpipeline.h:
10901         * gst/indexers/gstfileindex.c: (gst_file_index_load),
10902         (gst_file_index_commit):
10903         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
10904         * testsuite/pad/link.c: (gst_test_src_init),
10905         (gst_test_filter_init), (gst_test_sink_init):
10906         * testsuite/states/locked.c: (main):
10907           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
10908           moved bitshift from macro to enum definition
10909
10910 2005-10-12  Wim Taymans  <wim@fluendo.com>
10911
10912         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
10913         * gst/elements/gstfilesink.c: (gst_file_sink_event),
10914         (gst_file_sink_render):
10915         Some more debugging info.
10916
10917 2005-10-12  Wim Taymans  <wim@fluendo.com>
10918
10919         * docs/design/part-states.txt:
10920         * tools/gst-launch.c: (main):
10921         Some doc updates.
10922         Revert non-intentional change.
10923
10924 2005-10-12  Wim Taymans  <wim@fluendo.com>
10925
10926         * check/gst/gstbin.c: (GST_START_TEST):
10927         * check/gst/gstelement.c: (GST_START_TEST):
10928         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
10929         * check/gst/gstghostpad.c: (GST_START_TEST):
10930         * check/gst/gstpipeline.c: (GST_START_TEST):
10931         * check/pipelines/simple_launch_lines.c: (run_pipeline):
10932         * check/states/sinks.c: (GST_START_TEST):
10933         * gst/elements/gsttypefindelement.c: (stop_typefinding):
10934         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
10935         (gst_bin_remove_func), (gst_bin_get_state_func),
10936         (gst_bin_recalc_state), (gst_bin_change_state_func),
10937         (bin_bus_handler):
10938         * gst/gstelement.c: (gst_element_get_state_func),
10939         (gst_element_get_state), (gst_element_abort_state),
10940         (gst_element_commit_state), (gst_element_set_state),
10941         (gst_element_change_state), (gst_element_change_state_func):
10942         * gst/gstelement.h:
10943         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
10944         (gst_pipeline_provide_clock_func):
10945         * gst/gstutils.c: (gst_element_link_pads_filtered):
10946         * tools/gst-launch.c: (main):
10947         * tools/gst-typefind.c: (main):
10948         Use GstClockTime in _get_state() instead of GTimeVal.
10949         Remove old code in gstutils.c
10950
10951 2005-10-12  Andy Wingo  <wingo@pobox.com>
10952
10953         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
10954         removed.
10955
10956         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
10957         there is no task. Shouldn't affect any code, as nothing in our
10958         plugins checks this return value.
10959         (gst_pad_stop_task): Also take the stream lock if the pad has no
10960         task. Docs updated.
10961
10962 2005-10-12  Wim Taymans  <wim@fluendo.com>
10963
10964         * gst/gstpad.c: (pre_activate), (post_activate),
10965         (gst_pad_activate_pull), (gst_pad_activate_push):
10966         Cleanup activation code. Reset old state if
10967         activation failed.
10968
10969 2005-10-12  Wim Taymans  <wim@fluendo.com>
10970
10971         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10972         (gst_base_sink_change_state):
10973         No need to prerol after receiving EOS.
10974
10975         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
10976         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
10977         * gst/elements/gstidentity.c: (gst_identity_event):
10978         Print events more verbosely.
10979
10980 2005-10-12  Wim Taymans  <wim@fluendo.com>
10981
10982         * check/Makefile.am:
10983         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
10984         * check/states/sinks2.c:
10985         Moved sinks2 testcode in sinks check.
10986
10987         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
10988         (gst_bin_remove_func), (gst_bin_recalc_state),
10989         (gst_bin_change_state_func), (bin_bus_handler):
10990         Fix potential race condition when _get_state() iterated over an
10991         ASYNC element right before it posted a state completion.
10992
10993         * gst/gstclock.h:
10994         Do proper cast here.
10995
10996         * gst/gstevent.c: (gst_event_new_newsegment),
10997         (gst_event_parse_newsegment):
10998         A playback rate of 0.0 is not allowed.
10999
11000 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11001
11002         * win32/common/config.h:
11003         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
11004         (_trewinddir), (_ttelldir), (_tseekdir):
11005         * win32/common/dirent.h:
11006         * win32/common/gtchar.h:
11007         * win32/common/libgstbase.def:
11008         * win32/common/libgstreamer.def:
11009         * win32/vs6/grammar.dsp:
11010         * win32/vs6/gst_inspect.dsp:
11011         * win32/vs6/gst_launch.dsp:
11012         * win32/vs6/gstreamer.dsw:
11013         * win32/vs6/libgstbase.dsp:
11014         * win32/vs6/libgstelements.dsp:
11015         * win32/vs6/libgstreamer.dsp:
11016           Visual Studio 6 project files, and a new common directory.
11017           Phear.
11018
11019 2005-10-11  Wim Taymans  <wim@fluendo.com>
11020
11021         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11022         (gst_base_sink_do_sync), (gst_base_sink_query),
11023         (gst_base_sink_change_state):
11024         * gst/base/gstbasesink.h:
11025         Correctly parse newsegment info.
11026
11027 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11028
11029         * gst/gst.c: (init_post):
11030           split plugin paths correctly
11031
11032 2005-10-11  Wim Taymans  <wim@fluendo.com>
11033
11034         * check/gst/gstevent.c: (GST_START_TEST):
11035         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11036         (gst_base_sink_change_state):
11037         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
11038         * gst/base/gstbasetransform.c: (gst_base_transform_event):
11039         * gst/elements/gstfilesink.c: (gst_file_sink_event):
11040         * gst/gstevent.c: (gst_event_new_newsegment),
11041         (gst_event_parse_newsegment):
11042         * gst/gstevent.h:
11043         Added extra flag to newsegment for future API freeze.
11044         Updated check and base elements.
11045
11046 2005-10-11  Julien MOUTTE  <julien@moutte.net>
11047
11048         * gst/base/gstcollectpads.c: (gst_collectpads_init),
11049         (gst_collectpads_add_pad), (gst_collectpads_pop),
11050         (gst_collectpads_event), (gst_collectpads_chain):
11051         * gst/base/gstcollectpads.h: Handle EOS correctly.
11052
11053 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11054
11055         * tools/gst-launch.c: (main):
11056           more null protecting
11057
11058 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11059
11060         * gst/gst-i18n-lib.h:
11061           check for ENABLE_NLS, not GETTEXT_PACKAGE
11062         * gst/gstregistry.c: (gst_registry_add_plugin),
11063         (gst_registry_scan_path_level),
11064         (_gst_registry_remove_cache_plugins):
11065           protect possibly NULL strings
11066         * gst/parse/types.h:
11067           config.h already included before
11068         * tools/gst-inspect.c: (main):
11069           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
11070           check for ENABLE_NLS, not GETTEXT_PACKAGE
11071         * tools/gst-launch.c: (main):
11072           check for ENABLE_NLS, not GETTEXT_PACKAGE
11073
11074 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11075
11076         * configure.ac:
11077           if we don't have glib, fail before testing 2.8
11078         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
11079           fix a leak, should fix plugins-base testsuite
11080
11081 2005-10-11  Andy Wingo  <wingo@pobox.com>
11082
11083         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
11084         take the mode we're going to as an arg. Go head and set the mode
11085         and flushing flags now, so that if the activate function starts a
11086         thread all the flags will be in the right state.
11087         (post_activate): Renamed also. Just handle making sure streaming
11088         finishes for the deactivation case, and setting the deactivated
11089         mode.
11090         (gst_pad_set_active): Complain loudly if deactivation fails.
11091         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
11092         (gst_pad_activate_push): Adapt to pre/post_activate changes,
11093         remove the terrible hack.
11094
11095 2005-10-11  Wim Taymans  <wim@fluendo.com>
11096
11097         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
11098         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
11099         (gst_bin_recalc_state), (gst_bin_change_state_func),
11100         (gst_bin_dispose), (bin_bus_handler):
11101         * gst/gstbin.h:
11102         Prepare to make current EOS message queue more generic.
11103         Fix some typos.
11104
11105         * gst/gstevent.c: (gst_event_new_newsegment),
11106         (gst_event_parse_newsegment):
11107         * gst/gstevent.h:
11108         Rename base to stream_time.
11109
11110         * gst/gstmessage.h:
11111         Fix typo in docs.
11112
11113 2005-10-11  Wim Taymans  <wim@fluendo.com>
11114
11115         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
11116         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
11117         (gst_bin_change_state_func), (bin_bus_handler):
11118         * gst/gstbin.h:
11119         Work on proper clock selection.
11120
11121 2005-10-11  Edward Hervey  <edward@fluendo.com>
11122
11123         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
11124         * libs/gst/controller/gstcontroller.h:
11125         Added GList* version of _remove_properties() in order to be able to wrap
11126         it in bindings.
11127
11128 2005-10-11  Wim Taymans  <wim@fluendo.com>
11129
11130         * docs/design/part-states.txt:
11131         Some more docs.
11132
11133         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
11134         (gst_bin_change_state_func), (bin_bus_handler):
11135         Doc updates. Don't distribute the same clock over and over again.
11136
11137         * gst/gstclock.c:
11138         * gst/gstclock.h:
11139         Doc updates.
11140
11141         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
11142         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
11143         (gst_pad_send_event):
11144         * gst/gstpad.h:
11145         Make probe emission threadsafe again.
11146         Register quarks and move _get_name() from utils.
11147         Doc updates.
11148
11149         * gst/gstpipeline.c: (gst_pipeline_class_init),
11150         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
11151         Only redistribute the clock of it changed.
11152
11153         * gst/gstsystemclock.h:
11154         Doc updates. 
11155
11156         * gst/gstutils.c:
11157         * gst/gstutils.h:
11158         Moved the _flow_get_name() to GstPad.
11159
11160 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11161
11162         * check/gst-libs/gdp.c: (GST_START_TEST):
11163         * check/gst/gstcaps.c: (GST_START_TEST):
11164         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
11165         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
11166         (gst_dp_packet_from_caps):
11167           fix more valgrind warnings before turning up the heat
11168
11169 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11170
11171         * gst/parse/grammar.y:
11172           some cleanup before the hacking
11173
11174 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11175
11176         * gst/base/gstbasesrc.c: (gst_base_src_query):
11177           use conversions
11178         * gst/gstutils.c: (gst_guint64_to_gdouble),
11179         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
11180         * gst/gstutils.h:
11181           externalize, basesrc uses it
11182           obviously the implementation needs testing
11183
11184 2005-10-10  Wim Taymans  <wim@fluendo.com>
11185
11186         * tests/sched/Makefile.am:
11187         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
11188         (make_pipeline3), (make_pipeline4), (print_elem), (main):
11189
11190 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11191
11192         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
11193           apparently converting from guint64 to double is not implemented
11194           on MSVC
11195
11196 2005-10-10  Wim Taymans  <wim@fluendo.com>
11197
11198         * check/Makefile.am:
11199         * check/generic/states.c: (GST_START_TEST):
11200         * check/gst/gstbin.c: (GST_START_TEST):
11201         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11202         * check/states/sinks.c: (GST_START_TEST):
11203         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
11204         (main):
11205         Check fixes, use API as stated in design docs, remove hacks.
11206
11207         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11208         (gst_base_sink_change_state):
11209         Catch stopping our task while we're shutting down.
11210
11211         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
11212         (gst_bin_remove_func), (gst_bin_get_state_func),
11213         (gst_bin_recalc_state), (gst_bin_change_state_func),
11214         (bin_bus_handler):
11215         * gst/gstbin.h:
11216         * gst/gstelement.c: (gst_element_init),
11217         (gst_element_get_state_func), (gst_element_abort_state),
11218         (gst_element_commit_state), (gst_element_lost_state),
11219         (gst_element_set_state), (gst_element_change_state),
11220         (gst_element_change_state_func):
11221         * gst/gstelement.h:
11222         New state change algorithm (see #318116)
11223
11224         * gst/gstpipeline.c: (gst_pipeline_class_init),
11225         (gst_pipeline_init), (gst_pipeline_set_property),
11226         (gst_pipeline_get_property), (do_pipeline_seek),
11227         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
11228         * gst/gstpipeline.h:
11229         Remove crude state change hacks.
11230
11231         * gst/gstutils.h:
11232         Remove crude hacks.
11233
11234         * tools/gst-launch.c: (main):
11235         Fixes for state change. Needs some more work to fully use the
11236         new stuff.
11237
11238 2005-10-10  Andy Wingo  <wingo@pobox.com>
11239
11240         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
11241
11242         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
11243         this flag, but it's not even in GLib 2.6. Odd. Hack around the
11244         issue.
11245
11246 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
11247
11248         * gst/gstiterator.c: (gst_iterator_new):
11249           Fix my previous commit: GTypes passed to gst_iterator_new()
11250           can be fundamental types.
11251
11252 2005-10-10  Wim Taymans  <wim@fluendo.com>
11253
11254         * gst/gstelement.c: (gst_element_iterate_pad_list),
11255         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
11256         (gst_element_iterate_sink_pads):
11257         Use src/sink pads lists for the respective iterators instead
11258         of filtering.
11259
11260 2005-10-10  Andy Wingo  <wingo@pobox.com>
11261
11262         Merged in popt removal + GOption addition patch from Ronald, bug
11263         #169772.
11264
11265         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
11266         GstElement macros around, remove popt-related symbols, add goption
11267         stuff.
11268
11269         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
11270         
11271         * docs/gst/Makefile.am:
11272         * docs/libs/Makefile.am: No POPT_CFLAGS.
11273         
11274         * examples/manual/Makefile.am:
11275         * docs/manual/basics-init.xml: Doc updates with an example.
11276         
11277         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
11278         (gst_init), (parse_one_option), (parse_goption_arg):
11279         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
11280         bit of hand merging and debugging to get the GOption stuff working
11281         tho.
11282         
11283         * tests/Makefile.am:
11284         * tools/Makefile.am:
11285         * tools/gst-inspect.c: (main):
11286         * tools/gst-launch.c: (main):
11287         * tools/gst-run.c: (main):
11288         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
11289
11290 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
11291
11292         * gst/gstiterator.c: (gst_iterator_new):
11293           Add assertions to make sure passed GType is likely to really
11294           be a GType (as the compiler won't catch it if the size and
11295           GType arguments get mixed up, see #318447).
11296
11297 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
11298
11299         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11300
11301         * gst/gstbin.c: (gst_bin_iterate_sorted):
11302           Pass GType and size arguments to gst_iterator_new() in the right
11303           order (maybe we should make _new() take the GType as first argument
11304           just like _new_list()?) (#318447).
11305           
11306
11307 2005-10-10  Wim Taymans  <wim@fluendo.com>
11308
11309         * gst/gstelement.c: (gst_element_finalize):
11310         And free the GStaticRecMutex too
11311
11312 2005-10-10  Andy Wingo  <wingo@pobox.com>
11313
11314         * gst/gstelement.c (gst_element_init, gst_element_finalize):
11315         Allocate and free the mutex properly.
11316
11317         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
11318         New macros.
11319         (GstElement): The state_lock is now recursive. Rebuild your
11320         plugins, suckers. Old macros adapted.
11321
11322         * docs/gst/gstreamer-sections.txt: Doc updates.
11323
11324         * gst/gstutils.h:
11325         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
11326         (g_static_rec_cond_wait): Ported from state changes patch, while
11327         we wait on bug #317802 to be solved in a well-distributed GLib.
11328
11329         * gst/gstelement.c (gst_element_change_state_func): Renamed from
11330         gst_element_change_state, variable name changes.
11331         (gst_element_change_state): Split out of gst_element_set_state in
11332         preparation for the state change merge. Doesn't pay attention to
11333         the 'transition' argument.
11334         (gst_element_set_state): Updates, hopefully purely cosmetic.
11335         (gst_element_sync_state_with_parent): MT-safety. Ported from the
11336         state change patch.
11337         (gst_element_get_state_func): Renamed from get_state, cosmetic
11338         changes.
11339
11340 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11341
11342         * gst/elements/gstelements.c:
11343         * win32/GStreamer.vcproj:
11344         * win32/config.h:
11345         * win32/dirent.c: (_tseekdir):
11346         * win32/gst-inspect.vcproj:
11347         * win32/gst-launch.vcproj:
11348         * win32/gstconfig.h:
11349         * win32/gstelements.vcproj:
11350         * win32/gstenumtypes.c: (gst_object_flags_get_type):
11351         * win32/gstreamer.def:
11352         * win32/msvc71.sln:
11353           updates for the win32 build (patch from Sebastien Moutte)
11354
11355 2005-10-10  Andy Wingo  <wingo@pobox.com>
11356
11357         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
11358         gst_bin_get_state, cleaned up (but no logic changes).
11359         (bin_element_is_sink): Comment updates.
11360         (sink_iterator_filter): Remove needless cast.
11361         (gst_bin_iterate_sinks): Doc update.
11362         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
11363         cleaned up (but no logic changes).
11364
11365         * check/states/sinks.c (test_src_sink): Cleanups from the state
11366         change patch.
11367         (test_livesrc_sink): Sync on the state.
11368
11369         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
11370         the state change patch.
11371
11372         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
11373         change patch.
11374
11375         * check/gst/gstbin.c: Merge in some style fixes and additional
11376         checks from Wim's state change patch.
11377
11378 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
11379
11380         * gst/base/gsttypefindhelper.c: (helper_find_peek),
11381         (gst_type_find_helper):
11382           Check whether we have the requested data already in our list of
11383           cached buffers before pulling a new buffer; also make the buffer
11384           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
11385
11386 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11387
11388         * gst/gstcaps.c:
11389         * gst/gstevent.c:
11390           doc updates
11391         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
11392           don't use long long, it's not portable.  Replacing with
11393           gint64 seems to work; let's hope no skeletons fall out of the closet.
11394
11395 2005-10-10  Andy Wingo  <wingo@pobox.com>
11396
11397         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
11398
11399 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
11400
11401         * docs/gst/gstreamer-sections.txt:
11402         * gst/gstevent.c:
11403         * gst/gstevent.h:
11404         * gst/gstinfo.c:
11405         * gst/gstinfo.h:
11406         * gst/gstmessage.c: (gst_message_parse_state_changed):
11407         * gst/gstpad.c:
11408         * gst/gstpad.h:
11409           more docs, fix compilation
11410
11411 2005-10-09  Philippe Khalaf <burger@speedy.org>
11412         * gst/gstmessage.c:
11413           Fixed a few forgotten variables on previous commit
11414
11415 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
11416
11417         * gst/base/gsttypefindhelper.c: (helper_find_peek):
11418           Fix evil typefind crasher: getrange() might return a short
11419           buffer at the end of a file, but gst_type_find_peek() must
11420           either return the full data as requested or NULL, but
11421           never a short buffer.
11422
11423 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11424
11425         * gst/gstmessage.c: (gst_message_new_state_changed),
11426         (gst_message_parse_state_changed):
11427         * gst/gstmessage.h:
11428           don't use "new", it's a C++ keyword
11429
11430 2005-10-08  Wim Taymans  <wim@fluendo.com>
11431
11432         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
11433         * gst/gstelement.c: (gst_element_post_message):
11434         * gst/gstpipeline.c: (gst_pipeline_change_state):
11435         Small docs and debug updates.
11436
11437 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
11438
11439         * docs/gst/gstreamer-sections.txt:
11440         * gst/gstelementfactory.c:
11441         * gst/gstevent.c:
11442         * gst/gsttaglist.c:
11443           more docs
11444
11445 2005-10-08  Wim Taymans  <wim@fluendo.com>
11446
11447         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
11448         (gst_bin_dispose), (bin_bus_handler):
11449         Fix typos, add comments.
11450         Clear EOS list when going to PAUSED from any direction and do it
11451         in a threadsafe way.
11452         Get base time in a threadsafe way too.
11453         Fix confusing debug in the change_state function.
11454         Various other small cleanups.
11455         
11456         * gst/gstelement.c: (gst_element_post_message):
11457         Fix very verbose bus posting code.
11458
11459         * gst/gstpipeline.c: (gst_pipeline_class_init),
11460         (gst_pipeline_set_property), (gst_pipeline_get_property),
11461         (gst_pipeline_change_state):
11462         Small ARG_ -> PROP_ cleanup
11463
11464 2005-10-08  Wim Taymans  <wim@fluendo.com>
11465
11466         * gst/gstbin.c: (is_eos), (bin_bus_handler):
11467         Do a less CPU demanding EOS check because we can.
11468
11469 2005-10-08  Wim Taymans  <wim@fluendo.com>
11470
11471         * libs/gst/dataprotocol/dataprotocol.c:
11472         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
11473         (gst_dp_packet_from_event):
11474         * libs/gst/dataprotocol/dataprotocol.h:
11475         * libs/gst/dataprotocol/dp-private.h:
11476         It's about time we bump the version number.
11477         Since event types don't fit in the guint8 anymore describing
11478         the payload type, make payload type 16 bits wide.
11479
11480 2005-10-08  Wim Taymans  <wim@fluendo.com>
11481
11482         * docs/design/part-TODO.txt:
11483         * docs/design/part-clocks.txt:
11484         * docs/design/part-events.txt:
11485         * docs/design/part-gstbin.txt:
11486         * docs/design/part-gstelement.txt:
11487         * docs/design/part-gstpipeline.txt:
11488         * docs/design/part-live-source.txt:
11489         * docs/design/part-messages.txt:
11490         * docs/design/part-overview.txt:
11491         * docs/design/part-states.txt:
11492         Many doc updates.
11493
11494 2005-10-08  Wim Taymans  <wim@fluendo.com>
11495
11496         * gst/gstevent.c:
11497         * gst/gstevent.h:
11498         Fix event quark registration.
11499         Add some space between events so we can insert them in the
11500         right groups.
11501
11502 2005-10-08  Wim Taymans  <wim@fluendo.com>
11503
11504         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11505         (gst_base_sink_handle_buffer):
11506         Better log message.
11507
11508         * gst/gstbus.h:
11509         * gst/gstelement.h:
11510         More docs.
11511
11512         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
11513         (gst_queue_set_property), (gst_queue_get_property):
11514         * gst/gstqueue.h:
11515         Remove old unused properties.
11516
11517 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
11518         * docs/gst/gstreamer-sections.txt:
11519         * gst/gstmessage.c:
11520         * gst/gstmessage.h:
11521         * gst/gstminiobject.c:
11522         * gst/gstminiobject.h:
11523         * gst/gstobject.h:
11524         * gst/gstpad.h:
11525         * gst/gstutils.h:
11526           lots of new docs and doc fixes
11527
11528 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11529
11530         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
11531         * gst/gstplugin.h:
11532         * gst/gstregistry.c: (gst_registry_lookup_locked),
11533         (gst_registry_scan_path_level):
11534         * gst/gstregistryxml.c: (load_plugin):
11535           Only ever load one plugin for a given plugin basename.
11536           This ensures correct overriding of GST_PLUGIN_PATH over
11537           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
11538           system installed plugins.
11539
11540 2005-10-08  Wim Taymans  <wim@fluendo.com>
11541
11542         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11543         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
11544         Prepare for doing QOS.
11545
11546 2005-10-08  Wim Taymans  <wim@fluendo.com>
11547
11548         * check/gst/gstbin.c: (GST_START_TEST):
11549         * check/pipelines/cleanup.c: (GST_START_TEST):
11550         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
11551         Allow new clock message too.
11552
11553 2005-10-08  Wim Taymans  <wim@fluendo.com>
11554
11555         * gst/gstmessage.c: (gst_message_new_error),
11556         (gst_message_new_warning), (gst_message_new_tag),
11557         (gst_message_new_state_changed), (gst_message_new_clock_provide),
11558         (gst_message_new_clock_lost), (gst_message_new_new_clock),
11559         (gst_message_new_segment_start), (gst_message_new_segment_done),
11560         (gst_message_parse_state_changed),
11561         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
11562         (gst_message_parse_new_clock):
11563         * gst/gstmessage.h:
11564         Also carry the clock in question.
11565
11566 2005-10-08  Wim Taymans  <wim@fluendo.com>
11567
11568         * gst/gstmessage.c: (gst_message_new_custom),
11569         (gst_message_new_eos), (gst_message_new_error),
11570         (gst_message_new_warning), (gst_message_new_tag),
11571         (gst_message_new_state_changed), (gst_message_new_clock_provide),
11572         (gst_message_new_new_clock), (gst_message_new_segment_start),
11573         (gst_message_new_segment_done), (gst_message_parse_state_changed),
11574         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
11575         * gst/gstmessage.h:
11576         Clean up.
11577         Added clock related messages.
11578
11579         * gst/gstpipeline.c: (gst_pipeline_change_state):
11580         Post message when the clock changed.
11581
11582         * tools/gst-launch.c: (event_loop):
11583         Print new clock.
11584
11585 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
11586
11587         * tools/gst-inspect.c: (print_element_properties_info):
11588           Can't pass NULL strings to g_print() on windows.
11589
11590 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11591
11592         * docs/Makefile.am:
11593         * docs/gst/Makefile.am:
11594         * docs/gst/gstreamer-docs.sgml:
11595         * docs/gst/running.xml:
11596         * docs/version.entities.in:
11597           add a chapter on running GStreamer.
11598           document GST_DEBUG and GST_PLUGIN* env vars
11599
11600 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11601
11602         * Makefile.am:
11603           remove include dir
11604         * configure.ac:
11605           remove PLUGINS_BUILDDIR stuff
11606         * gst/gst.c: (init_post):
11607           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
11608         * idiottest.mak:
11609           remove, it was condescending and not needed
11610
11611 2005-10-08  Wim Taymans  <wim@fluendo.com>
11612
11613         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
11614         (gst_base_sink_handle_object), (gst_base_sink_event),
11615         (gst_base_sink_wait), (gst_base_sink_handle_event),
11616         (gst_base_sink_change_state):
11617         * gst/base/gstbasesink.h:
11618         Repost EOS message while going to PLAYING if still EOS.
11619         Make sure that when receiving a FLUSH_START we don't attempt
11620         to sync on the clock anymore.
11621
11622 2005-10-08  Wim Taymans  <wim@fluendo.com>
11623
11624         * tools/gst-launch.c: (event_loop):
11625         Better message printout.
11626
11627 2005-10-08  Wim Taymans  <wim@fluendo.com>
11628
11629         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
11630         (gst_bin_child_proxy_get_children_count):
11631         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
11632         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
11633         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
11634         (gst_child_proxy_set_valist):
11635         * gst/parse/grammar.y:
11636         Make ChildProxy threadsafe and fix mem leaks.
11637
11638 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11639
11640         * gst/gst.c: (init_post):
11641           debug the GST_PLUGIN_ env vars
11642
11643 2005-10-08  Wim Taymans  <wim@fluendo.com>
11644
11645         * check/gst/gstbin.c: (GST_START_TEST):
11646         * check/gst/gstmessage.c: (GST_START_TEST):
11647         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
11648         * gst/gstelement.c: (gst_element_commit_state),
11649         (gst_element_lost_state):
11650         * gst/gstmessage.c: (gst_message_new_state_changed),
11651         (gst_message_parse_state_changed):
11652         * gst/gstmessage.h:
11653         * tools/gst-launch.c: (event_loop):
11654         Added extra field to STATE_CHANGE message with the pending
11655         state, which will be different from the new state soon.
11656
11657 2005-10-08  Wim Taymans  <wim@fluendo.com>
11658
11659         * gst/gstbus.c: (gst_bus_pop):
11660         * gst/gstclock.c:
11661         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
11662         Small cleanups and doc updates.
11663
11664 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11665
11666         * gst/gst.c: (init_pre):
11667         * gst/gstbin.c: (gst_bin_add_func):
11668           log distributing clocks and base time
11669         * gst/gstregistry.c: (gst_registry_add_plugin),
11670         (gst_registry_scan_path_level), (gst_registry_scan_path):
11671           clean up the debugging output a little
11672         * gst/gstutils.c: (gst_element_state_get_name):
11673           warn about a memleak (I've actually seen this be used, though
11674           it was probably a bug)
11675
11676 2005-10-07  Wim Taymans  <wim@fluendo.com>
11677
11678         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11679         (gst_base_src_init), (gst_base_src_default_newsegment),
11680         (gst_base_src_newsegment), (gst_base_src_do_seek),
11681         (gst_base_src_loop), (gst_base_src_start):
11682         * gst/base/gstbasesrc.h:
11683         Make the newsegment event customizable by subclasses.
11684
11685 2005-10-07  Wim Taymans  <wim@fluendo.com>
11686
11687         * gst/gstevent.c: (gst_event_new_buffersize),
11688         (gst_event_parse_buffersize):
11689         * gst/gstevent.h:
11690         New event for future idea.
11691
11692 2005-10-07  Andy Wingo  <wingo@pobox.com>
11693
11694         * gst/gstelement.c (gst_element_post_message): Doc update.
11695
11696         * docs/gst/gstreamer-sections.txt: Update.
11697
11698         * gst/gstmessage.c (gst_message_new_application): Made into a
11699         function like honest API calls.
11700         (gst_message_new_element): New message type.
11701
11702         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
11703
11704         * check/elements/fakesrc.c (test_no_preroll): New check, checks
11705         that setting a live fakesrc to PAUSED returns NO_PREROLL both
11706         times.
11707
11708         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
11709         NO_PREROLL from gst_element_change_state to fall through.
11710
11711 2005-10-07  Wim Taymans  <wim@fluendo.com>
11712
11713         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
11714         (gst_ghost_pad_do_activate_push):
11715         Activating a ghostpad with no internal pad in push mode
11716         is ok.
11717
11718 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11719
11720         * gst/gstobject.h:
11721           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
11722           Fixes compilation on Windows.
11723
11724 2005-10-07  Michael Smith <msmith@fluendo.com>
11725
11726         * tools/gst-inspect.c:
11727           Print out feature and plugin count at the end when printing out
11728           all features.
11729
11730 2005-10-04  Michael Smith <msmith@fluendo.com>
11731
11732         * gst/gsterror.c: (_gst_stream_errors_init):
11733           Add another error string used in a few existing plugins.
11734
11735         * gst/gstplugin.c:
11736         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11737         * tools/gst-inspect.c: (print_element_info):
11738           When a feature disappears from a plugin (and the feature exists in
11739           the cached registry file), things went horribly wrong. This isn't a
11740           complete fix, we should actually be removing the 'missing' features
11741           from the features list when we load the actual plugin. That's not
11742           yet implemented. 
11743
11744 2005-10-04  Johan Dahlin  <johan@gnome.org>
11745
11746         * check/gst/gstiterator.c: (GST_START_TEST):
11747         * gst/gstbin.c: (gst_bin_iterate_elements),
11748         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
11749         * gst/gstelement.c: (gst_element_iterate_pads):
11750         * gst/gstformat.c: (gst_format_iterate_definitions):
11751         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
11752         (gst_iterator_new_list), (gst_iterator_filter):
11753         * gst/gstiterator.h:
11754         * gst/gstquery.c: (gst_query_type_iterate_definitions):
11755         Add a GType to GstIterator, update callsites and tests.
11756
11757 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11758
11759         * gst/gstpad.c: (gst_pad_event_default_dispatch):
11760           give events a chance to be handled by event probes when the pad
11761           is not linked
11762
11763 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11764
11765         * gst/gstevent.c: (gst_event_type_get_name),
11766         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
11767         * gst/gstevent.h:
11768           add string representations for event types
11769
11770 2005-10-06  Wim Taymans  <wim@fluendo.com>
11771
11772         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
11773         Don't use NULL pointers.
11774
11775 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11776
11777         * gst/gst_private.h:
11778         * gst/gstbus.c:
11779         * gst/gstelement.c:
11780         * gst/gstinfo.c:
11781         * gst/gstpluginfeature.c:
11782           widen the debug category in output to fit the biggest one we have
11783           add a bus category and use it
11784           play with the colors
11785           fix up some categories
11786
11787 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11788
11789         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
11790           add push activation of sink ghost pads.
11791           Andye, please verify
11792
11793 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11794
11795         * gst/gstutils.c: (gst_element_link_pads):
11796           fix a bug in the case where neither element has a pad
11797         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
11798           add a test for that case
11799
11800 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
11801
11802         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
11803           emit have-data before checking for peers.  This allows
11804           for probe handlers to connect elements.  This helps autopluggers.
11805         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
11806         (gst_pad_suite):
11807           add six checks, linked/unlinked with no/true/false probe
11808
11809 2005-10-04  Wim Taymans  <wim@fluendo.com>
11810
11811         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
11812         (gst_fake_sink_event), (gst_fake_sink_preroll),
11813         (gst_fake_sink_render), (gst_fake_sink_change_state):
11814         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
11815         (gst_fake_src_get_property), (gst_fake_src_create),
11816         (gst_fake_src_stop):
11817         * gst/elements/gstidentity.c: (gst_identity_stop):
11818         Protect last_message with lock.
11819
11820 2005-10-04  Edward Hervey  <edward@fluendo.com>
11821
11822         * gst/gstformat.h: 
11823         Added precision in the comments for GST_FORMAT_DEFAULT
11824
11825 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
11826
11827         * tools/gst-launch.c: (main):
11828           Don't try to run erroneous pipelines.
11829
11830 2005-10-04  Julien MOUTTE  <julien@moutte.net>
11831
11832         * gst/gstbus.c: We don't need this header.
11833
11834 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11835
11836         * configure.ac:
11837           back to development
11838
11839 === release 0.9.3 ===
11840
11841 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11842
11843         * README:
11844         * configure.ac:
11845           Releasing 0.9.3, "Unregistered"
11846
11847 2005-10-03  Andy Wingo  <wingo@pobox.com>
11848
11849         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
11850         whereby calling a pad's activatepush() function can start a thread
11851         that starts to push or pull before the pad gets the FLUSHING flag
11852         unset. Hack around it by holding the stream lock until the flag is
11853         set. Need to replace this with a proper solution. Together with
11854         the ghost pad fixes, this fixes mp3 playing/tagreading.
11855
11856         * docs/design/part-gstghostpad.txt: Add a note about activation of
11857         proxy pads outside of ghost pads.
11858
11859         * gst/gstghostpad.c: Implement the ghost pad activation design.
11860
11861 2005-10-02  Andy Wingo  <wingo@pobox.com>
11862
11863         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
11864         It is volatile, after all.
11865
11866         * docs/design/part-gstghostpad.txt: Flesh out activation with
11867         ghost pads.
11868
11869         * gst/base/gstbasesrc.c (gst_base_src_init): Use
11870         GST_DEBUG_FUNCPTR.
11871
11872 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
11873
11874         * configure.ac:
11875           Fix (unused) AM_CONDITIONAL tests.
11876
11877 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
11878
11879         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
11880
11881         * gst/gstutils.c: (gst_pad_query_convert):
11882           Add assertion that makes sure src_val is >=0, just like
11883           gst_query_new_convert() has. (#315895)
11884
11885 2005-09-30  Edward Hervey  <edward@fluendo.com>
11886
11887         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
11888         Let's not iterate pads we're not interested in, it avoids getting 
11889         sky-high refcounts on sinkpad.
11890
11891 2005-09-30  Wim Taymans  <wim@fluendo.com>
11892
11893         * gst/gstelement.c: (gst_element_set_state),
11894         (gst_element_change_state):
11895         Small tweak, element in ASYNC remains ASYNC.
11896
11897 2005-09-30  Wim Taymans  <wim@fluendo.com>
11898
11899         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
11900         Only error is an error.
11901
11902         * gst/gstbin.c: (gst_bin_change_state):
11903         Better debugging.
11904
11905         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
11906         Also call pad_block in pad alloc.
11907
11908         * gst/gstutils.c: (gst_flow_get_name):
11909         Better debugging.
11910
11911 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11912
11913         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11914         (gst_base_src_get_range):
11915           Fix documentation typos. Add some more debug info.
11916
11917 2005-09-29  David Schleef  <ds@schleef.org>
11918
11919         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
11920           more end-user friendly.
11921         * tools/gst-inspect.c: (main): Check if command-line argument is
11922           a file and attempt to load that file as a plugin.
11923
11924 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11925
11926         * check/gst/gstbin.c:
11927         * check/states/sinks.c:
11928           fix tests for the new warning
11929         * check/gst/gstpipeline.c:
11930           add a test for pipeline and bus interaction
11931         * gst/gstelement.c:
11932           elements should be NULL if they get disposed; add a warning if not
11933
11934 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11935
11936         * gst/gstobject.c:
11937           for 2.6 refcounting, make debug log more correct by printing
11938           the actual refcounts at the time of swap (Wim)
11939
11940 2005-09-29  Andy Wingo  <wingo@pobox.com>
11941
11942         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
11943         removes signal watches previously added via
11944         gst_bus_add_signal_watch.
11945         (gst_bus_add_signal_watch): Don't return the source id, just store
11946         it on the bus if there wasn't an id already.
11947
11948         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
11949         add_signal_watch and remove_signal_watch.
11950
11951 2005-09-29  Edward Hervey  <edward@fluendo.com>
11952
11953         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
11954         Better if we actually iterate the list :)
11955
11956 2005-09-29  Wim Taymans  <wim@fluendo.com>
11957
11958         * check/gst/gstbin.c: (GST_START_TEST):
11959         Change for new bus API.
11960
11961         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
11962         (send_messages), (GST_START_TEST), (gstbus_suite):
11963         Change for new bus signal API.
11964
11965         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
11966         (gst_bus_source_prepare), (gst_bus_source_check),
11967         (gst_bus_create_watch), (gst_bus_add_watch_full),
11968         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
11969         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
11970         * gst/gstbus.h:
11971         Remove support for multiple GSources operating on different
11972         message types as it is too complex and unneeded when using
11973         signals.
11974         Added support for receiving signals from the bus.
11975
11976 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11977
11978         * docs/libs/tmpl/gstdataprotocol.sgml:
11979         * docs/manual/advanced-dataaccess.xml:
11980         * gst/elements/gstcapsfilter.c:
11981         * gst/gstutils.c:
11982           rename filter-caps to caps property
11983
11984 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11985
11986         * gst/gstvalue.c: (gst_value_deserialize_fraction):
11987           More robust fraction string parsing.
11988
11989         * docs/pwg/appendix-porting.xml:
11990           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
11991
11992 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11993
11994         * gst/gstcaps.c: (gst_caps_do_simplify):
11995           Thou shalt not free a structure and then continue using it
11996           in the next loop iteration.
11997
11998         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
11999         (gst_caps_suite):
12000           Add test case for caps simplification.
12001
12002 2005-09-29  Wim Taymans  <wim@fluendo.com>
12003
12004         * check/gst/gstbin.c: (GST_START_TEST):
12005         Oops.
12006
12007 2005-09-29  Wim Taymans  <wim@fluendo.com>
12008
12009         * check/gst/gstbin.c: (GST_START_TEST):
12010         Add bus to bin.
12011
12012         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
12013         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
12014         (find_element), (gst_bin_sort_iterator_next),
12015         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12016         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12017         (gst_bin_change_state), (gst_bin_dispose):
12018         A bin does not have a bus, it gets the bus from the parent.
12019
12020         * gst/gstelement.c: (gst_element_requires_clock),
12021         (gst_element_provides_clock), (gst_element_is_indexable),
12022         (gst_element_is_locked_state), (gst_element_change_state),
12023         (gst_element_set_bus_func):
12024         Small cleanups.
12025
12026         * gst/gstpipeline.c: (gst_pipeline_class_init),
12027         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
12028         The pipeline provides a bus.
12029
12030 2005-09-28  Johan Dahlin  <johan@gnome.org>
12031
12032         * gst/gstmessage.c (gst_message_parse_state_changed): Use
12033         gst_structure_get_enum instead of gst_structure_get_int
12034
12035         * gst/gststructure.c (gst_structure_get_enum): Impl.
12036
12037         * gst/gststructure.h (gst_structure_get_enum): Add
12038
12039         * docs/gst/gstreamer-sections.txt: Ditto
12040
12041         * gst/gstmessage.c (gst_message_new_state_changed): Use
12042         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
12043         which does introspection.
12044         Reviewed by Christian Schaller
12045
12046 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
12047
12048         * gst/gstinfo.c: (gst_debug_log_default):
12049           don't do dummy g_strdup()s
12050         * libs/gst/controller/gstcontroller.c:
12051         (on_object_controlled_property_changed),
12052         (gst_controlled_property_new), (gst_controller_new_valist),
12053         (gst_controller_new_list),
12054         (gst_controller_remove_properties_valist), (gst_controller_set),
12055         (gst_controller_get), (gst_controller_sync_values),
12056         (gst_controller_get_value_array), (_gst_controller_class_init),
12057         (gst_controller_get_type):
12058         * libs/gst/controller/gstcontroller.h:
12059         * libs/gst/controller/gstinterpolation.c:
12060         (gst_controlled_property_find_timed_value_node):
12061           convert // to /**/ comments
12062
12063 2005-09-28  Wim Taymans  <wim@fluendo.com>
12064
12065         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
12066         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
12067         (gst_bus_sync_signal_handler):
12068         * gst/gstbus.h:
12069         Added async-message and sync-message signals to the bus.
12070         Added helper BusFunc to emit signals for all posted messages.
12071
12072         * gst/gstmessage.c: (gst_message_type_get_name),
12073         (gst_message_type_to_quark), (gst_message_get_type):
12074         * gst/gstmessage.h:
12075         Register quarks for message names.
12076
12077 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
12078
12079         * docs/libs/gstreamer-libs-sections.txt:
12080         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12081         (gst_controller_new_list):
12082         * libs/gst/controller/gstcontroller.h:
12083           added another constructor for language bindings
12084
12085 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12086
12087         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
12088           add another check
12089         * gst/gstbus.c:
12090           add some doc
12091         * gst/gstinfo.c: (_gst_debug_init):
12092           slightly more readable color for refcount debugging
12093
12094 2005-09-28  Wim Taymans  <wim@fluendo.com>
12095
12096         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
12097         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
12098         (find_element), (gst_bin_sort_iterator_next),
12099         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12100         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12101         (gst_bin_change_state), (gst_bin_dispose):
12102         Small doc fixes. get_clock -> provide_clock.
12103
12104         * gst/gstelement.c: (gst_element_class_init),
12105         (gst_element_provides_clock), (gst_element_provide_clock),
12106         (gst_element_get_clock), (gst_element_commit_state),
12107         (gst_element_lost_state):
12108         * gst/gstelement.h:
12109         Make get/set_clock() symetric. Add provide_clock vmethod since
12110         that is actually what this function does.
12111
12112         * gst/gstpipeline.c: (gst_pipeline_class_init),
12113         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
12114         (gst_pipeline_get_clock):
12115         get_clock -> provide_clock.
12116
12117 2005-09-28  Andy Wingo  <wingo@pobox.com>
12118
12119         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
12120         lieu of real docs...
12121
12122         * gst/elements/gstfdsrc.c: Cleaned up a bit.
12123
12124 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
12125
12126         * gst/elements/gstcapsfilter.c:
12127         * gst/elements/gstfakesink.c:
12128         * gst/elements/gstfakesrc.c:
12129         * gst/elements/gstfdsink.c:
12130         * gst/elements/gstfdsrc.c:
12131         * gst/elements/gstfilesink.c:
12132         * gst/elements/gstfilesrc.c:
12133         * gst/elements/gstidentity.c:
12134         * gst/elements/gsttee.c:
12135         * gst/elements/gsttypefindelement.c:
12136           Make element details static.
12137
12138 2005-09-28  Wim Taymans  <wim@fluendo.com>
12139
12140         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12141         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12142         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12143         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12144         (gst_bin_change_state), (gst_bin_dispose):
12145         Some documentation updates.
12146         Clean up dispose handlers.
12147
12148         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
12149         * gst/gstpad.c: (gst_pad_dispose):
12150         Clean up dispose handler.
12151
12152         * gst/gstpipeline.c: (gst_pipeline_change_state):
12153         Removed spurious UNLOCK.
12154
12155 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
12156
12157         * docs/gst/gstreamer-sections.txt:
12158         * gst/base/gstbasesrc.h:
12159         * gst/gstelement.h:
12160         * gst/gstevent.h:
12161         * gst/gstobject.h:
12162         * gst/gstpad.h:
12163         * gst/gstpipeline.c:
12164         * gst/gstpipeline.h:
12165         * gst/gstutils.h:
12166         * gst/gstxml.h:
12167           added two new functions to the docs
12168                 documents all undocumented GstXXXFlags
12169                 completed some incomplete docs 
12170
12171 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12172
12173         * gst/gstbin.c: (gst_bin_dispose):
12174         * gst/gstelement.c: (gst_element_dispose):
12175           remove now useless and leaky resurrection code in dispose
12176         * gst/base/gstbasesrc.c: (gst_base_src_init):
12177         * gst/gstelementfactory.c: (gst_element_factory_create):
12178         * gst/gstobject.c: (gst_object_set_parent):
12179           add some debugging
12180
12181 2005-09-27  Wim Taymans  <wim@fluendo.com>
12182
12183         * docs/design/part-TODO.txt:
12184         Update TODO.
12185
12186         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12187         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12188         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12189         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12190         (gst_bin_change_state):
12191         * gst/gstelement.h:
12192         Remove element variable, we keep element info in the iterator now.
12193
12194 2005-09-27  Andy Wingo  <wingo@pobox.com>
12195
12196         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
12197         values.
12198
12199 2005-09-27  Wim Taymans  <wim@fluendo.com>
12200
12201         * check/gst/gstbin.c: (GST_START_TEST):
12202         Enable check that works now.
12203
12204         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
12205         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
12206         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
12207         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
12208         (gst_bin_change_state):
12209         * gst/gstbin.h:
12210         Redid the state change algorithm using a topological sort algo.
12211         Handles all cases correctly.
12212         Exposed iterator for state change order.
12213
12214         * gst/gstelement.h:
12215         Temp storage for state changes. Need to get rid of this soon.
12216
12217 2005-09-27  Wim Taymans  <wim@fluendo.com>
12218
12219         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
12220         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
12221         (link_fold_func), (gst_pad_proxy_setcaps):
12222         Leak fixes, the fold functions need to unref the passed object and
12223         _get_parent_*() returns ref to parent.
12224
12225 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12226
12227         * check/gst/gstbuffer.c: (test_make_writable):
12228           Plug leak in test case and fix 'make check-valgrind'
12229
12230 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12231
12232         * gst/gstbuffer.c: (gst_subbuffer_init):
12233           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
12234           works correctly in all circumstances (we could have just copied
12235           the parent buffer's readonly flag, but conceptually it seems
12236           cleaner to mark all subbuffers as read-only). (based on patch
12237           by Alessandro Decina, #314710).
12238         
12239         * check/gst/gstbuffer.c: (create_read_only_buffer),
12240         (test_make_writable), (test_subbuffer_make_writable),
12241         (gst_test_suite):
12242           Add some tests for gst_buffer_make_writable().
12243
12244 2005-09-27  Wim Taymans  <wim@fluendo.com>
12245
12246         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
12247         use gst_object_has_ancestor().
12248
12249         * gst/gstobject.c: (gst_object_has_ancestor):
12250         * gst/gstobject.h:
12251         gst_object_has_ancestor() copied from gstbin.c as it is a
12252         usefull function.
12253
12254         * tests/instantiate/create.c: (create_all_elements):
12255         * tests/lat.c: (handoff_src), (handoff_sink):
12256         * tests/sched/runxml.c: (main):
12257         * tests/seeking/seeking1.c: (main):
12258         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
12259         (main):
12260         Fix compilation of some tests.
12261
12262 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12263
12264         * gst/gsterror.h:
12265           Remove comment. GST_TYPE_G_ERROR is here to stay,
12266           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
12267           (#316961, #300610).
12268
12269 2005-09-26  Wim Taymans  <wim@fluendo.com>
12270
12271         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12272         Added check that shows error in state change order.
12273
12274 2005-09-26  Wim Taymans  <wim@fluendo.com>
12275
12276         * gst/gstbin.c: (gst_bin_change_state):
12277         Make state change function use 3 queues again, we were
12278         adding elements in the wrong order.
12279
12280         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
12281         Some debug info,
12282
12283         * gst/gstpad.c: (gst_pad_dispose):
12284         Added some debug info first.
12285
12286 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
12287
12288         * docs/design/draft-push-pull.txt:
12289         * docs/design/part-events.txt:
12290         * docs/design/part-overview.txt:
12291         * docs/design/part-scheduling.txt:
12292           Replace all _pull_region() with _pull_range()
12293           
12294 2005-09-26  Andy Wingo  <wingo@pobox.com>
12295
12296         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
12297
12298         * check/gst-libs/controller.c: Update for controller api change.
12299
12300         * configure.ac: 
12301         * tests/Makefile.am:
12302         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
12303         over by GLib bug 118439.
12304         
12305         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
12306         routines to a function.
12307
12308         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
12309
12310         * libs/gst/controller/gsthelper.c:
12311         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
12312         (gst_object_sync_values): Renamed from sink_values. Ugh.
12313
12314         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
12315
12316         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
12317         Renamed from controller_key, as it is exported.
12318
12319         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
12320
12321 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12322
12323         * gst/Makefile.am:
12324         * gst/gst.h:
12325         * gst/gstpad.h:
12326         * gst/gstpadtemplate.h:
12327         * gst/gstquery.c:
12328         * gst/gstquery.h:
12329         * gst/gstqueryutils.c:
12330         * gst/gstqueryutils.h:
12331           remove queryutils headers after moving the two used functions
12332           to gstquery.  also fixes build problem for gstsiddec
12333
12334 2005-09-26  Michael Smith <msmith@fluendo.com>
12335
12336         * tools/gst-launch.1.in:
12337         Correct documentation in manpage of debug syntax
12338
12339 2005-09-26  Wim Taymans  <wim@fluendo.com>
12340
12341         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
12342         (gst_base_src_is_seekable), (gst_base_src_change_state):
12343         Some more debugging info.
12344
12345 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
12346
12347         * docs/gst/gstreamer-sections.txt:
12348         * gst/base/gstbasetransform.h:
12349         * gst/gstindex.h:
12350           added more docs
12351
12352 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
12353
12354         * docs/gst/.cvsignore:
12355         * docs/gst/tmpl/.cvsignore:
12356         * docs/gst/tmpl/gstpipeline.sgml:
12357         * docs/gst/tmpl/gstplugin.sgml:
12358         * gst/gstpipeline.c:
12359         * gst/gstplugin.c:
12360         * gst/gstplugin.h:
12361           inlined the last two docs files
12362           removed the tmpl directory from cvs (no more conflicts here!)
12363
12364 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
12365
12366         * docs/gst/gstreamer-sections.txt:
12367         * docs/gst/tmpl/.cvsignore:
12368         * docs/gst/tmpl/gstpad.sgml:
12369         * docs/gst/tmpl/gstpadtemplate.sgml:
12370         * gst/Makefile.am:
12371         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
12372         (gst_pad_finalize), (gst_pad_set_pad_template):
12373         * gst/gstpad.h:
12374         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
12375         (gst_pad_template_class_init), (gst_pad_template_init),
12376         (gst_pad_template_dispose), (name_is_valid),
12377         (gst_static_pad_template_get), (gst_pad_template_new),
12378         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
12379         (gst_pad_template_pad_created):
12380         * gst/gstpadtemplate.h:
12381           inlined two more docs
12382           factored gstpadtemplate out of gstpad
12383
12384 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
12385
12386         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
12387         (test_children_state_change_order_semi_sink):
12388           Fix test case: we can't rely on a fixed state change order when
12389           going from READY => PAUSED because the sink might commit its 
12390           new state first when the first buffer created by the source 
12391           reaches the sink before the source has finished its change state.
12392           (Test case still fails at times, see #316856, comment 5 onwards)
12393
12394 2005-09-24  Wim Taymans  <wim@fluendo.com>
12395
12396         * docs/design/part-events.txt:
12397         * docs/design/part-gstbus.txt:
12398         * docs/design/part-gstpipeline.txt:
12399         * docs/design/part-messages.txt:
12400         * docs/design/part-overview.txt:
12401         * docs/design/part-segments.txt:
12402         * gst/gstbin.c:
12403         * gst/gstbuffer.c:
12404         * gst/gstclock.c:
12405         * gst/gstelement.c:
12406         * gst/gstevent.c:
12407         * gst/gstfilter.c:
12408         * gst/gstiterator.c:
12409         Various documentation updates.
12410
12411 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12412
12413         * gst/gstclock.h:
12414           Well, that's embarassing.  Luckily we weren't using
12415           GST_CLOCK_DIFF anywhere.
12416
12417 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12418
12419         * common/gtk-doc.mak:
12420           don't fail on building XML, FC4 slave shows a bunch of doc
12421           missing bits that I don't get
12422         * gst/gstpad.c:
12423         * gst/gstpipeline.c:
12424         * gst/gststructure.c:
12425           some doc updates
12426
12427 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
12428
12429         * docs/design/part-gstbin.txt:
12430         * docs/design/part-gstbus.txt:
12431         * gst/gstbus.c:
12432           Add blurb about how the bus goes into flushing mode and
12433           drops all messages when its bin goes from READY into NULL 
12434           state.
12435
12436 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12437
12438         * docs/gst/gstreamer-sections.txt:
12439         * gst/gststructure.c: (gst_structure_get_clock_time):
12440         * gst/gststructure.h:
12441           add a method to get a GstClockTime out of a structure
12442
12443 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
12444
12445         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
12446         (test_children_state_change_order_semi_sink), (gst_bin_suite):
12447           Added test to check state change order in bins (can still be made
12448           to fail here under heavy disk load; bails out with 'Push on pad
12449           fakesink:sink0, but it was not activated in push mode').
12450
12451         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
12452           Fix state change order when there is only a semi sink (#316856)
12453
12454         * gst/gstbus.c: (gst_bus_class_init):
12455           Use _class_peek_parent(), not _class_ref(); fix docs to say
12456           'default main context' instead of 'mainloop' where that is
12457           what's meant.
12458
12459         * gst/gstelement.c: (gst_element_commit_state),
12460         (gst_element_set_state):
12461           Fix typos in debug messages
12462
12463 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12464
12465         * docs/README:
12466         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
12467         * gst/gstpluginfeature.c:
12468         * gst/gstutils.c:
12469           various doc updates
12470         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12471           change an assert into an error until it gets fixed properly
12472
12473 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
12474
12475         * docs/gst/gstreamer-sections.txt:
12476         * docs/gst/tmpl/.cvsignore:
12477         * docs/gst/tmpl/gstelement.sgml:
12478         * docs/gst/tmpl/gstinfo.sgml:
12479         * docs/gst/tmpl/gstobject.sgml:
12480         * gst/gstelement.c:
12481         * gst/gstelement.h:
12482         * gst/gstinfo.c:
12483         * gst/gstinfo.h:
12484         * gst/gstobject.c: (gst_object_class_init):
12485         * gst/gstobject.h:
12486           inlined 3 more biiiig doc files and added some missing docs on the fly
12487
12488 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12489
12490         * check/gst/.cvsignore:
12491         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
12492         * gst/gstregistryxml.c: (load_plugin),
12493         (gst_registry_xml_save_plugin):
12494           put back source in registry.  add checks for find_plugin.
12495         * testsuite/states/bin.c: (assert_state), (empty_bin),
12496         (test_adding_one_element), (main):
12497         * testsuite/states/locked.c: (main):
12498           some compile/run fixes
12499
12500 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12501
12502         * check/gst/gstvalue.c: (GST_START_TEST):
12503           fix leaks in the test itself
12504
12505 2005-09-22  Wim Taymans  <wim@fluendo.com>
12506
12507         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
12508         (gst_base_sink_send_event), (gst_base_sink_peer_query),
12509         (gst_base_sink_query):
12510         Prepare for more accurate position reporting and query
12511         handling.
12512
12513         * gst/gstelement.c: (gst_element_send_event),
12514         (gst_element_set_state):
12515         Add some comment.
12516
12517 2005-09-22  Wim Taymans  <wim@fluendo.com>
12518
12519         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
12520         (gst_query_parse_segment):
12521         * gst/gstquery.h:
12522         More documentation.
12523         Add segment query for future use.
12524
12525 2005-09-22  Wim Taymans  <wim@fluendo.com>
12526
12527         * gst/gstbin.c: (gst_bin_add_func):
12528         Some more debug info.
12529
12530         * gst/gstelement.c: (gst_element_send_event):
12531         Simplify send_event
12532
12533         * gst/gstelement.h:
12534         Don't know how flags got broken.
12535
12536         * gst/gstquery.h:
12537         Added new query.
12538
12539 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12540
12541         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
12542           Add simplistic test suite for GST_TYPE_DATE serialisation and
12543           deserialisation.
12544
12545 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12546
12547         * docs/gst/gstreamer-sections.txt:
12548         * gst/gststructure.c: (gst_structure_set_valist),
12549         (gst_structure_get_date):
12550         * gst/gststructure.h:
12551         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
12552         (gst_date_copy), (gst_value_compare_date),
12553         (gst_value_serialize_date), (gst_value_deserialize_date),
12554         (gst_value_transform_date_string),
12555         (gst_value_transform_string_date), (_gst_value_initialize):
12556         * gst/gstvalue.h:
12557           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
12558           bunch of utility functions along with a hack that checks that
12559           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
12560           is required. Part of the grand scheme in #170777.
12561
12562 2005-09-22  Andy Wingo  <wingo@pobox.com>
12563
12564         * gst/gstconfig.h.in: Psych out gtk-doc.
12565
12566         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
12567
12568         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
12569
12570         * tools/gst-inspect.c (print_element_list): Plug some
12571         inconsequential leaks.
12572
12573         * gst/gstregistry.c (gst_registry_get_default): Doc.
12574
12575         * check/gst/gstplugin.c: 
12576         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
12577         * gst/gstelementfactory.c (gst_element_factory_create): 
12578         * gst/gstindexfactory.c (gst_index_factory_create): Update for
12579         refcount changes.
12580
12581         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
12582         (gst_plugin_feature_load): Doc, don't eat refs.
12583
12584         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
12585         (gst_plugin_list_free): Doc.
12586         (gst_plugin_load_file): Doc updates.
12587
12588         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
12589         accessors returning refcounted objects, return a ref.
12590
12591         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
12592         accessor for caps. IDEMPOTENCE. Oh yes.
12593
12594 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
12595
12596         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12597
12598         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
12599         (_gst_debug_register_funcptr):
12600           Add mutex to serialise access to the hash table with
12601           the function pointer => function name string mapping;
12602           make that hash table static scope (#316809).
12603
12604         * gst/registries/.cvsignore:
12605           Remove left-over file.
12606
12607 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
12608
12609         * docs/pwg/appendix-porting.xml:
12610           And something about newsegment events and caps-on-buffers to
12611           the porting guide (feel free to improve).
12612
12613 2005-09-21  Andy Wingo  <wingo@pobox.com>
12614
12615         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
12616         data and event probes on the same pad.
12617         (test_buffer_probe_once): Test that removing probes from within
12618         the probe functions works.
12619
12620 2005-09-21  Andy Wingo  <wingo@pobox.com>
12621
12622         * check/gst/gstutils.c: New file.
12623         (test_buffer_probe_n_times): A simple buffer probe test. More to
12624         come, foolios.
12625
12626         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
12627         have-data::buffer, not have-data.
12628         (gst_pad_add_event_probe): Likewise for have-data::event.
12629         (gst_pad_add_data_probe): More docs. The part about 'resolving the
12630         peer' isn't quite right yet though.
12631         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
12632         (gst_pad_remove_data_probe): Change to take the guint handler_id
12633         as their arg, not the function+data, which is more glib-like.
12634
12635         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
12636         the signal emission to indicate if the data is a buffer or an
12637         event.
12638         (gst_pad_get_type): Initialize buffer and event quarks.
12639         (gst_pad_class_init): have-data is now a detailed signal, yes it
12640         is.
12641
12642 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
12643
12644         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
12645         * gst/gstutils.c: (gst_util_set_value_from_string),
12646         (gst_util_set_object_arg):
12647           Don't put functional code in g_return_if_fail() or
12648           g_return_val_if_fail() statements, otherwise things will 
12649           break when G_DISABLE_CHECKS is defined during compilation.
12650
12651 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
12652
12653         * docs/gst/tmpl/.cvsignore:
12654         * docs/gst/tmpl/gstvalue.sgml:
12655         * gst/gstvalue.c:
12656         * gst/gstvalue.h:
12657           inlied another one and added  some obvious docs
12658
12659 2005-09-21  Wim Taymans  <wim@fluendo.com>
12660
12661         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
12662         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
12663         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
12664         (gst_fdsrc_get_property), (gst_fdsrc_create):
12665         * gst/elements/gstfdsrc.h:
12666         Properly implement fdsrc. Removed signal and timeout,
12667         better implemented somewhere else.
12668
12669 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
12670
12671         * docs/gst/tmpl/.cvsignore:
12672         * docs/gst/tmpl/gstimplementsinterface.sgml:
12673         * gst/gstinterface.c:
12674           inlined more docs
12675
12676 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
12677
12678         * docs/gst/gstreamer-sections.txt:
12679         * docs/gst/tmpl/.cvsignore:
12680         * docs/gst/tmpl/gstenumtypes.sgml:
12681           remove obsolete doc file
12682
12683 2005-09-21  David Schleef  <ds@schleef.org>
12684
12685         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
12686         little beer, fix a little leak.
12687
12688 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
12689
12690         * docs/gst/gstreamer-docs.sgml:
12691         * docs/gst/gstreamer-sections.txt:
12692         * docs/gst/tmpl/.cvsignore:
12693         * gst/Makefile.am:
12694         * gst/gst.h:
12695         * gst/gstbin.c:
12696         * gst/gstelement.h:
12697         * gst/gstindex.c: (gst_index_class_init):
12698         * gst/gstindex.h:
12699         * gst/gstindexfactory.c: (gst_index_factory_get_type),
12700         (gst_index_factory_class_init), (gst_index_factory_init),
12701         (gst_index_factory_finalize), (gst_index_factory_new),
12702         (gst_index_factory_destroy), (gst_index_factory_find),
12703         (gst_index_factory_create), (gst_index_factory_make):
12704         * gst/gstindexfactory.h:
12705         * gst/gstpluginfeature.c:
12706         * gst/gstpluginfeature.h:
12707         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
12708           more docs inlined, splitted gstindex.{c,h}
12709
12710 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12711
12712         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
12713           fix a leak
12714
12715 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
12716
12717         * gst/elements/gstfilesink.c: (gst_file_sink_init):
12718           Set sync to FALSE by default.
12719
12720 2005-09-20  Wim Taymans  <wim@fluendo.com>
12721
12722         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
12723         (gst_base_sink_init):
12724         Make sync property settable from subclass.
12725
12726         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
12727         (gst_fake_sink_change_state):
12728         Set sync to FALSE by default.
12729
12730 2005-09-20  Wim Taymans  <wim@fluendo.com>
12731
12732         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
12733         * tools/gst-launch.c: (main):
12734         The timeout handler should have lower priority than the source
12735         so we don't timeout before popping a message with 0 timeout.
12736         Dump error messages after failed state change.
12737
12738 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
12739
12740         * tools/gst-inspect.c: (print_element_properties_info):
12741           Fix two typos.
12742
12743 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12744
12745         * check/gst/gstevent.c:
12746         * gst/elements/gstfakesink.c:
12747         * gst/elements/gstfakesink.h:
12748           remove the sync property from fakesink.
12749           has the side effect of setting sync TRUE
12750           for fakesink, which is a change.  Anyone who knows how
12751           to fix this nicely in a GObject-y way, feel free.
12752
12753 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
12754
12755         * docs/gst/gstreamer-docs.sgml:
12756           remove probe refsection
12757
12758 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
12759
12760         * check/Makefile.am:
12761           disable valgrinding the controller test again
12762         * docs/gst/gstreamer-sections.txt:
12763           update for api-changes
12764
12765 2005-09-20  Wim Taymans  <wim@fluendo.com>
12766
12767         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
12768         (gst_base_sink_set_property), (gst_base_sink_get_property),
12769         (gst_base_sink_do_sync):
12770         * gst/base/gstbasesink.h:
12771         Added sync property to basesink to disable clock sync.
12772
12773 2005-09-20  Andy Wingo  <wingo@pobox.com>
12774
12775         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
12776         eating the caller's refcount.
12777
12778         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
12779         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
12780         refcount.
12781
12782         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
12783         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
12784         of GLib 2.8 public, so we can know which refcount to check in
12785         tests.
12786
12787         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
12788         (gst_object_init): Only set the gst refcount if we're going ahead
12789         with the refcount hack.
12790
12791 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
12792
12793         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
12794         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
12795           more leaks plumbed, added more debug-logging
12796         * gst/gstmacros.h:
12797           whitespace fix
12798
12799 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12800
12801         * gst/gstmessage.c:
12802           remove include of gstmemchunk.h
12803
12804 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12805
12806         * gst/gstclock.c: (_gst_clock_id_free):
12807           Commit from the Political Party For More Atomic CVS Commits,
12808           so that people don't waste too much of their day fishing
12809           out obvious leaks out of massive commits.
12810           Oh, and fix a pretty damn obvious leak in the memchunk
12811           removal code.
12812
12813 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
12814
12815         * check/Makefile.am:
12816         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
12817           plug mem-leak, re-add to valgrindable tests
12818
12819 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12820
12821         * gst/gstplugin.h:
12822           unbreak the build for those who have chronic arthritis
12823           and typing "make check" is just too taxing on the hands
12824
12825 2005-09-20  Andy Wingo  <wingo@pobox.com>
12826
12827         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
12828         really want it out, you should fix plugins at the same time.
12829
12830 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
12831
12832         * configure.ac:
12833         * docs/gst/gstreamer-sections.txt:
12834         * gst/gstobject.c:
12835           added missing symbols to api docs
12836           disable ref-count hack if we have glib >= 2.8
12837
12838 2005-09-19  David Schleef  <ds@schleef.org>
12839
12840         * docs/gst/Makefile.am: Ignore a few more internal headers
12841         * docs/gst/gstreamer-docs.sgml: Remove old sections
12842         * docs/gst/gstreamer-sections.txt: Remove old sections
12843         * docs/gst/tmpl/gstobject.sgml: update
12844         * docs/gst/tmpl/gstplugin.sgml: update
12845         * docs/gst/tmpl/gstpluginfeature.sgml: update
12846         * docs/random/ds/0.9-suggested-changes: update.
12847         * gst/Makefile.am: remove memchunk and trashstack, since they're
12848           not used.
12849         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
12850         * gst/gst.h: don't include some headers
12851         * gst/gstchildproxy.c: add gstmarshal.h
12852         * gst/gstclock.c: Don't use memchunks
12853         * gst/gstminiobject.c: Add some docs
12854         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
12855         * gst/gstobject.h: same
12856         * gst/gstplugin.c: include gstmacros.h
12857         * gst/gstplugin.h: don't include gstmacros.h, since it's private
12858         * gst/gstquery.c: don't use memchunks
12859         * gst/gstregistry.c: rename gst_registry_deinit()
12860         * gst/gstregistry.h: same
12861
12862 2005-09-19  David Schleef  <ds@schleef.org>
12863
12864         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
12865         * docs/libs/gstreamer-libs-sections.txt:
12866         * docs/libs/tmpl/gstgetbits.sgml:
12867         * docs/libs/tmpl/gstputbits.sgml:
12868
12869 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
12870
12871         * win32/gstenumtypes.c:
12872         * win32/gstenumtypes.h:
12873           Update.
12874
12875 2005-09-19  Wim Taymans  <wim@fluendo.com>
12876
12877         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
12878         Automatically PAUSE and RESUME a pipeline when a flushing seek
12879         is performed.
12880
12881 2005-09-19  Andy Wingo  <wingo@pobox.com>
12882
12883         * gst/gstregistry.h: Spacing fixen.
12884
12885 2005-09-19  Wim Taymans  <wim@fluendo.com>
12886
12887         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
12888         Handle state change failure more correctly.
12889
12890 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12891
12892         * check/Makefile.am:
12893         * check/pipelines/cleanup.c: (run_pipeline):
12894         * check/pipelines/simple_launch_lines.c: (run_pipeline),
12895         (GST_START_TEST):
12896           enable cleanup again after fixing the leak
12897         * docs/README:
12898           some more info on docs
12899
12900 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12901
12902         * check/Makefile.am:
12903           re-enable tests now that leaks are plugged
12904         * check/gst/gst.c:
12905         * check/gst/gstbin.c:
12906         * check/gst/gstpipeline.c:
12907           add some more tests while fixing leaks
12908         * common/check.mak:
12909           make sure binaries are uptodate when valgrinding/gdbing
12910         * gst/gst.c:
12911         * gst/gstelementfactory.c:
12912           remove a ref too many, and add a FIXME for when we get
12913           round to disposing of classes
12914         * gst/gstplugin.c:
12915           fix the refcounting when loading a plugin from a file and
12916           the code pretends that the pointer is the same even though
12917           of course it can change
12918         * gst/gstpluginfeature.c:
12919           unref plugins marked cached (a bit confusing as a name)
12920           as the docs state should be done
12921           various doc additions to explain refcounting
12922         * gst/gstregistry.c:
12923         * gst/gstregistryxml.c:
12924           debugging
12925
12926 2005-09-19  Wim Taymans  <wim@fluendo.com>
12927
12928         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
12929         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
12930         (send_messages), (GST_START_TEST), (gstbus_suite):
12931         * check/gst/gstpipeline.c: (GST_START_TEST):
12932         * check/pipelines/cleanup.c: (run_pipeline):
12933         * check/pipelines/simple_launch_lines.c: (run_pipeline),
12934         (GST_START_TEST):
12935         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
12936         (gst_bus_source_check), (gst_bus_source_dispatch),
12937         (gst_bus_create_watch), (gst_bus_add_watch_full),
12938         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
12939         * gst/gstbus.h:
12940         * tools/gst-launch.c: (event_loop):
12941         * tools/gst-md5sum.c: (event_loop):
12942         GstBusHandler -> GstBusFunc, return value has the same meaning as
12943         any other GSource (FALSE == remove source).
12944         _add_watch() and _add_watch_full() now take a MessageType mask to
12945         only handle specific types of messages.
12946         _poll() returns the GstMessage instead of the message type to avoid
12947         race conditions.
12948         _have_pending() takes a MessageType mask now too.
12949         Added testsuite for multiple bus watches.
12950         Fix testsuites and applications for new bus API.
12951
12952 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12953
12954         * check/Makefile.am:
12955           mark a bunch of the tests as to fix until we fix them
12956
12957 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12958
12959         * common/check.mak:
12960           use GST_PLUGIN settings for valgrind tests as well, so we're
12961           valgrinding the correct thing
12962         * gst/gst.c: (init_post):
12963           plug another leak
12964
12965 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12966
12967         * gst/gst.c: (init_post), (gst_deinit):
12968         * gst/gstelementfactory.c: (gst_element_factory_class_init),
12969         (gst_element_factory_finalize), (gst_element_factory_cleanup):
12970         * gst/gstindex.c: (gst_index_factory_class_init),
12971         (gst_index_factory_finalize):
12972         * gst/gstobject.c: (gst_object_dispose):
12973         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
12974         (gst_plugin_load_file), (gst_plugin_desc_free):
12975         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
12976         (gst_plugin_feature_finalize):
12977         * gst/gstregistry.c: (gst_registry_class_init),
12978         (gst_registry_init), (gst_registry_finalize),
12979         (gst_registry_get_default), (gst_registry_deinit):
12980         * gst/gstregistry.h:
12981         * gst/gstregistryxml.c: (load_feature), (load_plugin):
12982           various cleanups and memleak plugging.  make valgrind is happy now.
12983
12984 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12985
12986         * common/check.mak:
12987           add a check-valgrind target
12988
12989 2005-09-18  David Schleef  <ds@schleef.org>
12990
12991         * tools/gst-inspect.c: Revert the GOption code.
12992
12993 2005-09-17  David Schleef  <ds@schleef.org>
12994
12995         * check/Makefile.am: Fix environment variables.
12996         * check/gst/gstplugin.c: Fix for API changes.
12997         * tools/gst-inspect.c: Fix for API changes.
12998         * tools/gst-xmlinspect.c: Fix for API changes.
12999         * gst/gstelementfactory.c:
13000         * gst/gstplugin.c:
13001         * gst/gstplugin.h:
13002         * gst/gstpluginfeature.c:
13003         * gst/gstpluginfeature.h:
13004         * gst/gstregistry.c:
13005         * gst/gstregistry.h:
13006         * gst/gstregistryxml.c:
13007         * gst/gsttypefind.c:
13008         * gst/gsttypefindfactory.c:
13009         * gst/indexers/gstfileindex.c:
13010         * gst/indexers/gstmemindex.c:
13011         * gst/schedulers/Makefile.am:
13012           Change registry to keep track of both plugins and features,
13013           removing the feature tracking from plugins themselves.
13014
13015 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13016
13017         * check/Makefile.am:
13018         * tools/gst-register.1.in:
13019           remove gst-register
13020
13021 2005-09-15  David Schleef  <ds@schleef.org>
13022
13023         * check/gst/gstplugin.c:
13024         * gst/gstelementfactory.c:
13025         * gst/gstplugin.c:
13026         * gst/gstpluginfeature.c:
13027         * gst/gstregistry.c:
13028           Getting tired of debugging.  Disabled all the unreffing of
13029           plugins and features, which fixes the segfaults, but of
13030           course leaks like crazy.  At least playbin works.
13031
13032 2005-09-15  David Schleef  <ds@schleef.org>
13033
13034         * check/gst/gstplugin.c: (register_check_elements),
13035         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
13036         More testing
13037         * gst/elements/gsttypefindelement.c: Fix refcounting.
13038         * gst/gsttypefind.c:
13039         * gst/gsttypefindfactory.c:
13040         * gst/gsttypefindfactory.h:
13041
13042 2005-09-15  David Schleef  <ds@schleef.org>
13043
13044         * gst/gstindex.c: get refcounting correct.
13045         * gst/gstregistry.c: Handle the case where a feature/plugin is
13046           not found.
13047
13048 2005-09-15  David Schleef  <ds@schleef.org>
13049
13050         * check/Makefile.am:
13051         * check/gst/gstplugin.c: Add test
13052         * gst/gstplugin.c: Fix problems noticed by testsuite
13053         * gst/gstplugin.h:
13054         * gst/gstregistry.c: 
13055         * gst/gstregistry.h:
13056
13057 2005-09-15  David Schleef  <ds@schleef.org>
13058
13059         * gst/gstplugin.c: Implement semi-decent recounting and locking
13060           in plugins and plugin features.
13061         * gst/gstplugin.h:
13062         * gst/gstpluginfeature.c:
13063         * gst/gstpluginfeature.h:
13064         * gst/gstregistry.c:
13065
13066 2005-09-15  Michael Smith <msmith@fluendo.com>
13067
13068         * gst/gstregistry.c: (gst_registry_get_feature_list):
13069           Implement this. Makes oggdemux work; decodebin still broken.
13070
13071 2005-09-14  David Schleef  <ds@schleef.org>
13072
13073         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
13074           #316076)
13075         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
13076         * gst/check/Makefile.am:
13077         * libs/gst/controller/Makefile.am:
13078         * libs/gst/dataprotocol/Makefile.am:
13079
13080 2005-09-14  David Schleef  <ds@schleef.org>
13081
13082         * configure.ac: Remove getbits library.  Nothing uses it, and
13083           it should be in something like liboil if someone did want
13084           to use it.
13085         * libs/gst/Makefile.am:
13086         * libs/gst/getbits/Makefile.am:
13087         * libs/gst/getbits/gbtest.c:
13088         * libs/gst/getbits/getbits.c:
13089         * libs/gst/getbits/getbits.h:
13090         * libs/gst/getbits/gstgetbits_generic.c:
13091         * libs/gst/getbits/gstgetbits_i386.s:
13092         * libs/gst/getbits/gstgetbits_inl.h:
13093
13094 2005-09-14  David Schleef  <ds@schleef.org>
13095
13096         * gst/Makefile.am: Dist glib-compat.h
13097
13098 2005-09-14  David Schleef  <ds@schleef.org>
13099
13100         * configure.ac: Remove gst/registries, since it's no longer used.
13101         * gst/registries/Makefile.am:
13102         * gst/registries/gstlibxmlregistry.c:
13103         * gst/registries/gstlibxmlregistry.h:
13104         * gst/registries/gstxmlregistry.c:
13105         * gst/registries/gstxmlregistry.h:
13106         * gst/registries/registrytest.c:
13107
13108 2005-09-14  David Schleef  <ds@schleef.org>
13109
13110         * gst/glib-compat.h:
13111         * gst/gstregistryxml.c:
13112           Convergence is near.  Seriously.
13113
13114 2005-09-14  David Schleef  <ds@schleef.org>
13115
13116         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13117         * gst/glib-compat.h:
13118           Attempt #4 to appease the buildbots.
13119
13120 2005-09-14  David Schleef  <ds@schleef.org>
13121
13122         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13123           Attempt #3.
13124
13125 2005-09-14  David Schleef  <ds@schleef.org>
13126
13127         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13128         Attempt #2.
13129
13130 2005-09-14  David Schleef  <ds@schleef.org>
13131
13132         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
13133           the new functions.
13134
13135 2005-09-14  David Schleef  <ds@schleef.org>
13136
13137         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
13138         * gst/glib-compat.h: Add some functions that are in newer versions
13139           of glib than we care to require.
13140         * gst/gstregistryxml.c: Use them.
13141
13142 2005-09-14  David Schleef  <ds@schleef.org>
13143
13144         * po/POTFILES.in: remove gst-register.c
13145
13146 2005-09-14  David Schleef  <ds@schleef.org>
13147
13148         * docs/gst/gstreamer-docs.sgml:
13149         * docs/gst/gstreamer-sections.txt:
13150         * docs/gst/gstreamer.types:
13151         * docs/gst/tmpl/gstelement.sgml:
13152         * docs/gst/tmpl/gstplugin.sgml:
13153         * docs/gst/tmpl/gstpluginfeature.sgml:
13154           Documentation updates for registry changes.
13155
13156 2005-09-14  David Schleef  <ds@schleef.org>
13157
13158         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
13159           because we don't require glib-2.8.
13160
13161 2005-09-14  David Schleef  <ds@schleef.org>
13162
13163         * gst/gstregistryxml.c: Added.  Essentially moved out of the
13164           registries directory.
13165
13166 2005-09-14  David Schleef  <ds@schleef.org>
13167
13168         * check/Makefile.am:
13169         * check/generic/states.c:
13170         * gst/Makefile.am:
13171         * gst/gst.c:
13172         * gst/gst.h:
13173         * gst/gst_private.h:
13174         * gst/gstelementfactory.c:
13175         * gst/gstindex.c:
13176         * gst/gstinfo.c:
13177         * gst/gstplugin.c:
13178         * gst/gstplugin.h:
13179         * gst/gstpluginfeature.c:
13180         * gst/gstpluginfeature.h:
13181         * gst/gstregistry.c:
13182         * gst/gstregistry.h:
13183         * gst/gstregistrypool.c: remove
13184         * gst/gstregistrypool.h: remove
13185         * gst/gsttypefind.c:
13186         * gst/gsttypefindfactory.c:
13187         * gst/gsturi.c:
13188         * tools/Makefile.am:
13189         * tools/gst-compprep.c:
13190         * tools/gst-inspect.c:
13191         * tools/gst-register.c: remove
13192         * tools/gst-xmlinspect.c:
13193           Registry rewrite.  Changes registry from being a file created
13194           by a tool into a simple cache file created automatically by 
13195           libgstreamer.  Removed gst-register (because it's no longer
13196           needed).  Remove registry pools, because we only have one
13197           registry implementation (XML).  Fix up other subsystems as
13198           necessary.
13199
13200 2005-09-13  Michael Smith <msmith@fluendo.com>
13201
13202         * gst/gstconfig.h.in:
13203           Don't Use windows linking attributes for MinGW. Fixes #316157
13204
13205 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13206
13207         * gst/gstutils.c: (set_state_async_thread_func),
13208         (gst_element_set_state_async):
13209           Apparently people think it's better if this function doesn't
13210           try to set the state to whatever state was asked for on the first
13211           call to this function for any object.  Seriously.
13212
13213 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13214
13215         * check/gst/gstpipeline.c: (GST_START_TEST):
13216         * docs/gst/gstreamer-sections.txt:
13217         * gst/gstutils.c: (set_state_async_thread_func),
13218         (gst_element_set_state_async):
13219         * gst/gstutils.h:
13220           add a "gst_element_set_state_async" method that
13221           sets the state and starts a thread to make sure the state
13222           change completes as best as it can
13223
13224 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13225
13226         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
13227           codify design+behaviour in testsuite after discussion
13228
13229 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13230
13231         * docs/gst/tmpl/gstelement.sgml:
13232         * docs/manual/appendix-quotes.xml:
13233           add a quote
13234         * gst/gstelement.c: (gst_element_set_state):
13235           add some debug
13236
13237 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
13238
13239         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13240         (gst_base_transform_prepare_output_buf),
13241         (gst_base_transform_handle_buffer):
13242         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
13243         (gst_capsfilter_prepare_buf):
13244           Remove the requirement for sub-classes to call the parent
13245           implementation of prepare_output_buffer with a wrapper function.
13246           
13247         * gst/gsttaglist.h:
13248         * gst/gsttagsetter.h:
13249           Fix #define wrapper
13250
13251 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
13252
13253         * docs/gst/gstreamer-sections.txt:
13254           more doc cleanups
13255
13256 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13257
13258         * docs/gst/gstreamer-sections.txt:
13259         * docs/gst/tmpl/gstelement.sgml:
13260         * docs/gst/tmpl/gstplugin.sgml:
13261         * gst/gstminiobject.c:
13262         * gst/gstvalue.h:
13263           docs now stop throwing warnings
13264
13265 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13266
13267         * docs/gst/gstreamer-sections.txt:
13268         * docs/gst/gstreamer.types:
13269         * docs/gst/tmpl/gstpad.sgml:
13270         * docs/gst/tmpl/gsttypes.sgml:
13271         * gst/base/gstadapter.h:
13272         * gst/base/gstbasesink.h:
13273         * gst/base/gstbasesrc.h:
13274         * gst/gstbin.h:
13275         * gst/gstbuffer.h:
13276         * gst/gstbus.h:
13277         * gst/gstcaps.h:
13278         * gst/gstclock.h:
13279         * gst/gstelement.h:
13280         * gst/gstevent.h:
13281         * gst/gstmessage.h:
13282         * gst/gstpad.h:
13283         * gst/gststructure.c:
13284         * gst/registries/gstlibxmlregistry.h:
13285           various documentation fixes
13286
13287 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13288
13289         * docs/gst/gstreamer-sections.txt:
13290         * docs/gst/tmpl/gstvalue.sgml:
13291           rearrange gstvalue section
13292         * gst/gstutils.c: (gst_element_state_get_name):
13293           NONE -> VOID
13294         * gst/gstvalue.c: (_gst_value_initialize):
13295         * gst/gstvalue.h:
13296           doc updates
13297
13298 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
13299
13300         * check/gst-libs/controller.c:
13301           Header include fix.
13302         * gst/base/gstbasetransform.c:
13303         (gst_base_transform_default_prepare_buf),
13304         (gst_base_transform_handle_buffer):
13305         * gst/base/gstbasetransform.h:
13306           Some more basetransform changes and fixes to enable sub-classes
13307           that modify buffer metadata only.
13308         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
13309         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
13310         (gst_capsfilter_prepare_buf):
13311           If the output pad has fixed allowed caps and input buffers 
13312           don't have any, set the fixed caps on outgoing buffers.
13313
13314 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
13315         * check/elements/identity.c: (GST_START_TEST):
13316           Make the error a little clearer when the test fails because
13317           identity made a copy of the buffer.
13318         * docs/gst/gstreamer-sections.txt:
13319           New symbols in gstbasetransform.h
13320         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13321         (gst_base_transform_init), (gst_base_transform_transform_size),
13322         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13323         (gst_base_transform_default_prepare_buf),
13324         (gst_base_transform_get_unit_size),
13325         (gst_base_transform_buffer_alloc),
13326         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
13327         (gst_base_transform_change_state),
13328         (gst_base_transform_set_passthrough),
13329         (gst_base_transform_set_in_place),
13330         (gst_base_transform_is_in_place):
13331         * gst/base/gstbasetransform.h:
13332           Change BaseTransform to separate in_place operate from same_caps
13333           output. in_place implies that the element can perform the transform
13334           on incoming buffers in-place, even if the caps on the output are
13335           different.
13336           Sub-class elements can now implement special buffer allocation
13337           methods for outgoing buffers if they wish to.
13338           Big documentation addition.
13339         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
13340         * gst/elements/gstelements.c:
13341           Changes for basetransform modifications.
13342         * gst/elements/Makefile.am:
13343         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
13344           Compile fix. Extra debug output.
13345
13346 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13347
13348         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
13349         (gst_pad_suite):
13350           add tests for valid pad naming
13351         * gst/check/gstcheck.c: (gst_check_log_message_func),
13352         (gst_check_log_critical_func):
13353           add ASSERT_WARNING
13354           remove printing of code, it is fragile when the code contains
13355           % and the line number is enough info
13356         * gst/check/gstcheck.h:
13357         * gst/gstpad.c: (gst_pad_template_new):
13358           fix memleaks
13359
13360 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13361
13362         * configure.ac:
13363           say what CHECK flags we use
13364         * docs/libs/gstreamer-libs.types:
13365         * libs/gst/controller/Makefile.am:
13366         * libs/gst/controller/gst-controller.c:
13367         * libs/gst/controller/gst-controller.h:
13368         * libs/gst/controller/gst-helper.c:
13369         * libs/gst/controller/gst-interpolation.c:
13370         * libs/gst/controller/gstcontroller.c:
13371         * libs/gst/controller/gsthelper.c:
13372         * libs/gst/controller/gstinterpolation.c:
13373         * tools/gst-inspect.c: (print_plugin_info):
13374           we don't use dashes in header names
13375
13376 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13377
13378         * check/Makefile.am:
13379         * check/gst/.cvsignore:
13380         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
13381         (gst_pipeline_suite), (main):
13382           adding a test for pipelines and state changes
13383         * gst/gstutils.c: (get_state_func):
13384           add some debugging
13385         * gstreamer.spec.in:
13386           fix up spec file
13387
13388 2005-09-08  Michael Smith <msmith@fluendo.com>
13389
13390         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
13391         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
13392         (gst_file_src_is_seekable), (gst_file_src_get_size),
13393         (gst_file_src_start):
13394         * gst/elements/gstfilesrc.h:
13395           Various fixes for unseekable, unmmapable, and non-normal files, so
13396           that fallback to read() rather than mmap() works.
13397         * gst/gstevent.c: (gst_event_new_newsegment):
13398           Allow newsegment events with segment_start == segment_end, as will
13399           correctly happen if you use filesrc on a zero-size file, for
13400           example.
13401
13402 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
13403
13404         * gst/gstplugin.c: (gst_plugin_load_file):
13405           Call g_module_close when we don't load the module
13406
13407         * gst/registries/gstlibxmlregistry.c:
13408         (gst_xml_registry_get_property):
13409           Port leak fix from 0.8
13410
13411 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13412
13413         * docs/gst/gstreamer-docs.sgml:
13414         * docs/gst/tmpl/.cvsignore:
13415         * docs/gst/tmpl/gsttrace.sgml:
13416         * docs/gst/tmpl/gsttrashstack.sgml:
13417         * gst/Makefile.am:
13418         * gst/gst.h:
13419         * gst/gstelement.h:
13420         * gst/gstevent.h:
13421         * gst/gstmessage.c:
13422         * gst/gstmessage.h:
13423         * gst/gsttag.c:
13424         * gst/gsttag.h:
13425         * gst/gsttaginterface.c:
13426         * gst/gsttaginterface.h:
13427         * gst/gsttaglist.c:
13428         * gst/gsttaglist.h:
13429         * gst/gsttagsetter.c:
13430         * gst/gsttagsetter.h:
13431         * gst/gsttrace.c:
13432         * gst/gsttrace.h:
13433         * gst/gsttrashstack.c:
13434           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
13435           inlined docs for gsttrace, gsttrashstack
13436
13437 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13438
13439         * gst/Makefile.am:
13440         * gst/elements/gstbufferstore.h:
13441         * gst/elements/gsttypefindelement.c:
13442         * gst/elements/gsttypefindelement.h:
13443         * gst/gst.h:
13444         * gst/gsttypefind.c:
13445         * gst/gsttypefind.h:
13446         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
13447         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
13448         (gst_type_find_factory_dispose),
13449         (gst_type_find_factory_unload_thyself),
13450         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
13451         (gst_type_find_factory_get_caps),
13452         (gst_type_find_factory_get_extensions),
13453         (gst_type_find_factory_call_function):
13454         * gst/gsttypefindfactory.h:
13455         * gst/registries/gstlibxmlregistry.c:
13456         * gst/registries/gstxmlregistry.c:
13457           splitted gsttypefind into gsttypefind, gsttypefindfactory
13458
13459 2005-09-07  Andy Wingo  <wingo@pobox.com>
13460
13461         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
13462         condition whereby the pad's task function is entered before the
13463         pad_mode variable was set.
13464
13465 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
13466
13467         * gst/gstpad.c: (gst_pad_alloc_buffer):
13468           Catch misbehaving pad_alloc functions that don't
13469           set up caps and do it for them.
13470
13471 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
13472
13473         * check/pipelines/simple_launch_lines.c: (run_pipeline):
13474           test for pipe!=NULL
13475         * docs/gst/tmpl/.cvsignore:
13476         * docs/gst/tmpl/gstmemchunk.sgml:
13477         * docs/gst/tmpl/gstparse.sgml:
13478         * docs/gst/tmpl/gsttaglist.sgml:
13479         * docs/gst/tmpl/gsttagsetter.sgml:
13480         * docs/gst/tmpl/gsttypefind.sgml:
13481         * docs/gst/tmpl/gsttypefindfactory.sgml:
13482         * gst/gstmemchunk.c:
13483         * gst/gstparse.c:
13484         * gst/gsttag.c:
13485         * gst/gsttaginterface.c:
13486         * gst/gsttypefind.c:
13487         * gst/gsttypefind.h:
13488           inlined more docs
13489
13490 === release 0.9.2 ===
13491
13492 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13493
13494         * NEWS:
13495         * RELEASE:
13496         * configure.ac:
13497           releasing 0.9.2, "South"
13498
13499 2005-09-05  Andy Wingo  <wingo@pobox.com>
13500
13501         * gst/registries/gstxmlregistry.h:
13502         * gst/registries/gstxmlregistry.c: Um... resurrect...
13503         
13504         * gst/registries/gstxmlregistry.h:
13505         * gst/registries/gstxmlregistry.c: and update to newer API.
13506         Incidentally they should be a bit faster now that they don't have
13507         to parse the caps.
13508         
13509 2005-09-05  Andy Wingo  <wingo@pobox.com>
13510
13511         * gst/registries/gstxmlregistry.h:
13512         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
13513         replaced by the libxml registry a while back
13514
13515 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13516
13517         * docs/gst/tmpl/gstplugin.sgml:
13518         * gst/elements/gstelements.c:
13519         * gst/gst.c:
13520         * gst/gstplugin.c: (gst_plugin_register_func),
13521         (gst_plugin_desc_copy), (gst_plugin_desc_free),
13522         (gst_plugin_get_source):
13523         * gst/gstplugin.h:
13524         * gst/registries/gstlibxmlregistry.c: (load_plugin),
13525         (gst_xml_registry_save_plugin):
13526         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
13527         (gst_xml_registry_save_plugin):
13528         * tools/gst-inspect.c: (print_plugin_info):
13529           add a "source" plugin description field, to represent the source
13530           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
13531           will set it to PACKAGE, which is automake's idea of the name of
13532           the source project.
13533
13534 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13535
13536         * Makefile.am:
13537         * autogen.sh:
13538         * configure.ac:
13539         * docs/Makefile.am:
13540         * docs/faq/Makefile.am:
13541         * docs/gst/tmpl/gstelement.sgml:
13542         * docs/gst/tmpl/gsttypes.sgml:
13543         * docs/htmlinstall.mak:
13544         * docs/manual/Makefile.am:
13545         * docs/pwg/Makefile.am:
13546           reorganize doc build a little
13547           split out docbook and gtk-doc stuff
13548           have two separate --enable's and enable them through autogen
13549           but disable by default in configure (to be similar to other
13550           projects)
13551         * gstreamer.spec.in:
13552           clean up docs install
13553         * po/af.po:
13554         * po/az.po:
13555         * po/ca.po:
13556         * po/cs.po:
13557         * po/de.po:
13558         * po/en_GB.po:
13559         * po/fr.po:
13560         * po/it.po:
13561         * po/nb.po:
13562         * po/nl.po:
13563         * po/ru.po:
13564         * po/sq.po:
13565         * po/sr.po:
13566         * po/sv.po:
13567         * po/tr.po:
13568         * po/uk.po:
13569         * po/vi.po:
13570           translation updates
13571
13572 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
13573
13574         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
13575           Add comment.
13576           
13577         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
13578         (gst_fake_sink_change_state):
13579           Make state change function thread-safe.
13580           
13581         * gst/gstpad.c: (gst_pad_alloc_buffer):
13582           Set offset on generic buffer allocated by fallback.
13583
13584 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
13585
13586         * docs/gst/gstreamer-sections.txt:
13587         * docs/gst/tmpl/gstelement.sgml:
13588         * gst/gstpad.c:
13589         * libs/gst/controller/gst-controller.c:
13590         (gst_controlled_property_set_interpolation_mode),
13591         (gst_controlled_property_new),
13592         (gst_controller_find_controlled_property):
13593          run the wingo-magic script against the docs
13594
13595 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
13596
13597         * docs/gst/gstreamer-docs.sgml:
13598         * docs/gst/gstreamer-sections.txt:
13599         * docs/gst/tmpl/.cvsignore:
13600         * docs/gst/tmpl/gstelementdetails.sgml:
13601         * docs/gst/tmpl/gstelementfactory.sgml:
13602         * gst/gst.c:
13603         * gst/gstbus.c:
13604         * gst/gstelementfactory.c:
13605         * gst/gstelementfactory.h:
13606           merged elementdetails docs into elementfactory docs
13607           inlined both
13608
13609 2005-09-02  Andy Wingo  <wingo@pobox.com>
13610
13611         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
13612         consider this enum an enum and not a flags.
13613
13614 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
13615
13616         * docs/gst/gstreamer-docs.sgml:
13617         * docs/gst/tmpl/.cvsignore:
13618         * docs/gst/tmpl/gstghostpad.sgml:
13619         * docs/gst/tmpl/gstiterator.sgml:
13620         * docs/gst/tmpl/gstmacros.sgml:
13621         * docs/gst/tmpl/gstrealpad.sgml:
13622         * docs/gst/tmpl/gstregistry.sgml:
13623         * docs/gst/tmpl/gstregistrypool.sgml:
13624         * docs/gst/tmpl/gststructure.sgml:
13625         * docs/gst/tmpl/gstsystemclock.sgml:
13626         * docs/gst/tmpl/gsttrace.sgml:
13627         * gst/gstghostpad.c:
13628         * gst/gstmacros.h:
13629         * gst/gstmemchunk.c:
13630         * gst/gstmemchunk.h:
13631         * gst/gstqueue.c:
13632         * gst/gstregistry.c:
13633         * gst/gstregistrypool.c:
13634         * gst/gststructure.c:
13635         * gst/gstsystemclock.c:
13636           more docs inlined
13637
13638 2005-09-02  Andy Wingo  <wingo@pobox.com>
13639
13640         * gst/gstelement.h (GstState): Renamed from GstElementState,
13641         changed to be a normal enum instead of flags.
13642         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
13643         munged to be GST_STATE_CHANGE_*.
13644         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
13645         work with the new state representation.
13646         (GstStateChange): New enumeration of possible state transitions.
13647         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
13648         (GstElementClass::change_state): Pass the GstStateChange along as
13649         an argument. Helps language bindings, so they don't have to use
13650         tricky lock-needing macros like GST_STATE_CHANGE ().
13651
13652         * scripts/update-states (file): New script. Run it on a file to
13653         update it for state naming and API changes. Updates files in
13654         place.
13655
13656         * All files updated for the new API.
13657
13658 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13659
13660         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
13661         * gst/gstutils.c: (gst_util_set_value_from_string),
13662         (gst_util_set_object_arg):
13663           fix a bunch of unchecked return values
13664         * tools/gst-complete.c: (main):
13665         * gstreamer.spec.in:
13666           clean up a little
13667
13668 2005-09-01  Wim Taymans  <wim@fluendo.com>
13669
13670         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13671         (gst_base_sink_event), (gst_base_sink_do_sync),
13672         (gst_base_sink_handle_event):
13673         * gst/base/gstbasesink.h:
13674         Handle newsegments more correctly.
13675
13676         * gst/gstbus.c:
13677         Fix docs.
13678
13679         * gst/gstevent.c: (gst_event_new_newsegment):
13680         A newsegment cannot have a start_time of -1
13681
13682 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
13683
13684         * win32/gstenumtypes.c:
13685         * win32/gstenumtypes.h:
13686           Update
13687
13688 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
13689
13690         * libs/gst/controller/gst-controller.c:
13691         (gst_controlled_property_set_interpolation_mode),
13692         (gst_controlled_property_new):
13693          fixed boolean again
13694
13695 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13696
13697         * docs/faq/gst-uninstalled:
13698           add -good
13699         * gst/gstevent.c:
13700         * gst/gstevent.h:
13701           remove wrong docs
13702         * gst/gstutils.c: (gst_element_link_filtered):
13703         * gst/gstutils.h:
13704           add gst_element_link_filtered
13705
13706 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
13707
13708         * docs/gst/gstreamer-docs.sgml:
13709         * docs/gst/gstreamer-sections.txt:
13710         * docs/gst/tmpl/.cvsignore:
13711         * docs/gst/tmpl/gsterror.sgml:
13712         * docs/gst/tmpl/gstfilter.sgml:
13713         * docs/gst/tmpl/gsturihandler.sgml:
13714         * docs/gst/tmpl/gsturitype.sgml:
13715         * docs/gst/tmpl/gstutils.sgml:
13716         * docs/gst/tmpl/gstxml.sgml:
13717         * gst/gsterror.c:
13718         * gst/gsterror.h:
13719         * gst/gstfilter.c:
13720         * gst/gsturi.c:
13721         * gst/gsturitype.c:
13722         * gst/gstutils.c:
13723         * gst/gstxml.c:
13724           inlined more docs, fixed double id-ref
13725
13726 2005-08-31  Wim Taymans  <wim@fluendo.com>
13727
13728         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13729         (gst_base_transform_handle_buffer):
13730         Passthrough elements don't need the caps as they don't care.
13731
13732 2005-08-31  Wim Taymans  <wim@fluendo.com>
13733
13734         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13735         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
13736         Don't leak refcounts on buffers.
13737
13738 2005-08-31  Wim Taymans  <wim@fluendo.com>
13739
13740         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
13741         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
13742         (gst_base_transform_chain), (gst_base_transform_change_state):
13743         * gst/base/gstbasetransform.h:
13744         Handle the case where we are not negotiated more gracefully.
13745
13746 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
13747
13748         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
13749         (gst_file_src_map_region):
13750           Set READONLY flag on mmap'ed buffers, otherwise
13751           gst_buffer_make_writable() won't work properly (#314708).
13752
13753 2005-08-31  Wim Taymans  <wim@fluendo.com>
13754
13755         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
13756         passthrough elements can even do inplace on non writable
13757         buffers (as they don't touch them).
13758
13759 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
13760
13761         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
13762         (gst_test_mono_source_set_property),
13763         (gst_test_mono_source_class_init), (GST_START_TEST),
13764         (gst_controller_suite):
13765           more tests (hehe I have the most)
13766         * gst/gstbus.c:
13767           describe popping messages whenusing mulltiple sources
13768         * libs/gst/controller/gst-controller.c:
13769         (gst_controlled_property_set_interpolation_mode),
13770         (gst_controlled_property_new):
13771         * libs/gst/controller/gst-controller.h:
13772         * libs/gst/controller/gst-interpolation.c:
13773           implement boolean properties
13774
13775 2005-08-31  Wim Taymans  <wim@fluendo.com>
13776
13777         * gst/gstminiobject.c: (gst_mini_object_ref):
13778         Cannot assert that the refcount has to be positive
13779         since a disposed object can be resurrected.
13780
13781 2005-08-31  Wim Taymans  <wim@fluendo.com>
13782
13783         * gst/gstpad.c: (gst_pad_init):
13784         Revert change, need to first fix badly behaving 
13785         apps.
13786
13787 2005-08-30  Wim Taymans  <wim@fluendo.com>
13788
13789         * check/elements/fakesrc.c: (setup_fakesrc):
13790         * check/elements/identity.c: (setup_identity):
13791         Activate pads before using them.
13792
13793 2005-08-30  Wim Taymans  <wim@fluendo.com>
13794
13795         * gst/base/gstadapter.c: (gst_adapter_flush):
13796         Flushing out 0 bytes is ok for this function.
13797
13798         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13799         no newsegment gives a warning and sets the start/stop to 
13800         invalid.
13801
13802         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
13803         (gst_base_transform_set_passthrough):
13804         Some debug info.
13805
13806         * gst/gstminiobject.c: (gst_mini_object_ref):
13807         Check refcount here too.
13808
13809         * gst/gstpad.c: (gst_pad_init):
13810         Pads are initially flushing and refusing data.
13811
13812         * gst/gstutils.c: (gst_element_link_pads_filtered):
13813         When adding a capsfilter element make sure it has the
13814         same state as the parent bin.
13815
13816 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
13817
13818         * docs/gst/tmpl/.cvsignore:
13819         * docs/gst/tmpl/gstformat.sgml:
13820         * docs/gst/tmpl/gstversion.sgml:
13821         * gst/gstbus.h:
13822         * gst/gstformat.c:
13823         * gst/gstformat.h:
13824         * gst/gstversion.h.in:
13825           more docs and two more inlined
13826
13827 2005-08-30  Wim Taymans  <wim@fluendo.com>
13828
13829         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
13830         Don't sync to clock.
13831
13832 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
13833
13834         * docs/gst/gstreamer-sections.txt:
13835           ultral33t func10ns deserve to appear in the docs actually
13836         * docs/gst/tmpl/.cvsignore:
13837         * docs/gst/tmpl/gstcompat.sgml:
13838         * docs/gst/tmpl/gstconfig.sgml:
13839         * gst/check/gstcheck.c:
13840         * gst/gstcompat.h:
13841         * gst/gstconfig.h.in:
13842           inlined more docs
13843
13844 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
13845
13846         * docs/gst/tmpl/.cvsignore:
13847         * docs/gst/tmpl/gstquery.sgml:
13848         * docs/gst/tmpl/gstutils.sgml:
13849         * gst/gstquery.c:
13850         * gst/gstquery.h:
13851           inlined and extended docs
13852
13853 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
13854
13855         * check/gst-libs/controller.c: (GST_START_TEST),
13856         (gst_controller_suite):
13857           more tests
13858         * docs/gst/tmpl/gstutils.sgml:
13859         * docs/libs/gstreamer-libs-sections.txt:
13860         * docs/libs/tmpl/gstdataprotocol.sgml:
13861           include path fixes
13862         * examples/controller/audio-example.c: (main):
13863           controller example works now
13864         * gst/gstclock.h:
13865           doc fixes
13866         * tools/gst-inspect.c: (print_element_properties_info):
13867           show param spec flags
13868
13869 2005-08-29  Andy Wingo  <wingo@pobox.com>
13870
13871         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
13872
13873 2005-08-28  Andy Wingo  <wingo@pobox.com>
13874
13875         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
13876         as having two arguments instead of just one. Allows superclasses
13877         to access information on subclasses -- see the terrible for() loop
13878         in gtype.c:g_type_create_instance for the reason why. All callers
13879         changed.
13880
13881 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
13882
13883         * docs/design/part-messages.txt:
13884           update info
13885         * docs/gst/tmpl/.cvsignore:
13886         * docs/gst/tmpl/gstcaps.sgml:
13887         * docs/gst/tmpl/gstclock.sgml:
13888         * gst/gstbus.c:
13889         * gst/gstcaps.c:
13890         * gst/gstcaps.h:
13891         * gst/gstclock.c:
13892         * gst/gstclock.h:
13893         * gst/gstmessage.c:
13894           added descriptions for bus and message
13895           inline caps and clock docs
13896
13897 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
13898
13899         * gst/gstmessage.c:
13900         * gst/gstmessage.h:
13901           doc fixes
13902
13903 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
13904
13905         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
13906           fix div-by-zero
13907
13908 2005-08-26  Andy Wingo  <wingo@pobox.com>
13909
13910         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
13911         element_set_state's return val.
13912         (test_2_elements): Add test that's been disabled for months.
13913
13914         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
13915         can-activate-pull properties.
13916
13917         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
13918         can-activate-pull properties. Implement is_seekable so fakesrc can
13919         operate in pull mode.
13920
13921         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
13922         properties.
13923         (gst_base_sink_activate, gst_base_sink_activate_pull)
13924         (gst_base_sink_activate_push): Make activation mode choosing work.
13925         Cleanups.
13926         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
13927         is right. Make pull mode work. Post an eos before pausing in pull
13928         mode.
13929         (gst_base_sink_change_state): Pay attention to the core's
13930         change_state() return val.
13931         
13932         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
13933         has-getrange properties. Cleanups.
13934         
13935         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
13936         has_getrange and replace with can_activate_pull and
13937         can_activate_push.
13938
13939         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
13940         locking comments. Remove has_loop, has_chain and replace with
13941         can_activate_pull and can_activate_push.
13942
13943 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
13944
13945         * configure.ac:
13946         * examples/Makefile.am:
13947         * examples/metadata/Makefile.am:
13948         * examples/metadata/read-metadata.c: (message_loop),
13949         (have_pad_handler), (make_pipeline), (print_tag), (main):
13950           Add metadata reading example that loops over a list of filenames,
13951           dumping any tags found.
13952
13953         * gst/gstbus.c: (gst_bus_dispose):
13954         * gst/gstelement.c: (gst_element_dispose):
13955           Release a few potentially-held references in dispose.
13956
13957 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
13958
13959         * docs/gst/tmpl/gstminiobject.sgml:
13960           do *not* add tmpl/*.sgml files to CVS!
13961
13962 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
13963
13964         * libs/gst/bytestream/.cvsignore:
13965         * libs/gst/bytestream/Makefile.am:
13966         * libs/gst/bytestream/adapter.c:
13967         * libs/gst/bytestream/adapter.h:
13968         * libs/gst/bytestream/bytestream.c:
13969         * libs/gst/bytestream/bytestream.h:
13970         * libs/gst/bytestream/filepad.c:
13971         * libs/gst/bytestream/filepad.h:
13972           removing obsolete files
13973
13974 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
13975
13976         * docs/gst/gstreamer-docs.sgml:
13977         * docs/libs/gstreamer-libs-docs.sgml:
13978           disabed additional index entries again, as this makes docs-gen just
13979           slow and they aren't useful yet
13980         * docs/libs/gstreamer-libs-sections.txt:
13981           little -section.txt cleanup for libs
13982
13983 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
13984
13985         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13986         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
13987           fix up some debugging
13988         (gst_base_transform_get_unit_size),
13989         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
13990         (gst_base_transform_handle_buffer):
13991         * gst/base/gstbasetransform.h:
13992           handle and store timed NEWSEGMENT events so that subclasses that
13993           calculate time by counting samples have a segment_start time they
13994           need to add to their timestamps - see audioresample
13995
13996 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
13997
13998         * gst/gstbin.h:
13999           removed ';' from the end of macro defs
14000         * docs/gst/gstreamer-docs.sgml:
14001         * docs/gst/gstreamer-sections.txt:
14002         * docs/gst/tmpl/.cvsignore:
14003         * gst/gstbus.h:
14004         * gst/gstelement.c: (gst_element_class_init),
14005         (gst_element_set_state), (activate_pads),
14006         (gst_element_save_thyself):
14007         * gst/gstevent.c: (gst_event_new_newsegment):
14008         * gst/gstevent.h:
14009         * gst/gstiterator.c:
14010         * gst/gstiterator.h:
14011         * gst/gstpad.c:
14012         * gst/gstprobe.h:
14013         * gst/gstutils.c: (gst_pad_query_convert):
14014         * gst/gstutils.h:
14015           fixed parameter name mismatches between source, header and docs
14016           added some more docs, resolved the last batch of unused elements in
14017           docs (now someone needs to doc them)
14018
14019 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14020
14021         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
14022         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
14023           don't walk through the plugins backwards.  Where is all this
14024           reversed logic coming from ?
14025
14026 2005-08-25  Wim Taymans  <wim@fluendo.com>
14027
14028         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14029         (gst_base_transform_transform_size),
14030         (gst_base_transform_configure_caps),
14031         (gst_base_transform_get_unit_size),
14032         (gst_base_transform_buffer_alloc),
14033         (gst_base_transform_change_state):
14034         * gst/base/gstbasetransform.h:
14035         Cache caps unit_size.
14036         Make sure we cannot negotiate up and downstream at the
14037         same time.
14038
14039 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14040
14041         * gst/gst.c: (init_pre), (init_post):
14042           register the installed plugin path after the env var
14043         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
14044         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
14045           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
14046           directories, so the tests can prefer uninstalled over installed
14047
14048 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14049
14050         * gst/base/gstbasetransform.h:
14051           comment
14052         * gst/gstpad.c:
14053           add to docs
14054
14055 2005-08-25  Wim Taymans  <wim@fluendo.com>
14056
14057         * gst/gstbin.c: (bin_bus_handler):
14058         Be a bit more conservative about the posted message.
14059         
14060         * gst/gstbus.c: (gst_bus_post):
14061         Some cleanups, warn wrong return values.
14062
14063 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
14064
14065         * check/gst/gstbin.c: (GST_START_TEST):
14066         * gst/gstbin.c: (bin_bus_handler):
14067         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
14068         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
14069         (gst_message_new_warning), (gst_message_new_tag),
14070         (gst_message_new_state_changed), (gst_message_new_segment_start),
14071         (gst_message_new_segment_done), (gst_message_new_custom):
14072         * gst/gstmessage.h:
14073         * tools/gst-launch.c: (event_loop):
14074         * tools/gst-md5sum.c: (event_loop):
14075           Revert unpopular change for GST_MESSAGE_SRC to GObject.
14076
14077 2005-08-25  Wim Taymans  <wim@fluendo.com>
14078
14079         * check/generic/states.c: (GST_START_TEST):
14080         Cleanup can be done at the end.
14081
14082         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
14083         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
14084         (gst_task_get_state), (gst_task_start), (gst_task_pause):
14085         Oh boy.. Thanks for finding this, Thomas. 
14086
14087 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
14088
14089         * docs/gst/gstreamer.types:
14090           added missing types
14091
14092 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
14093
14094         * docs/gst/gstreamer-docs.sgml:
14095         * docs/gst/gstreamer-sections.txt:
14096         * docs/gst/tmpl/.cvsignore:
14097         * gst/gstbin.c:
14098         * gst/gstiterator.c:
14099         * gst/gstutils.c:
14100         * gst/registries/gstxmlregistry.h:
14101           added missing classes and symbols (123 more to go)
14102           removed removed symbols from section file
14103           fixed many doc-comments
14104
14105 2005-08-24  Wim Taymans  <wim@fluendo.com>
14106
14107         * check/generic/states.c: (GST_START_TEST):
14108         Make sure all tasks are stopped.
14109
14110         * check/gst/gstbin.c: (GST_START_TEST):
14111         Unref after usage for proper valgrinding.
14112
14113         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
14114         Really wait for the task to stop before destroying the
14115         mutex.
14116
14117         * gst/gstqueue.c: (gst_queue_sink_activate_push),
14118         (gst_queue_src_activate_push):
14119         Small cleanups. Don't stop the task when we did not start
14120         it.
14121
14122         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
14123         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
14124         (gst_task_get_state), (gst_task_start), (gst_task_pause),
14125         (gst_task_join):
14126         * gst/gsttask.h:
14127         Protect the stream lock with the object lock.
14128         Disallow setting the stream lock when running.
14129         Add cleanup_all to wait for the threadpool to finish.
14130         Remove code to autoallocate a mutex if none was provided.
14131         Add _join() to wait for a task to stop.
14132         Protect the thread pool with a global lock.
14133
14134 2005-08-24  Wim Taymans  <wim@fluendo.com>
14135
14136         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14137         (gst_base_sink_get_times), (gst_base_sink_do_sync),
14138         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
14139         * gst/base/gstbasesink.h:
14140         Handle newsegment events correctly.
14141         Drop buffers out of the segment range.
14142
14143 2005-08-22  Andy Wingo  <wingo@pobox.com>
14144
14145         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
14146         macro, implements an interface and gstimplementsinterface for a
14147         new type.
14148
14149 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14150
14151         * check/Makefile.am:
14152         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
14153           add a test that does a bunch of state changes on elements
14154           needs some fixing for valgrind
14155         * check/states/sinks.c: (gst_object_suite):
14156           whitespace
14157         * gst/gstcaps.h:
14158           add prototype for gst_caps_is_equal_fixed
14159         * gst/gstplugin.c:
14160         * gst/gstregistrypool.c:
14161           doc fixes
14162
14163 2005-08-24  Andy Wingo  <wingo@pobox.com>
14164
14165         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
14166         convert a negative value. Doesn't make much sense. Mostly this is
14167         here to force callers to ensure -1 maps to -1.
14168
14169 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
14170
14171         * docs/pwg/advanced-types.xml:
14172           Well done to Michael for catching my deliberate introduction
14173           of this spelling mistake. 
14174         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
14175         * gst/gstelement.h:
14176           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
14177           unlink pads before removing the element from the bin.
14178
14179 2005-08-24  Andy Wingo  <wingo@pobox.com>
14180
14181         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
14182         the same thing as GST_DEBUG=*:4.
14183         (parse_debug_level, parse_debug_category): New helper parsers.
14184
14185 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14186
14187         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14188         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
14189         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
14190         (gst_base_transform_buffer_alloc),
14191         (gst_base_transform_handle_buffer):
14192           use gboolean return values and pointers to size so we can use the
14193           full GST_BUFFER_SIZE range (guint) for buffer sizes
14194           use GstPadDirection for transform_caps
14195         * gst/base/gstbasetransform.h:
14196           rename get_size to get_unit_size since that's what it is
14197         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
14198           use GstPadDirection for transform_caps
14199         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14200         * gst/gstutils.h:
14201           cleanup and debugging
14202
14203 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
14204
14205         * gst/gstelement.c: (gst_element_class_init),
14206         (gst_element_set_state), (activate_pads),
14207         (gst_element_save_thyself):
14208         * tools/gst-compprep.c: (main):
14209         * tools/gst-inspect.c: (print_element_properties_info):
14210         * tools/gst-xmlinspect.c: (print_element_properties):
14211           Fixed long standing mem-leak
14212
14213 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
14214
14215         * check/gst/gstbin.c: (GST_START_TEST):
14216         * gst/gstbin.c: (bin_bus_handler):
14217         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
14218         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
14219         (gst_message_new_warning), (gst_message_new_tag),
14220         (gst_message_new_state_changed), (gst_message_new_segment_start),
14221         (gst_message_new_segment_done), (gst_message_new_custom):
14222         * gst/gstmessage.h:
14223         * tools/gst-launch.c: (event_loop):
14224         * tools/gst-md5sum.c: (event_loop):
14225           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
14226           that applications can sensibly post custom messages with references
14227           to their own objects.
14228
14229 2005-08-24  Andy Wingo  <wingo@pobox.com>
14230
14231         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
14232         already.
14233
14234 2005-08-24  Wim Taymans  <wim@fluendo.com>
14235
14236         * gst/base/gstbasetransform.c: (gst_base_transform_init),
14237         (gst_base_transform_transform_caps),
14238         (gst_base_transform_transform_size),
14239         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14240         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
14241         (gst_base_transform_handle_buffer):
14242         * gst/base/gstbasetransform.h:
14243         Many fixes and new features added by Thomas. Can now also do
14244         transforms with variable sizes and a custom fixate_caps function.
14245
14246 2005-08-24  Wim Taymans  <wim@fluendo.com>
14247
14248         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14249         Some debugging.
14250
14251         * gst/gstclock.h:
14252         Cast to ClockTime before formatting to time.
14253
14254         * gst/gstutils.h:
14255         Cleanups.
14256
14257 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
14258
14259         * check/gst-libs/controller.c: (GST_START_TEST),
14260         (gst_controller_suite):
14261         * docs/gst/tmpl/gstcaps.sgml:
14262         * docs/gst/tmpl/gstghostpad.sgml:
14263         * docs/gst/tmpl/gstquery.sgml:
14264         * docs/gst/tmpl/gstutils.sgml:
14265         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
14266         (gst_object_sink_values), (gst_object_get_value_arrays),
14267         (gst_object_get_value_array):
14268           gracefully handle helper method calls to objects that are not beeing
14269           controlled, added test case for that          
14270
14271 2005-08-23  Wim Taymans  <wim@fluendo.com>
14272
14273         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
14274         (gst_event_new_newsegment), (gst_event_parse_newsegment),
14275         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
14276         (gst_event_parse_qos), (gst_event_new_seek),
14277         (gst_event_parse_seek):
14278         * gst/gstevent.h:
14279         Some more debugging output and doc cleanups.
14280
14281         * gst/gstqueue.c: (gst_queue_handle_sink_event):
14282         Fix possible deadlock.
14283
14284 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
14285
14286         * docs/gst/gstreamer-docs.sgml:
14287         * docs/gst/gstreamer-sections.txt:
14288         * docs/gst/gstreamer.types:
14289         * docs/gst/tmpl/.cvsignore:
14290         * gst/gstbin.h:
14291         * gst/gstbus.c:
14292         * gst/gstelement.c:
14293         * gst/gstevent.h:
14294           added 100 symbols from gstreamer-unused.txt to the right sections
14295           fixed more broken comments
14296           added GstBus to docs
14297
14298 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
14299
14300         * docs/gst/gstreamer-sections.txt:
14301         * docs/gst/tmpl/.cvsignore:
14302         * docs/gst/tmpl/gstbin.sgml:
14303         * docs/gst/tmpl/gstbuffer.sgml:
14304         * gst/base/gstbasesrc.c:
14305         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
14306         * gst/gstbuffer.c:
14307         * gst/gstbuffer.h:
14308         * tools/gst-launch.1.in:
14309           inlined more doc comments, added missing comments and fixed comments
14310           fixed typos
14311
14312 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14313
14314         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
14315           some debugging
14316         * gst/gstcaps.h:
14317           whitespace fixes
14318         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
14319           more debugging
14320         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
14321         * gst/gststructure.h:
14322           add a fixate function for booleans; add a FIXME that these func
14323           names should probably be gst_structure_fixate_*
14324
14325 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
14326
14327         * docs/gst/gstreamer-docs.sgml:
14328         * docs/gst/gstreamer-sections.txt:
14329         * gst/Makefile.am:
14330         * gst/gstbin.c: (gst_bin_get_type),
14331         (gst_bin_child_proxy_get_child_by_index),
14332         (gst_bin_child_proxy_get_children_count),
14333         (gst_bin_child_proxy_init):
14334         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
14335         (gst_child_proxy_get_child_by_index),
14336         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
14337         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
14338         (gst_child_proxy_get), (gst_child_proxy_set_property),
14339         (gst_child_proxy_set_valist), (gst_child_proxy_set),
14340         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
14341         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
14342         * gst/gstchildproxy.h:
14343         * gst/parse/grammar.y:
14344         * tools/gst-inspect.c: (print_interfaces),
14345         (print_element_properties_info), (print_element_info):
14346           ported gstchildproxy over from 0.8
14347           ported gst-inspect fixes and enhancements over from 0.8
14348
14349 2005-08-22  Wim Taymans  <wim@fluendo.com>
14350
14351         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
14352         (gst_base_transform_handle_buffer):
14353         Also call the transform function if we have ANY caps.
14354
14355         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
14356         Fix debug info.
14357
14358 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
14359
14360         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
14361           Don't pretend to handle seek events if the source is not seekable
14362
14363 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
14364
14365         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14366           Remove extra parameter to debug output
14367
14368         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14369         (gst_base_src_do_seek), (gst_base_src_activate_push):
14370           Fix seek event handling.
14371
14372         * gst/gstpipeline.c: (gst_pipeline_change_state):
14373         * gst/gstqueue.c: (gst_queue_handle_sink_event),
14374         (gst_queue_src_activate_push):
14375           Don't start the src pad task on FLUSH_STOP if the pad
14376           isn't linked.
14377           Debug changes.
14378
14379 2005-08-22  Wim Taymans  <wim@fluendo.com>
14380
14381         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
14382         Added check for gst_static_caps_get() refcounting.
14383
14384 2005-08-22  Wim Taymans  <wim@fluendo.com>
14385
14386         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
14387         Make _static_caps_get() refcounting sane.
14388         
14389         * gst/gstelement.c: (gst_element_set_state):
14390         Add g_return_val_if_fail() to protect against segfaults.
14391
14392 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
14393
14394         * docs/gst/tmpl/gstevent.sgml:
14395         * gst/gstevent.c:
14396         * gst/gstevent.h:
14397           inlined remaining docs, added missing doc comments
14398
14399 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14400
14401         * check/gst/gstbin.c: (GST_START_TEST):
14402           since we don't know when preroll is done, use refcount range
14403           check for the sink
14404         * gst/check/gstcheck.h:
14405           add macro for checking refcount range
14406
14407 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14408
14409         * check/Makefile.am:
14410           clean up environment for when registry gets built versus
14411           when actual tests are run; valgrind seems to not report
14412           leaks if GST_PLUGIN_PATH is set to some specific values
14413         * check/gst/gstbin.c: (GST_START_TEST):
14414           add more refcounting checks; maybe this exposes a
14415           preroll lock bug ?
14416         * common/check.mak:
14417         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14418         * gst/check/gstcheck.h:
14419         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
14420         (gst_bin_change_state):
14421         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
14422           add/fix debugging/whitespace
14423
14424 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
14425
14426         * check/gst/gstevent.c: (event_probe), (test_event),
14427         (GST_START_TEST):
14428          Er, don't call gst_bin_watch_for_state_change you idiot.
14429
14430 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
14431
14432         * check/Makefile.am:
14433           Use CHECK_CFLAGS and CHECK_LIBS
14434         * check/gst/gstevent.c: (event_probe), (test_event),
14435         (GST_START_TEST):
14436           Don't leak events.
14437         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
14438         (gst_base_src_start), (gst_base_src_stop),
14439         (gst_base_src_activate_push), (gst_base_src_activate_pull),
14440         (gst_base_src_change_state):
14441           Sprinkle gst_base_src_stop liberally around error paths to fix
14442           problems reusing a source after failed state changes.
14443         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14444         (helper_find_suggest), (gst_type_find_helper):
14445           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
14446         * gst/gstevent.h:
14447         * docs/gst/tmpl/gstevent.sgml:
14448           Migrate part of the docs from the SGML file. Wait for ensonic to
14449           tell me how I did it wrong ;)
14450         * tools/gst-typefind.c: (main):
14451           Extra robustness to state changes between files.
14452
14453 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14454
14455         * check/Makefile.am:
14456           don't valgrind the controller test - it's leaking - Stefan, HELP
14457         * gst/check/gstcheck.c: (gst_check_message_error),
14458         (gst_check_chain_func), (gst_check_setup_element),
14459         (gst_check_teardown_element), (gst_check_setup_src_pad),
14460         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
14461         (gst_check_teardown_sink_pad):
14462         * gst/check/gstcheck.h:
14463           add a bunch of methods to set up elements, and src and sink pads
14464         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
14465         * check/elements/identity.c: (setup_identity), (cleanup_identity),
14466         (GST_START_TEST):
14467           use them
14468         * gst/gstmessage.c:
14469         * gst/gsttag.h:
14470           whitespace/doc fixes
14471
14472 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14473
14474         * gst/gstelement.h:
14475           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
14476           be handled by the application and not always printed as well
14477
14478 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14479
14480         * check/Makefile.am:
14481           set GST_TOOLS_DIR
14482         * gst/check/gstcheck.c: (gst_check_message_error):
14483         * gst/check/gstcheck.h:
14484           add a fail_unless_equals_int
14485           add fail_unless for error messages
14486
14487 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14488
14489         * check/Makefile.am:
14490         * check/gst.supp:
14491         * common/Makefile.am:
14492         * common/check.mak:
14493         * common/gst.supp:
14494           factor out some of the common stuff so we can use it
14495
14496 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14497
14498         * check/Makefile.am:
14499         * check/gst/gstiterator.c: (GST_START_TEST):
14500         * check/gst/gstsystemclock.c: (GST_START_TEST),
14501         (gst_systemclock_suite):
14502         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14503         * gst/gstclock.c:
14504           valgrind more tests
14505
14506 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14507
14508         * check/elements/.cvsignore:
14509         * check/elements/gstfakesrc.c:
14510           rename to name of element
14511         * check/elements/identity.c: (chain_func), (event_func),
14512         (setup_identity), (cleanup_identity), (GST_START_TEST),
14513         (identity_suite), (main):
14514           add a test for identity
14515         * check/Makefile.am:
14516         * pkgconfig/Makefile.am:
14517         * pkgconfig/gstreamer-check.pc.in:
14518         * pkgconfig/gstreamer-check-uninstalled.pc.in:
14519         * gst/check:
14520         * gst/Makefile.am:
14521         * configure.ac:
14522           move the check stuff to a library that gets installed
14523         * check/gst-libs/controller.c: (GST_START_TEST):
14524         * check/gst-libs/gdp.c:
14525         * check/gst/gst.c: (GST_START_TEST):
14526         * check/gst/gstbin.c:
14527         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14528         * check/gst/gstbus.c:
14529         * check/gst/gstcaps.c: (GST_START_TEST):
14530         * check/gst/gstelement.c:
14531         * check/gst/gstghostpad.c:
14532         * check/gst/gstiterator.c:
14533         * check/gst/gstmessage.c:
14534         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
14535         * check/gst/gstobject.c:
14536         * check/gst/gstpad.c: (GST_START_TEST):
14537         * check/gst/gststructure.c: (GST_START_TEST):
14538         * check/gst/gstsystemclock.c: (GST_START_TEST),
14539         (gst_systemclock_suite):
14540         * check/gst/gsttag.c: (gst_tag_suite):
14541         * check/gst/gstvalue.c:
14542         * check/pipelines/cleanup.c:
14543         * check/pipelines/simple_launch_lines.c:
14544         * check/states/sinks.c:
14545           change include statement
14546
14547         * docs/gst/gstreamer-sections.txt:
14548         * docs/gst/tmpl/gstpad.sgml:
14549           document more pad stuff
14550         * gst/gstminiobject.c: (gst_mini_object_ref),
14551         (gst_mini_object_unref):
14552           debug refcounting
14553
14554 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
14555
14556         * docs/gst/tmpl/gst.sgml:
14557         * gst/gst.c:
14558           eliminate another tmpl file, fix spelling in the long-description
14559
14560 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14561
14562         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14563         (test_event), (timediff), (gstevents_suite):
14564           Should fix build on 64-bit arch's
14565
14566 2005-08-18  Andy Wingo  <wingo@pobox.com>
14567
14568         Make sure that when a pipeline goes to PLAYING, that data has
14569         actually hit the sink.
14570
14571         * check/states/sinks.c (test_sink): A sink that doesn't get any
14572         data shouldn't return SUCCESS for going to either PLAYING or
14573         PAUSED. Test also the return values on the way back down.
14574
14575         * gst/gstelement.c (gst_element_set_state): When changing the
14576         state of an element currently changing state asynchronously, go to
14577         lost-state after commiting the pending state. Makes future calls
14578         to get_state continue to return ASYNC.
14579
14580         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
14581         ASYNC when going to PLAYING if we still don't have preroll, as can
14582         happen with live sources.
14583
14584 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14585
14586         * docs/pwg/advanced-types.xml:
14587           Hack long paragraph into 2 chunks as a workaround for buggy
14588           jadetex version in sid and breezy that loops infinitely and
14589           eats all RAM.
14590
14591 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14592
14593         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14594         (test_event), (timediff), (gstevents_suite):
14595           Provide more error margin in clock measurements to allow for 
14596           g_get_current_time inaccuracies.
14597
14598 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14599
14600         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14601         (test_event), (timediff), (gstevents_suite):
14602            Fix error message output so I might be able to tell why the
14603            test works here but fails on the build farm.
14604
14605 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
14606
14607         * check/Makefile.am:
14608         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
14609         (test_event), (timediff), (gstevents_suite), (main):
14610           I wrote a test!
14611
14612         * docs/design/part-seeking.txt:
14613           Spelling correction
14614
14615         * docs/gst/tmpl/gstevent.sgml:
14616         * docs/gst/tmpl/gstfakesrc.sgml:
14617           Docs updates.
14618
14619         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14620           Treat a buffer-without-newsegment the same as a receiving 
14621           a newsegment not in time format, and disable syncing to the clock
14622           with a warning.
14623
14624         * gst/gstbus.c: (gst_bus_set_sync_handler):
14625           Assert if anyone tries to replace the existing sync_handler for bus, 
14626           as only the owner should be setting it.
14627
14628         * gst/gstevent.h:
14629           Have a fixed set of custom event enums with events identified by
14630           their structure name (as in 0.8), rather than a free-for-all
14631           allowing collisions between enum values from different plugins.
14632
14633         * gst/gstpad.c: (gst_pad_class_init):
14634           Docs change.
14635           
14636         * gst/gstqueue.c: (gst_queue_handle_sink_event):
14637           Handle out-of-band downstream events from the sending thread.
14638
14639 2005-08-17  Andy Wingo  <wingo@pobox.com>
14640
14641         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
14642         play-timeout==0 to mean no timeout at all. In that case, don't
14643         bother with a get_state or a warning, just return directly, even
14644         if it's ASYNC.
14645
14646         * gst/base/gstbasetransform.c: Debug changes.
14647
14648         * gst/gstutils.h:
14649         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
14650         ensure bins post state change messages. A bit of a hack but I can't
14651         think of a way to avoid it.
14652
14653         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
14654
14655 2005-08-16  Andy Wingo  <wingo@pobox.com>
14656
14657         * gst/base/gstadapter.h:
14658         * gst/base/gstadapter.c (gst_adapter_take): New function, like
14659         peek() but you own the data. Not terribly efficient atm.
14660
14661 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14662
14663         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
14664         (gst_element_found_tags):
14665         * gst/gstutils.h:
14666           Add two utility functions for tag handling.
14667
14668 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14669
14670         * docs/manual/advanced-dataaccess.xml:
14671         * docs/manual/basics-helloworld.xml:
14672           Fix docs to use _bin_add() before _link(), which fixes the examples
14673           with recent core versions (reported by Madhan Raj M
14674           <raj_madan@rediffmail.com>, #313199).
14675
14676 2005-08-16  Wim Taymans  <wim@fluendo.com>
14677
14678         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14679         Added subtract checks.
14680
14681         * docs/design/part-events.txt:
14682         Some more docs about newsegment
14683
14684         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
14685         Fix FIXME
14686
14687         * gst/gstcaps.c: (gst_caps_to_string):
14688         Add comments, cleanups.
14689         
14690         * gst/gstelement.c: (gst_element_save_thyself):
14691         cleanups
14692         
14693         * gst/gstvalue.c: (gst_value_collect_int_range),
14694         (gst_string_unwrap), (gst_value_union_int_int_range),
14695         (gst_value_union_int_range_int_range),
14696         (gst_value_intersect_int_int_range),
14697         (gst_value_intersect_int_range_int_range),
14698         (gst_value_intersect_double_double_range),
14699         (gst_value_intersect_double_range_double_range),
14700         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
14701         (gst_value_subtract_int_range_int),
14702         (gst_value_subtract_double_range_double),
14703         (gst_value_subtract_double_range_double_range),
14704         (gst_value_subtract_from_list), (gst_value_subtract_list),
14705         (gst_value_can_compare), (gst_value_compare_fraction):
14706         Cleanups, add comments, remove unneeded asserts.
14707
14708 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14709
14710         * tools/gst-launch.c: (event_loop):
14711           don't convert NULL structures to strings
14712
14713 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
14714
14715         * docs/gst/gstreamer-sections.txt:
14716           made some defines private
14717         * docs/gst/tmpl/gstconfig.sgml:
14718         * docs/gst/tmpl/gstqueue.sgml:
14719         * docs/gst/tmpl/gsttaglist.sgml:
14720         * docs/gst/tmpl/gsttypes.sgml:
14721         * docs/gst/tmpl/gstutils.sgml:
14722         * docs/pwg/appendix-porting.xml:
14723         * gst/base/gstbasesink.h:
14724         * gst/base/gstbasesrc.c:
14725         * gst/base/gstbasesrc.h:
14726         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
14727         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
14728         * gst/gstelement.c: (gst_element_class_init):
14729         * gst/gstpad.c: (gst_pad_class_init):
14730         * gst/gstqueue.c: (gst_queue_class_init):
14731         * gst/gstxml.c: (gst_xml_class_init):
14732           documented all undocumented signal inline
14733         * libs/gst/controller/gst-controller.h:
14734           added padding
14735
14736 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14737
14738         * docs/pwg/appendix-porting.xml:
14739           Document _set_link_function -> _set_setcaps_function.
14740
14741 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14742
14743         * check/Makefile.am:
14744           add a .check target for running the check
14745         * check/gst-libs/controller.c: (GST_START_TEST):
14746           cosmetic fixups
14747         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14748           complete checks for gstbuffer; would be nice if I could get the
14749           gcov stuff to work so I can see if I actually completed gstbuffer.c
14750         * check/gstcheck.h:
14751           add ASSERT_BUFFER_REFCOUNT
14752
14753 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
14754
14755         * docs/gst/gstreamer-sections.txt:
14756         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
14757         * gst/gsttag.h:
14758           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
14759           spew out a warning if a tag that is already registered
14760           is re-registered, unless it is re-registered with a 
14761           different type (#308438).
14762
14763 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
14764
14765         * docs/pwg/appendix-porting.xml:
14766         * docs/pwg/building-state.xml:
14767           Add some paragraphs about state changes in 0.9 to the PWG
14768           and the porting guide, in particular about the new meaning
14769           of GST_STATE_PAUSED and how to write state change functions
14770           with concurrent access by multiple threads in mind.
14771
14772 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
14773
14774         * docs/gst/gstreamer-docs.sgml:
14775         * docs/libs/gstreamer-libs-docs.sgml:
14776           added deprecation and since indexes
14777         * libs/gst/controller/gst-controller.c:
14778         * libs/gst/controller/gst-helper.c:
14779           added since tags
14780
14781
14782 2005-08-11  Wim Taymans  <wim@fluendo.com>
14783
14784         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
14785         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
14786         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
14787         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
14788         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
14789         (gst_ghost_pad_set_target):
14790         Actually implement (re)setting the target on a ghostpad
14791         as described in the docs.
14792
14793 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
14794
14795         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
14796           Check whether GST_DEBUG_NO_COLOR environment variable is
14797           set and disable coloured debug output if that is the case.
14798
14799 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
14800
14801         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14802         (gst_type_find_helper):
14803           The memory returned by gst_type_find_peek() needs to
14804           stay valid until the end of a typefind function, and
14805           typefind functions may keep results from different 
14806           offsets around, so we can't just unref the buffer from
14807           the previous _peek(), but have to save all buffers 
14808           returned by _peek() until typefinding is done and only
14809           free them then.
14810
14811 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
14812
14813         * docs/gst/gstreamer-sections.txt:
14814         * gst/gstutils.h:
14815           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
14816
14817 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14818
14819         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
14820           Fix a pretty good memleak.
14821
14822 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
14823
14824         * gst/gstiterator.h:
14825           Fix wrong include and 'make distcheck'.
14826
14827 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14828
14829         * gst/gstbin.c: (bin_bus_handler):
14830           Use gst_element_post_message() instead.
14831
14832 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
14833
14834         * gst/base/gstadapter.h:
14835         * gst/base/gstbasesink.h:
14836         * gst/base/gstbasesrc.h:
14837         * gst/base/gstbasetransform.h:
14838         * gst/base/gstcollectpads.h:
14839         * gst/base/gstpushsrc.h:
14840         * gst/gstiterator.h:
14841           Add padding to our base elements' class and instance structs and
14842           to GstIterator (you will need to rebuild all plugins and apps!)
14843
14844 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14845
14846         * gst/gstbin.c: (bin_bus_handler):
14847           Make default message forwarding from child->bus to bin->bus
14848           threadsafe and make it not emit warnings if the parent has no bus.
14849
14850 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14851
14852         * gst/gstelement.c: (activate_pads):
14853           On paused->ready, set pad->caps to NULL, as is the documented
14854           behaviour in this state change. Fixes playback of series of
14855           media files when visualization is enabled in Totem.
14856
14857 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14858
14859         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
14860           Allow NULL as filter-caps (which means "any").
14861
14862 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
14863
14864         * docs/libs/gstreamer-libs-sections.txt:
14865         * libs/gst/controller/gst-controller.c:
14866         * libs/gst/controller/gst-controller.h:
14867         * libs/gst/controller/gst-helper.c:
14868           adding more entries to the docs and fix small doc-bugs
14869
14870 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
14871
14872         * docs/gst/gstreamer-docs.sgml:
14873         * docs/gst/gstreamer-sections.txt:
14874         * docs/gst/gstreamer.types:
14875         * docs/gst/tmpl/gstbasesink.sgml:
14876         * docs/gst/tmpl/gstbasesrc.sgml:
14877         * docs/gst/tmpl/gstbasetransform.sgml:
14878         * docs/gst/tmpl/gstfakesrc.sgml:
14879         * gst/base/gstcollectpads.c:
14880         * gst/base/gstcollectpads.h:
14881         * libs/gst/controller/gst-controller.c:
14882         * libs/gst/controller/gst-controller.h:
14883         * libs/gst/controller/gst-helper.c:
14884         * libs/gst/controller/gst-interpolation.c:
14885         * libs/gst/controller/lib.c:
14886           added long/short desc for controller docs
14887           added collectpads base class docs
14888           added correct includes to base-class docs
14889
14890 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
14891
14892         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
14893         (gst_test_mono_source_set_property),
14894         (gst_test_mono_source_class_init), (GST_START_TEST),
14895         (gst_controller_suite):
14896         * docs/gst/gstreamer-docs.sgml:
14897         * docs/gst/gstreamer-sections.txt:
14898         * docs/gst/gstreamer.types:
14899         * docs/libs/gstreamer-libs-docs.sgml:
14900         * docs/libs/gstreamer-libs-sections.txt:
14901         * gst/base/gstadapter.c:
14902         * libs/gst/controller/gst-controller.c:
14903         (gst_controlled_property_new), (gst_controlled_property_free),
14904         (gst_controller_new_valist),
14905         (gst_controller_remove_properties_valist),
14906         (gst_controller_sink_values), (_gst_controller_finalize):
14907         * libs/gst/controller/gst-controller.h:
14908         * libs/gst/controller/gst-helper.c:
14909         (gst_object_control_properties), (gst_object_uncontrol_properties),
14910         (gst_object_get_controller), (gst_object_set_controller),
14911         (gst_object_sink_values), (gst_object_get_value_arrays),
14912         (gst_object_get_value_array):
14913           more tests (and fixes) for the controller
14914           more docs for the controller
14915           integrated companies docs for the adapter 
14916
14917 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14918
14919         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
14920         (GST_START_TEST), (fakesrc_suite):
14921           add tests for sizetype
14922
14923 2005-08-04  Andy Wingo  <wingo@pobox.com>
14924
14925         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
14926         fixes buffer_alloc proxying among other things.
14927
14928         * gst/base/gstbasetransform.c:
14929         * gst/base/gstbasetransform.h:
14930         Revert patch to gstbasetransform from 7-28 removing
14931         delay_configure.
14932
14933         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
14934         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
14935         Semantics changed, should return not the size of the output buffer
14936         but the byte size of a buffer with a given caps.
14937
14938         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
14939         debug object.
14940         (gst_base_transform_configure_caps): Don't set out_size here: (in,
14941         out) are not the pad caps until setcaps finishes.
14942         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
14943         not-in-place case as well. Deal with changing from in-place to
14944         not-in-place within calling pad_alloc_buffer. Still a bit
14945         concerned about the overhead here...
14946
14947 2005-08-03  Andy Wingo  <wingo@pobox.com>
14948
14949         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
14950         fixating is an error.
14951
14952 2005-08-04  Edward Hervey  <edward@fluendo.com>
14953
14954         * gst/base/gstadapter.h: 
14955         Added gst_adapter_get_type() to the header
14956
14957 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
14958
14959         * check/Makefile.am:
14960         * check/gst-libs/controller.c:
14961         * libs/gst/controller/gst-controller.c:
14962         (gst_controller_new_valist):
14963           added check test suite for the controller
14964         * gst/base/gstpushsrc.c:
14965           fixed a doc typo
14966
14967 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
14968
14969         * docs/gst/Makefile.am:
14970         * docs/gst/gstreamer-docs.sgml:
14971         * docs/gst/gstreamer-sections.txt:
14972         * docs/gst/gstreamer.types:
14973         * docs/gst/tmpl/gstfakesrc.sgml:
14974         * gst/base/README:
14975         * gst/base/gstbasesink.c:
14976         * gst/base/gstbasesink.h:
14977         * gst/base/gstbasesrc.c:
14978         * gst/base/gstbasesrc.h:
14979         * gst/base/gstbasetransform.c:
14980         * gst/base/gstpushsrc.c:
14981         * gst/base/gstpushsrc.h:
14982           add short/long description docs to base classes
14983           add pushsrc to the docs
14984           remove consolidated doc fragments
14985
14986 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
14987
14988         * configure.ac:
14989         * docs/libs/Makefile.am:
14990         * docs/libs/gstreamer-libs-docs.sgml:
14991         * docs/libs/gstreamer-libs-sections.txt:
14992         * docs/libs/gstreamer-libs.types:
14993         * examples/Makefile.am:
14994         * examples/controller/.cvsignore:
14995         * examples/controller/Makefile.am:
14996         * examples/controller/audio-example.c: (main):
14997         * libs/gst/Makefile.am:
14998         * libs/gst/controller/.cvsignore:
14999         * libs/gst/controller/Makefile.am:
15000         * libs/gst/controller/gst-controller.c:
15001         (on_object_controlled_property_changed), (gst_timed_value_compare),
15002         (gst_timed_value_find),
15003         (gst_controlled_property_set_interpolation_mode),
15004         (gst_controlled_property_new), (gst_controlled_property_free),
15005         (gst_controller_find_controlled_property),
15006         (gst_controller_new_valist), (gst_controller_new),
15007         (gst_controller_remove_properties_valist),
15008         (gst_controller_remove_properties), (gst_controller_set),
15009         (gst_controller_set_from_list), (gst_controller_unset),
15010         (gst_controller_get), (gst_controller_get_all),
15011         (gst_controller_sink_values), (gst_controller_get_value_arrays),
15012         (gst_controller_get_value_array),
15013         (gst_controller_set_interpolation_mode),
15014         (_gst_controller_finalize), (_gst_controller_init),
15015         (_gst_controller_class_init), (gst_controller_get_type):
15016         * libs/gst/controller/gst-controller.h:
15017         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
15018         (g_object_uncontrol_properties), (g_object_get_controller),
15019         (g_object_set_controller), (g_object_sink_values),
15020         (g_object_get_value_arrays), (g_object_get_value_array):
15021         * libs/gst/controller/gst-interpolation.c:
15022         (gst_controlled_property_find_timed_value_node),
15023         (interpolate_none_get), (interpolate_trigger_get),
15024         (interpolate_trigger_get_value_array):
15025         * libs/gst/controller/lib.c: (gst_controller_init):
15026         * pkgconfig/Makefile.am:
15027         * pkgconfig/gstreamer-control-uninstalled.pc.in:
15028         * pkgconfig/gstreamer-control.pc.in:
15029         * testsuite/Makefile.am:
15030         * testsuite/controller/.cvsignore:
15031         * testsuite/controller/Makefile.am:
15032         * testsuite/controller/interpolator.c: (main):
15033           added controller code
15034           removed dparam pc files
15035
15036 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
15037         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
15038         (gst_collectpads_stop):
15039           Broadcast the condition when shutting down, to make sure we wake all
15040           threads up. Shut down pads on finalize, for safety.
15041
15042 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
15043         * gst/base/gstbasetransform.c: (gst_base_transform_init),
15044         (gst_base_transform_handle_buffer),
15045         (gst_base_transform_change_state):
15046           Handle PAUSED->READY->PAUSED transition after negotiation
15047           occurred already.
15048         * gst/gstmessage.c: (gst_message_init):
15049           Extra piece of debug for new messages.
15050
15051 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
15052
15053         * configure.ac:
15054         * docs/gst/tmpl/gstbasesrc.sgml:
15055         * docs/gst/tmpl/gstelement.sgml:
15056         * docs/gst/tmpl/gstevent.sgml:
15057         * docs/gst/tmpl/gstfakesrc.sgml:
15058         * docs/gst/tmpl/gstformat.sgml:
15059         * docs/gst/tmpl/gstghostpad.sgml:
15060         * docs/gst/tmpl/gstpad.sgml:
15061         * docs/gst/tmpl/gstquery.sgml:
15062         * docs/gst/tmpl/gststructure.sgml:
15063         * docs/gst/tmpl/gsttaglist.sgml:
15064         * docs/gst/tmpl/gstvalue.sgml:
15065         * docs/libs/gstreamer-libs-docs.sgml:
15066         * docs/libs/gstreamer-libs-sections.txt:
15067         * docs/libs/gstreamer-libs.types:
15068         * libs/gst/Makefile.am:
15069         * libs/gst/control/.cvsignore:
15070         * libs/gst/control/Makefile.am:
15071         * libs/gst/control/control.c:
15072         * libs/gst/control/control.h:
15073         * libs/gst/control/dparam.c:
15074         * libs/gst/control/dparam.h:
15075         * libs/gst/control/dparam_smooth.c:
15076         * libs/gst/control/dparam_smooth.h:
15077         * libs/gst/control/dparamcommon.h:
15078         * libs/gst/control/dparammanager.c:
15079         * libs/gst/control/dparammanager.h:
15080         * libs/gst/control/dplinearinterp.c:
15081         * libs/gst/control/dplinearinterp.h:
15082         * libs/gst/control/unitconvert.c:
15083         * libs/gst/control/unitconvert.h:
15084         * testsuite/Makefile.am:
15085         * testsuite/dynparams/.cvsignore:
15086         * testsuite/dynparams/Makefile.am:
15087         * testsuite/dynparams/dparamstest.c:
15088         * tools/Makefile.am:
15089         * tools/gst-inspect.c: (print_element_info), (main):
15090         * tools/gst-xmlinspect.c: (print_element_info), (main):
15091           deactivate and remove dparams (libgstcontrol)
15092
15093 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
15094
15095         * gst/elements/gsttypefindelement.c:
15096         (gst_type_find_element_have_type), (gst_type_find_element_init),
15097         (stop_typefinding), (gst_type_find_element_handle_event),
15098         (gst_type_find_element_chain), (gst_type_find_element_getrange):
15099         * gst/elements/gsttypefindelement.h:
15100           Set caps on all outgoing buffers, not just the first one.
15101
15102 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
15103
15104         * gst/elements/gsttypefindelement.c:
15105         (gst_type_find_element_have_type),
15106         (gst_type_find_element_check_set_buffer_caps),
15107         (gst_type_find_element_init), (stop_typefinding),
15108         (gst_type_find_element_handle_event),
15109         (gst_type_find_element_chain), (gst_type_find_element_getrange):
15110         * gst/elements/gsttypefindelement.h:
15111           Set caps on first outgoing buffer when we've found the type.
15112
15113 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
15114
15115         * docs/gst/gstreamer-docs.sgml:
15116         * docs/gst/gstreamer-sections.txt:
15117         * docs/gst/tmpl/gstscheduler.sgml:
15118         * docs/gst/tmpl/gstschedulerfactory.sgml:
15119           Remove some old cruft from docs.
15120
15121 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
15122
15123         * gst/gstpad.h:
15124           Fix inline docs for GstPadLinkReturn.
15125           
15126         * gst/gststructure.c: (gst_structure_has_name):
15127         * gst/gststructure.h:
15128         * docs/gst/gstreamer-sections.txt:
15129           New API: gst_structure_has_name().
15130
15131 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
15132
15133         * configure.ac:
15134           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
15135           and _LARGEFILE_SOURCE in config.h as required. Do not 
15136           export those flags in our .pc files any longer (#142209).
15137
15138           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
15139
15140         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
15141         (gst_file_sink_do_seek), (gst_file_sink_event),
15142         (gst_file_sink_get_current_offset), (gst_file_sink_render):
15143           Redo seek/tell calls with large file support in mind; add some
15144           debugging messages; add log message that tells us when large
15145           file support is unavailable or not enabled for some reason.
15146
15147         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
15148           Add log message that tells us when large file support 
15149           is unavailable or not enabled for some reason.
15150
15151 2005-07-29  Wim Taymans  <wim@fluendo.com>
15152
15153         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
15154         Added test for removing an element with ghostpad from a bin.
15155         Fixed test as current implementation does the right thing.
15156
15157         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
15158         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
15159         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
15160         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
15161         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
15162         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
15163         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
15164         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
15165         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
15166         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
15167         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
15168         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
15169         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
15170         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
15171         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
15172         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
15173         * gst/gstghostpad.h:
15174         Clean up ghostpads, remove properties for internal stuff.
15175         Make threadsafe.
15176         Fix refcounting.
15177         Prepare for switching targets, not all use cases work yet.
15178
15179 2005-07-29  Wim Taymans  <wim@fluendo.com>
15180
15181         * docs/design/part-gstghostpad.txt:
15182         Small update.
15183
15184         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
15185         (gst_bin_remove_func):
15186         Unlinking pads while holding the bin LOCK is not a good
15187         idea.
15188
15189         * gst/gstpad.c: (gst_pad_class_init),
15190         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
15191         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
15192         No prob setting template after creating the pad.
15193
15194 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
15195
15196         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
15197         (gst_bus_peek), (gst_bus_source_dispatch),
15198         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
15199         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
15200           gst_bus_poll may be called from other threads. Handle
15201           this nicely by not making poll_data disappear off the
15202           stack once gst_bus_poll returns.
15203           gst_bus_peek now increments the refcount on the returned
15204           message.
15205
15206 2005-07-29  Wim Taymans  <wim@fluendo.com>
15207
15208         * docs/design/part-gstghostpad.txt:
15209         Overview of current GhostPad datastructures and use
15210         cases for changing the target.
15211
15212 2005-07-28  Wim Taymans  <wim@fluendo.com>
15213
15214         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15215         Added checks for hierarchy consistency whan adding linked
15216         elements to bins.
15217
15218         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
15219         Added check to test element scheduling without bin/pipeline.
15220
15221         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
15222         First add elements to bin, then link.
15223         
15224         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
15225         (gst_bin_remove_func):
15226         Unlink pads from elements added/removed from bin to maintain
15227         hierarchy consistency.
15228
15229 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15230
15231         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
15232         (gst_base_transform_handle_buffer):
15233         * gst/base/gstbasetransform.h:
15234           Remove broken delay_configure (fixes renegotiation of software
15235           scaling pipelines); remove some leftover printf()s.
15236
15237 2005-07-28  Wim Taymans  <wim@fluendo.com>
15238
15239         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
15240         Added some more tests for wrong hierarchy
15241
15242         * docs/design/part-overview.txt:
15243         Some updates.
15244
15245         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
15246         Cleanups.
15247
15248         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
15249         (gst_element_dispose):
15250         Some more cleanups.
15251
15252         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15253         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
15254         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15255         (gst_pad_set_caps), (gst_pad_send_event):
15256         Check for correct hierarchy when linking pads. Moving to
15257         strict requirement for ghostpads when linking elements in
15258         different bins.
15259
15260         * gst/gstpad.h:
15261         Clean ups. Added WRONG_HIERARCHY return value.
15262
15263 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15264
15265         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
15266           Better debug if no transform is possible.
15267
15268 2005-07-27  Wim Taymans  <wim@fluendo.com>
15269
15270         * docs/random/wtay/network-transp:
15271         Some old doc I had.
15272
15273 2005-07-27  Wim Taymans  <wim@fluendo.com>
15274
15275         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15276         (gst_dp_event_from_packet):
15277         Fix serialization of seek events.
15278
15279 2005-07-27  Wim Taymans  <wim@fluendo.com>
15280
15281         * check/gst-libs/gdp.c: (GST_START_TEST):
15282         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
15283         Fix compilation and fix event serialization.
15284
15285 2005-07-27  Wim Taymans  <wim@fluendo.com>
15286
15287         * CHANGES-0.9:
15288         * docs/design/part-TODO.txt:
15289         * docs/design/part-events.txt:
15290         Some docs updates
15291
15292         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15293         (gst_base_sink_event), (gst_base_sink_do_sync),
15294         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
15295         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
15296         (gst_base_src_do_seek), (gst_base_src_event_handler),
15297         (gst_base_src_loop):
15298         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
15299         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15300         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
15301         (gst_base_transform_event), (gst_base_transform_handle_buffer),
15302         (gst_base_transform_set_passthrough),
15303         (gst_base_transform_is_passthrough):
15304         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
15305         * gst/elements/gstfilesink.c: (gst_file_sink_event):
15306         Event updates.
15307
15308         * gst/gstbuffer.h:
15309         Use faster casts.
15310
15311         * gst/gstelement.c: (gst_element_seek):
15312         * gst/gstelement.h:
15313         Update gst_element_seek.
15314
15315         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
15316         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
15317         (gst_event_new_flush_start), (gst_event_new_flush_stop),
15318         (gst_event_new_eos), (gst_event_new_newsegment),
15319         (gst_event_parse_newsegment), (gst_event_new_tag),
15320         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
15321         (gst_event_parse_qos), (gst_event_new_seek),
15322         (gst_event_parse_seek), (gst_event_new_navigation):
15323         * gst/gstevent.h:
15324         Make GstEvent use GstStructure. Add parsing code, make sure the
15325         API is sufficiently generic.
15326         Mark possible directions of events and serialization.
15327
15328         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
15329         (_gst_message_copy), (gst_message_new_segment_start),
15330         (gst_message_new_segment_done), (gst_message_new_custom),
15331         (gst_message_parse_segment_start),
15332         (gst_message_parse_segment_done):
15333         Small cleanups.
15334
15335         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15336         (gst_pad_set_caps), (gst_pad_send_event):
15337         Update for new events. 
15338         Catch events sent in wrong directions.
15339
15340         * gst/gstqueue.c: (gst_queue_link_src),
15341         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15342         (gst_queue_handle_src_query):
15343         Event updates.
15344
15345         * gst/gsttag.c:
15346         * gst/gsttag.h:
15347         Remove event code from this file.
15348
15349         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15350         (gst_dp_event_from_packet):
15351         Event updates.
15352
15353 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15354
15355         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
15356         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15357         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
15358           Make debugging actually useful.
15359
15360 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15361
15362         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
15363         (gst_pad_fixate_caps):
15364           Implement default fixation once again, so that gst_pad_fixate()
15365           actually does anything at all. This probably needs to be some
15366           sort of a last resort, and use profile-based fixation first, but
15367           since that doesn't exist yet, this is the best we have. Fixes
15368           visualization in Totem.
15369
15370 2005-07-22  Wim Taymans  <wim@fluendo.com>
15371
15372         * docs/design/part-events.txt:
15373         Small update.
15374
15375         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15376         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
15377         (gst_base_sink_activate_pull):
15378         Some more comments.
15379
15380         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
15381         (gst_fake_src_create):
15382         Fix handoff marshall.
15383
15384         * gst/elements/gstidentity.c: (gst_identity_class_init),
15385         (gst_identity_transform_ip):
15386         We're a real inplace element.
15387
15388         * gst/gstbus.c: (gst_bus_post):
15389         Added some comments.
15390
15391         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
15392         * tests/muxing/case1.c: (main):
15393         * tests/sched/dynamic-pipeline.c: (main):
15394         * tests/sched/interrupt1.c: (main):
15395         * tests/sched/interrupt2.c: (main):
15396         * tests/sched/interrupt3.c: (main):
15397         * tests/sched/runxml.c: (main):
15398         * tests/sched/sched-stress.c: (main):
15399         * tests/seeking/seeking1.c: (event_received), (main):
15400         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15401         (main):
15402         * tests/threadstate/threadstate3.c: (main):
15403         * tests/threadstate/threadstate4.c: (main):
15404         * tests/threadstate/threadstate5.c: (main):
15405         Fix the tests.
15406
15407 2005-07-21  Wim Taymans  <wim@fluendo.com>
15408
15409         * docs/design/part-seeking.txt:
15410         Some small additions.
15411
15412         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15413         (gst_base_sink_get_times), (gst_base_sink_do_sync),
15414         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
15415         * gst/base/gstbasesink.h:
15416         discont values are gint64, handle the math correctly.
15417
15418         * gst/base/gstbasesrc.c: (gst_base_src_loop):
15419         Make the basesrc report error if the source pad is not linked.
15420
15421         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
15422         (gst_queue_loop), (gst_queue_handle_src_query),
15423         (gst_queue_src_activate_push):
15424         Make queue collect data even if the srcpad is not linked.
15425         Start pushing out data as soon as it is linked.
15426
15427         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
15428         * gst/gstutils.h:
15429         Added gst_flow_get_name() to ease error reporting.
15430
15431 2005-07-20  Wim Taymans  <wim@fluendo.com>
15432
15433         * gst/gstmessage.c: (gst_message_new_segment_start),
15434         (gst_message_new_segment_done), (gst_message_parse_segment_start),
15435         (gst_message_parse_segment_done):
15436         * gst/gstmessage.h:
15437         Added a bunch of messages for advanced seeking.
15438
15439         * gst/parse/grammar.y:
15440         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
15441         (gst_dpman_state_changed):
15442         Fix some new-pad -> pad-added signals
15443
15444 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15445
15446         * docs/manual/appendix-porting.xml:
15447         * docs/pwg/appendix-porting.xml:
15448           Document new-pad/state-change signal renames and the FixedList
15449           type rename.
15450
15451 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15452
15453         * docs/manual/advanced-autoplugging.xml:
15454         * docs/manual/basics-helloworld.xml:
15455         * docs/manual/basics-pads.xml:
15456         * docs/random/ds/0.9-suggested-changes:
15457         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
15458         * gst/gstelement.h:
15459         * gst/gstevent.h:
15460         * gst/gstformat.h:
15461         * gst/gstquery.h:
15462         * gst/gststructure.c: (gst_structure_value_get_generic_type),
15463         (gst_structure_parse_array), (gst_structure_parse_value):
15464         * gst/gstvalue.c: (gst_type_is_fixed),
15465         (gst_value_list_prepend_value), (gst_value_list_append_value),
15466         (gst_value_list_get_size), (gst_value_list_get_value),
15467         (gst_value_transform_array_string), (gst_value_serialize_array),
15468         (gst_value_deserialize_array), (gst_value_intersect_array),
15469         (gst_value_is_fixed), (_gst_value_initialize):
15470         * gst/gstvalue.h:
15471           GstElement::new-pad -> pad-added, GstElement::state-change ->
15472           state-changed, GstValueFixedList -> GstValueArray, add format and
15473           flags as their own arguments in gst_element_seek() (should improve
15474           "bindeability"), remove function generators since they don't work
15475           under a whole bunch of compilers (they were deprecated already
15476           anyway).
15477
15478 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15479
15480         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
15481         (_gst_debug_register_funcptr):
15482         * gst/gstinfo.h:
15483           Fix illegal cast on some platforms (#309253).
15484
15485 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15486
15487         * gst/gstmessage.c: (gst_message_new_custom):
15488         * gst/gstmessage.h:
15489           Add _new_custom, make _new_application a macro to _new_custom.
15490
15491 2005-07-20  Wim Taymans  <wim@fluendo.com>
15492
15493         * gst/base/gstbasesrc.c: (gst_base_src_init),
15494         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
15495         * gst/base/gstbasesrc.h:
15496         Add a gboolean to decide when to push out a discont.
15497
15498         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15499         (gst_queue_loop), (gst_queue_handle_src_query),
15500         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
15501         (gst_queue_set_property), (gst_queue_get_property):
15502         Some cleanups.
15503
15504         * tests/threadstate/threadstate1.c: (main):
15505         Make a thread test compile and run... very silly..
15506
15507
15508 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15509
15510         * docs/manual/appendix-porting.xml:
15511           Mention removal of libgstgconf-0.9.la and existence of gconf
15512           elements.
15513
15514 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15515
15516         * docs/pwg/advanced-clock.xml:
15517         * docs/pwg/appendix-porting.xml:
15518         * docs/pwg/intro-preface.xml:
15519         * docs/pwg/other-base.xml:
15520         * docs/pwg/other-manager.xml:
15521         * docs/pwg/other-nton.xml:
15522         * docs/pwg/other-ntoone.xml:
15523         * docs/pwg/other-oneton.xml:
15524         * docs/pwg/pwg.xml:
15525           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
15526           demuxer), remove n-to-n (was never written), fix some code examples
15527           and links and update the porting section to include all this.
15528
15529 2005-07-19  Wim Taymans  <wim@fluendo.com>
15530
15531         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
15532         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
15533         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
15534         (gst_queue_src_activate_push), (gst_queue_change_state),
15535         (gst_queue_get_property):
15536         * gst/gstqueue.h:
15537         Propagate GstFlowReturn more intelligently upstream and output
15538         an ERROR/EOS when streaming stopped due to fatal error.
15539
15540 2005-07-19  Wim Taymans  <wim@fluendo.com>
15541
15542         * tools/gst-launch.c: (check_intr), (event_loop), (main):
15543         Don't block forever for the state change to complete, the
15544         pipeline already did with a sensible timeout.
15545
15546 2005-07-19  Wim Taymans  <wim@fluendo.com>
15547
15548         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
15549         Make sure we never call the create function is we
15550         got deactivated.
15551
15552 2005-07-19  Andy Wingo  <wingo@pobox.com>
15553
15554         * gst/parse/parse.l: Attempt to solve bug #172815.
15555
15556 2005-07-19  Wim Taymans  <wim@fluendo.com>
15557
15558         * docs/design/part-clocks.txt:
15559         * docs/design/part-events.txt:
15560         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
15561         Small docs updates.
15562         Only update the seeking values when we are not
15563         busy streaming.
15564
15565 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
15566
15567         * gst/base/gstbasesrc.c: (gst_base_src_loop):
15568           Oops, ignore the result of gst_pad_push_event here.
15569
15570 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
15571
15572         * gst/base/gstbasesrc.c: (gst_base_src_loop),
15573         (gst_base_src_activate_push):
15574           Send discont event from the loop function, as pads
15575           aren't activated yet in the activate_push handler.
15576
15577         * gst/gstbin.c: (bin_bus_handler):
15578           Don't leak element name.
15579
15580 2005-07-18  Andy Wingo  <wingo@pobox.com>
15581
15582         * configure.ac: Use AS_LIBTOOL_TAGS.
15583
15584 2005-07-18  Wim Taymans  <wim@fluendo.com>
15585
15586         * docs/gst/gstreamer.types:
15587         Remove deleted types.
15588
15589 2005-07-18  Wim Taymans  <wim@fluendo.com>
15590
15591         * check/elements/gstfakesrc.c: (GST_START_TEST):
15592         * configure.ac:
15593         * gst/Makefile.am:
15594         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
15595         (init_popt_callback):
15596         * gst/gst.h:
15597         * gst/gst_private.h:
15598         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
15599         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
15600         * gst/gstbin.h:
15601         * gst/gstbus.h:
15602         * gst/gstconfig.h.in:
15603         * gst/gstelement.c: (gst_element_class_init),
15604         (gst_element_set_base_time), (gst_element_get_base_time),
15605         (iterator_fold_with_resync), (gst_element_change_state),
15606         (gst_element_dispose), (gst_element_get_bus):
15607         * gst/gstelement.h:
15608         * gst/gstelementfactory.h:
15609         * gst/gsterror.c: (_gst_core_errors_init):
15610         * gst/gsterror.h:
15611         * gst/gstevent.h:
15612         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
15613         * gst/gstindex.c:
15614         * gst/gstinfo.c: (_gst_debug_init):
15615         * gst/gstmessage.c: (_gst_message_copy):
15616         * gst/gstmessage.h:
15617         * gst/gstminiobject.h:
15618         * gst/gstobject.c:
15619         * gst/gstobject.h:
15620         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15621         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
15622         * gst/gstpad.h:
15623         * gst/gstparse.h:
15624         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
15625         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
15626         (gst_pipeline_get_last_stream_time):
15627         * gst/gstpipeline.h:
15628         * gst/gstpluginfeature.h:
15629         * gst/gstquery.h:
15630         * gst/gstscheduler.c:
15631         * gst/gstscheduler.h:
15632         * gst/gststructure.h:
15633         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
15634         (gst_task_finalize), (gst_task_func), (gst_task_create),
15635         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
15636         (gst_task_stop), (gst_task_pause):
15637         * gst/gsttask.h:
15638         * gst/gsttypefind.h:
15639         * gst/gsttypes.h:
15640         * gst/registries/gstlibxmlregistry.c: (load_feature),
15641         (gst_xml_registry_load), (gst_xml_registry_save_feature):
15642         * gst/registries/gstxmlregistry.c:
15643         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
15644         * gst/schedulers/threadscheduler.c:
15645         * libs/gst/control/dparammanager.h:
15646         * tools/gst-inspect.c: (print_element_list),
15647         (print_plugin_features), (print_element_features):
15648         * tools/gst-xmlinspect.c: (print_element_list),
15649         (print_plugin_info), (main):
15650         Removed plugable schedulers.
15651         Removed Scheduler/Manager from elements.
15652         Removed gsttypes.h, rearranged includes.
15653         Removed dependency pad<->element, element<>pipeline, and
15654         various others,  fix includes.
15655         implement gst_pad_get_parent() with gst_object_get_parent()
15656         Make GstTask sefcontained.
15657         Fix _get_state() on GstBin, it did not return ASYNC with a 0
15658         timeout.
15659         Fix endless loop in iterator_fold_with_resync.
15660
15661
15662 2005-07-18  Wim Taymans  <wim@fluendo.com>
15663
15664         * gst/Makefile.am:
15665         * gst/gstarch.h:
15666         Remove old file.
15667
15668 2005-07-18  Wim Taymans  <wim@fluendo.com>
15669
15670         * gst/Makefile.am:
15671         No more cothreads.h
15672
15673 2005-07-18  Wim Taymans  <wim@fluendo.com>
15674
15675         * gst/cothreads.c:
15676         * gst/cothreads.h:
15677         Let's remove these.
15678
15679 2005-07-18  Wim Taymans  <wim@fluendo.com>
15680
15681         * docs/design/part-dynamic.txt:
15682         * docs/design/part-events.txt:
15683         * docs/design/part-seeking.txt:
15684         Some more docs in the works.
15685
15686         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
15687         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
15688         (gst_base_transform_setcaps), (gst_base_transform_get_size),
15689         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
15690         (gst_base_transform_handle_buffer),
15691         (gst_base_transform_sink_activate_push),
15692         (gst_base_transform_src_activate_pull),
15693         (gst_base_transform_set_passthrough),
15694         (gst_base_transform_is_passthrough):
15695         Refcounting fixes.
15696
15697         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
15698         Cleanups.
15699
15700         * gst/gstevent.c: (gst_event_finalize):
15701         Set SRC to NULL.
15702
15703         * gst/gstutils.c: (gst_element_unlink),
15704         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
15705         (gst_pad_proxy_setcaps):
15706         * gst/gstutils.h:
15707         Add _get_parent_element() to get a pads parent as an element.
15708
15709 2005-07-18  Wim Taymans  <wim@fluendo.com>
15710
15711         * check/gst/gstbin.c: (GST_START_TEST):
15712         Remove bogus test.
15713
15714 2005-07-18  Wim Taymans  <wim@fluendo.com>
15715
15716         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
15717         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
15718         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
15719         (gst_base_sink_event), (gst_base_sink_do_sync),
15720         (gst_base_sink_chain), (gst_base_sink_loop),
15721         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
15722         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
15723         Refcounting fixes.
15724         Fix logic for returning ASYNC when not prerolled.
15725
15726 2005-07-18  Wim Taymans  <wim@fluendo.com>
15727
15728         * gst/gstqueue.c: (gst_queue_handle_sink_event):
15729         Fix nasty refcount bug.
15730
15731 2005-07-16 Philippe Khalaf <burger@speedy.org>
15732
15733         * gst/elements/gstfdsrc.c:
15734         * gst/elements/gstfdsrc.h:
15735         * gst/elements/gstelements.c:
15736         * gst/elements/Makefile.am:
15737         Ported fdsrc to 0.9.
15738
15739 2005-07-16  Wim Taymans  <wim@fluendo.com>
15740
15741         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15742         (gst_base_sink_do_sync):
15743         Fix compile error.
15744
15745 2005-07-16  Wim Taymans  <wim@fluendo.com>
15746
15747         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15748         (gst_base_sink_event), (gst_base_sink_get_times),
15749         (gst_base_sink_do_sync), (gst_base_sink_change_state):
15750         * gst/base/gstbasesink.h:
15751         Store and use discont values when syncing buffers as described
15752         in design docs.
15753         
15754         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
15755         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
15756         (gst_base_src_activate_push):
15757         Push discont event when starting.
15758
15759         * gst/elements/gstidentity.c: (gst_identity_transform):
15760         Small cleanups.
15761
15762         * gst/gstbin.c: (gst_bin_change_state):
15763         Small cleanups in base_time  distribution.
15764
15765         * gst/gstelement.c: (gst_element_set_base_time),
15766         (gst_element_get_base_time), (gst_element_change_state):
15767         * gst/gstelement.h:
15768         Added methods for the base_time of the element.
15769         Some MT fixes.
15770
15771         * gst/gstpipeline.c: (gst_pipeline_send_event),
15772         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
15773         (gst_pipeline_get_last_stream_time):
15774         * gst/gstpipeline.h:
15775         MT fixes.
15776         Handle seeking as described in design doc, remove stream_time
15777         hack.
15778         Cleanups clock and stream_time selection code. Added accessors
15779         for the stream_time.
15780         
15781
15782 2005-07-16  Andy Wingo  <wingo@pobox.com>
15783
15784         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
15785         (#305291).
15786
15787 2005-07-16  Wim Taymans  <wim@fluendo.com>
15788
15789         * check/gst/gstbin.c: (GST_START_TEST):
15790         Make elements silent as the deep_notify refs the
15791         parent, which might make the test fail.
15792
15793         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
15794         Don't hold the lock for too long.
15795
15796 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
15797
15798         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
15799           Don't unref the caps we passed to gst_caps_make_writable() after
15800           passing them. gst_caps_make_writable() will do that for us.
15801
15802 2005-07-15  Andy Wingo  <wingo@pobox.com>
15803
15804         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
15805         (#157311).
15806
15807         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
15808         own marshalling function for the handoff signal. Properly type the
15809         buffer as a buffer. Fixes some warnings. Should do a more general
15810         solution.
15811         (gst_identity_class_init): Plug into the right marshaller.
15812
15813 2005-07-15  Wim Taymans  <wim@fluendo.com>
15814
15815         * docs/design/part-TODO.txt:
15816         * docs/design/part-clocks.txt:
15817         * docs/design/part-element-sink.txt:
15818         * docs/design/part-events.txt:
15819         * docs/design/part-gstpipeline.txt:
15820         Updated docs, mostly DISCONT related.
15821
15822 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
15823
15824         * docs/pwg/building-pads.xml:
15825           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
15826
15827 2005-07-15  Andy Wingo  <wingo@pobox.com>
15828
15829         * tools/gst-typefind.c: Update, add copyright block.
15830
15831         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
15832         Normalize and truncate caps before fixation.
15833
15834         * gst/gstcaps.h:
15835         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
15836         discards all but the first structure from its argument.
15837
15838 2005-07-15  Wim Taymans  <wim@fluendo.com>
15839
15840         * gst/base/gstbasetransform.c: (gst_base_transform_init),
15841         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
15842         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15843         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
15844         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
15845         (gst_base_transform_chain), (gst_base_transform_change_state),
15846         (gst_base_transform_set_passthrough),
15847         (gst_base_transform_is_passthrough):
15848         * gst/base/gstbasetransform.h:
15849         Make passthrough work using the bufferpools.
15850         Changed API a bit, subclasses have to write into a buffer
15851         provided by the base class.
15852         More debug info in nego functions.
15853         
15854         * gst/elements/gstidentity.c: (gst_identity_init),
15855         (gst_identity_transform):
15856         Port to new base class.
15857
15858 2005-07-15  Wim Taymans  <wim@fluendo.com>
15859
15860         * gst/gstmessage.c: (gst_message_new_state_changed):
15861         * tools/gst-launch.c: (event_loop), (main):
15862         Totally dump messages in -launch with the -m option.
15863         Fix message name for State messages,
15864
15865 2005-07-14  Wim Taymans  <wim@fluendo.com>
15866
15867         * gst/base/gstbasesrc.c: (gst_base_src_loop):
15868         Post error messages on errors.
15869
15870 2005-07-14  Wim Taymans  <wim@fluendo.com>
15871
15872         * gst/gstcaps.c: (gst_caps_do_simplify):
15873         Remove debug info.
15874
15875         * gst/gsterror.h:
15876         Define error for stream stopped.
15877
15878         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15879         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
15880         Do proper return values.
15881
15882         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
15883         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
15884         (gst_pad_get_range):
15885         Better return values.
15886
15887         * gst/gstpad.h:
15888         Reorganise return values, add macro to check for fatal errors.
15889
15890         * gst/gstqueue.c: (gst_queue_chain):
15891         Return proper GstFlowReturn values,
15892
15893 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
15894
15895         * docs/gst/gstreamer-sections.txt:
15896         * docs/gst/gstreamer.types:
15897         * docs/gst/tmpl/gst.sgml:
15898         * docs/gst/tmpl/gstbasesink.sgml:
15899         * docs/gst/tmpl/gstbasesrc.sgml:
15900         * docs/gst/tmpl/gstbasetransform.sgml:
15901         * docs/gst/tmpl/gstbin.sgml:
15902         * docs/gst/tmpl/gstbuffer.sgml:
15903         * docs/gst/tmpl/gstcaps.sgml:
15904         * docs/gst/tmpl/gstclock.sgml:
15905         * docs/gst/tmpl/gstcompat.sgml:
15906         * docs/gst/tmpl/gstconfig.sgml:
15907         * docs/gst/tmpl/gstelement.sgml:
15908         * docs/gst/tmpl/gstelementdetails.sgml:
15909         * docs/gst/tmpl/gstelementfactory.sgml:
15910         * docs/gst/tmpl/gstenumtypes.sgml:
15911         * docs/gst/tmpl/gsterror.sgml:
15912         * docs/gst/tmpl/gstevent.sgml:
15913         * docs/gst/tmpl/gstfakesink.sgml:
15914         * docs/gst/tmpl/gstfakesrc.sgml:
15915         * docs/gst/tmpl/gstfilesink.sgml:
15916         * docs/gst/tmpl/gstfilesrc.sgml:
15917         * docs/gst/tmpl/gstfilter.sgml:
15918         * docs/gst/tmpl/gstformat.sgml:
15919         * docs/gst/tmpl/gstghostpad.sgml:
15920         * docs/gst/tmpl/gstimplementsinterface.sgml:
15921         * docs/gst/tmpl/gstindex.sgml:
15922         * docs/gst/tmpl/gstindexfactory.sgml:
15923         * docs/gst/tmpl/gstinfo.sgml:
15924         * docs/gst/tmpl/gstiterator.sgml:
15925         * docs/gst/tmpl/gstmacros.sgml:
15926         * docs/gst/tmpl/gstmemchunk.sgml:
15927         * docs/gst/tmpl/gstminiobject.sgml:
15928         * docs/gst/tmpl/gstobject.sgml:
15929         * docs/gst/tmpl/gstpad.sgml:
15930         * docs/gst/tmpl/gstpadtemplate.sgml:
15931         * docs/gst/tmpl/gstparse.sgml:
15932         * docs/gst/tmpl/gstpipeline.sgml:
15933         * docs/gst/tmpl/gstplugin.sgml:
15934         * docs/gst/tmpl/gstpluginfeature.sgml:
15935         * docs/gst/tmpl/gstquery.sgml:
15936         * docs/gst/tmpl/gstqueue.sgml:
15937         * docs/gst/tmpl/gstregistry.sgml:
15938         * docs/gst/tmpl/gstregistrypool.sgml:
15939         * docs/gst/tmpl/gstscheduler.sgml:
15940         * docs/gst/tmpl/gstschedulerfactory.sgml:
15941         * docs/gst/tmpl/gststructure.sgml:
15942         * docs/gst/tmpl/gstsystemclock.sgml:
15943         * docs/gst/tmpl/gsttaglist.sgml:
15944         * docs/gst/tmpl/gsttagsetter.sgml:
15945         * docs/gst/tmpl/gsttrace.sgml:
15946         * docs/gst/tmpl/gsttrashstack.sgml:
15947         * docs/gst/tmpl/gsttypefind.sgml:
15948         * docs/gst/tmpl/gsttypefindfactory.sgml:
15949         * docs/gst/tmpl/gsttypes.sgml:
15950         * docs/gst/tmpl/gsturihandler.sgml:
15951         * docs/gst/tmpl/gsturitype.sgml:
15952         * docs/gst/tmpl/gstutils.sgml:
15953         * docs/gst/tmpl/gstvalue.sgml:
15954         * docs/gst/tmpl/gstversion.sgml:
15955         * docs/gst/tmpl/gstxml.sgml:
15956         * docs/libs/tmpl/gstcontrol.sgml:
15957         * docs/libs/tmpl/gstdataprotocol.sgml:
15958         * docs/libs/tmpl/gstdparam.sgml:
15959         * docs/libs/tmpl/gstdplinint.sgml:
15960         * docs/libs/tmpl/gstdpman.sgml:
15961         * docs/libs/tmpl/gstdpsmooth.sgml:
15962         * docs/libs/tmpl/gstgetbits.sgml:
15963         * docs/libs/tmpl/gstunitconvert.sgml:
15964         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
15965         (gst_push_src_base_init), (gst_push_src_class_init),
15966         (gst_push_src_init), (gst_push_src_create):
15967         * gst/base/gstpushsrc.h:
15968         * gst/elements/gstelements.c:
15969         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
15970         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
15971         (gst_fake_sink_init), (gst_fake_sink_set_property),
15972         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
15973         (gst_fake_sink_event), (gst_fake_sink_preroll),
15974         (gst_fake_sink_render), (gst_fake_sink_change_state):
15975         * gst/elements/gstfakesink.h:
15976         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15977         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
15978         (gst_fake_src_base_init), (gst_fake_src_class_init),
15979         (gst_fake_src_init), (gst_fake_src_event_handler),
15980         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
15981         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
15982         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
15983         (gst_fake_src_create_buffer), (gst_fake_src_create),
15984         (gst_fake_src_start), (gst_fake_src_stop):
15985         * gst/elements/gstfakesrc.h:
15986         * gst/elements/gstfilesink.c: (_do_init),
15987         (gst_file_sink_base_init), (gst_file_sink_class_init),
15988         (gst_file_sink_init), (gst_file_sink_dispose),
15989         (gst_file_sink_set_location), (gst_file_sink_set_property),
15990         (gst_file_sink_get_property), (gst_file_sink_open_file),
15991         (gst_file_sink_close_file), (gst_file_sink_query),
15992         (gst_file_sink_event), (gst_file_sink_render),
15993         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
15994         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
15995         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
15996         * gst/elements/gstfilesink.h:
15997         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
15998         (gst_file_src_class_init), (gst_file_src_init),
15999         (gst_file_src_finalize), (gst_file_src_set_location),
16000         (gst_file_src_set_property), (gst_file_src_get_property),
16001         (gst_file_src_map_region), (gst_file_src_map_small_region),
16002         (gst_file_src_create_mmap), (gst_file_src_create_read),
16003         (gst_file_src_create), (gst_file_src_is_seekable),
16004         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
16005         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
16006         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
16007         (gst_file_src_uri_handler_init):
16008         * gst/elements/gstfilesrc.h:
16009           more autistic cleanliness in functions/names/defines
16010
16011 2005-07-13  Andy Wingo  <wingo@pobox.com>
16012
16013         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
16014         source couldn't negotiate.
16015
16016         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
16017         connections again.
16018
16019         * gst/gstutils.h:
16020         * gst/gstutils.c (gst_element_link_pads_filtered): New old
16021         function. I am channeling Hades. Put your boots on suckers!!!
16022
16023 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16024
16025         * testsuite/caps/Makefile.am:
16026         * testsuite/caps/value_compare.c:
16027         * testsuite/caps/value_intersect.c:
16028         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
16029           move two testsuite apps over to the check dir
16030
16031 2005-07-12  Wim Taymans  <wim@fluendo.com>
16032
16033         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
16034         Added more debug info in the negotiate process.
16035
16036         * gst/gstmessage.h:
16037         Prepare for segment playback.
16038
16039         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
16040         Better debugging.
16041
16042         * gst/gstutils.c:
16043         Some more docs.
16044
16045         * tools/gst-launch.c: (main):
16046         NULL pipeline on errors.
16047
16048 2005-07-12  Andy Wingo  <wingo@pobox.com>
16049
16050         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
16051         not it comes from a malloc region. Make sure our copy gets freed.
16052
16053 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16054
16055         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
16056         * check/gst/gstmessage.c: (GST_START_TEST):
16057         * check/gst/gststructure.c: (GST_START_TEST),
16058         (gst_structure_suite), (main):
16059           more testing
16060         * gst/gstelement.c: (gst_element_message_full):
16061           clean up GError and debug string now that they get copied
16062         * gst/gstmessage.c: (gst_message_new_error),
16063         (gst_message_new_warning), (gst_message_parse_error),
16064         (gst_message_parse_warning):
16065           use GST_TYPE_G_ERROR for structure_new, and take copies of
16066           arguments, so that we don't mess up refcounting
16067
16068 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16069
16070         * check/Makefile.am:
16071           add per-test valgrind targets
16072         * check/gst-libs/gdp.c: (GST_START_TEST),
16073         (gst_data_protocol_suite), (main):
16074           clean up
16075
16076 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16077
16078         * check/Makefile.am:
16079           instate more valgrindable tests
16080         * check/elements/gstfakesrc.c: (chain_func), (event_func),
16081         (GST_START_TEST), (fakesrc_suite):
16082         * check/gst/gstpad.c: (GST_START_TEST):
16083         * check/gst/gststructure.c: (GST_START_TEST):
16084           fix test leaks
16085         * docs/gst/tmpl/gstminiobject.sgml:
16086         * gst/gstpad.c: (gst_pad_finalize):
16087           fix the static mutex leak
16088
16089 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16090
16091         * check/Makefile.am:
16092           add two more tests for valgrinding
16093         * check/gst/gstvalue.c: (GST_START_TEST):
16094           test refcount of deserialized buffer, found a leak
16095         * docs/gst/gstreamer-docs.sgml:
16096         * docs/gst/gstreamer-sections.txt:
16097         * docs/gst/gstreamer.types:
16098         * docs/gst/tmpl/gstminiobject.sgml:
16099           add miniobject to docs
16100         * gst/gstminiobject.c:
16101           add some docs
16102         * gst/gstvalue.c: (gst_value_deserialize_buffer),
16103         (gst_string_unwrap):
16104           fix a hard-to-find invalid write for one of the tests
16105           fix a leak for deserialized buffers
16106
16107 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16108
16109         * docs/pwg/advanced-events.xml:
16110         * docs/pwg/advanced-request.xml:
16111         * docs/pwg/advanced-scheduling.xml:
16112         * docs/pwg/appendix-porting.xml:
16113         * docs/pwg/building-boiler.xml:
16114         * docs/pwg/intro-preface.xml:
16115         * docs/pwg/other-ntoone.xml:
16116           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
16117           of example code and explanation for pad activation, loop() and
16118           getrange() functions and a bit more. Remove old comments pointing
16119           to loop-functions.
16120         * examples/pwg/Makefile.am:
16121           Add loop/getrange examples.
16122
16123 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16124
16125         * configure.ac:
16126           check for valgrind binary + some fixes
16127         * check/gst.supp:
16128           valgrind suppressions for the tests
16129         * check/Makefile.am:
16130           add a valgrind: target that valgrinds the unit tests
16131         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
16132         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
16133         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16134         * check/gst/gstghostpad.c:
16135           added some cleanup
16136         * check/gst/gstdata.c:
16137           removed
16138         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
16139         (thread_unref), (gst_mini_object_suite), (main):
16140           added
16141         * gst/gst.c: (gst_deinit):
16142         * gst/gst.h:
16143           add a method to clean up.
16144         * gst/gstsystemclock.c: (gst_system_clock_dispose),
16145         (gst_system_clock_obtain):
16146           allow for disposing the system clock.
16147         * tools/gst-launch.c: (main):
16148           deinit
16149
16150 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16151
16152         * docs/gst/tmpl/gstbasesrc.sgml:
16153         * docs/gst/tmpl/gstfakesrc.sgml:
16154         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16155         (gst_base_src_init), (gst_base_src_set_property),
16156         (gst_base_src_get_property), (gst_base_src_get_range),
16157         (gst_base_src_start):
16158         * gst/base/gstbasesrc.h:
16159           add num-buffers property
16160         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16161         (gst_fakesrc_init), (gst_fakesrc_set_property),
16162         (gst_fakesrc_get_property), (gst_fakesrc_create),
16163         (gst_fakesrc_start):
16164           remove num-buffers property
16165
16166 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16167
16168         * docs/gst/gstreamer-sections.txt:
16169         * docs/gst/tmpl/gstbasesink.sgml:
16170         * docs/gst/tmpl/gstbasesrc.sgml:
16171         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
16172         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
16173         (gst_base_sink_finalize), (gst_base_sink_set_clock),
16174         (gst_base_sink_set_property), (gst_base_sink_get_property),
16175         (gst_base_sink_handle_object), (gst_base_sink_event),
16176         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
16177         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
16178         (gst_base_sink_loop), (gst_base_sink_deactivate),
16179         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
16180         (gst_base_sink_change_state):
16181         * gst/base/gstbasesink.h:
16182         * gst/base/gstbasesrc.h:
16183         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
16184         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16185         (gst_filesink_init):
16186           more macro splitting
16187
16188 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16189
16190         * gst/gstelement.c: (gst_element_get_bus):
16191           add debug
16192         * tools/gst-launch.c: (check_intr), (event_loop):
16193           fix bus leaks
16194
16195 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16196
16197         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
16198           fix a caps leak
16199
16200 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16201
16202         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16203         (gst_base_src_finalize):
16204           add finalize method and clean up properly
16205         * gst/gstpipeline.c: (gst_pipeline_dispose):
16206           add debug
16207
16208 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16209
16210         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
16211         (gst_bin_suite):
16212           add more things to check
16213         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
16214         * gst/gstelement.c:
16215           more debug
16216
16217 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16218
16219         * check/elements/gstfakesrc.c: (chain_func), (event_func),
16220         (GST_START_TEST), (fakesrc_suite):
16221         * check/gst-libs/gdp.c: (GST_START_TEST):
16222         * check/gst/gst.c: (GST_START_TEST):
16223         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
16224         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16225         * check/gst/gstbus.c: (GST_START_TEST):
16226         * check/gst/gstcaps.c: (GST_START_TEST):
16227         * check/gst/gstdata.c: (GST_START_TEST):
16228         * check/gst/gstelement.c: (GST_START_TEST):
16229         * check/gst/gstghostpad.c: (GST_START_TEST):
16230         * check/gst/gstiterator.c: (GST_START_TEST):
16231         * check/gst/gstmessage.c: (GST_START_TEST):
16232         * check/gst/gstobject.c: (GST_START_TEST):
16233         * check/gst/gstpad.c: (GST_START_TEST):
16234         * check/gst/gststructure.c: (GST_START_TEST):
16235         * check/gst/gstsystemclock.c: (GST_START_TEST),
16236         (gst_systemclock_suite):
16237         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
16238         * check/gst/gstvalue.c: (GST_START_TEST):
16239         * check/pipelines/cleanup.c: (GST_START_TEST):
16240         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
16241         * check/states/sinks.c: (GST_START_TEST):
16242         * check/gstcheck.c: (gst_check_init):
16243         * check/gstcheck.h:
16244           add debugging category
16245           use GST_START_TEST now, so we add a debug line
16246
16247 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16248
16249         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
16250           add test for state change message on a bin
16251         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
16252           add another test
16253         * gst/gstbin.c: (gst_bin_init):
16254         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
16255         * gst/gstelement.c: (gst_element_post_message),
16256         (gst_element_set_state):
16257         * gst/gstelementfactory.c: (gst_element_factory_create):
16258         * gst/gstmessage.c: (gst_message_new):
16259         * gst/gstscheduler.c:
16260           various debugging additions and cleanups
16261
16262 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16263
16264         * check/Makefile.am:
16265         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
16266         (main):
16267           adding tests for elements
16268         * gst/gstelement.c: (gst_element_dispose):
16269
16270 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16271
16272         * gst/registries/gstlibxmlregistry.c: (load_feature):
16273           plug more leaks.  A simple gst_init() now is leakfree, yay.
16274
16275 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16276
16277         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
16278         (gst_xml_registry_load):
16279           plug another memleak
16280
16281 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16282
16283         * configure.ac:
16284           use GST_SET_ERROR_CFLAGS
16285         * docs/faq/cvs.xml:
16286           change to ERROR_CFLAGS
16287
16288 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
16289
16290         * configure.ac:
16291           make GST_ERROR_CFLAGS overridable and re-enable Werror
16292         * docs/faq/cvs.xml:
16293           add a note about error CFLAGS
16294         * docs/gst/tmpl/gstfakesrc.sgml:
16295         * gst/elements/gstfakesrc.c:
16296           comment out some unused code
16297         * gst/gst.c: (split_and_iterate):
16298         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
16299         (load_feature):
16300           plug some memleaks
16301
16302 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16303
16304         * common/Makefile.am:
16305         * common/gtk-doc.mak:
16306         * docs/gst/Makefile.am:
16307           factor out gtk-doc.mak
16308
16309 2005-07-07  Wim Taymans  <wim@fluendo.com>
16310
16311         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
16312         (gst_thread_scheduler_dispose):
16313         Unlock the STREAM_LOCK completely.
16314
16315 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
16316
16317         * check/Makefile.am:
16318         * check/elements/.cvsignore:
16319         * check/elements/gstfakesrc.c: (chain_func), (event_func),
16320         (START_TEST), (fakesrc_suite), (main):
16321         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16322         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
16323         (gst_fakesrc_create), (gst_fakesrc_start):
16324         * gst/elements/gstfakesrc.h:
16325           adding a first element test
16326
16327 2005-07-07  Andy Wingo  <wingo@pobox.com>
16328
16329         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
16330         debug message.
16331
16332 2005-07-07  Wim Taymans  <wim@fluendo.com>
16333
16334         * gst/gstquery.c:
16335         * gst/gstquery.h:
16336         Remove old types
16337
16338 2005-07-07  Wim Taymans  <wim@fluendo.com>
16339
16340         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
16341         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
16342         Allow subclasses to implement their own negotiation.
16343
16344 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
16345
16346         * docs/design/part-gstbin.txt:
16347         * docs/design/part-gstpipeline.txt:
16348           Update design notes to reflect the movement of
16349           responsibility for bus handling from GstPipeline to
16350           GstBin
16351
16352 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
16353
16354         * configure.ac:
16355           Remove unnecessary queue2/3/4 examples.
16356
16357 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
16358
16359         * examples/Makefile.am:
16360         * examples/helloworld/helloworld.c: (event_loop), (main):
16361         * examples/queue/queue.c: (event_loop), (main):
16362         * examples/queue2/queue2.c: (main):
16363           Update a couple of the examples to work again.
16364
16365         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16366         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
16367          Spelling corrections and extra debug.
16368         
16369         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
16370         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
16371         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
16372         * gst/gstbin.h:
16373         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
16374         (gst_pipeline_change_state):
16375         * gst/gstpipeline.h:
16376           Move the bus handler for children to the GstBin, and create a
16377           separate bus for receiving messages from children to the one the
16378           bus sends 'upwards' on.
16379
16380 2005-07-06  Wim Taymans  <wim@fluendo.com>
16381
16382         * gst/base/README:
16383         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16384         (gst_base_sink_handle_object), (gst_base_sink_loop),
16385         (gst_base_sink_change_state):
16386         * gst/base/gstbasesink.h:
16387         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
16388         (gst_base_src_init), (gst_base_src_setcaps),
16389         (gst_base_src_getcaps), (gst_base_src_loop),
16390         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
16391         (gst_base_src_start), (gst_base_src_change_state):
16392         * gst/base/gstbasesrc.h:
16393         Make basesrc negotiate.
16394         Handle the case where preroll fails in basesink.
16395         Update README.
16396
16397 2005-07-06  Wim Taymans  <wim@fluendo.com>
16398
16399         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
16400         Implement the fixate function.
16401         Clean up acceptcaps.
16402
16403 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16404
16405         * docs/pwg/building-filterfactory.xml:
16406         * docs/pwg/pwg.xml:
16407           Remove never-written filter-factory chapter; I'll add the various
16408           base classes to part 4 ("other element types") later on.
16409
16410 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16411
16412         * docs/pwg/advanced-negotiation.xml:
16413         * docs/pwg/building-boiler.xml:
16414         * docs/pwg/building-pads.xml:
16415         * docs/pwg/pwg.xml:
16416         * examples/pwg/Makefile.am:
16417           Add a chapter on caps negotiation, simplify the original code
16418           samples a bit w.r.t. caps negotiation, add link to the advanced
16419           section. Add a bunch of examples showing different use cases of
16420           different types of caps negotiation. Upstream renegotiation isn't
16421           fully documented yet since nobody knows how that works.
16422
16423 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16424
16425         * check/gst/gstpad.c:
16426         * check/gstcheck.c:
16427         * gst/gstpad.c: (gst_pad_get_internal_links_default):
16428           if pad has no parent, return NULL as list of internal links
16429
16430 2005-07-05  Andy Wingo  <wingo@pobox.com>
16431
16432         * gst/elements/gstfilesrc.c:
16433         * gst/elements/gstfakesrc.c: 
16434         * gst/base/gstpushsrc.c:
16435         * gst/base/gstbasesrc.h: 
16436         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
16437         
16438 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
16439
16440         * Makefile.am:
16441           better report generation target (lcov needs a patch)
16442
16443 2005-07-05  Andy Wingo  <wingo@pobox.com>
16444
16445         * gst/elements, testsuite: Null if we got it...
16446
16447 2005-07-05  Wim Taymans  <wim@fluendo.com>
16448
16449         * configure.ac:
16450         * libs/gst/dataprotocol/Makefile.am:
16451         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
16452         * libs/gst/dataprotocol/dataprotocol.h:
16453         * pkgconfig/Makefile.am:
16454         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
16455         * pkgconfig/gstreamer-dataprotocol.pc.in:
16456         Ported dataprotol to 0.9. 
16457         Added pkgconfig files.
16458
16459 2005-07-05  Andy Wingo  <wingo@pobox.com>
16460
16461         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
16462         Default to returning TRUE for the case when tranform_caps returns
16463         a fixed caps, like for identity or volume.
16464
16465         * check/gst/gstbus.c (pound_bus_with_messages): 
16466         * check/gst/gstmessage.c (START_TEST): 
16467         * check/pipelines/simple_launch_lines.c (got_handoff): Application
16468         message API change.
16469
16470         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
16471         logic weaks here: always run transform_caps, trying passthrough
16472         operation only if the original caps intersects with the transform.
16473
16474         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
16475         source and sink caps.
16476
16477         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
16478         Intersect the peer caps with the pad template before going into
16479         transform_caps.
16480         (gst_base_transform_transform_caps): More debugging.
16481
16482         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
16483         src argument.
16484
16485 2005-07-04  Edward Hervey  <edward@fluendo.com>
16486
16487         * gst/gstutils.c:
16488         * gst/gstutils.h:
16489         (gst_pad_add_*_probe): now returns the signal id for better wrapping
16490         in bindings.
16491
16492 2005-07-04  Andy Wingo  <wingo@pobox.com>
16493
16494         * check/gst/gstpad.c: Only set explicit caps on pads.
16495
16496 2005-07-01  Andy Wingo  <wingo@pobox.com>
16497
16498         * tests/network-clock.scm: Commentary update.
16499
16500         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
16501         Didn't really make sense, not implementable with basetransform,
16502         etc.
16503         (gst_identity_transform): Unref inbuf via make_writable. Feeble
16504         attempt at implementing the sync property, needs an unlock method.
16505
16506         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
16507         New func, by default returns the same caps (the identity
16508         transformation).
16509         (gst_base_transform_getcaps): Uses transform_caps to return
16510         something sensible.
16511         (gst_base_transform_setcaps): Complicated logic to get caps on
16512         both pads, even if they are different, and to call set_caps once
16513         for every time both pads get their caps set.
16514         (gst_base_transform_handle_buffer): Give the ref to the transform
16515         function. Allows in-place modification of the buffer.
16516
16517         * gst/base/gstbasetransform.h (transform_caps): New class method.
16518         Given caps on one side, what can I do on the other.
16519         (set_caps): Take two caps, one for each side of the element.
16520
16521         * gst/gstpad.h:
16522         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
16523         caps in place. This is safe because we can check the mutability of
16524         the caps, and a good idea because fixate functions are just called
16525         as a matter of last resort. (Not actually implemented.)
16526         (gst_pad_set_caps): If the caps we're setting is actually the same
16527         as the existing pad caps, just update the pointer without calling
16528         setcaps. Assert that caps is either NULL or fixed, as per the
16529         docs.
16530
16531         * gst/gstghostpad.c: Update for fixate changes.
16532
16533 2005-07-02  Andy Wingo  <wingo@pobox.com>
16534
16535         * gst/gstcaps.c:
16536         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
16537         two refcounts makes it immutable, which is enough. Doc more.
16538
16539 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
16540
16541         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
16542           Put the mini_object into GValue as a mini_object,
16543           not a gpointer, since that's how we declared
16544           the signal.
16545
16546 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16547
16548         * examples/pwg/Makefile.am:
16549           Fix buildbot again.
16550
16551 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16552
16553         * docs/pwg/building-testapp.xml:
16554           Add extra check.
16555         * examples/pwg/Makefile.am:
16556           Fix buildbot.
16557
16558 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16559
16560         * configure.ac:
16561         * examples/Makefile.am:
16562         * examples/pwg/Makefile.am:
16563         * examples/pwg/extract.pl:
16564           Enable building the PWG examples.
16565         * docs/pwg/advanced-interfaces.xml:
16566           Add URI interface stub.
16567         * docs/pwg/advanced-types.xml:
16568         * docs/pwg/other-autoplugger.xml:
16569         * docs/pwg/appendix-porting.xml:
16570         * docs/pwg/pwg.xml:
16571           Add porting guide (mostly stubs), remove autoplugging (see ADM).
16572         * docs/pwg/building-boiler.xml:
16573         * docs/pwg/building-chainfn.xml:
16574         * docs/pwg/building-pads.xml:
16575         * docs/pwg/building-props.xml:
16576         * docs/pwg/building-state.xml:
16577         * docs/pwg/building-testapp.xml:
16578           Update the building-*.xml parts for 0.9 changes. All examples
16579           code blocks compile in examples/pwg/*.
16580
16581 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16582
16583         * docs/manual/advanced-autoplugging.xml:
16584         * docs/manual/appendix-checklist.xml:
16585         * docs/manual/appendix-integration.xml:
16586         * docs/manual/highlevel-components.xml:
16587           Fix playbin/decodebin examples, update docs a bit, mention bus
16588           instead of signals in various places, mention kmplayer and
16589           kaffeine since they have a working GStreamer backend in the KDE
16590           section.
16591
16592 2005-06-30  Wim Taymans  <wim@fluendo.com>
16593
16594         * CHANGES-0.9:
16595         * docs/design/draft-ghostpads.txt:
16596         * docs/design/draft-push-pull.txt:
16597         * docs/design/draft-query.txt:
16598         * docs/design/part-TODO.txt:
16599         * docs/design/part-query.txt:
16600         Added CHANGES-0.9 doc, updated status of other docs.
16601         
16602         * gst/gstquery.h:
16603         Remove "hmm" macro
16604
16605 2005-06-30  Wim Taymans  <wim@fluendo.com>
16606
16607         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
16608         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
16609         (gst_base_sink_change_state):
16610         * gst/base/gstbasesink.h:
16611         Some tweaks, only EOS and a buffer complete a preroll.
16612
16613 2005-06-30  Andy Wingo  <wingo@pobox.com>
16614
16615         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
16616         activate_push down to the internal pad as well.
16617
16618 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
16619
16620         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16621
16622         * gst/gsttaginterface.c:
16623           Some documentation fixes (#307394 and #307397).
16624
16625 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
16626
16627         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16628
16629         * gst/gstvalue.c: (gst_value_intersect_list):
16630           Fix memleak (#309125).
16631
16632 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16633
16634         * docs/manual/advanced-dataaccess.xml:
16635           Fix fakesrc example to compile; doesn't work, bug somewhere...?
16636         * docs/manual/basics-pads.xml:
16637           Add reference for filtered caps to above chapter.
16638
16639 2005-06-30  Wim Taymans  <wim@fluendo.com>
16640
16641         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
16642         (gst_bin_change_state):
16643         Probes are gone.
16644         Lame attempt at making the state change function a bit
16645         more readable.
16646
16647 2005-06-30  Wim Taymans  <wim@fluendo.com>
16648
16649         * docs/design/part-clocks.txt:
16650         * docs/design/part-element-sink.txt:
16651         * docs/design/part-events.txt:
16652         * docs/design/part-preroll.txt:
16653         * docs/design/part-states.txt:
16654         Some more tweeks and additions to the docs.
16655
16656 2005-06-30  Wim Taymans  <wim@fluendo.com>
16657
16658         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
16659         (default_have_data), (gst_pad_class_init), (gst_pad_init),
16660         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
16661         (gst_pad_check_pull_range), (gst_pad_get_range),
16662         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
16663         * gst/gstpad.h:
16664         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
16665         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
16666         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
16667         (gst_pad_remove_buffer_probe):
16668         Removed atomic operations, use existing LOCK.
16669         Move exception handling out of main code path.
16670
16671 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16672
16673         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
16674         (silly_return_true_function), (gst_pad_class_init),
16675         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
16676         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
16677         (gst_pad_send_event):
16678           Fix accumulator, add default value by using _emitv() instead
16679           of _emit() for signal emission.
16680
16681 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16682
16683         * docs/manual/advanced-dataaccess.xml:
16684         * examples/manual/Makefile.am:
16685           Add probe example.
16686         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
16687           Make work (??).
16688
16689 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
16690
16691         * gst/elements/gstfilesink.c: (gst_filesink_render):
16692           Simplify code so that we don't have to handle short
16693           writes and return GST_FLOW_ERROR if an error occured.
16694
16695 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16696
16697         * docs/gst/gstreamer-docs.sgml:
16698           Remove probes more.
16699
16700 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16701
16702         * docs/gst/gstreamer-sections.txt:
16703         * docs/gst/tmpl/gstpad.sgml:
16704         * docs/gst/tmpl/gstprobe.sgml:
16705         * gst/Makefile.am:
16706         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
16707         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
16708         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
16709         (gst_pad_push_event), (gst_pad_send_event):
16710         * gst/gstpad.h:
16711         * gst/gstutils.c: (gst_pad_add_data_probe),
16712         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
16713         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
16714         (gst_pad_remove_buffer_probe):
16715         * gst/gstutils.h:
16716           Remove old probes, add new g-signal-based probes and some utility
16717           functions.
16718
16719 2005-06-29  Edward Hervey  <edward@fluendo.com>
16720
16721         * gst/gstelementfactory.c:
16722         * gst/gstutils.h:
16723         * gst/gstutils.c:
16724         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
16725         the definition to the header file.
16726
16727 2005-06-29  Andy Wingo  <wingo@pobox.com>
16728
16729         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
16730         plugins from the source directory.
16731
16732 2005-06-29  Wim Taymans  <wim@fluendo.com>
16733
16734         * docs/gst/tmpl/gstbuffer.sgml:
16735         * docs/gst/tmpl/gstclock.sgml:
16736         Some fixings for blantently wrong text.
16737
16738 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
16739
16740         * check/Makefile.am:
16741         * gst/gst.c: (add_path_func), (init_pre):
16742         * gst/gstregistry.c: (gst_registry_add_path):
16743           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
16744           only scan the GST_PLUGIN_PATH locations, and not add
16745           system locations
16746
16747 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
16748
16749         * docs/gst/gstreamer-sections.txt:
16750         * docs/gst/tmpl/gstbasesrc.sgml:
16751         * gst/gstelement.c:
16752         * gst/gstelement.h:
16753         * gst/gstevent.c:
16754         * gst/gstutils.c:
16755           doc fixes
16756
16757 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16758
16759         * docs/manual/advanced-autoplugging.xml:
16760           Fix autoplugging example.
16761
16762 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16763
16764         * docs/manual/advanced-autoplugging.xml:
16765         * docs/manual/mime-world.fig:
16766           Try to get autoplugging working, fix type detection. Fix text
16767           in hello-world image.
16768
16769 2005-06-29  Wim Taymans  <wim@fluendo.com>
16770
16771         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16772         (gst_base_sink_change_state):
16773         Small debug line.
16774
16775         * gst/gstclock.h:
16776         map SIGNAL and BROADCAST to the right function.
16777
16778         * gst/gstobject.h:
16779         Remove redundant braces.
16780
16781         * gst/gstpad.c: (gst_pad_set_caps):
16782         Don't call setcaps function when reseting caps to NULL.
16783
16784         * gst/gstsystemclock.c: (gst_system_clock_dispose),
16785         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
16786         (gst_system_clock_id_unschedule):
16787         Use BROADCAST as this is what we do.
16788
16789 2005-06-29  Wim Taymans  <wim@fluendo.com>
16790
16791         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16792         We are actually prerolling before commiting the state
16793         change. 
16794
16795 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16796
16797         * docs/manual/advanced-clocks.xml:
16798         * docs/manual/advanced-interfaces.xml:
16799         * docs/manual/advanced-metadata.xml:
16800         * docs/manual/advanced-position.xml:
16801         * docs/manual/advanced-schedulers.xml:
16802         * docs/manual/advanced-threads.xml:
16803         * docs/manual/appendix-porting.xml:
16804         * docs/manual/basics-bins.xml:
16805         * docs/manual/basics-bus.xml:
16806         * docs/manual/basics-elements.xml:
16807         * docs/manual/basics-helloworld.xml:
16808         * docs/manual/basics-pads.xml:
16809         * docs/manual/highlevel-components.xml:
16810         * docs/manual/manual.xml:
16811         * docs/manual/thread.fig:
16812           Update (until threads/scheduling) Application Development Manual;
16813           remove GstThread, add GstBus, add simple porting checklist, add
16814           documentation for tag writing, clocks, make all examples until this
16815           part compile and run.
16816         * examples/manual/Makefile.am:
16817           Update from changes to Application Development Manual; add bus
16818           example, remove thread example.
16819
16820 2005-06-28  Wim Taymans  <wim@fluendo.com>
16821
16822         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
16823         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
16824         (gst_bus_source_dispatch):
16825         Add debugging messages.
16826         Make internal methods static.
16827         Handle the case where the bus is flushed in the handler.
16828         
16829         * gst/gstelement.c: (gst_element_get_bus):
16830         Fix refcount in _get_bus();
16831
16832         * gst/gstpipeline.c: (gst_pipeline_change_state),
16833         (gst_pipeline_get_clock_func):
16834         Clock refcounting fixes.
16835         Handle the case where preroll timed out more gracefully.
16836         
16837         * gst/gstsystemclock.c: (gst_system_clock_dispose):
16838         Clean up the internal thread in dispose. This is needed
16839         for subclasses that actually get disposed.
16840         
16841         * gst/schedulers/threadscheduler.c:
16842         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
16843         (gst_thread_scheduler_dispose):
16844         Free thread pool in dispose.
16845
16846 2005-06-28  Andy Wingo  <wingo@pobox.com>
16847
16848         * tests/network-clock-utils.scm (debug, print-event): New utils.
16849
16850         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
16851         (*packet-loss*): Unified loss probability.
16852         (network-time): Report out-of-band events.
16853
16854         * tests/plot-data: Add support for out-of-band events. Hack it
16855         into this script instead of passing it down the pipe; should fix
16856         this later.
16857
16858 2005-06-28  Wim Taymans  <wim@fluendo.com>
16859
16860         * docs/gst/gstreamer.types:
16861         * docs/gst/tmpl/gstbasesrc.sgml:
16862         * docs/gst/tmpl/gstpad.sgml:
16863         Docs fixes.
16864
16865 2005-06-28  Wim Taymans  <wim@fluendo.com>
16866
16867         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
16868         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
16869         (gst_proxy_pad_do_fixatecaps):
16870         Correctly proxy the check_pull_range function.
16871
16872 2005-06-28  Andy Wingo  <wingo@pobox.com>
16873
16874         * tests/network-clock.scm: Removed need for slib.
16875         
16876 2005-06-28  Wim Taymans  <wim@fluendo.com>
16877
16878         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
16879         (gst_basesink_preroll_queue_flush):
16880         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
16881         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
16882         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
16883         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
16884         (gst_proxy_pad_set_property):
16885         * gst/gstpad.c:
16886         * gst/gstpad.h:
16887         * gst/gstqueue.c: (gst_queue_init):
16888         The deprecated pad loop function is removed now.
16889
16890 2005-06-28  Andy Wingo  <wingo@pobox.com>
16891
16892         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
16893         New parameters, simulate network packet loss.
16894
16895         * tests/network-clock-utils.scm: Initialize the RNG.
16896
16897 2005-06-28  Wim Taymans  <wim@fluendo.com>
16898
16899         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
16900         (gst_basesink_event), (gst_basesink_deactivate):
16901         Flushing the preroll queue always needs to unlock the waiters.
16902
16903 2005-06-28  Edward Hervey  <edward@fluendo.com>
16904
16905         * gst/gstpipeline.c: (gst_pipeline_send_event): 
16906         Wheen a seek was successful on a pipeline, set the stream_time to the
16907         seek offset in order to have a synchronized stream_time.
16908
16909 2005-06-28  Wim Taymans  <wim@fluendo.com>
16910
16911         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
16912         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
16913         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
16914         (gst_proxy_pad_do_fixatecaps):
16915         Call wrapper function instead of just calling the function
16916         pointers. This takes care of any locking and whatmore.
16917
16918 2005-06-28  Wim Taymans  <wim@fluendo.com>
16919
16920         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
16921         (gst_pad_pull_range):
16922         * gst/gstpad.h:
16923         CONNECTED -> LINKED.
16924
16925 2005-06-28  Andy Wingo  <wingo@pobox.com>
16926
16927         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
16928         source-munging commit!!!
16929
16930         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
16931         (gst_object_sink): Take gpointer arguments, not GstObject --
16932         avoids casts. Like GLib.
16933
16934         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
16935         activate.
16936
16937 2005-06-27  Andy Wingo  <wingo@pobox.com>
16938
16939         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
16940         remaining buffer.
16941
16942         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
16943         returns a sorted copy of the trace list.
16944         (gst_alloc_trace_print_live): New API, only prints traces with
16945         live objects. Sort the list.
16946         (gst_alloc_trace_print_all): Sort the list.
16947         (gst_alloc_trace_print): Align columns.
16948
16949         * gst/elements/gstttypefindelement.c:
16950         * gst/elements/gsttee.c:
16951         * gst/base/gstbasesrc.c:
16952         * gst/base/gstbasesink.c:
16953         * gst/base/gstbasetransform.c:
16954         * gst/gstqueue.c: Adapt for pad activation changes.
16955
16956         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
16957         sched.
16958         (gst_pipeline_dispose): Drop ref on sched.
16959
16960         * gst/gstpad.c (gst_pad_init): Set the default activate func.
16961         (gst_pad_activate_default): Push mode by default.
16962         (pre_activate_switch, post_activate_switch): New stubs, things to
16963         do before and after switching activation modes on pads.
16964         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
16965         the pad's activate function to choose which mode to activate.
16966         Shortcut on deactivation and call the right function directly.
16967         (gst_pad_activate_pull): New API, (de)activates a pad in pull
16968         mode.
16969         (gst_pad_activate_push): New API, same for push mode.
16970         (gst_pad_set_activate_function) 
16971         (gst_pad_set_activatepull_function) 
16972         (gst_pad_set_activatepush_function): Setters for new API.
16973
16974         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
16975         Trace all miniobjects.
16976         (gst_mini_object_make_writable): Unref the arg if we copy, like
16977         gst_caps_make_writable.
16978
16979         * gst/gstmessage.c (_gst_message_initialize): No trace init.
16980
16981         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
16982         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
16983         Adapt for new pad API.
16984
16985         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
16986
16987         * gst/gstelement.h:
16988         * gst/gstelement.c (gst_element_iterate_src_pads) 
16989         (gst_element_iterate_sink_pads): New API functions.
16990         
16991         * gst/gstelement.c (iterator_fold_with_resync): New utility,
16992         should fold into gstiterator.c in some form.
16993         (gst_element_pads_activate): Simplified via use of fold and
16994         delegation of decisions to gstpad->activate.
16995
16996         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
16997         help in debugging.
16998
16999         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
17000         class once in init, like gstmessage. Didn't run into this issue
17001         but it seems correct. Don't initialize a trace, gstminiobject does
17002         that.
17003
17004         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
17005         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
17006         to the bus.
17007         (assert_live_count): New util function, uses alloc traces to check
17008         cleanup.
17009
17010         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
17011         To be modified when unlink drops the internal pad.
17012
17013 2005-06-27  Wim Taymans  <wim@fluendo.com>
17014
17015         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
17016         (gst_bin_change_state):
17017         Cleanup the get_state() function a little, make sure it
17018         iterates the same set of elements.
17019         Added stub iterate_state_order().
17020
17021 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
17022
17023         * docs/gst/gstreamer-docs.sgml:
17024         * docs/gst/gstreamer-sections.txt:
17025         * docs/gst/gstreamer.types:
17026         * docs/gst/tmpl/gstbasesink.sgml:
17027         * docs/gst/tmpl/gstbasesrc.sgml:
17028         * docs/gst/tmpl/gstbasetransform.sgml:
17029         * docs/gst/tmpl/gstelement.sgml:
17030         * docs/gst/tmpl/gstiterator.sgml:
17031         * gst/base/gstbasesrc.c:
17032         * gst/base/gstbasesrc.h:
17033         * gst/base/gstbasetransform.h:
17034         * gst/gstelement.c:
17035         * gst/gstiterator.h:
17036           adding basetransform and iterator docs
17037
17038 2005-06-27  Andy Wingo  <wingo@pobox.com>
17039
17040         * docs/design/part-activation.txt: Notes on how activation should
17041         work -- not quite implemented yet.
17042
17043 2005-06-25  Wim Taymans  <wim@fluendo.com>
17044
17045         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
17046         At least get the chain function correct, needs more
17047         fixing.
17048
17049 2005-06-25  Wim Taymans  <wim@fluendo.com>
17050
17051         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
17052         (gst_basesink_handle_object), (gst_basesink_event),
17053         (gst_basesink_do_sync), (gst_basesink_handle_event),
17054         (gst_basesink_change_state):
17055         * gst/gsttask.h:
17056         Right, two problems here: ghostpads don't take locks and
17057         glib _rec_mutex_lock_full() with depth==0 still locks.
17058         Catch illegal locking and g_warn them.
17059
17060 2005-06-25  Wim Taymans  <wim@fluendo.com>
17061
17062         * check/states/sinks.c: (START_TEST), (gst_object_suite):
17063         Have to check for completion now...
17064
17065 2005-06-25  Wim Taymans  <wim@fluendo.com>
17066
17067         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
17068         (gst_basesink_handle_object), (gst_basesink_event),
17069         (gst_basesink_do_sync), (gst_basesink_handle_event),
17070         (gst_basesink_change_state):
17071         * gst/gstpad.h:
17072         Unlock STREAM_LOCK whatever the recursion was.
17073
17074 2005-06-25  Wim Taymans  <wim@fluendo.com>
17075
17076         * gst/base/gstbasesink.c: (gst_basesink_set_property),
17077         (gst_basesink_preroll_queue_empty),
17078         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
17079         (gst_basesink_event), (gst_basesink_do_sync),
17080         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
17081         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
17082         (gst_basesink_change_state):
17083         Reworked the base sink, handle event and buffer serialisation
17084         correctly and removed possible deadlock.
17085         Handle EOS correctly.
17086
17087 2005-06-25  Wim Taymans  <wim@fluendo.com>
17088
17089         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
17090         (gst_pipeline_change_state):
17091         * tools/gst-launch.c: (check_intr), (event_loop), (main):
17092         Allow elements to post EOS in the state change function.
17093         Fix up -launch, make it exit the poll loop when the
17094         pipeline actually changed state.
17095         Fix up warning parsing in -launch.
17096
17097 2005-06-25  Wim Taymans  <wim@fluendo.com>
17098
17099         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
17100         (gst_tee_sink_activate):
17101         Core takes STREAM_LOCK for us now.
17102
17103 2005-06-25  Wim Taymans  <wim@fluendo.com>
17104
17105         * gst/gstelement.c: (gst_element_get_state_func),
17106         (gst_element_set_state):
17107         * gst/gstelement.h:
17108         * gst/gstmessage.c: (gst_message_parse_error),
17109         (gst_message_parse_warning):
17110         Keep track of current target state while performing a state
17111         change so that subclasses can do something interesting.
17112         Fix parsing of warning/error messages when GError is NULL.
17113
17114 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17115
17116         * docs/gst/Makefile.am:
17117         * docs/gst/gstreamer-docs.sgml:
17118         * docs/gst/gstreamer-sections.txt:
17119         * docs/gst/gstreamer.types:
17120         * docs/gst/tmpl/gstbasesink.sgml:
17121         * docs/gst/tmpl/gstbasesrc.sgml:
17122         * docs/gst/tmpl/gstbin.sgml:
17123         * docs/gst/tmpl/gstcompat.sgml:
17124         * docs/gst/tmpl/gstfakesink.sgml:
17125         * docs/gst/tmpl/gstfakesrc.sgml:
17126         * docs/gst/tmpl/gstfilesink.sgml:
17127         * docs/gst/tmpl/gstfilesrc.sgml:
17128         * docs/gst/tmpl/gstindex.sgml:
17129         * docs/manual/appendix-quotes.xml:
17130         * gst/base/gstbasesrc.h:
17131         * gst/elements/gstfakesrc.h:
17132         * gst/gstmessage.h:
17133           start pulling in base classes and elements in our docs
17134
17135 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
17136
17137         * docs/gst/Makefile.am:
17138         * docs/libs/Makefile.am:
17139           fixed make distcheck with gtk-doc 1.3
17140
17141 2005-06-23  Wim Taymans  <wim@fluendo.com>
17142
17143         * gst/gstelement.c: (gst_element_get_state_func),
17144         (gst_element_set_state), (gst_element_change_state):
17145         When the state did not change, also report NO_PREROLL
17146         when it matters.
17147
17148 2005-06-23  Wim Taymans  <wim@fluendo.com>
17149
17150         * gst/gstpad.c: (gst_pad_event_default):
17151         * gst/gstqueue.c: (gst_queue_loop):
17152         No unsafe task pausing please.
17153
17154 2005-06-23  Wim Taymans  <wim@fluendo.com>
17155
17156         * gst/schedulers/threadscheduler.c:
17157         (gst_thread_scheduler_task_start),
17158         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
17159         Ref the task before pushing it on the threadpool. This
17160         makes sure that we have a ref when the threadfunction is
17161         actually called.
17162
17163 2005-06-23  Andy Wingo  <wingo@pobox.com>
17164
17165         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
17166         offset is greater than the file's size.
17167
17168         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
17169         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
17170         * gst/gstobject.c (gst_object_class_init): Make the class lock
17171         recursive. Wim won't let me drop deep_notify. Decodebin works
17172         again, whoopdy doo.
17173
17174         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
17175         internal pad, and hacks accordingly. Doesn't do it on the target
17176         pad because we change its caps. Probably catches all cases of
17177         interest tho.
17178         (gst_ghost_pad_set_property): Connect to notify::caps as
17179         appropritate.
17180
17181         * tests/network-clock.scm (plot-simulation): Pipe data to the
17182         elite python skript.
17183
17184         * tests/network-clock-utils.scm (define-parameter): New macro,
17185         defines a parameter that can be set via the command line.
17186         (set-parameter!, parse-parameter-arguments): Command line args
17187         parser.
17188
17189         * tests/plot-data: Simple matplotlib-based plotter, takes input on
17190         stdin.
17191
17192 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
17193
17194         * gst/elements/gsttypefindelement.c:
17195         (gst_type_find_element_handle_event):
17196           Don't restart typefinding on a discont.
17197         * gst/gstelement.c: (gst_element_set_state):
17198           Debug spelling fix.
17199         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
17200           Allow changing mode of an active pad.
17201           Debug output fixes.
17202         * gst/registries/gstlibxmlregistry.c: (load_feature):
17203           Don't cast a static pad template to a normal pad template.
17204
17205 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17206
17207         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17208         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
17209           remove gst_strtoll completely, since it didn't actually do
17210           anything more than what g_ascii_strtoull already does.
17211           check for range errors when deserializing
17212           do a cast for the unsigned cases; but further fixing needs
17213           a decision on what the interpretation of "(int)" and
17214           deserialization should be for values that fall outside the
17215           type's boundaries (ie, refuse, or interpret as casting)
17216
17217 2005-06-23  Wim Taymans  <wim@fluendo.com>
17218
17219         * check/Makefile.am:
17220         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
17221         * docs/design/part-live-source.txt:
17222         * docs/design/part-states.txt:
17223         * gst/base/gstbasesrc.c: (gst_basesrc_init),
17224         (gst_basesrc_set_live), (gst_basesrc_is_live),
17225         (gst_basesrc_get_range), (gst_basesrc_activate),
17226         (gst_basesrc_change_state):
17227         * gst/base/gstbasesrc.h:
17228         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17229         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
17230         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
17231         * gst/gstelement.c: (gst_element_get_state_func),
17232         (gst_element_set_state):
17233         * gst/gstelement.h:
17234         * gst/gsttypes.h:
17235         * tools/gst-launch.c: (event_loop), (main):
17236         Added support for live sources and other elements that
17237         cannot do preroll.
17238         Updated design docs, added live-source design doc.
17239         Implemented live source functionality in basesrc
17240         Fix error condition in _bin_get_state()
17241         Implement live source handling in -launch.
17242         Added check for live sources.
17243         Fixed case in GstBin where elements were changed state
17244         multiple times.
17245
17246
17247 2005-06-23  Andy Wingo  <wingo@pobox.com>
17248
17249         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
17250         borken refcounting.
17251
17252         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
17253         gst_caps_replace takes care of this for us.
17254
17255         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
17256         gst_pad_set_caps on the target, not just its setcaps() function.
17257
17258         * tests/network-clock.scm: 
17259         * tests/network-clock-utils.scm: A network clock simulator.
17260         Something of an algorithmic testbed before doing something in C.
17261
17262 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17263
17264         * check/Makefile.am:
17265         * check/gst/capslist.h:
17266           copy over from 0.8, and add two with bitmasks specified with
17267           (int) 0xFF...
17268         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
17269           add test to parse everything from capslist.h
17270         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
17271         (main):
17272           add test for structure deserialization
17273         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17274           add tests for deserialization of strings to int types
17275         * gst/gststructure.c: (gst_structure_nth_field_name):
17276         * gst/gststructure.h:
17277           add a way to get the name of a field referenced by index
17278         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
17279           instead of checking if the resulting long long lies between
17280           min and max, we check if the long long would fit into
17281           a number of bytes for the final type.
17282           This fixes cases where a string represents 2^32 - 1, which
17283           when cast to int would be the (valid) -1, but is bigger than
17284           G_MAXINT
17285
17286 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17287
17288         * gst/parse/grammar.y:
17289           add a log line for type deserialization
17290
17291 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17292
17293         * check/gst/gstvalue.c: (START_TEST):
17294         * gst/gstvalue.c: (gst_value_deserialize):
17295           return long long, not int, so gint64 deserialization actually
17296           works.  Is there any flag that makes the compiler check this ?
17297           Fixes #308559
17298
17299 2005-06-22  Wim Taymans  <wim@fluendo.com>
17300
17301         * gst/gstbuffer.h:
17302         Added convenience macros for setting buffers in GValue.
17303
17304 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17305
17306         * check/gst/.cvsignore:
17307         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
17308           add a test deserializing int64, and comment part out because
17309           it fails, yay !
17310
17311 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17312
17313         * check/Makefile.am:
17314         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
17315         * testsuite/Makefile.am:
17316         * testsuite/caps/Makefile.am:
17317         * testsuite/caps/value_serialize.c:
17318         * testsuite/test_gst_init.c:
17319           move a value_serialize test over
17320
17321 2005-06-20  Wim Taymans  <wim@fluendo.com>
17322
17323         * gst/gstpad.c:
17324         Small doc updates.
17325         
17326         * gst/gstvalue.c: (gst_value_compare_buffer),
17327         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
17328         (gst_value_compare_flags), (gst_value_serialize_flags),
17329         (gst_value_deserialize_flags), (_gst_value_initialize):
17330         Fix serialisation of buffers, they are not boxed types anymore
17331
17332 2005-06-20  Wim Taymans  <wim@fluendo.com>
17333
17334         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
17335         Testcase to show error in buffer-on-caps serialisation.
17336
17337 2005-06-20  Andy Wingo  <wingo@pobox.com>
17338
17339         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
17340         will be adding to later.
17341
17342         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
17343         if its socks fill with rocks.
17344         (gst_system_clock_obtain): Set the name on object construction.
17345         Avoid double-checked locking.
17346
17347 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
17348
17349         * gst/gsturi.c: (gst_element_make_from_uri):
17350           Fix potential endless loop.
17351
17352 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17353
17354         * check/Makefile.am:
17355           add gsttag
17356         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
17357         (main):
17358           move over from testsuite dir and clean up
17359         * configure.ac:
17360         * gst/gsttag.c:
17361         * testsuite/Makefile.am:
17362         * testsuite/tags/.cvsignore:
17363         * testsuite/tags/Makefile.am:
17364         * testsuite/tags/merge.c:
17365           remove testsuite/tags
17366
17367 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17368
17369         * docs/gst/gstreamer-sections.txt:
17370         * docs/gst/tmpl/gstenumtypes.sgml:
17371         * win32/gstenumtypes.c:
17372           clean up documentation build a little
17373
17374 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17375
17376         * check/gstcheck.h:
17377           add macros for checking refcounts on objects and caps
17378         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
17379           add some more unit tests
17380         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17381         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
17382           fix leaked refcounts (I hope :)) so unittest works
17383         * gst/gstpad.h:
17384           whitespace removal
17385
17386 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
17387
17388         * configure.ac: back to HEAD
17389
17390 === release 0.9.1 ===
17391
17392 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
17393
17394         * NEWS:
17395         * RELEASE:
17396           updated
17397
17398 2005-06-17  Andy Wingo  <wingo@pobox.com>
17399
17400         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
17401         assert; it's always possible that the pad gets deactivated in
17402         between the checks in gstpad.c and the implementation. Rely on
17403         finish_preroll() to return a FLUSHING or similar instead of on the
17404         assert.
17405         
17406         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
17407         clock and post an EOS message if we come out of finish_preroll in
17408         the playing state.
17409
17410 2005-06-16  David Schleef  <ds@schleef.org>
17411
17412         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
17413         (gst_capsfilter_set_property): Allow NULL as possible value
17414         for filter_caps property, indicating GST_CAPS_ANY.
17415
17416 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17417
17418         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
17419           fix debug output
17420         * gst/schedulers/Makefile.am:
17421           use libgst prefix
17422         * gstreamer.spec.in:
17423           fix spec for it
17424
17425 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17426
17427         * gstreamer.spec.in:
17428           clean up
17429
17430 2005-06-08  Andy Wingo  <wingo@pobox.com>
17431
17432         * gst/gstutils.c: RPAD fixes all around.
17433         (gst_element_link_pads): Refcounting fixes.
17434
17435         * tools/gst-inspect.c:
17436         * tools/gst-xmlinspect.c:
17437         * parse/grammar.y:
17438         * gst/base/gsttypefindhelper.c:
17439         * gst/base/gstbasesink.c:
17440         * gst/gstqueue.c: RPAD fixes.
17441
17442         * gst/gstghostpad.h:
17443         * gst/gstghostpad.c: New ghost pad implementation as full proxy
17444         pads. The tricky thing is they provide both source and sink
17445         interfaces, since they proxy the internal pad for the external
17446         pad, and vice versa. Implement with lower-level ProxyPad objects,
17447         with the interior proxy pad as a child of the exterior ghost pad.
17448         Should write a doc on this.
17449         
17450         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
17451         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
17452         gst_object API.
17453         
17454         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
17455         pads are real pads. No ghost pads in this file. Not documenting
17456         the myriad s/RPAD/PAD/ and REALIZE fixes.
17457         (gst_pad_class_init): Add properties for "direction" and
17458         "template". Both are construct-only, so they can't change during
17459         the life of the pad. Fixes properly deriving from GstPad.
17460         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
17461         derived objects, just set properties when creating the objects via
17462         g_object_new.
17463         (gst_pad_get_parent): Implement as a function, return NULL if the
17464         parent is not an element.
17465         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
17466         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
17467         
17468         * gst/gstobject.c (gst_object_class_init): Make name a construct
17469         property. Don't set it in the object init.
17470
17471         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
17472         with UNKNOWN direction.
17473         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
17474         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
17475         (gst_element_remove_pad): Remove ghost-pad special cases.
17476         (gst_element_pads_activate): Remove rpad cruft.
17477
17478         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
17479         catch the pad's-parent-not-an-element case.
17480
17481         * gst/gst.h: Include gstghostpad.h.
17482
17483         * gst/gst.c (init_post): No more real, ghost pads.
17484
17485         * gst/Makefile.am: Add gstghostpad.[ch].
17486
17487         * check/Makefile.am:
17488         * check/gst/gstbin.c:
17489         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
17490         into a bin creates ghost pads, and that the refcounts are right.
17491         Partly moved from gstbin.c.
17492
17493 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17494
17495         * check/gst-libs/.cvsignore:
17496         * check/gst/.cvsignore:
17497         * check/pipelines/.cvsignore:
17498           ignore more
17499         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
17500         (START_TEST), (cleanup_suite), (main):
17501           add some tests related to cleanup after running pipelines
17502
17503 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17504
17505         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
17506           add a testsuite for GstBuffer
17507
17508 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17509
17510         * gst/gstminiobject.h:
17511           add defines for accessing the refcount
17512
17513 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
17514
17515         * Makefile.am: added support for html unit test coverage reports
17516
17517 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
17518
17519         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
17520           Free existing caps if the capsfilter changes. Add a FIXME about
17521           setting those caps on the pads.
17522
17523         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
17524           Before adding a ghost pad to a parent bin, check that there isn't
17525           already one for the element on the bin. Prevents infinite recursion
17526           when using decodebin in parse pipelines. Andy says he'll rewrite the
17527           way this works anyway, so ignore the hack.
17528
17529 2005-06-02  Andy Wingo  <wingo@pobox.com>
17530
17531         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
17532         file size, pass it on to the type find helper.
17533
17534         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
17535         segment_start and segment_end properly according to the seek
17536         method. Segment_end is still a bit flaky because offset can be
17537         negative for CUR and END cases, but it takes -1 as an "unset"
17538         value.
17539
17540 2005-06-02  Wim Taymans  <wim@fluendo.com>
17541
17542         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
17543         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
17544         (gst_basesink_activate):
17545         * gst/base/gstbasesink.h:
17546         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17547         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
17548         (gst_pad_query), (gst_pad_start_task):
17549         * gst/gstpad.h:
17550         * gst/gstqueue.c: (gst_queue_bufferalloc),
17551         (gst_queue_handle_sink_event), (gst_queue_chain):
17552         Bufferalloc: return GstFlowReturn to more accuratly report
17553         why allocation failed.
17554
17555 2005-06-02  Wim Taymans  <wim@fluendo.com>
17556
17557         * gst/gstpipeline.c: (gst_pipeline_send_event):
17558         Take snapshot of state without blocking.
17559
17560 2005-06-02  Wim Taymans  <wim@fluendo.com>
17561
17562         * docs/design/part-TODO.txt:
17563         * docs/design/part-caps.txt:
17564         * docs/design/part-clocks.txt:
17565         * docs/design/part-negotiation.txt:
17566         * docs/design/part-preroll.txt:
17567         Small doc updates 
17568
17569 2005-05-30  Wim Taymans  <wim@fluendo.com>
17570
17571         * gst/elements/gstidentity.c: (gst_identity_event),
17572         (gst_identity_transform), (gst_identity_get_property):
17573         Protect last_message property as it is accessed from
17574         multiple threads.
17575
17576 2005-05-30  Wim Taymans  <wim@fluendo.com>
17577
17578         * gst/gstelement.c: (gst_element_init),
17579         (gst_element_pads_activate), (gst_element_change_state):
17580         Slicker pad activation code.
17581
17582 2005-05-30  Wim Taymans  <wim@fluendo.com>
17583
17584         * gst/Makefile.am:
17585         * gst/gstelement.h:
17586         * gst/gstelementfactory.h:
17587         * gst/gsttypes.h:
17588         Move elementfactory methods to separate .h file.
17589
17590 2005-05-30  Wim Taymans  <wim@fluendo.com>
17591
17592         * docs/design/part-overview.txt:
17593         * gst/gstsystemclock.h:
17594         Small typo fixes, doc updates.
17595
17596 2005-05-30  Wim Taymans  <wim@fluendo.com>
17597
17598         * gst/gst.c: (gst_init_get_popt_table), (init_post),
17599         (init_popt_callback):
17600         Remove cpu-opt flag.
17601
17602 2005-05-30  Wim Taymans  <wim@fluendo.com>
17603
17604         * gst/gstbuffer.c: (gst_subbuffer_finalize),
17605         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
17606         * gst/gstbuffer.h:
17607         Avoid typechecking in places where not needed.
17608         Added accessor for malloc_data.
17609
17610 2005-05-30  Wim Taymans  <wim@fluendo.com>
17611
17612         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
17613         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
17614         (gst_pad_configure_sink), (gst_pad_configure_src),
17615         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
17616         (gst_pad_start_task):
17617         Propagate errors from _set_caps() in configure_src/sink
17618         functions instead of returning TRUE.
17619         FLUSH events can travel up and downstream
17620
17621
17622 2005-05-30  Wim Taymans  <wim@fluendo.com>
17623
17624         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
17625         (gst_basesink_activate):
17626         Handle EOS in preroll.
17627
17628 2005-05-30  Wim Taymans  <wim@fluendo.com>
17629
17630         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
17631         (gst_queue_loop), (gst_queue_handle_src_event):
17632         Remove old pieces of code
17633         Flushing the queue in an upstream event is a very bad idea.
17634
17635 2005-05-26  Andy Wingo  <wingo@pobox.com>
17636
17637         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
17638         gst_value_set_mini_object so as to add a ref on the object (which
17639         will be removed when the value is unset).
17640
17641         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
17642         arg type in ::handoff.
17643
17644         * gst/gstelement.c (gst_element_change_state): Also deactivate
17645         pads in READY->NULL, just in case the element didn't make it to
17646         PAUSED. Wingo tested, Wim approved.
17647
17648 2005-05-26  Wim Taymans  <wim@fluendo.com>
17649
17650         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17651         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
17652         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
17653         A flushing pad cannot be used to alloc_buffer from.
17654
17655 2005-05-26  Wim Taymans  <wim@fluendo.com>
17656
17657         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
17658         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
17659         (gst_bus_source_dispatch), (gst_bus_source_finalize),
17660         (gst_bus_create_watch), (gst_bus_add_watch_full):
17661         * gst/gstbus.h:
17662         Implement a real GSource and use g_main_context_wakeup() to
17663         signal new messages instead of the socketpair.
17664
17665 2005-05-25  Wim Taymans  <wim@fluendo.com>
17666
17667         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
17668         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
17669         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17670         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
17671         (gst_pad_send_event), (gst_pad_start_task):
17672         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
17673         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
17674         (gst_queue_sink_activate), (gst_queue_src_activate),
17675         (gst_queue_change_state):
17676         * gst/gstqueue.h:
17677         Fix state changes for non sinks. We now change sinks, then elements
17678         with unconnected srcpads, then the rest.
17679         More efficient queue unlocking in flush and state changes.
17680         Set the pad activate mode even if it does not have an activate
17681         function.
17682
17683 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17684
17685         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
17686           Don't go in pull mode for non-seekable sources.
17687         * gst/elements/gsttypefindelement.h:
17688         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
17689         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
17690         (free_entry), (stop_typefinding),
17691         (gst_type_find_element_handle_event), (find_peek),
17692         (gst_type_find_element_chain), (do_pull_typefind),
17693         (gst_type_find_element_change_state):
17694           Allow typefinding (w/o seeking) in push-mode, simplified version
17695           of what was in 0.8.
17696         * gst/gstutils.c: (gst_buffer_join):
17697         * gst/gstutils.h:
17698           gst_buffer_join() from 0.8.
17699
17700 2005-05-25  Wim Taymans  <wim@fluendo.com>
17701
17702         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
17703         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
17704         (gst_pad_send_event), (gst_pad_start_task):
17705         Disable attempt at mode switching until it is figured out.
17706
17707 2005-05-25  Wim Taymans  <wim@fluendo.com>
17708
17709         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
17710         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
17711         (gst_basesink_finish_preroll), (gst_basesink_chain),
17712         (gst_basesink_loop), (gst_basesink_activate),
17713         (gst_basesink_change_state):
17714         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
17715         (gst_basesrc_get_range), (gst_basesrc_loop),
17716         (gst_basesrc_activate):
17717         * gst/elements/gsttee.c: (gst_tee_sink_activate):
17718         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
17719         (gst_real_pad_init), (gst_real_pad_set_property),
17720         (gst_real_pad_get_property), (gst_pad_set_active),
17721         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
17722         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
17723         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
17724         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
17725         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17726         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
17727         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
17728         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
17729         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
17730         (gst_pad_stop_task):
17731         * gst/gstpad.h:
17732         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
17733         (gst_queue_loop), (gst_queue_src_activate):
17734         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
17735         (gst_task_get_state):
17736         * gst/gsttask.h:
17737         * gst/schedulers/threadscheduler.c:
17738         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
17739         Implement gst_pad_pause/start/stop_task(), take STREAM lock
17740         in task function.
17741         Remove ACTIVE pad flag, use FLUSHING everywhere
17742         Added _pad_chain(), _pad_get_range() to call chain/getrange 
17743         functions.
17744         Add locks around IS_FLUSHING when reading.
17745         Take STREAM lock in chain(), get_range() functions so plugins
17746         don't need to take it anymore.
17747         
17748
17749
17750 2005-05-25  Wim Taymans  <wim@fluendo.com>
17751
17752         * tools/gst-launch.c: (event_loop):
17753         Unref message after using its contents instead of
17754         before.
17755
17756 2005-05-24  Wim Taymans  <wim@fluendo.com>
17757
17758         * docs/design/draft-ghostpads.txt:
17759         * docs/design/draft-push-pull.txt:
17760         * docs/design/draft-query.txt:
17761         * docs/design/part-overview.txt:
17762         Docs updates, added general overview doc.
17763
17764 2005-05-21  David Schleef  <ds@schleef.org>
17765
17766         * docs/gst/tmpl/old/GstBin.sgml:
17767         * docs/gst/tmpl/old/GstBuffer.sgml:
17768         * docs/gst/tmpl/old/GstCaps.sgml:
17769         * docs/gst/tmpl/old/GstClock.sgml:
17770         * docs/gst/tmpl/old/GstCompat.sgml:
17771         * docs/gst/tmpl/old/GstData.sgml:
17772         * docs/gst/tmpl/old/GstElement.sgml:
17773         * docs/gst/tmpl/old/GstEvent.sgml:
17774         * docs/gst/tmpl/old/GstIndex.sgml:
17775         * docs/gst/tmpl/old/GstStructure.sgml:
17776         * docs/gst/tmpl/old/GstTag.sgml:
17777         * docs/gst/tmpl/old/cothreads.sgml:
17778         * docs/gst/tmpl/old/cothreads_compat.sgml:
17779         * docs/gst/tmpl/old/gettext.sgml:
17780         * docs/gst/tmpl/old/gobject2gtk.sgml:
17781         * docs/gst/tmpl/old/grammar.tab.sgml:
17782         * docs/gst/tmpl/old/gst-i18n-app.sgml:
17783         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
17784         * docs/gst/tmpl/old/gst_private.sgml:
17785         * docs/gst/tmpl/old/gstaggregator.sgml:
17786         * docs/gst/tmpl/old/gstarch.sgml:
17787         * docs/gst/tmpl/old/gstatomic_impl.sgml:
17788         * docs/gst/tmpl/old/gstbufferstore.sgml:
17789         * docs/gst/tmpl/old/gstdata_private.sgml:
17790         * docs/gst/tmpl/old/gstdisksink.sgml:
17791         * docs/gst/tmpl/old/gstdisksrc.sgml:
17792         * docs/gst/tmpl/old/gstelementfactory.sgml:
17793         * docs/gst/tmpl/old/gstextratypes.sgml:
17794         * docs/gst/tmpl/old/gstfakesink.sgml:
17795         * docs/gst/tmpl/old/gstfakesrc.sgml:
17796         * docs/gst/tmpl/old/gstfdsink.sgml:
17797         * docs/gst/tmpl/old/gstfdsrc.sgml:
17798         * docs/gst/tmpl/old/gstfilesink.sgml:
17799         * docs/gst/tmpl/old/gstfilesrc.sgml:
17800         * docs/gst/tmpl/old/gsthttpsrc.sgml:
17801         * docs/gst/tmpl/old/gstidentity.sgml:
17802         * docs/gst/tmpl/old/gstindexfactory.sgml:
17803         * docs/gst/tmpl/old/gstmarshal.sgml:
17804         * docs/gst/tmpl/old/gstmd5sink.sgml:
17805         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
17806         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
17807         * docs/gst/tmpl/old/gstpadtemplate.sgml:
17808         * docs/gst/tmpl/old/gstpipefilter.sgml:
17809         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
17810         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
17811         * docs/gst/tmpl/old/gstshaper.sgml:
17812         * docs/gst/tmpl/old/gstspider.sgml:
17813         * docs/gst/tmpl/old/gstspideridentity.sgml:
17814         * docs/gst/tmpl/old/gststatistics.sgml:
17815         * docs/gst/tmpl/old/gsttee.sgml:
17816         * docs/gst/tmpl/old/gsttimecache.sgml:
17817         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
17818         * docs/gst/tmpl/old/gstxmlregistry.sgml:
17819         * docs/gst/tmpl/old/gthread-cothreads.sgml:
17820         * docs/gst/tmpl/old/types.sgml:
17821           I didn't intend to add these or check them in.
17822
17823 2005-05-19  David Schleef  <ds@schleef.org>
17824
17825         * configure.ac: Use -no-common everywhere.  In a sane world, it
17826           would be the default in libtool, because without it, you can't
17827           build DLLs on Windows.
17828         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
17829         * docs/gst/gstreamer-sections.txt:
17830         * docs/gst/tmpl/gstcpu.sgml:
17831         * docs/gst/tmpl/gstdata.sgml:
17832         * docs/gst/tmpl/gstthread.sgml:
17833
17834 2005-05-19  David Schleef  <ds@schleef.org>
17835
17836         * gst/gstminiobject.c: (gst_value_set_mini_object),
17837         (gst_value_take_mini_object), (gst_value_get_mini_object):
17838         * gst/gstminiobject.h: Add GValue set/get functions.
17839
17840 2005-05-19  Wim Taymans  <wim@fluendo.com>
17841
17842         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
17843         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
17844         (gst_subbuffer_init), (gst_buffer_is_span_fast):
17845         * gst/gstbuffer.h:
17846         * gst/gstbus.c: (gst_bus_post):
17847         * gst/gstelement.c: (gst_element_get_random_pad):
17848         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
17849         Make subbufer unref the parent in finalize.
17850         some more debugging info.
17851
17852
17853 2005-05-19  Wim Taymans  <wim@fluendo.com>
17854
17855         * gst/base/gstbasesink.c: (gst_basesink_class_init),
17856         (gst_basesink_init), (gst_basesink_finalize),
17857         (gst_basesink_activate), (gst_basesink_change_state):
17858         Don't free preroll queue too early.
17859
17860 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17861
17862         * gst/Makefile.am:
17863         * gst/ROADMAP:
17864           Hi, I'm outdated. Please shoot me.
17865
17866 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17867
17868         * gst/gstpipeline.c: (gst_pipeline_send_event):
17869           Do not access variables after they have been deleted.
17870
17871 2005-05-19  Wim Taymans  <wim@fluendo.com>
17872
17873         * tools/gst-inspect.c: (print_plugin_features):
17874         A plugin feature does unfortunatly not use the
17875         object name yet...
17876
17877 2005-05-18  Wim Taymans  <wim@fluendo.com>
17878
17879         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
17880         Port _span() functions to new subbuffers.
17881
17882 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17883
17884         * gst/gstbin.c: (gst_bin_add_func):
17885           Fix clock settery in bins when adding kids after the clock has
17886           been selected.
17887
17888 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17889
17890         * gst/elements/gstidentity.c: (gst_identity_class_init):
17891           Workaround until signals support GstMiniObject.
17892
17893 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
17894
17895         * gst/gstbuffer.c:
17896         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
17897
17898 2005-05-18  Wim Taymans  <wim@fluendo.com>
17899
17900         * gst/base/Makefile.am:
17901         * gst/base/gstadapter.c: (gst_adapter_base_init),
17902         (gst_adapter_class_init), (gst_adapter_init),
17903         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
17904         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
17905         (gst_adapter_flush), (gst_adapter_available),
17906         (gst_adapter_available_fast):
17907         * gst/base/gstadapter.h:
17908         Ported and added adapter to the base classes.
17909
17910 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17911
17912         * gst/gst.c:
17913         * gst/gstmessage.c:
17914           Make sure the class is reffed/unreffed once before threads can be
17915           used.  Fixes #304551.
17916
17917 2005-05-17  Wim Taymans  <wim@fluendo.com>
17918
17919         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
17920         (gst_basesink_chain_unlocked), (gst_basesink_activate):
17921         * gst/gstminiobject.c: (gst_mini_object_get_type),
17922         (gst_mini_object_free):
17923         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
17924         (gst_pad_push), (gst_pad_push_event):
17925         * gst/gstqueue.c: (gst_queue_change_state):
17926         Don't queue buffers in basesink when we are flushing.
17927         Unref buffer when flushing in basesink.
17928         Flush queue when going to READY
17929         Unref buffer when _push() returns an error.
17930         Don't free MiniObject instance when refcount is incremented
17931         in _finalize() so that we can recover objects.
17932
17933 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
17934
17935         * docs/manual/advanced-schedulers.xml:
17936         * docs/manual/appendix-checklist.xml:
17937         * docs/pwg/advanced-clock.xml:
17938         * docs/pwg/advanced-interfaces.xml:
17939         * docs/pwg/advanced-request.xml:
17940         * docs/pwg/advanced-types.xml:
17941         * docs/pwg/intro-preface.xml:
17942         * examples/plugins/example.c: (gst_example_get_type),
17943         (gst_example_class_init), (gst_example_chain),
17944         (gst_example_set_property), (gst_example_get_property),
17945         (gst_example_change_state), (plugin_init):
17946         * examples/plugins/example.h:
17947           small doc fixes
17948
17949 2005-05-17  Wim Taymans  <wim@fluendo.com>
17950
17951         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
17952         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
17953         * gst/gstqueue.c: (gst_queue_change_state):
17954         Clear queue when going to READY.
17955         Remove IN_SETCAPS flag too.
17956
17957 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
17958
17959         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
17960           Remove implicit cast from gboolean to GstElementStateReturn;
17961           make sure we still return failure in paused => ready case if
17962           the parent class fails to change state and our own stop 
17963           vfunc succeeds.
17964
17965 2005-05-17  Wim Taymans  <wim@fluendo.com>
17966
17967         * tools/gst-launch.c: (event_loop):
17968         Message was unreffed too soon.
17969
17970 2005-05-16  Andy Wingo  <wingo@pobox.com>
17971
17972         * gst/gstbin.c (sink_iterator_filter): Err... um...
17973
17974         * check/gst/gstbin.c (test_ghost_pads): New test for the
17975         ghosting-if-elements-not-in-same-bin behavior.
17976
17977 2005-05-16  David Schleef  <ds@schleef.org>
17978
17979         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
17980         accessing refcount directly.
17981
17982 2005-05-15  David Schleef  <ds@schleef.org>
17983
17984         * check/Makefile.am: remove GstData checks
17985         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
17986         * gst/Makefile.am: add miniobject, remove data
17987         * gst/gst.h: add miniobject, remove data
17988         * gst/gstdata.c: remove
17989         * gst/gstdata.h: remove
17990         * gst/gstdata_private.h: remove
17991         * gst/gsttypes.h: remove GstEvent and GstMessage
17992         * gst/gstelement.c: (gst_element_post_message): fix for API changes
17993         * gst/gstmarshal.list: change BOXED -> OBJECT
17994
17995         Implement GstMiniObject.
17996         * gst/gstminiobject.c:
17997         * gst/gstminiobject.h:
17998
17999         Modify to be subclasses of GstMiniObject.
18000         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
18001         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
18002         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
18003         (gst_subbuffer_get_type), (gst_subbuffer_init),
18004         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
18005         (gst_buffer_span):
18006         * gst/gstbuffer.h:
18007         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
18008         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
18009         (_gst_event_copy), (gst_event_new):
18010         * gst/gstevent.h:
18011         * gst/gstmessage.c: (_gst_message_initialize),
18012         (gst_message_get_type), (gst_message_class_init),
18013         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
18014         (gst_message_new), (gst_message_new_error),
18015         (gst_message_new_warning), (gst_message_new_tag),
18016         (gst_message_new_state_changed), (gst_message_new_application):
18017         * gst/gstmessage.h:
18018         * gst/gstprobe.c: (gst_probe_perform),
18019         (gst_probe_dispatcher_dispatch):
18020         * gst/gstprobe.h:
18021         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
18022         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
18023         (_gst_query_copy), (gst_query_new):
18024
18025         Update elements for GstData -> GstMiniObject changes
18026         * gst/gstquery.h:
18027         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
18028         (gst_queue_chain), (gst_queue_loop):
18029         * gst/elements/gstbufferstore.c:
18030         (gst_buffer_store_add_buffer_func),
18031         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
18032         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
18033         (gst_fakesink_render):
18034         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
18035         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
18036         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
18037         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
18038         (gst_filesrc_create_read):
18039         * gst/elements/gstidentity.c: (gst_identity_class_init):
18040         * gst/elements/gsttypefindelement.c:
18041         (gst_type_find_element_src_event), (free_entry_buffers),
18042         (gst_type_find_element_handle_event):
18043         * libs/gst/dataprotocol/dataprotocol.c:
18044         (gst_dp_header_from_buffer):
18045         * libs/gst/dataprotocol/dataprotocol.h:
18046         * libs/gst/dataprotocol/dp-private.h:
18047
18048 2005-05-15  David Schleef  <ds@schleef.org>
18049
18050         * gst/elements/gstelements.c: Don't include headers that were
18051         just removed.
18052
18053 2005-05-15  David Schleef  <ds@schleef.org>
18054
18055         * gst/elements/Makefile.am: Remove some elements that don't
18056         need to be in the core (or even exist at all).
18057         * gst/elements/gstaggregator.c:
18058         * gst/elements/gstaggregator.h:
18059         * gst/elements/gstmd5sink.c:
18060         * gst/elements/gstmd5sink.h:
18061         * gst/elements/gstmultifilesrc.c:
18062         * gst/elements/gstmultifilesrc.h:
18063         * gst/elements/gstpipefilter.c:
18064         * gst/elements/gstpipefilter.h:
18065         * gst/elements/gstshaper.c:
18066         * gst/elements/gstshaper.h:
18067         * gst/elements/gststatistics.c:
18068         * gst/elements/gststatistics.h:
18069         * po/POTFILES.in: Remove above files.
18070
18071 2005-05-14  Andy Wingo  <wingo@pobox.com>
18072
18073         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
18074         so as to get the refs right.
18075         (sink_iterator_filter): New function, wraps bin_element_is_sink,
18076         unreffing objects that don't pass the filter.
18077
18078         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
18079         gst_element_set_bus.
18080         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
18081         normal cases, this will destroy the bus.
18082
18083         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
18084         object.
18085
18086         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
18087         has no sinks.
18088
18089 2005-05-13  Andy Wingo  <wingo@pobox.com>
18090
18091         * gst/gstutils.c (gst_element_link_pads): Instead of calling
18092         gst_pad_link, call pad_link_maybe_ghosting,
18093         (pad_link_maybe_ghosting): Links pads, making sure that the
18094         elements being linked are in the same bin.
18095         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
18096         Helpers for pad_link_maybe_ghosting.
18097
18098 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
18099
18100         * configure.ac:
18101           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
18102
18103 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
18104
18105         * docs/design/part-element-source.txt:
18106           Mention GstPushSrc
18107
18108 2005-05-12  Wim Taymans  <wim@fluendo.com>
18109
18110         * gst/base/gstbasesink.c: (gst_basesink_init),
18111         (gst_basesink_activate):
18112         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
18113         (gst_basesrc_is_seekable):
18114         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
18115         (bin_element_is_sink), (gst_bin_change_state):
18116         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
18117         * gst/gstelement.h:
18118         Identify sinks by their flag to avoid overly complicated
18119         checks (fow now).
18120         Do state changes even for elements not reachable from the
18121         sinks.
18122         BaseSink is a sink now :)
18123         Some more debugging info in the basesrc.
18124
18125
18126 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18127
18128         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
18129           Implement _query on a bin, similar to _send_event.
18130
18131 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
18132
18133         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
18134           Discont event offset format should be GST_FORMAT_BYTES,
18135           not GST_FORMAT_TIME.
18136
18137 2005-05-12  Wim Taymans  <wim@fluendo.com>
18138
18139         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
18140         Same fix as Ronald's but without the signal. 
18141
18142 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18143
18144         * gst/gstutils.c: (gst_element_query_position):
18145           No, an element is not a pad.
18146
18147 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18148
18149         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
18150         (gst_bin_get_state):
18151           If a child is removed from a bin while we remove the child from
18152           the bin and while we're retrieving its state, signal this to the
18153           get_state function so we abort the wait (instead of waiting for
18154           a timeout) and can immediately re-iterate over all other elements.
18155
18156 2005-05-12  Wim Taymans  <wim@fluendo.com>
18157
18158         * gst/base/Makefile.am:
18159         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
18160         (gst_basesrc_start):
18161         * gst/base/gstbasesrc.h:
18162         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
18163         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
18164         (gst_pushsrc_init), (gst_pushsrc_create):
18165         * gst/base/gstpushsrc.h:
18166         Added is_seekable to BaseSrc
18167         Added simple PushSrc.
18168
18169 2005-05-11  Wim Taymans  <wim@fluendo.com>
18170
18171         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
18172         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18173         (gst_element_link_pads), (gst_element_query_position),
18174         (gst_element_query_convert), (intersect_caps_func),
18175         (gst_pad_query_position), (gst_pad_query_convert):
18176         Fix refcounting in utils function.
18177         No point in trying to activate a pad when it's added, it could
18178         be added from the state change function and then we deadlock, the
18179         element has to decide what to do.
18180
18181 2005-05-10  Andy Wingo  <wingo@pobox.com>
18182
18183         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
18184         *all* the arguments.
18185
18186         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
18187         stream lock if it's a FLUSH_DONE; normal flushes don't get the
18188         lock (according to the docs -- if this is wrong change the docs).
18189
18190         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
18191         flush messages in the NULL state.
18192
18193         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
18194         message immediately and return.
18195         (gst_bus_set_flushing): New function. If a bus is flushing, it
18196         flushes out any queued messages and immediately unrefs new
18197         messages. This is so when an element goes to NULL, all of the
18198         unhandled messages coming from it can be freed, and their
18199         references to the element dropped. In other words: message source
18200         ref considered harmful :P
18201
18202         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
18203         we're finished with it.
18204
18205         * gst/gstmessage.c (gst_message_new_state_changed): 
18206
18207 2005-05-10  Wim Taymans  <wim@fluendo.com>
18208
18209         * gst/gstvalue.c: (gst_value_compare_flags),
18210         (gst_value_serialize_flags), (gst_value_deserialize_flags),
18211         (_gst_value_initialize):
18212         Added flags serialize/deserialize/compare code.
18213
18214 2005-05-09  Andy Wingo  <wingo@pobox.com>
18215
18216         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
18217         Intersect the peer's caps with our caps.
18218
18219 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18220
18221         * gst/base/gsttypefindhelper.c: (helper_find_peek):
18222         * gst/elements/gsttypefindelement.c: (find_peek):
18223           Handle negative offsets better. Fixes decodebin.
18224
18225 2005-05-09  Wim Taymans  <wim@fluendo.com>
18226
18227         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
18228         (gst_base_transform_event):
18229         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
18230         Implement accept_caps.
18231         Fix silly lock/unlock mismatch in base class.
18232
18233 2005-05-09  Wim Taymans  <wim@fluendo.com>
18234
18235         * docs/design/draft-push-pull.txt:
18236         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
18237         * gst/elements/gstfilesink.c: (gst_filesink_init),
18238         (gst_filesink_query):
18239         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
18240         (gst_type_find_handle_src_query), (find_element_get_length):
18241         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
18242         * gst/gstelement.h:
18243         * gst/gstmessage.c:
18244         * gst/gstmessage.h:
18245         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
18246         (gst_real_pad_get_caps_unlocked),
18247         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
18248         (gst_pad_event_default_dispatch), (gst_pad_event_default),
18249         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
18250         (gst_real_pad_dispose), (gst_real_pad_finalize),
18251         (gst_pad_load_and_link), (gst_pad_save_thyself),
18252         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
18253         (gst_pad_check_pull_range), (gst_pad_pull_range),
18254         (gst_pad_template_get_type), (gst_pad_template_class_init),
18255         (gst_pad_template_init), (gst_pad_template_dispose),
18256         (name_is_valid), (gst_static_pad_template_get),
18257         (gst_pad_template_new), (gst_static_pad_template_get_caps),
18258         (gst_pad_template_get_caps), (gst_pad_set_element_private),
18259         (gst_pad_get_element_private), (gst_pad_start_task),
18260         (gst_pad_pause_task), (gst_pad_stop_task),
18261         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
18262         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
18263         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
18264         (gst_ghost_pad_new):
18265         * gst/gstpad.h:
18266         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
18267         (gst_query_new_position), (gst_query_set_position),
18268         (gst_query_parse_position), (gst_query_new_convert),
18269         (gst_query_set_convert), (gst_query_parse_convert):
18270         * gst/gstquery.h:
18271         * gst/gstqueryutils.c:
18272         * gst/gstqueryutils.h:
18273         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
18274         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
18275         (gst_queue_handle_src_query):
18276         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18277         (gst_element_query_position), (gst_element_query_convert),
18278         (intersect_caps_func), (gst_pad_query_position),
18279         (gst_pad_query_convert):
18280         * gst/gstutils.h:
18281         * tools/gst-inspect.c: (print_pad_info):
18282         * tools/gst-xmlinspect.c: (print_element_info):
18283         Remove old query functions. Ported old code.
18284         Added position/convert helper functions to gstutils.
18285         Reordered gstpad.c code, grouping relevant things.
18286         Remove gst_message_new(), always need to speficy a specific
18287         message.
18288
18289
18290 2005-05-09  Andy Wingo  <wingo@pobox.com>
18291
18292         * gst/gstiterator.h: Add some includes.
18293
18294         * gst/gstqueryutils.h: Include more headers.
18295
18296         * gst/gstpad.h:
18297         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
18298         some uses of gst_pad_query.
18299
18300         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
18301         NULL out parameters.
18302         (gst_query_new_position): New proc, allocates a new position
18303         query.
18304
18305         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
18306         gstqueryutils.c to the build.
18307
18308         * gst/gststructure.c (gst_structure_set_valist): Implement with
18309         the generic G_VALUE_COLLECT.
18310         
18311 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
18312
18313         * gst/Makefile.am: (gst_headers):
18314         Added gstqueryutils.h to the list of headers to install, that was
18315         a 'nachty' move wingo :)
18316
18317 2005-05-06  Andy Wingo  <wingo@pobox.com>
18318
18319         * gst/gstquery.h
18320         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
18321         GstData, init a memchunk.
18322         (standard_definitions): Add a few query types, deprecate a few.
18323         (gst_query_get_type): New proc.
18324         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
18325         implementation.
18326         (gst_query_new_application, gst_query_get_structure): New public
18327         procs.
18328
18329         * docs/design/draft-query.txt: Removed LINKS from the query types,
18330         because all the rest can be dispatched to other pads -- seemed
18331         ugly to have a query that couldn't be dispatched. internal_links
18332         is fine as a pad method.
18333
18334         * gst/gstpad.h: Add query2 as a pad method, add the new functions
18335         in gstpad.c, but maintain binary compatibility for the moment.
18336         Will fix before 0.9 is out.
18337
18338         * gst/gstqueryutils.c: 
18339         * gst/gstqueryutils.h: New files, implement 3 methods for each
18340         query type: parse_query, parse_response, and set. Probably need an
18341         allocator as well.
18342
18343         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
18344
18345         * gst/elements/gstfilesink.c (gst_filesink_query2):
18346         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
18347         query_types, and formats methods.
18348
18349         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
18350         (gst_pad_set_query2_function): New functions.
18351         (gst_real_pad_init): Set query2_default as the default query2
18352         function. Basically just dispatches to internally linked pads.
18353
18354         Needs review!
18355         
18356         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
18357         without using the atomic operations. Only one thread can possibly
18358         be accessing the data at this point. Changed so as to avoid
18359         gst_atomic operations.
18360
18361 2005-05-06  Wim Taymans  <wim@fluendo.com>
18362
18363         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
18364         Also set caps if we use the fallback buffer alloc.
18365
18366 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
18367
18368         * docs/gst/Makefile.am:
18369         * docs/gst/gstreamer-docs.sgml:
18370         * docs/gst/gstreamer-sections.txt:
18371         * docs/gst/tmpl/gstatomic.sgml:
18372         * docs/gst/tmpl/gstmemchunk.sgml:
18373         * testsuite/elements/struct_i386.h:
18374         * win32/GStreamer.vcproj:
18375         * win32/Makefile:
18376           Purge GstAtomic stuff from docs and win32 makefiles as well
18377
18378 2005-05-06  Wim Taymans  <wim@fluendo.com>
18379
18380         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
18381         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
18382         * gst/gstpad.c: (gst_pad_peer_get_caps):
18383         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
18384         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
18385         (gst_queue_src_activate), (gst_queue_change_state):
18386         * gst/gstqueue.h:
18387         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18388         (intersect_caps_func):
18389         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
18390         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
18391         Some fixes for the peer_get_caps() change.
18392
18393 2005-05-06  Wim Taymans  <wim@fluendo.com>
18394
18395         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
18396         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
18397         (gst_basesink_activate):
18398         Actually do something with error codes returned from the push
18399         functions.
18400
18401 2005-05-06  Wim Taymans  <wim@fluendo.com>
18402
18403         * docs/design/part-element-sink.txt:
18404         * docs/design/part-element-source.txt:
18405         * gst/base/gstbasesink.c: (gst_basesink_class_init),
18406         (gst_basesink_event), (gst_basesink_activate):
18407         * gst/base/gstbasesink.h:
18408         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
18409         (gst_basesrc_activate):
18410         * gst/base/gstbasesrc.h:
18411         * gst/gstelement.c: (gst_element_pads_activate):
18412         Some more documentation.
18413         Fixed scheduling decision in _pads_activate().
18414
18415 2005-05-05  Andy Wingo  <wingo@pobox.com>
18416
18417         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
18418         the test suite.
18419
18420 2005-05-05  Wim Taymans  <wim@fluendo.com>
18421
18422         * gst/base/Makefile.am:
18423         * gst/base/gstbasesink.h:
18424         * gst/base/gstbasesrc.c: (gst_basesrc_init),
18425         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
18426         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
18427         (gst_collectpads_class_init), (gst_collectpads_init),
18428         (gst_collectpads_finalize), (gst_collectpads_new),
18429         (gst_collectpads_set_function), (gst_collectpads_add_pad),
18430         (find_pad), (gst_collectpads_remove_pad),
18431         (gst_collectpads_is_active), (gst_collectpads_collect),
18432         (gst_collectpads_collect_range), (gst_collectpads_start),
18433         (gst_collectpads_stop), (gst_collectpads_peek),
18434         (gst_collectpads_pop), (gst_collectpads_available),
18435         (gst_collectpads_read), (gst_collectpads_flush),
18436         (gst_collectpads_chain):
18437         * gst/base/gstcollectpads.h:
18438         * gst/elements/Makefile.am:
18439         * gst/elements/gstelements.c:
18440         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
18441         (gst_fakesink_get_times), (gst_fakesink_event),
18442         (gst_fakesink_preroll), (gst_fakesink_render):
18443         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
18444         (gst_filesink_init), (gst_filesink_set_location),
18445         (gst_filesink_open_file), (gst_filesink_close_file),
18446         (gst_filesink_pad_query), (gst_filesink_event),
18447         (gst_filesink_render), (gst_filesink_change_state):
18448         * gst/elements/gstfilesink.h:
18449         Added object to help in making collect pad based elements.
18450         Ported filesink.
18451         Make event function in sink baseclass return gboolean.
18452
18453 2005-05-05  Wim Taymans  <wim@fluendo.com>
18454
18455         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
18456         (gst_bin_get_by_name):
18457         * gst/gstbuffer.h:
18458         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
18459         (gst_clock_finalize):
18460         * gst/gstdata.c: (gst_data_replace):
18461         * gst/gstdata.h:
18462         * gst/gstelement.c: (gst_element_request_pad),
18463         (gst_element_pads_activate):
18464         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
18465         (gst_object_unref):
18466         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18467         (gst_pad_set_checkgetrange_function),
18468         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
18469         (gst_pad_check_pull_range), (gst_pad_pull_range),
18470         (gst_static_pad_template_get_caps), (gst_pad_start_task),
18471         (gst_pad_pause_task), (gst_pad_stop_task):
18472         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
18473         (gst_element_request_pad), (gst_pad_proxy_getcaps):
18474         Fix name lookup in GstBin.
18475         Added _data_replace() function and _buffer_replace()
18476         Use finalize method to clean up clock.
18477         Fix refcounting on request pads.
18478         Fix pad schedule mode error.
18479         Some more object refcounting debug info,
18480
18481
18482 2005-05-04  Andy Wingo <wingo@pobox.com>
18483
18484         * check/Makefile.am:
18485         * docs/gst/tmpl/gstatomic.sgml:
18486         * docs/gst/tmpl/gstplugin.sgml:
18487         * gst/base/gstbasesink.c: (gst_basesink_activate):
18488         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
18489         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
18490         (gst_basesrc_query), (gst_basesrc_set_property),
18491         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
18492         (gst_basesrc_activate):
18493         * gst/base/gstbasesrc.h:
18494         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
18495         (gst_base_transform_src_activate):
18496         * gst/elements/gstelements.c:
18497         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18498         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
18499         * gst/elements/gsttee.c: (gst_tee_sink_activate):
18500         * gst/elements/gsttypefindelement.c: (find_element_get_length),
18501         (gst_type_find_element_checkgetrange),
18502         (gst_type_find_element_activate):
18503         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
18504         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
18505         (gst_caps_load_thyself):
18506         * gst/gstelement.c: (gst_element_pads_activate),
18507         (gst_element_save_thyself), (gst_element_restore_thyself):
18508         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
18509         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
18510         * gst/gstpad.h:
18511         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
18512         (gst_xml_parse_file), (gst_xml_parse_memory),
18513         (gst_xml_get_element), (gst_xml_make_element):
18514         * gst/indexers/gstfileindex.c: (gst_file_index_load),
18515         (_file_index_id_save_xml), (gst_file_index_commit):
18516         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
18517         (read_enum), (load_pad_template), (load_feature), (load_plugin),
18518         (load_paths):
18519         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
18520         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
18521         * tools/gst-complete.c: (main):
18522         * tools/gst-compprep.c: (main):
18523         * tools/gst-inspect.c: (print_element_properties_info):
18524         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
18525         * tools/gst-xmlinspect.c: (print_element_properties):
18526         GCC 4 fixen.
18527         
18528 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
18529
18530         * gst/gstplugin.c: (gst_plugin_check_module),
18531         (gst_plugin_check_file), (gst_plugin_load_file):
18532             apply patch from #172526 to make register work on MacOSX
18533
18534 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18535
18536         * docs/gst/tmpl/gstconfig.sgml:
18537         * gst/gstconfig.h.in:
18538           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
18539         * testsuite/debug/printf_extension.c: (main):
18540           Do not use GST_PTR_FORMAT on pointers to types with
18541           sizeof < sizeof(gpointer).  Fixes test on 64-bit
18542         * testsuite/elements/property.h:
18543           use correct printf format
18544
18545 2005-05-02  Wim Taymans  <wim@fluendo.com>
18546
18547         * docs/design/draft-push-pull.txt:
18548         * docs/design/draft-query.txt:
18549         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
18550         (gst_basesrc_start):
18551         Added draft for new query API.
18552         Added draft for better selecting scheduling methods.
18553         Make basesrc ignore length if the subclass does not support
18554         it.
18555
18556 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18557
18558         * gst/Makefile.am:
18559           possible fixes for automake-1.5 - _LIBADD is reserved
18560
18561 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18562
18563         * docs/faq/Makefile.am:
18564         * docs/manual/Makefile.am:
18565         * docs/manuals.mak:
18566         * docs/pwg/Makefile.am:
18567         * gst/Makefile.am:
18568           possible fixes for automake-1.5
18569
18570 2005-04-28  Wim Taymans  <wim@fluendo.com>
18571
18572         * gst/base/gstbasesink.c: (gst_basesink_base_init),
18573         (gst_basesink_pad_getcaps), (gst_basesink_init),
18574         (gst_basesink_do_sync):
18575         * gst/gstclock.c: (gst_clock_entry_new):
18576         * gst/gstevent.c: (gst_event_discont_get_value):
18577         * gst/gstpipeline.c: (pipeline_bus_handler),
18578         (gst_pipeline_change_state):
18579         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
18580         Better debugging of clocking info.
18581         Allow NULL values when getting discont values.
18582
18583 2005-04-27  Wim Taymans  <wim@fluendo.com>
18584
18585         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
18586         * check/gst/gstpad.c: (gst_pad_suite):
18587         Increase timeout for checks.
18588
18589 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18590
18591         * check/Makefile.am:
18592           fix the broken rule for cleanup.  Apparently this rule is
18593           only needed on FC2, so maybe this warrants further autotool
18594           inspection.
18595
18596 2005-04-26  Wim Taymans  <wim@fluendo.com>
18597
18598         * gst/gsttrashstack.h:
18599         Ooohh. a nasty one! After having a failed pop() from the stack,
18600         it's possible that the stack is empty. In that case, don't
18601         follow the NULL pointer.
18602
18603 2005-04-25  Wim Taymans  <wim@fluendo.com>
18604
18605         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18606         (gst_pad_set_checkgetrange_function),
18607         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
18608         (gst_pad_check_pull_range), (gst_pad_pull_range),
18609         (gst_static_pad_template_get_caps), (gst_pad_start_task),
18610         (gst_pad_pause_task), (gst_pad_stop_task):
18611         * gst/gstplugin.c: (gst_plugin_load):
18612         * gst/gstplugin.h:
18613         Remove gst_library_load as it does more harm than good with
18614         the new g_module flags.
18615         Revert bogus caps template check in pad linking, pad caps
18616         are important when linking not the template, which is more
18617         general than the current caps.
18618
18619 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18620
18621         * gst/autoplug/.cvsignore:
18622         * gst/autoplug/Makefile.am:
18623         * gst/autoplug/gstsearchfuncs.c:
18624         * gst/autoplug/gstsearchfuncs.h:
18625         * gst/autoplug/gstspider.c:
18626         * gst/autoplug/gstspider.h:
18627         * gst/autoplug/gstspideridentity.c:
18628         * gst/autoplug/gstspideridentity.h:
18629         * gst/autoplug/spidertest.c:
18630           Die, spider, die.
18631
18632 2005-04-25  Wim Taymans  <wim@fluendo.com>
18633
18634         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18635         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
18636         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
18637         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
18638         * gst/gstpad.h:
18639         Added stubs for unimplemented functions. 
18640
18641 2005-04-24  David Schleef  <ds@schleef.org>
18642
18643         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
18644         please fix.
18645
18646 2005-04-24  David Schleef  <ds@schleef.org>
18647
18648         Convert everything from GstAtomicInt to g_atomic_int_*, and
18649         remove gstatomic.
18650         * gst/Makefile.am:
18651         * gst/gstatomic.c:
18652         * gst/gstatomic.h:
18653         * gst/gstatomic_impl.h:
18654         * gst/gstbuffer.c:
18655         * gst/gstcaps.c:
18656         * gst/gstcaps.h:
18657         * gst/gstclock.c:
18658         * gst/gstclock.h:
18659         * gst/gstdata.c:
18660         * gst/gstdata.h:
18661         * gst/gstdata_private.h:
18662         * gst/gstevent.c:
18663         * gst/gstinfo.c:
18664         * gst/gstinfo.h:
18665         * gst/gstmessage.c:
18666         * gst/gstobject.c:
18667         * gst/gstobject.h:
18668         * gst/gststructure.c:
18669         * gst/gststructure.h:
18670         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
18671         * gst/gstutils.h:
18672
18673 2005-04-24  David Schleef  <ds@schleef.org>
18674
18675         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
18676         make the regressions tests work.  Remove some code that is no
18677         longer true.
18678         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
18679         Disable warning for pads without templates.
18680
18681 2005-04-24  David Schleef  <ds@schleef.org>
18682
18683         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
18684         functions that handle filtered links.
18685         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
18686         removed functions.
18687         * gst/gstutils.c: Fix/remove utility functions that handle
18688         filtered caps.
18689         * gst/gstutils.h:
18690         * gst/gstvalue.c: Add serialization/deserialization of caps
18691         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
18692         requires fixing so that the filter caps notation creates
18693         a capsfilter element and sets the filter_caps property.  I
18694         think everyone probably wants to keep the shorthand notation.
18695         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
18696         * docs/gst/tmpl/gstpad.sgml:
18697
18698         * gst/elements/gstelements.c: Register capsfilter element.
18699         * gst/Makefile.am: fix spacing
18700         * docs/random/ds/0.9-suggested-changes: random
18701
18702 2005-04-23  David Schleef  <ds@schleef.org>
18703
18704         * gst/elements/Makefile.am:
18705         * gst/elements/gstcapsfilter.c: New element that acts like an
18706         identity, but filters caps.  Will eventually replace filtered
18707         caps in pad linking.
18708         * gst/gstutils.c: (gst_element_create_all_pads): New function
18709         to create all the ALWAYS pads that are registered with an
18710         element class.  This functionality should eventually be
18711         merged in with GstElement initialization.
18712         * gst/gstutils.h:
18713         * testsuite/trigger/README: part of trigger test code that should
18714         have been checked in a long time ago.
18715
18716 2005-04-23  David Schleef  <ds@schleef.org>
18717
18718         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
18719         needed with new versions of libtool (nobody will confirm this),
18720         and hard to carry around.
18721         * gst/autoplug/Makefile.am:
18722         * gst/base/Makefile.am:
18723         * gst/elements/Makefile.am:
18724         * gst/indexers/Makefile.am:
18725         * gst/schedulers/Makefile.am:
18726         * libs/gst/bytestream/Makefile.am:
18727         * libs/gst/control/Makefile.am:
18728         * libs/gst/dataprotocol/Makefile.am:
18729         * libs/gst/getbits/Makefile.am:
18730
18731 2005-04-21  Wim Taymans  <wim@fluendo.com>
18732
18733         * docs/design/draft-push-pull.txt:
18734         * docs/design/part-MT-refcounting.txt:
18735         * docs/design/part-TODO.txt:
18736         * docs/design/part-caps.txt:
18737         * docs/design/part-events.txt:
18738         * docs/design/part-gstbus.txt:
18739         * docs/design/part-gstpipeline.txt:
18740         * docs/design/part-messages.txt:
18741         * docs/design/part-push-pull.txt:
18742         * docs/design/part-query.txt:
18743         Some more docs.
18744
18745 2005-04-21  Wim Taymans  <wim@fluendo.com>
18746
18747         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
18748         (gst_message_new), (gst_message_new_error),
18749         (gst_message_new_warning), (gst_message_new_tag),
18750         (gst_message_new_state_changed), (gst_message_new_application),
18751         (gst_message_get_structure):
18752         * gst/gstmessage.h:
18753         * gst/gststructure.c: (gst_structure_set_parent_refcount),
18754         (gst_structure_copy_conditional):
18755         Use parent refcount in GstMessage to ensure GstStructure
18756         consistency.
18757         Cleaned up headers a bit.
18758         
18759
18760 2005-04-20  Wim Taymans  <wim@fluendo.com>
18761
18762         * gst/base/gstbasesink.c: (gst_basesink_base_init),
18763         (gst_basesink_pad_getcaps), (gst_basesink_init),
18764         (gst_basesink_chain_unlocked):
18765         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
18766         (gst_type_find_helper):
18767         * gst/elements/gsttypefindelement.c:
18768         (gst_type_find_element_have_type), (gst_type_find_element_init),
18769         (stop_typefinding), (gst_type_find_element_handle_event),
18770         (find_suggest), (gst_type_find_element_chain),
18771         (gst_type_find_element_checkgetrange),
18772         (gst_type_find_element_getrange), (do_typefind),
18773         (gst_type_find_element_activate):
18774         * gst/gstbuffer.c: (_gst_buffer_sub_free),
18775         (gst_buffer_default_free), (gst_buffer_default_copy),
18776         (gst_buffer_set_caps):
18777         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
18778         (gst_caps_replace):
18779         * gst/gstmessage.c: (gst_message_new),
18780         (gst_message_new_state_changed):
18781         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18782         (gst_pad_set_checkgetrange_function),
18783         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
18784         (gst_pad_set_caps), (gst_pad_check_pull_range),
18785         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
18786         * gst/gstpad.h:
18787         * gst/gsttypefind.c: (gst_type_find_register):
18788         Make gst_caps_replace() work like other _replace() functions.
18789         Use _caps_replace() where possible.
18790         Make sure _message_new() initialises its field.
18791         Add gst_static_pad_template_get_caps()
18792
18793
18794 2005-04-18  Andy Wingo  <wingo@pobox.com>
18795
18796         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
18797         on the peer, not the pad. I think that was a typo. Pass an extra
18798         arg to see if random access is possible. Activate the pads as
18799         PULL_RANGE if possible.
18800
18801         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
18802
18803         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
18804         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
18805         to PROP_....
18806
18807 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18808
18809         * docs/faq/using.xml:
18810           Add note on gstreamer-properties (#154996).
18811
18812 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18813
18814         * docs/random/bbb/optional-properties:
18815           Some analysis on optional properties.
18816
18817 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18818
18819         * docs/gst/tmpl/gstelementfactory.sgml:
18820         * gst/gstelement.h:
18821         * gst/gstelementfactory.c: (gst_element_factory_init),
18822         (gst_element_factory_cleanup), (gst_element_register),
18823         (__gst_element_factory_add_static_pad_template),
18824         (gst_element_factory_get_static_pad_templates),
18825         (gst_element_factory_can_src_caps),
18826         (gst_element_factory_can_sink_caps):
18827         * gst/registries/Makefile.am:
18828         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
18829         (gst_xml_registry_class_init), (gst_xml_registry_init),
18830         (gst_xml_registry_new), (gst_xml_registry_set_property),
18831         (gst_xml_registry_get_property), (get_time), (make_dir),
18832         (gst_xml_registry_get_perms_func),
18833         (plugin_times_older_than_recurse), (plugin_times_older_than),
18834         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
18835         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
18836         (add_to_char_array), (read_string), (read_uint), (read_enum),
18837         (load_pad_template), (load_feature), (load_plugin), (load_paths),
18838         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
18839         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
18840         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
18841         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
18842         (gst_xml_registry_rebuild):
18843         * gst/registries/gstlibxmlregistry.h:
18844         * tools/gst-compprep.c: (main):
18845         * tools/gst-inspect.c: (print_pad_templates_info):
18846         * tools/gst-xmlinspect.c: (print_element_info):
18847           Use libxml2 for registry parsing, use staticpadtemplates in
18848           elementfactories. Makes gst_init() +/- 10x faster.
18849
18850 2005-04-12  Wim Taymans  <wim@fluendo.com>
18851
18852         * gst/base/Makefile.am:
18853         * gst/base/gstbasesink.c: (gst_basesink_base_init),
18854         (gst_basesink_pad_getcaps), (gst_basesink_init),
18855         (gst_basesink_event), (gst_basesink_change_state):
18856         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
18857         (gst_basesrc_init), (gst_basesrc_query),
18858         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
18859         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
18860         (gst_basesrc_check_get_range), (gst_basesrc_loop),
18861         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
18862         (gst_basesrc_stop), (gst_basesrc_activate),
18863         (gst_basesrc_change_state):
18864         * gst/base/gsttypefindhelper.c: (helper_find_peek),
18865         (helper_find_suggest), (gst_type_find_helper):
18866         * gst/base/gsttypefindhelper.h:
18867         * gst/elements/Makefile.am:
18868         * gst/elements/gstelements.c:
18869         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
18870         (gst_fakesink_get_times), (gst_fakesink_event),
18871         (gst_fakesink_preroll), (gst_fakesink_render):
18872         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18873         (gst_fakesrc_init), (gst_fakesrc_event_handler),
18874         (gst_fakesrc_get_property), (gst_fakesrc_create),
18875         (gst_fakesrc_start), (gst_fakesrc_stop):
18876         * gst/elements/gstfakesrc.h:
18877         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
18878         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
18879         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
18880         (gst_filesrc_create_read), (gst_filesrc_create),
18881         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
18882         (gst_filesrc_start):
18883         * gst/elements/gsttypefindelement.c:
18884         (gst_type_find_element_have_type), (gst_type_find_element_init),
18885         (start_typefinding), (stop_typefinding), (push_buffer_store),
18886         (gst_type_find_element_handle_event),
18887         (gst_type_find_element_chain),
18888         (gst_type_find_element_checkgetrange),
18889         (gst_type_find_element_getrange), (do_typefind),
18890         (gst_type_find_element_activate),
18891         (gst_type_find_element_change_state):
18892         * gst/elements/gsttypefindelement.h:
18893         * gst/gstpipeline.c: (pipeline_bus_handler):
18894         Added typefind helper.
18895         Small preroll fix in the base sink.
18896         Disable typefind code in basesrc.
18897         Crude port of typefindelement.
18898         Fakesrc cleanups.
18899
18900
18901 2005-04-11  Wim Taymans  <wim@fluendo.com>
18902
18903         * check/gst/gstbus.c: (gstbus_suite):
18904         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
18905         * check/gstcheck.h:
18906           Fix up the timeout so that the test does not fail.
18907
18908 2005-04-06  Wim Taymans  <wim@fluendo.com>
18909
18910         * gst/base/README:
18911         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
18912         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
18913         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
18914         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
18915         (gst_basesrc_check_get_range), (gst_basesrc_loop),
18916         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
18917         (gst_basesrc_stop), (gst_basesrc_activate),
18918         (gst_basesrc_change_state), (basesrc_find_peek),
18919         (basesrc_find_suggest), (gst_basesrc_type_find):
18920         * gst/base/gstbasesrc.h:
18921         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
18922         (gst_filesrc_class_init), (gst_filesrc_init),
18923         (gst_filesrc_finalize), (gst_filesrc_set_location),
18924         (gst_filesrc_set_property), (gst_filesrc_get_property),
18925         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
18926         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
18927         (gst_filesrc_create_read), (gst_filesrc_create),
18928         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
18929         * gst/elements/gstfilesrc.h:
18930         * gst/gstelement.c: (gst_element_get_state_func),
18931         (gst_element_lost_state), (gst_element_pads_activate):
18932         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
18933         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
18934         (gst_pad_pull_range):
18935         * gst/gstpad.h:
18936         More work on the generic source base class, implement seeking,
18937         query.
18938         Make filesrc extend the base source class.
18939         Added gst_pad_set_checkgetrange_function to GstPad.
18940
18941 2005-04-06  Andy Wingo  <wingo@pobox.com>
18942
18943         * pkgconfig/gstreamer-base.pc.in:
18944         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
18945
18946         * pkgconfig/Makefile.am:
18947         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
18948
18949 2005-04-04  Wim Taymans  <wim@fluendo.com>
18950
18951         * gst/base/Makefile.am:
18952         * gst/base/README:
18953         * gst/base/gstbasesink.c: (gst_basesink_base_init),
18954         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
18955         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
18956         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
18957         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
18958         (gst_basesrc_base_init), (gst_basesrc_class_init),
18959         (gst_basesrc_init), (gst_basesrc_get_formats),
18960         (gst_basesrc_get_query_types), (gst_basesrc_query),
18961         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
18962         (gst_basesrc_set_property), (gst_basesrc_get_property),
18963         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
18964         (gst_basesrc_loop), (gst_basesrc_activate),
18965         (gst_basesrc_change_state):
18966         * gst/base/gstbasesrc.h:
18967         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
18968         (gst_fakesrc_class_init), (gst_fakesrc_init),
18969         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
18970         (gst_fakesrc_get_property), (gst_fakesrc_create):
18971         * gst/elements/gstfakesrc.h:
18972         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
18973         (gst_filesrc_open_file), (gst_filesrc_loop),
18974         (gst_filesrc_activate), (filesrc_find_peek),
18975         (gst_filesrc_type_find):
18976         Made base source class, make fakesrc extend it.
18977         Add comments to basesink class.
18978         Some filesrc cleanup.
18979
18980 2005-03-31  David Schleef  <ds@schleef.org>
18981
18982         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
18983         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
18984         expected to link against libgstreamer.
18985         * gst/base/Makefile.am: link against libgstreamer
18986         * gst/elements/Makefile.am: same
18987
18988 2005-03-31  Andy Wingo  <wingo@pobox.com>
18989
18990         * tests/instantiate/Makefile.am:
18991         * tests/instantiate/caps.c: Add test to test speed of caps copy
18992         and free.
18993
18994         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
18995         GMemChunk to be fair.
18996
18997         * gst/gsttrashstack.h: Remove warning about using the fallback
18998         trash stack implementation, it's still faster than malloc.
18999
19000 2005-03-30  Andy Wingo  <wingo@pobox.com>
19001
19002         * tests/complexity.c: Add a copyright.
19003
19004 2005-03-31  Wim Taymans  <wim@fluendo.com>
19005
19006         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
19007         (gst_base_transform_class_init), (gst_base_transform_init),
19008         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
19009         (gst_base_transform_get_property),
19010         (gst_base_transform_sink_activate),
19011         (gst_base_transform_src_activate),
19012         (gst_base_transform_change_state):
19013         * gst/base/gstbasetransform.h:
19014         * gst/elements/gstidentity.c: (gst_identity_class_init),
19015         (gst_identity_event), (gst_identity_check_perfect),
19016         (gst_identity_transform), (gst_identity_start),
19017         (gst_identity_stop):
19018         Added start/stop methods to transform base class so subclasses 
19019         don't need to deal with state changes even.
19020
19021 2005-03-31  Wim Taymans  <wim@fluendo.com>
19022
19023         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
19024         (gst_event_new_discontinuous), (gst_event_discont_get_value):
19025         * gst/gstevent.h:
19026         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19027         (gst_pad_pull_range):
19028         Added rate to the discont event to prepare for variable speed
19029         and reverse playback.
19030
19031 2005-03-29  David Schleef  <ds@schleef.org>
19032
19033         * configure.ac:
19034         * testsuite/trigger/Makefile.am:
19035         * testsuite/trigger/trigger.c: A little example program to show
19036         how trigger-based elements can work.
19037
19038 2005-03-29  Wim Taymans  <wim@fluendo.com>
19039
19040         * gst/base/Makefile.am:
19041         * gst/base/README:
19042         * gst/base/gstbasesink.c: (gst_basesink_get_type),
19043         (gst_basesink_base_init), (gst_basesink_class_init),
19044         (gst_basesink_pad_getcaps), (gst_basesink_init),
19045         (gst_basesink_activate), (gst_basesink_change_state):
19046         * gst/base/gstbasesink.h:
19047         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
19048         (gst_base_transform_base_init), (gst_base_transform_finalize),
19049         (gst_base_transform_class_init), (gst_base_transform_init),
19050         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
19051         (gst_base_transform_event), (gst_base_transform_getrange),
19052         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
19053         (gst_base_transform_set_property),
19054         (gst_base_transform_get_property),
19055         (gst_base_transform_sink_activate),
19056         (gst_base_transform_src_activate),
19057         (gst_base_transform_change_state):
19058         * gst/base/gstbasetransform.h:
19059         * gst/elements/gstidentity.c: (gst_identity_finalize),
19060         (gst_identity_class_init), (gst_identity_init),
19061         (gst_identity_event), (gst_identity_check_perfect),
19062         (gst_identity_transform), (gst_identity_set_property),
19063         (gst_identity_get_property), (gst_identity_change_state):
19064         * gst/elements/gstidentity.h:
19065         * gst/gstelement.c: (gst_element_get_state_func),
19066         (gst_element_lost_state), (gst_element_pads_activate):
19067         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19068         (gst_pad_check_pull_range), (gst_pad_pull_range):
19069         * gst/gstpad.h:
19070         Simplify pad activation.
19071         Added function to check if pull_range can be performed.
19072         Error out when pulling inactive or flushing pads.
19073         Removed const from refcounted types as it does not make sense.
19074         Simplify pad templates in basesink
19075         Added base class for simple 1-to-1 transforms.
19076         Make identity subclass the base transform.
19077
19078 2005-03-29  Andy Wingo  <wingo@pobox.com>
19079
19080         * docs/libs/gstreamer-libs-overrides.txt: 
19081         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
19082         really don't understand what's going on, but like whatever. I want
19083         green buildbot!
19084
19085         * docs/gst/Makefile.am:
19086         * docs/libs/Makefile.am: Dist the overrides files.
19087
19088         * check/Makefile.am (clean-local): Remove .libs directories.
19089
19090         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
19091         elements to EXTRA_DIST, so po/ files are happy.
19092
19093         * po/POTFILES.in: Er, remove it here.
19094
19095         * po/POTFILES: Remove gstspider.c.
19096
19097         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
19098
19099         * docs/libs/gstreamer-libs-docs.sgml: 
19100         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
19101         bytestream.
19102
19103         * tests/complexity.c (main): Set the length of the preroll queue
19104         on the sinks to prevent a lockup.
19105
19106         * libs/gst/dataprotocol/Makefile.am: 
19107         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
19108         the same as the one in check/gst-libs/gdp.c.
19109
19110         * po/, docs/gst/: Commit automatic changes to docs and po files.
19111
19112         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
19113         the versioned libgstbase.
19114
19115         * check/Makefile.am: Depend on an unversioned gst-register, seems
19116         to make autoconf happier.
19117
19118         * gst/base/Makefile.am: Make libgstbase a versioned lib.
19119
19120 2005-03-28  Wim Taymans  <wim@fluendo.com>
19121
19122         * configure.ac:
19123         * docs/design/part-gstelement.txt:
19124         * docs/design/part-negotiation.txt:
19125         * docs/design/part-preroll.txt:
19126         * docs/design/part-scheduling.txt:
19127         * docs/design/part-states.txt:
19128         * gst/Makefile.am:
19129         * gst/base/Makefile.am:
19130         * gst/base/README:
19131         * gst/base/gstbasesink.c: (gst_basesink_get_template),
19132         (gst_basesink_base_init), (gst_basesink_class_init),
19133         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
19134         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
19135         (gst_basesink_set_pad_functions),
19136         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
19137         (gst_basesink_set_property), (gst_basesink_get_property),
19138         (gst_base_sink_get_template), (gst_base_sink_get_caps),
19139         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
19140         (gst_basesink_preroll_queue_push),
19141         (gst_basesink_preroll_queue_empty),
19142         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
19143         (gst_basesink_event), (gst_basesink_get_times),
19144         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
19145         (gst_basesink_chain_unlocked), (gst_basesink_chain),
19146         (gst_basesink_loop), (gst_basesink_activate),
19147         (gst_basesink_change_state):
19148         * gst/base/gstbasesink.h:
19149         * gst/elements/Makefile.am:
19150         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
19151         (gst_fakesink_class_init), (gst_fakesink_init),
19152         (gst_fakesink_set_property), (gst_fakesink_get_property),
19153         (gst_fakesink_get_times), (gst_fakesink_event),
19154         (gst_fakesink_preroll), (gst_fakesink_render),
19155         (gst_fakesink_change_state):
19156         * gst/elements/gstfakesink.h:
19157         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
19158         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
19159         * gst/gstelement.c: (gst_element_add_pad),
19160         (gst_element_get_state_func), (gst_element_abort_state),
19161         (gst_element_commit_state), (gst_element_lost_state),
19162         (gst_element_set_state), (gst_element_pads_activate):
19163         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
19164         * gst/gstpipeline.c: (gst_pipeline_send_event),
19165         (gst_pipeline_change_state):
19166         Added state change code.
19167         Added/updated docs.
19168         Added sink base class, make fakesink extend the base class.
19169         Small cleanups in GstPipeline.
19170
19171 2005-03-26  David Schleef  <ds@schleef.org>
19172
19173         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
19174         is broken and should be implemented in a different library.
19175         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
19176         * gst/gst.h: remove gstcpu.h
19177         * gst/gstcpu.c: remove
19178         * gst/gstcpu.h: remove
19179         * gst/Makefile.am.future: Remove this file.  It's ancient.
19180
19181 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19182
19183         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
19184         (gst_bin_send_event):
19185           Add default event/set_manager handlers. The set_manager handler
19186           takes care that the manager is distributed over kids that were
19187           already in the bin before the manager was set. The event handler
19188           is a utility virtual function that sends the event over all sinks,
19189           so that gst_element_send_event (bin, event); has the expected
19190           behaviour.
19191         * gst/gstpad.c: (gst_pad_event_default):
19192           Re-install default event handling for discontinuities, so that
19193           seeking works without requiring hacks in applications or extra
19194           code in sinks.
19195         * gst/gstpipeline.c: (gst_pipeline_class_init),
19196         (gst_pipeline_send_event):
19197           Half hack, half utility: set a pipeline to PAUSED for seek events,
19198           since that is the only way we can guarantee a/v sync. Means that
19199           you can do gst_element_seek (pipeline, method, pos); on a pipeline
19200           and it "just works".
19201
19202 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19203
19204         * gst/gstpipeline.c: (gst_pipeline_use_clock):
19205           Lock/unlock mismatch.
19206
19207 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
19208
19209         * docs/faq/gst-uninstalled:
19210           add gst-plugins-base
19211         * docs/gst/Makefile.am:
19212           don't error out until docs are fixed
19213         * docs/gst/gstreamer.types:
19214           remove thread
19215
19216 2005-03-22  Wim Taymans  <wim@fluendo.com>
19217
19218         * check/Makefile.am:
19219         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
19220         * gst/gststructure.c: (gst_structure_set_valist),
19221         (gst_structure_copy_conditional):
19222         Activated more tests.
19223         Added message test.
19224         Added G_TYPE_POINTER to GstStructure.
19225         
19226
19227 2005-03-22  Wim Taymans  <wim@fluendo.com>
19228
19229         * docs/design/part-TODO.txt:
19230         * docs/design/part-events.txt:
19231         * docs/design/part-gstbin.txt:
19232         * docs/design/part-gstbus.txt:
19233         * docs/design/part-gstpipeline.txt:
19234         * docs/design/part-messages.txt:
19235         * gst/gstbus.c:
19236         * gst/gstmessage.c:
19237         Docs updates
19238
19239 2005-03-21  Wim Taymans  <wim@fluendo.com>
19240
19241         * gst/gstbus.c: (gst_bus_post):
19242         Fix copy-and-paste error.
19243
19244 2005-03-21  Wim Taymans  <wim@fluendo.com>
19245
19246         * check/Makefile.am:
19247         * gst/Makefile.am:
19248         * gst/elements/Makefile.am:
19249         * gst/elements/gstelements.c:
19250         * gst/elements/gstfakesink.c: (gst_fakesink_init),
19251         (gst_fakesink_event), (gst_fakesink_chain):
19252         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19253         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
19254         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
19255         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
19256         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
19257         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
19258         (gst_fakesrc_loop), (gst_fakesrc_activate),
19259         (gst_fakesrc_change_state):
19260         * gst/elements/gstfakesrc.h:
19261         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
19262         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
19263         (gst_filesrc_open_file), (gst_filesrc_loop),
19264         (gst_filesrc_activate), (gst_filesrc_change_state),
19265         (filesrc_find_peek), (filesrc_find_suggest),
19266         (gst_filesrc_type_find):
19267         * gst/elements/gstidentity.c: (gst_identity_finalize),
19268         (gst_identity_class_init), (gst_identity_init),
19269         (gst_identity_proxy_getcaps), (identity_queue_push),
19270         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
19271         (gst_identity_getrange), (gst_identity_chain),
19272         (gst_identity_sink_loop), (gst_identity_src_loop),
19273         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
19274         (gst_identity_set_property), (gst_identity_get_property),
19275         (gst_identity_change_state):
19276         * gst/elements/gstidentity.h:
19277         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
19278         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
19279         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
19280         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
19281         (gst_tee_sink_activate):
19282         * gst/elements/gsttee.h:
19283         * gst/gst.c: (gst_register_core_elements), (init_post):
19284         * gst/gst.h:
19285         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
19286         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
19287         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
19288         (gst_bin_change_state):
19289         * gst/gstbin.h:
19290         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
19291         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
19292         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
19293         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
19294         (gst_bus_set_sync_handler), (gst_bus_create_watch),
19295         (bus_watch_callback), (bus_watch_destroy),
19296         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
19297         (poll_timeout), (gst_bus_poll):
19298         * gst/gstbus.h:
19299         * gst/gstcaps.h:
19300         * gst/gstdata.h:
19301         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
19302         (gst_element_post_message), (gst_element_message_full),
19303         (gst_element_get_state_func), (gst_element_get_state),
19304         (gst_element_abort_state), (gst_element_commit_state),
19305         (gst_element_lost_state), (gst_element_set_state),
19306         (gst_element_pads_activate), (gst_element_change_state),
19307         (gst_element_dispose), (gst_element_set_manager_func),
19308         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
19309         (gst_element_set_manager), (gst_element_get_manager),
19310         (gst_element_set_bus), (gst_element_get_bus),
19311         (gst_element_set_scheduler), (gst_element_get_scheduler):
19312         * gst/gstelement.h:
19313         * gst/gstevent.c: (gst_event_new_segment_seek),
19314         (gst_event_new_flush):
19315         * gst/gstevent.h:
19316         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
19317         (_gst_message_free), (gst_message_get_type), (gst_message_new),
19318         (gst_message_new_eos), (gst_message_new_error),
19319         (gst_message_new_warning), (gst_message_new_tag),
19320         (gst_message_new_state_changed), (gst_message_new_application),
19321         (gst_message_get_structure), (gst_message_parse_tag),
19322         (gst_message_parse_state_changed), (gst_message_parse_error),
19323         (gst_message_parse_warning):
19324         * gst/gstmessage.h:
19325         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
19326         (gst_real_pad_set_property), (gst_pad_set_active),
19327         (gst_pad_is_active), (gst_pad_set_blocked_async),
19328         (gst_pad_set_blocked), (gst_pad_is_blocked),
19329         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
19330         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
19331         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
19332         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
19333         (gst_pad_link_filtered), (gst_pad_relink_filtered),
19334         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
19335         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
19336         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
19337         (gst_pad_set_caps), (gst_pad_configure_sink),
19338         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
19339         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
19340         (gst_real_pad_dispose), (gst_real_pad_finalize),
19341         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
19342         (gst_pad_event_default_dispatch), (gst_pad_event_default),
19343         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
19344         * gst/gstpad.h:
19345         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
19346         (pipeline_bus_handler), (gst_pipeline_change_state),
19347         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
19348         * gst/gstpipeline.h:
19349         * gst/gstprobe.h:
19350         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
19351         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
19352         (gst_queue_link_src), (gst_queue_bufferalloc),
19353         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
19354         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
19355         (gst_queue_loop), (gst_queue_handle_src_event),
19356         (gst_queue_handle_src_query), (gst_queue_src_activate),
19357         (gst_queue_change_state):
19358         * gst/gstqueue.h:
19359         * gst/gstscheduler.c: (gst_scheduler_init),
19360         (gst_scheduler_dispose), (gst_scheduler_create_task),
19361         (gst_scheduler_factory_create):
19362         * gst/gstscheduler.h:
19363         * gst/gststructure.c: (gst_structure_get_type),
19364         (gst_structure_copy_conditional):
19365         * gst/gststructure.h:
19366         * gst/gsttaginterface.h:
19367         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
19368         (gst_task_init), (gst_task_dispose), (gst_task_create),
19369         (gst_task_get_state), (gst_task_start), (gst_task_stop),
19370         (gst_task_pause):
19371         * gst/gsttask.h:
19372         * gst/gstthread.c:
19373         * gst/gstthread.h:
19374         * gst/gsttypes.h:
19375         * gst/schedulers/Makefile.am:
19376         * gst/schedulers/cothreads_compat.h:
19377         * gst/schedulers/entryscheduler.c:
19378         * gst/schedulers/faircothreads.c:
19379         * gst/schedulers/faircothreads.h:
19380         * gst/schedulers/fairscheduler.c:
19381         * gst/schedulers/gstbasicscheduler.c:
19382         * gst/schedulers/gstoptimalscheduler.c:
19383         * gst/schedulers/gthread-cothreads.h:
19384         * gst/schedulers/threadscheduler.c:
19385         (gst_thread_scheduler_task_get_type),
19386         (gst_thread_scheduler_task_class_init),
19387         (gst_thread_scheduler_task_init),
19388         (gst_thread_scheduler_task_start),
19389         (gst_thread_scheduler_task_stop),
19390         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
19391         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
19392         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
19393         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
19394         (plugin_init):
19395         * libs/gst/Makefile.am:
19396         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
19397         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
19398         (gst_file_pad_parent_set):
19399         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
19400         (gst_dp_event_from_packet):
19401         * tests/complexity.c: (main):
19402         * tests/mass_elements.c: (main):
19403         * testsuite/states/locked.c: (message_received), (main):
19404         * testsuite/states/parent.c: (main):
19405         * tools/gst-inspect.c: (print_element_flag_info),
19406         (print_implementation_info), (print_pad_info):
19407         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
19408         (main):
19409         * tools/gst-md5sum.c: (event_loop), (main):
19410         * tools/gst-typefind.c: (main):
19411         * tools/gst-xmlinspect.c: (print_element_info):
19412         Next big merge.
19413         Added GstBus for mainloop integration.
19414         Added GstMessage for sending notifications on the bus.
19415         Added GstTask as an abstraction for pipeline entry points.
19416         Removed GstThread.
19417         Removed Schedulers.
19418         Simplified GstQueue for multithreaded core.
19419         Made _link threadsafe, removed old capsnego.
19420         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
19421         Added pad blocking functions.
19422         Reworked scheduling functions in GstPad to prepare for
19423         scheduling updates soon.
19424         Moved events out of data stream.
19425         Simplified GstEvent types.
19426         Added return values to push/pull.
19427         Removed clocking from GstElement.
19428         Added prototypes for state change function for next merge.
19429         Removed iterate from bins and state change management.
19430         Fixed some elements, disabled others for now.
19431         Fixed -inspect and -launch.
19432         Added check for GstBus.
19433
19434 2005-03-10  Wim Taymans  <wim@fluendo.com>
19435
19436         * docs/design/part-MT-refcounting.txt:
19437         * docs/design/part-clocks.txt:
19438         * docs/design/part-gstelement.txt:
19439         * docs/design/part-gstobject.txt:
19440         * docs/design/part-standards.txt:
19441         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19442         (gst_bin_remove_func), (gst_bin_remove):
19443         * gst/gstbin.h:
19444         * gst/gstbuffer.c:
19445         * gst/gstcaps.h:
19446         * testsuite/clock/clock1.c: (main):
19447         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
19448         (main):
19449         * testsuite/dlopen/loadgst.c: (do_test):
19450         * testsuite/refcounting/bin.c: (add_remove_test1),
19451         (add_remove_test2), (main):
19452         * testsuite/refcounting/element.c: (main):
19453         * testsuite/refcounting/element_pad.c: (main):
19454         * testsuite/refcounting/pad.c: (main):
19455         * tools/gst-launch.c: (sigint_handler_sighandler):
19456         * tools/gst-typefind.c: (main):
19457         Doc updates.
19458         Added doc about clock.
19459         removed gst_bin_iterate_recurse_up(), marked methods
19460         for removal.
19461         Fix more testsuites.
19462
19463 2005-03-09  Wim Taymans  <wim@fluendo.com>
19464
19465         * gst/gstpad.c: (gst_pad_get_direction),
19466         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
19467         (gst_pad_collect_valist):
19468         * testsuite/bins/interface.c: (main):
19469         * testsuite/caps/audioscale.c: (test_caps):
19470         * testsuite/caps/caps.c: (test1), (test2), (test3):
19471         * testsuite/caps/deserialize.c: (main):
19472         * testsuite/caps/enumcaps.c: (main):
19473         * testsuite/caps/filtercaps.c: (main):
19474         * testsuite/caps/intersect2.c: (main):
19475         * testsuite/caps/random.c: (main):
19476         * testsuite/caps/renegotiate.c: (my_fixate), (main):
19477         * testsuite/caps/sets.c: (check_caps):
19478         * testsuite/caps/simplify.c: (check_caps), (main):
19479         * testsuite/caps/subtract.c: (check_caps):
19480         Fix _pad_get_direction wrt ghostpads.
19481         Fix caps testsuite.
19482
19483 2005-03-09  Wim Taymans  <wim@fluendo.com>
19484
19485         * check/Makefile.am:
19486         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
19487         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
19488         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
19489         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
19490         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
19491         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
19492         (gst_bin_remove), (gst_bin_iterate_recurse_up),
19493         (bin_element_is_sink), (gst_bin_iterate_sinks),
19494         (gst_bin_iterate_all_by_interface):
19495         * gst/gstbin.h:
19496         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
19497         (gst_element_change_state), (gst_element_dispose),
19498         (gst_element_finalize), (gst_element_set_loop_function):
19499         * gst/gstelement.h:
19500         * gst/gstiterator.c: (find_custom_fold_func):
19501         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
19502         (gst_pad_collectv), (gst_pad_collect_valist),
19503         (gst_pad_template_new):
19504         * gst/gstpipeline.c: (gst_pipeline_class_init),
19505         (gst_pipeline_dispose), (gst_pipeline_set_property),
19506         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
19507         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
19508         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
19509         * gst/gstutils.h:
19510         * gst/schedulers/entryscheduler.c:
19511         * gst/schedulers/gstbasicscheduler.c:
19512         (gst_basic_scheduler_cothreaded_chain),
19513         (gst_basic_scheduler_chain_add_element):
19514         * testsuite/bins/interface.c: (main):
19515         Added GstBin test.
19516         Added GstSystemClock test.
19517         Implemented clock distribution code in GstBin.
19518         Implemented iterate sinks method for future use.
19519         Rearranged gstelement.h
19520         Fix GstIterator comparison bug.
19521         Moved some code to GstPipeline, mostly clocking related.
19522
19523 2005-03-09  Wim Taymans  <wim@fluendo.com>
19524
19525         * configure.ac:
19526         * gst/gst_private.h:
19527         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19528         (gst_bin_remove_func), (gst_bin_remove),
19529         (gst_bin_get_by_name_recurse_up):
19530         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
19531         (gst_clock_id_compare_func), (gst_clock_id_wait),
19532         (gst_clock_id_wait_async), (gst_clock_init),
19533         (gst_clock_adjust_unlocked), (gst_clock_get_time):
19534         * gst/gstelement.h:
19535         * gst/gstinfo.c: (_gst_debug_init):
19536         * gst/gstobject.h:
19537         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
19538         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
19539         * gst/gstpad.h:
19540         Bump version number, we're now 0.9.0
19541         Add future debugging category.
19542         Fix NULL _unref() in _get_by_name_recurse_up
19543         Rearrange gstpad.h.
19544         Update some docs.
19545
19546 2005-03-08  Wim Taymans  <wim@fluendo.com>
19547
19548         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
19549         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
19550         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
19551         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
19552         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
19553         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
19554         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
19555         * gst/elements/gstidentity.c: (gst_identity_class_init):
19556         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
19557         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
19558         * gst/elements/gstshaper.c: (gst_shaper_class_init):
19559         * gst/elements/gststatistics.c: (gst_statistics_class_init):
19560         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
19561         (gst_tee_link):
19562         * gst/gstelement.c: (gst_element_class_init),
19563         (gst_element_base_class_init), (gst_element_init),
19564         (gst_element_get_random_pad), (gst_element_wait_state_change),
19565         (gst_element_change_state), (gst_element_dispose),
19566         (gst_element_finalize), (gst_element_set_loop_function):
19567         * gst/gstelement.h:
19568         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
19569         * gst/gstthread.c: (gst_thread_class_init),
19570         (gst_thread_release_children_locks), (gst_thread_change_state):
19571         * gst/schedulers/gstbasicscheduler.c:
19572         (gst_basic_scheduler_loopfunc_wrapper),
19573         (gst_basic_scheduler_chain_wrapper),
19574         (gst_basic_scheduler_src_wrapper),
19575         (gst_basic_scheduler_remove_element):
19576         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
19577         Remove threadsafe properties. Fix elements because GObject
19578         complains when installing a property before declaring a
19579         set/get_property handler.
19580         Rearrange gstelement.h file, use STATE macros for state locks.
19581         Free mutexes in the finalize method instead of dispose.
19582
19583 2005-03-08  Wim Taymans  <wim@fluendo.com>
19584
19585         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
19586         * gst/gstthread.c: (gst_thread_release_children_locks):
19587         Added parentage check.
19588         Fix build og GstThread again.
19589
19590 2005-03-08  Wim Taymans  <wim@fluendo.com>
19591
19592         * docs/design/part-MT-refcounting.txt:
19593         * docs/design/part-conventions.txt:
19594         * docs/design/part-gstobject.txt:
19595         * docs/design/part-relations.txt:
19596         * docs/design/part-standards.txt:
19597         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
19598         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
19599         (gst_bin_get_by_name), (gst_bin_get_by_interface),
19600         (gst_bin_iterate_all_by_interface):
19601         * gst/gstbuffer.h:
19602         * gst/gstclock.h:
19603         * gst/gstelement.c: (gst_element_class_init),
19604         (gst_element_change_state), (gst_element_set_loop_function):
19605         * gst/gstelement.h:
19606         * gst/gstiterator.c:
19607         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
19608         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
19609         (gst_object_dispatch_properties_changed), (gst_object_set_name),
19610         (gst_object_set_parent), (gst_object_unparent),
19611         (gst_object_check_uniqueness):
19612         * gst/gstobject.h:
19613         Docs updates, clean up some headers.
19614
19615 2005-03-07  Wim Taymans  <wim@fluendo.com>
19616
19617         * check/.cvsignore:
19618         * check/Makefile.am:
19619         * check/gst-libs/.cvsignore:
19620         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
19621         * check/gst/.cvsignore:
19622         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
19623         (START_TEST), (gstbus_suite), (main):
19624         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
19625         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
19626         (gst_data_suite), (main):
19627         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
19628         (add_fold_func), (gstiterator_suite), (main):
19629         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
19630         (thread_name_object), (thread_name_object_default),
19631         (gst_object_name_compare), (gst_object_suite), (main):
19632         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
19633         (gst_pad_suite), (main):
19634         * check/gstcheck.c: (gst_check_log_message_func),
19635         (gst_check_log_critical_func), (gst_check_init):
19636         * check/gstcheck.h:
19637         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19638         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
19639         Added checks.
19640
19641 2005-03-07  Wim Taymans  <wim@fluendo.com>
19642
19643         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
19644         (gst_list_iterator_next), (gst_list_iterator_resync),
19645         (gst_list_iterator_free), (gst_iterator_new_list),
19646         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
19647         (gst_iterator_free), (gst_iterator_push), (filter_next),
19648         (filter_resync), (filter_uninit), (filter_free),
19649         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
19650         (gst_iterator_foreach), (find_custom_fold_func),
19651         (gst_iterator_find_custom):
19652         * gst/gstiterator.h:
19653         Added missing files.
19654
19655 2005-03-07  Wim Taymans  <wim@fluendo.com>
19656
19657         * Makefile.am:
19658         * configure.ac:
19659         * docs/design/part-MT-refcounting.txt:
19660         * docs/design/part-conventions.txt:
19661         * docs/design/part-gstobject.txt:
19662         * docs/design/part-relations.txt:
19663         * examples/mixer/mixer.c: (main):
19664         * examples/thread/thread.c: (eos), (main):
19665         * gst/Makefile.am:
19666         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
19667         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
19668         (gst_spider_plug_from_srcpad):
19669         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
19670         (gst_spider_identity_change_state),
19671         (gst_spider_identity_sink_loop_type_finding):
19672         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
19673         * gst/elements/gstidentity.c: (gst_identity_init):
19674         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
19675         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
19676         * gst/elements/gsttypefindelement.c: (free_entry):
19677         * gst/gst.c:
19678         * gst/gst.h:
19679         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
19680         (gst_bin_set_clock_func), (gst_bin_auto_clock),
19681         (gst_bin_set_index), (gst_bin_set_element_sched),
19682         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
19683         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
19684         (gst_bin_iterate_elements), (iterate_child_recurse),
19685         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
19686         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
19687         (compare_interface), (gst_bin_get_by_interface),
19688         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
19689         * gst/gstbin.h:
19690         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
19691         (gst_buffer_default_free), (gst_buffer_default_copy),
19692         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
19693         (gst_buffer_create_sub):
19694         * gst/gstbuffer.h:
19695         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
19696         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
19697         (gst_caps_unref), (gst_static_caps_get),
19698         (gst_caps_remove_and_get_structure), (gst_caps_append),
19699         (gst_caps_append_structure), (gst_caps_remove_structure),
19700         (gst_caps_copy_nth), (gst_caps_set_simple),
19701         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
19702         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
19703         (gst_caps_structure_intersect_field), (gst_caps_intersect),
19704         (gst_caps_structure_subtract_field), (gst_caps_subtract),
19705         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
19706         (gst_caps_structure_figure_out_union),
19707         (gst_caps_switch_structures), (gst_caps_do_simplify),
19708         (gst_caps_replace), (gst_caps_from_string),
19709         (gst_caps_copy_conditional):
19710         * gst/gstcaps.h:
19711         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
19712         (_gst_clock_id_free), (gst_clock_id_unref),
19713         (gst_clock_id_compare_func), (gst_clock_id_wait),
19714         (gst_clock_id_wait_async), (gst_clock_class_init),
19715         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
19716         (gst_clock_get_time), (gst_clock_set_time_adjust),
19717         (gst_clock_set_property), (gst_clock_get_property):
19718         * gst/gstclock.h:
19719         * gst/gstcompat.h:
19720         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
19721         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
19722         * gst/gstdata.h:
19723         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
19724         (gst_element_requires_clock), (gst_element_provides_clock),
19725         (gst_element_set_clock), (gst_element_clock_wait),
19726         (gst_element_wait), (gst_element_set_time_delay),
19727         (gst_element_is_indexable), (gst_element_add_pad),
19728         (gst_element_add_ghost_pad), (gst_element_remove_pad),
19729         (pad_compare_name), (gst_element_get_static_pad),
19730         (gst_element_request_pad), (gst_element_get_request_pad),
19731         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
19732         (gst_element_class_get_pad_template_list),
19733         (gst_element_class_get_pad_template), (gst_element_error_func),
19734         (gst_element_get_random_pad), (gst_element_get_event_masks),
19735         (gst_element_send_event), (gst_element_seek),
19736         (gst_element_get_query_types), (gst_element_query),
19737         (gst_element_get_formats), (gst_element_convert),
19738         (gst_element_is_locked_state), (gst_element_set_locked_state),
19739         (gst_element_sync_state_with_parent), (gst_element_change_state),
19740         (gst_element_finalize), (gst_element_yield),
19741         (gst_element_interrupt), (gst_element_set_scheduler),
19742         (gst_element_get_scheduler), (gst_element_set_loop_function):
19743         * gst/gstelement.h:
19744         * gst/gstevent.h:
19745         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
19746         (gst_format_get_by_nick), (gst_format_get_details),
19747         (gst_format_iterate_definitions):
19748         * gst/gstformat.h:
19749         * gst/gstindex.c: (gst_index_gtype_resolver):
19750         * gst/gstinfo.c:
19751         * gst/gstinfo.h:
19752         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
19753         (gst_mem_chunk_free):
19754         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
19755         (gst_object_ref), (gst_object_unref), (gst_object_sink),
19756         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
19757         (gst_object_dispatch_properties_changed),
19758         (gst_object_set_name_default), (gst_object_set_name),
19759         (gst_object_get_name), (gst_object_set_name_prefix),
19760         (gst_object_get_name_prefix), (gst_object_set_parent),
19761         (gst_object_get_parent), (gst_object_unparent),
19762         (gst_object_check_uniqueness), (gst_object_save_thyself),
19763         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
19764         (gst_object_set_property), (gst_object_get_property),
19765         (gst_object_get_path_string):
19766         * gst/gstobject.h:
19767         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
19768         (gst_real_pad_init), (gst_real_pad_get_property),
19769         (gst_pad_custom_new), (gst_pad_get_direction),
19770         (gst_pad_set_active), (gst_pad_is_active),
19771         (gst_pad_set_event_function), (gst_pad_is_linked),
19772         (gst_pad_link_free), (gst_pad_link_intersect),
19773         (gst_pad_link_fixate), (gst_pad_set_caps),
19774         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
19775         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
19776         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
19777         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
19778         (gst_pad_get_caps), (gst_pad_peer_get_caps),
19779         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
19780         (gst_pad_realize), (gst_pad_get_allowed_caps),
19781         (gst_real_pad_dispose), (gst_real_pad_finalize),
19782         (gst_pad_collectv), (gst_pad_collect_valist),
19783         (gst_pad_template_dispose), (gst_pad_template_new),
19784         (gst_pad_get_internal_links):
19785         * gst/gstpad.h:
19786         * gst/gstpipeline.c: (gst_pipeline_dispose),
19787         (gst_pipeline_change_state):
19788         * gst/gstpipeline.h:
19789         * gst/gstplugin.c:
19790         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
19791         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
19792         * gst/gstpluginfeature.h:
19793         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
19794         * gst/gstquery.c: (_gst_query_type_initialize),
19795         (gst_query_type_register), (gst_query_type_get_by_nick),
19796         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
19797         * gst/gstquery.h:
19798         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
19799         * gst/gstscheduler.c: (gst_scheduler_add_element),
19800         (gst_scheduler_factory_create):
19801         * gst/gststructure.c: (gst_structure_set_parent_refcount),
19802         (gst_structure_free), (gst_structure_set_name),
19803         (gst_structure_id_set_value), (gst_structure_set_value),
19804         (gst_structure_set_valist), (gst_structure_remove_field),
19805         (gst_structure_remove_fields),
19806         (gst_structure_remove_fields_valist),
19807         (gst_structure_remove_all_fields), (gst_structure_foreach),
19808         (gst_structure_map_in_place),
19809         (gst_caps_structure_fixate_field_nearest_int),
19810         (gst_caps_structure_fixate_field_nearest_double):
19811         * gst/gststructure.h:
19812         * gst/gstsystemclock.c: (gst_system_clock_class_init),
19813         (gst_system_clock_init), (gst_system_clock_dispose),
19814         (gst_system_clock_async_thread),
19815         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
19816         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
19817         * gst/gstsystemclock.h:
19818         * gst/gsttag.c: (gst_tag_list_add_value_internal),
19819         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
19820         * gst/gsttaginterface.c:
19821         * gst/gstthread.c: (gst_thread_dispose),
19822         (gst_thread_release_children_locks), (gst_thread_change_state),
19823         (gst_thread_main_loop):
19824         * gst/gsttrashstack.h:
19825         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
19826         * gst/gsttypes.h:
19827         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
19828         (gst_element_request_pad), (gst_element_get_pad_from_template),
19829         (gst_element_request_compatible_pad),
19830         (gst_element_get_compatible_pad_filtered),
19831         (gst_element_get_compatible_pad), (gst_element_state_get_name),
19832         (gst_element_link_pads_filtered), (gst_element_link_filtered),
19833         (gst_element_link_many), (gst_element_link),
19834         (gst_element_link_pads), (gst_element_unlink_pads),
19835         (gst_element_unlink_many), (gst_element_unlink),
19836         (gst_pad_can_link_filtered), (gst_pad_can_link),
19837         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
19838         (gst_object_default_error), (gst_bin_add_many),
19839         (gst_bin_remove_many), (gst_element_populate_std_props),
19840         (gst_element_class_install_std_props), (gst_buffer_merge),
19841         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
19842         (link_fold_func), (gst_pad_proxy_setcaps):
19843         * gst/gstutils.h:
19844         * gst/gstvalue.c: (gst_value_deserialize_string):
19845         * gst/parse/grammar.y:
19846         * gst/schedulers/gstbasicscheduler.c:
19847         (gst_basic_scheduler_cothreaded_chain),
19848         (gst_basic_scheduler_chain_recursive_add),
19849         (gst_basic_scheduler_pad_link):
19850         * gst/schedulers/gstoptimalscheduler.c:
19851         (get_group_schedule_function),
19852         (gst_opt_scheduler_state_transition),
19853         (gst_opt_scheduler_add_element), (element_get_reachables_func):
19854         * libs/gst/bytestream/bytestream.c:
19855         * libs/gst/dataprotocol/dataprotocol.c:
19856         (gst_dp_header_from_buffer):
19857         * po/nb.po:
19858         * po/ru.po:
19859         * tests/threadstate/threadstate2.c: (eos):
19860         * tools/gst-compprep.c: (main):
19861         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
19862         (print_pad_info), (print_children_info):
19863         * tools/gst-launch.c: (idle_func), (main):
19864         * tools/gst-md5sum.c: (idle_func), (main):
19865         * tools/gst-xmlinspect.c: (print_element_info):
19866         First THREADED backport attempt, focusing on adding locks and
19867         making sure the API is threadsafe. Needs more work. More docs
19868         follow this week.
19869
19870 2005-02-24  Andy Wingo  <wingo@pobox.com>
19871
19872         * tests/bench-complexity.scm:
19873         * tests/complexity.gnuplot: New files, good for running complexity
19874         benchmarks.
19875
19876         * tests/Makefile.am:
19877         * tests/complexity.c: New test, sets up N elements, at each level
19878         teeing into M streams per element. Eeeenteresting.
19879
19880         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
19881         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
19882         running bench-mass_elements.scm.
19883
19884         * tests/bench-mass_elements.scm: New script, runs mass_elements
19885         for various numbers of identities, outputting the results to a
19886         file. Requires guile 1.6. Just for testing.
19887
19888 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19889
19890         * gst/schedulers/fairscheduler.c:
19891           compile with debug disabled
19892
19893 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
19894
19895         * configure.ac:
19896           hunting season on 0.9 is now OPEN