c3cfade669fa28e79b69bf5ad8b0fbbead5b82d5
[platform/upstream/gstreamer.git] / ChangeLog
1 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
2
3         * tests/check/Makefile.am:
4           disable test again, as there seem to be still race problems
5
6 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
7
8         * tests/check/Makefile.am:
9         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10         (GST_START_TEST), (queue_suite):
11           enable queue test again, add tests for the leaky behaviour
12
13 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
14
15         * configure.ac:
16         * tests/examples/Makefile.am:
17           Compile adapter test/example only if the required headers are
18           available (fixes #391915).
19
20 2007-01-01  David Schleef  <ds@schleef.org>
21
22         * gst/gstplugin.c:
23           Restore the previous signal handler for SIGSEGV instead of
24           setting to default, since we may have stolen it away from
25           someone.  (i.e., Mono)
26
27 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
28
29         * docs/random/draft-missing-plugins.txt:
30           Some small additions and clarifications.
31
32 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
33
34         * gst/gstregistryxml.c: (gst_registry_save_escaped):
35           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
36           since that can lead to random memory corruptions and crashes
37           (may or may not be related to #383244, #386711, and #386711).
38
39 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
40
41         * tests/check/.cvsignore:
42         * tests/check/Makefile.am:
43           sync .cvsignome and CLEANFILES
44
45 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
46
47         * tests/check/Makefile.am:
48           fix distcheck
49
50 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
51
52         * docs/design/part-states.txt:
53           two tiny additional comments
54         
55         * gst/gststructure.c:
56           doc fixing
57
58         * tests/check/Makefile.am:
59         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
60         (GST_START_TEST):
61           disable test for now, unless it gets fixed
62
63 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
64
65         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
66         (GST_START_TEST):
67           fix race in underrun test
68
69 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
70
71         * tests/check/elements/.cvsignore:
72           ignore more
73
74         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
75         (GST_START_TEST):
76           try to narrow test failure
77
78 2006-12-21  David Schleef  <ds@schleef.org>
79
80         * plugins/elements/gstfakesrc.c:
81           Use g_random_int_range(), since it produces better random
82           numbers in a range than almost-correct floating point code.
83
84 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
85
86         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
87         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
88         (gst_check_teardown_sink_pad):
89           do not automatically (de)activate pads
90
91         * tests/check/Makefile.am:
92         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
93         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
94           add new, yet simple tests for queue
95
96         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
97         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
98         * tests/check/elements/filesrc.c: (cleanup_filesrc),
99         (GST_START_TEST):
100         * tests/check/elements/identity.c: (cleanup_identity):
101           consistent pad (de)activation
102
103 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
104
105         Patch by: Sebastian Dröge  <slomo ubuntu com>
106
107         * libs/gst/base/gstcollectpads.c:
108           Fix two doc typos (#387866).
109
110 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
111
112         * docs/manual/advanced-dparams.xml:
113           Fix typo (g_object_control_properties() doesn't exist).
114
115 2006-12-19  Edward Hervey  <edward@fluendo.com>
116
117         * gst/gstsegment.c: (gst_segment_set_seek):
118         Fine tune the cases where the segment start/stop values are really
119         updated.
120         * tests/check/gst/gstsegment.c: (GST_START_TEST):
121         Add tests for the return values of gst_segment_set_seek().
122
123 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
124
125         * gst/gst.c:
126           Docs typo fix.
127
128         * plugins/elements/gstqueue.c: (gst_queue_class_init),
129         (gst_queue_init):
130           Fix incorrect documentation and flesh it out a bit more.
131           Set default values for the max properties on the GParamSpec as well,
132           so it shows up correctly in gst-inspect.
133
134 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
135
136         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
137           Correct docs of queue, add more detail and crosslink it more.
138
139 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
140
141         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
142           Print additional debug info when the stream isn't perfectly
143           timestamped; don't try to use invalid durations.
144
145 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
146
147         * docs/design/Makefile.am:
148           Dist new design docs.
149
150 2006-12-16  Wim Taymans  <wim@fluendo.com>
151
152         Patch by: Sjoerd Simons <sjoerd at luon dot net>
153
154         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
155         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
156         (gst_collect_pads_stop), (gst_collect_pads_event),
157         (gst_collect_pads_chain):
158         * libs/gst/base/gstcollectpads.h:
159         Add refcounting to the collectpads data so we can track when it's safe
160         to free the data. Fixes #383382.
161
162 2006-12-15  Wim Taymans  <wim@fluendo.com>
163
164         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
165         (gst_collect_pads_remove_pad):
166         Automatically activate/deactivate pads when they are added to a
167         started/stoped collectpads.
168
169 2006-12-15  Wim Taymans  <wim@fluendo.com>
170
171         * gst/gstelement.c: (gst_element_add_pad):
172         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
173         * gst/gstpad.c: (gst_pad_init):
174         Set pads to FLUSHING when they are created. Check, warn and fix when a
175         demuxer adds an inactive pad to itself when running. Fixes #339326.
176
177 2006-12-15  Wim Taymans  <wim@fluendo.com>
178
179         * gst/gstelement.c: (gst_element_class_init),
180         (gst_element_default_send_event), (gst_element_send_event),
181         (gst_element_default_query), (gst_element_query):
182         Expose default element send_event and query handling as vmethods that
183         subclasses can chain up to.
184
185 2006-12-15  Wim Taymans  <wim@fluendo.com>
186
187         * gst/gstelement.c: (gst_element_set_state_func):
188         Small documentation fixes.
189
190 2006-12-15  Wim Taymans  <wim@fluendo.com>
191
192         * docs/design/draft-latency.txt:
193         Checked in draft for handling latency in pipelines.
194
195 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
196
197         * Makefile.am:
198         * gstreamer.doap:
199         * gstreamer.spec.in:
200           adding .doap file
201
202 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
203
204         * gst/gst.c: (init_pre), (init_post):
205           init_pre() and init_post() might be called via our GOptionGroup or
206           from gst_init(), and we should skip both of them if we've already
207           been initialised, otherwise we will init some things twice or add
208           two default log functions.
209
210 2006-12-13  Edward Hervey  <edward@fluendo.com>
211
212         * docs/manual/basics-bus.xml:
213         No, gst_main_loop does not exist. Its g_main_loop.
214         Discovered by somebody who abused the copy-paste technique of coding :)
215
216 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
217
218         * gst/gstghostpad.c:
219           Log ghostpad debug stuff to the GST_PADS category as well rather
220           than just to the default category.
221
222 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
223
224         * configure.ac:
225         * gst/gst.c: (init_pre):
226           Add some basic system details such as OS and architecture
227           to the debug output if possible, courtesy of uname().
228
229 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
230
231         * docs/gst/running.xml:
232           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
233           environment variables.
234
235 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
236
237         * tests/check/gst/gstbin.c: (GST_START_TEST):
238         It is acceptable to have a refcount of 2 or 3 at this point in the
239         test, because the pipeline might be just posting its state_change
240         message. The next line then waits for that message to appear using
241         bus_poll, so that should be fine too.
242
243 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
244
245         * gst/gst.c: (ensure_current_registry_forking):
246         Ignore EINTR when reading from the child registry pipe.
247         Explicitly ignore the return value from close, since it makes no
248         difference.
249
250         * gst/gstminiobject.c: (gst_mini_object_ref),
251         (gst_mini_object_unref):
252         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
253
254         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
255         When removing cached plugins, remove their features too, so they're
256         not visible after they've disappeared.
257
258         * gst/gstutils.c: (prepare_link_maybe_ghosting):
259         In the unlikely case that we are linking pads with no parents, don't
260         crash trying to get the non-existent parent bin.
261
262         * gst/parse/grammar.y:
263         Output debug in the PIPELINE category
264
265 2005-03-08  Wim Taymans  <wim@fluendo.com>
266
267         Patch by: René Stadler <mail at renestadler dot de>
268
269         * gst/gstclock.c: (gst_clock_new_periodic_id):
270         Reject invalid clock times for interval of periodic ids.
271         Fixes ##383506.
272
273 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
274
275         * gst/gstelementfactory.c: (gst_element_factory_create):
276         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
277         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
278         * tools/gst-inspect.c: (print_element_info):
279         Fix refcounting of gst_plugin_feature_load to match the docs. 
280         Fixes: #380129
281
282 2006-12-07  Wim Taymans  <wim@fluendo.com>
283
284         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
285         (gst_base_sink_get_position):
286         Improve debugging of events.
287
288 2006-12-07  Wim Taymans  <wim@fluendo.com>
289
290         Patch by: René Stadler <mail at renestadler dot de>
291
292         * gst/gstclock.c: (gst_clock_id_wait):
293         Make period ids add the interval to the origial requested time instead
294         of the possibly updated time which can be wrong when there are multiple
295         waiters for the same id. Fixes #382592.
296
297         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
298         (gst_system_clock_id_wait_jitter_unlocked),
299         (gst_system_clock_id_wait_jitter):
300         Fix restart in the async notify thread when an async entry is added to
301         the front of the list. Fixes #381492. 
302
303         * tests/check/gst/gstsystemclock.c: (store_callback),
304         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
305         Added test for multiple async waits.
306         Added test for async wait order.
307
308 2006-12-07  Wim Taymans  <wim@fluendo.com>
309
310         * gst/gstbin.c: (gst_bin_query):
311         Add some more docs about the POSITION query.
312
313 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
314
315         * configure.ac:
316         Bump version nano - back to CVS.
317
318 === release 0.10.11 ===
319
320 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
321
322         * configure.ac:
323           releasing 0.10.11, "Love never runs on time"
324
325 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
326
327         * win32/common/libgstbase.def:
328         * win32/common/libgstreamer.def:
329         * win32/vs8/libgstbase.vcproj:
330         * win32/vs8/libgstcoreelements.vcproj:
331         * win32/vs8/libgstreamer.vcproj:
332         Fix compilation on win32 under VS8
333         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
334         Partially fixes #381175
335
336 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
337
338         * gst/gstvalue.c: (gst_value_compare_fraction):
339         If someone is foolish enough to compare 2 fractions with denominator =
340         0, return UNORDERED rather than aborting.
341
342 2006-11-28  Edward Hervey  <edward@fluendo.com>
343
344         * libs/gst/base/Makefile.am:
345         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
346         (gst_data_queue_base_init), (gst_data_queue_class_init),
347         (gst_data_queue_init), (gst_data_queue_new),
348         (gst_data_queue_cleanup), (gst_data_queue_finalize),
349         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
350         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
351         (gst_data_queue_is_empty), (gst_data_queue_is_full),
352         (gst_data_queue_set_flushing), (gst_data_queue_push),
353         (gst_data_queue_pop), (gst_data_queue_drop_head),
354         (gst_data_queue_set_property), (gst_data_queue_get_property):
355         * libs/gst/base/gstdataqueue.h:
356         New GstDataQueue object for threadsafe queueing. Most useful for
357         elements that need some queueing functionnality.
358         * docs/libs/gstreamer-libs-docs.sgml:
359         * docs/libs/gstreamer-libs-sections.txt:
360         Insert documentation for GstDataQueue
361         * plugins/elements/Makefile.am:
362         * plugins/elements/gstelements.c:
363         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
364         (gst_multi_queue_class_init), (gst_multi_queue_init),
365         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
366         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
367         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
368         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
369         (gst_multi_queue_loop), (gst_multi_queue_chain),
370         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
371         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
372         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
373         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
374         (wake_up_next_non_linked), (compute_next_non_linked),
375         (single_queue_overrun_cb), (single_queue_underrun_cb),
376         (single_queue_check_full), (gst_single_queue_new):
377         * plugins/elements/gstmultiqueue.h:
378         New multiqueue element, using GstDataQueue. Used for queuing multiple
379         streams.
380         Closes #344639 and #347785
381
382 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
383
384         * docs/pwg/advanced-types.xml:
385           add more missing type details
386
387         * tools/gst-run.c: (main):
388           remove unused variable
389
390 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
391
392         * docs/libs/Makefile.am:
393         * docs/libs/gstreamer-libs.types:
394           add types of base classes to enable gobject specific stuff in the docs
395
396         * docs/random/ensonic/embedded.txt:
397           more ideas about isolating platform specific things
398
399 2006-11-20  Wim Taymans  <wim@fluendo.com>
400
401         Patch by: Sebastian Droege <slomo at ubuntu dot com>
402
403         * libs/gst/check/gstcheck.h:
404         Fix compilation and running against 0.9.4. Fixes #377332.
405
406 2006-11-20  Wim Taymans  <wim@fluendo.com>
407
408         * gst/gstsegment.c: (gst_segment_set_seek),
409         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
410         (gst_segment_to_running_time):
411         Fix boundary checking in to_running_time() and to_stream_time().
412         Fixes #377183.
413
414         * tests/check/gst/gstsegment.c: (GST_START_TEST):
415         stream and running time can now be calculated for the complete
416         clipped segment.
417
418 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
419
420         * gst/gstpad.c: (gst_pad_push_event):
421           Can't access event structure after giving away ownership of
422           the event.
423
424 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
425
426         * docs/random/ensonic/embedded.txt:
427         * docs/random/ensonic/profiling.txt:
428         * docs/random/ensonic/receipies.txt:
429           more thinking
430
431 2006-11-13  Wim Taymans  <wim@fluendo.com>
432
433         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
434
435         * gst/gstpad.c:
436         Fix documentation for gst_pad_dispatcher. Fixes #374475.
437
438 2006-11-13  Wim Taymans  <wim@fluendo.com>
439
440         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
441
442         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
443         Store new length in segment duration so we don't keep on calling the
444         potentially expensize get_size() call. Fixes #370865.
445
446 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
447
448         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
449
450         * win32/common/libgstreamer.def:
451           Add two missing symbols (#366492).
452
453 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
454
455         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
456         (gst_adapter_take_buffer):
457         Fix format string to use all its arguments.
458         Remove useless >= check on a guint
459
460 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
461
462         * tests/examples/adapter/.cvsignore:
463         Ignore build file as commanded by the build-bot
464
465 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
466
467         * tests/examples/adapter/Makefile.am:
468         * tests/examples/adapter/adapter_test.c: (run_test_take),
469         (run_test_take_buffer), (run_tests), (main):
470
471         Add new files from the previous commit
472
473 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
474
475         * Makefile.am:
476         * configure.ac:
477         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
478         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
479         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
480         * libs/gst/base/gstadapter.h:
481         * tests/check/libs/adapter.c: (create_and_fill_adapter),
482         (GST_START_TEST), (gst_adapter_suite):
483         * tests/examples/Makefile.am:
484         Do some optimisation work in GstAdapter to avoid copies in more cases.
485         It could still do slightly better by merging buffers when
486         gst_buffer_is_span_fast is true, but is already faster. 
487
488         Also, avoid traversing a single-linked list to append each incoming 
489         buffer inside the adapter.
490
491         Add simple test app that times the adapter behaviour in different
492         situations, and extend the unit test to check that bytes enter and
493         exit the adapter in their original order.
494
495 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
496
497         * docs/random/draft-missing-plugins.txt:
498           Update: use element message instead of adding a new message
499           type to the core; don't provide GStreamer API to initiate the
500           plugin download, just provide API to compose the strings needed
501           and let an external libgimmestuff handle the rest.
502
503 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
504
505         * tools/gst-inspect.c: (print_element_properties_info):
506         Print a string instead of 'unknown type' for GValueArray properties
507
508 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
509
510         * docs/random/draft-missing-plugins.txt:
511         More small fixes.
512
513 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
514
515         * tests/examples/typefind/typefind.c: (type_found), (main):
516           Make typefind element example work again (#371894); add a
517           license header.
518
519 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
520
521         * docs/random/draft-missing-plugins.txt:
522           Commit initial draft about how to deal with missing plugins,
523           needs work (API too).
524
525 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
526
527         * docs/pwg/advanced-types.xml:
528           documents the new caps elements (see #363118)
529
530 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
531
532         * gst/gstplugin.c: (gst_plugin_load_file):
533         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
534         (gst_file_src_map_region), (gst_file_src_start):
535         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
536         (gst_file_index_commit):
537           Use g_strerror() instead of strerror() - we want UTF-8.
538
539 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
540
541         Patch by: Peter Kjellerstedt <pkj at axis com>
542
543         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
544           Another printf fix (#371493).
545
546 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
547
548         * tests/check/gst/gsttag.c:
549           relicence (okay with author=company)
550
551 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
552
553         * gst/gstpad.c: (gst_pad_event_default_dispatch),
554         (gst_pad_push_event):
555           Enhance debug and improve docs
556         
557         * gst/gsturi.c:
558           Fix docs
559
560 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
561
562         * docs/random/ensonic/distributed.txt:
563         * docs/random/ensonic/profiling.txt:
564           more ideas
565
566 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
567
568         * docs/gst/gstreamer-sections.txt:
569           add new API and fix the build
570           
571         * gst/gstbin.c: (gst_bin_recalc_state):
572         * gst/gstelement.c: (gst_element_message_full),
573         (gst_element_get_state_func), (gst_element_set_state_func):
574           use new API and improve logging
575         
576         * gst/gstutils.c: (gst_element_state_change_return_get_name):
577         * gst/gstutils.h:
578           API: add function to get StateChangereturn names to improve logs 
579
580 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
581
582         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
583           I'm considering shooting the next person to put strerror stuff
584           in the translateable part of the message.
585
586 2006-11-03  Wim Taymans  <wim@fluendo.com>
587
588         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
589         Get the type and printf conversion specifiers right.
590
591 2006-11-03  Wim Taymans  <wim@fluendo.com>
592
593         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
594
595         * gst/gstpad.c: (gst_pad_init), (pre_activate),
596         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
597         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
598         Some small cleanups. Improve debugging.
599         * gst/gstpad.h:
600         Signal all waiting threads with a broadcast instead of just one.
601         Fixes #369942.
602
603 2006-11-03  Wim Taymans  <wim@fluendo.com>
604
605         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
606         (gst_fd_src_create):
607         Add some debugging. 
608         Only update fd when it's different from the old.
609
610 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
611
612         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
613           Printf fixes for PPC/OSX, take two (#369366).
614
615 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
616
617         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
618
619         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
620         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
621         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
622           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
623           don't cast to long long for portability reasons, but use
624           GLib's types instead.
625
626 2006-10-30  Michael Smith  <msmith@fluendo.com>
627
628         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
629           Get the arguments to lseek() the right way around.
630           Fixes 367677.
631
632 2006-10-30  Wim Taymans  <wim@fluendo.com>
633
634         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
635
636         * gst/gstinfo.h:
637         _declspec should be __declspec (two underscores, not one). Fixes 366572.
638
639 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
640
641         Patch by: Kjartan Maraas  <kmaraas at gnome org>
642
643         * docs/design/part-MT-refcounting.txt:
644         * docs/random/wtay/capsnego2-docs:
645         * gst/gstclock.c:
646         * gst/gstxml.c:
647           Typo fixes (#366212).
648
649 2006-10-28  Wim Taymans  <wim@fluendo.com>
650
651         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
652
653         * gst/gst.c:
654         * win32/common/libgstbase.def:
655         * win32/common/libgstreamer.def:
656         * win32/vs8/libgstbase.vcproj:
657         * win32/vs8/libgstcontroller.vcproj:
658         Add needed entries in .def files.
659         Use HAVE_UNISTD_H.
660         Rearrange def files in vs8 solutions. Fixes #366286.
661
662 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
663
664         * win32/common/gstconfig.h:
665           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
666           hand-made win32 gstconfig.h. Fixes #366321.
667
668 2006-10-27  Wim Taymans  <wim@fluendo.com>
669
670         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
671         (gst_ghost_pad_new_full):
672         Make acceptcaps return TRUE when we don't have a target, just like
673         setcaps does.
674
675 2006-10-27  Wim Taymans  <wim@fluendo.com>
676
677         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
678         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
679
680 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
681
682         * gst/gststructure.c: (gst_structure_id_set_value):
683           If someone tries to set a non-UTF8 string field on a structure,
684           don't just print a warning, but also ignore the request and do
685           not change/add that field to the structure.
686
687         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
688           Test for the above.
689
690 2006-10-25  David Schleef  <ds@schleef.org>
691
692         * gst/gstinfo.c:
693           g_hash_table_insert() needs a cast to a non-const pointer duh.
694
695 2006-10-25  David Schleef  <ds@schleef.org>
696
697         * gst/gstinfo.c:
698         * gst/gstinfo.h:
699           Change name parameter of _gst_debug_register_funcptr to const
700           to reflect the constness of its use in the function as well
701           as to quiet a gcc warning.
702
703 2006-10-25  Edward Hervey  <edward@fluendo.com>
704
705         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
706         Don't push the buffer if it's empty.
707         Closes #363095
708
709 2006-10-24  Wim Taymans  <wim@fluendo.com>
710
711         * gst/gstevent.h:
712         Add small comment.
713
714         * libs/gst/base/gstbasetransform.c:
715         (gst_base_transform_sink_eventfunc):
716         Debug segment values *after* updating them as this is more
717         interesting.
718
719 2006-10-23  Wim Taymans  <wim@fluendo.com>
720
721         * docs/design/part-events.txt:
722         Update some docs.
723
724         * docs/design/part-block.txt:
725         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
726         (gst_pad_push_event):
727         Revert BLOCKING patch, it tries to be smart without really having a
728         clear idea what or how. So, now we discard all FLUSHING events again on
729         a blocking pad. Should fix gnonlin again.
730
731 2006-10-23  Wim Taymans  <wim@fluendo.com>
732
733         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
734
735         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
736         (gst_base_src_start), (gst_base_src_activate_push):
737         Make sure size is always initialized. Fixes #364388.
738
739 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
740
741         * docs/random/ensonic/distributed.txt:
742           add some ideas about doing distributed processing
743
744         * docs/random/ensonic/profiling.txt:
745           get_rusage look promising
746
747 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
748
749         * docs/manual/basics-helloworld.xml:
750           Add a cast in example to fix compile warning
751
752 2006-10-18  Wim Taymans  <wim@fluendo.com>
753
754         * gst/gstsegment.c: (gst_segment_set_last_stop),
755         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
756         Relax arg checking again, -1 is allowed.
757
758 2006-10-18  Wim Taymans  <wim@fluendo.com>
759
760         * gst/gstsegment.c: (gst_segment_set_last_stop),
761         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
762         _set_last_stop() must be with a value != -1
763         A _TYPE_SET to -1 means seek to 0.
764         Calc last_stop correctly for negative rates.
765         Make sure we work with positive durations when updating a segment.
766
767 2006-10-18  Wim Taymans  <wim@fluendo.com>
768
769         * docs/design/part-live-source.txt:
770         * gst/gstclock.h:
771         Small docs fixes.
772
773 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
774
775         * gst/gstbuffer.h:
776           Add an explicit cast to GstBuffer** to keep old code that added an
777           explicit cast to GstMiniObject** for gst_mini_object_replace()
778           compiling without warning.
779
780 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
781
782         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
783           check for validity of dates
784
785 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
786
787         * docs/gst/gstreamer-sections.txt:
788           Forgot this one, makes gtk-doc shut up.
789
790 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
791
792         Patch by: Peter Kjellerstedt <pkj at axis com>
793
794         * gst/gstobject.h:
795           Don't define xmlNodePtr to gpointer if the core was built with
796           --disable-loadsave and --disable-registry, this will break
797           applications that want to use libxml2 but are buildling against a
798           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
799           instead so we don't have to mess with the libxml2 namespace
800           (#361675).
801
802 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
803
804         * gst/gstbuffer.h:
805           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
806           type-punned pointer warnings.
807
808 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
809
810         * gst/gstelement.h:
811           Add casts to the correct return type to state <=> state transition
812           macros.
813
814 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
815
816         * docs/design/part-live-source.txt:
817           describe howto handle latency
818         
819         * docs/random/ensonic/profiling.txt:
820           more ideas
821
822         * tools/gst-plot-timeline.py:
823           fix log parsing for solaris, remove unused function
824
825 2006-10-16  Wim Taymans  <wim@fluendo.com>
826
827         * docs/design/part-trickmodes.txt:
828         * gst/gstevent.c:
829         Update some docs regarding reverse playback.
830
831 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
832
833         Patch by: Marcus Granado  <mrc dot gran at gmail com>
834
835         * win32/vs8/grammar.vcproj:
836           Error out with a warning if glib-genmarshal.exe is not in path,
837           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
838
839 2006-10-13  Wim Taymans  <wim@fluendo.com>
840
841         * gst/gstsegment.c: (gst_segment_set_seek):
842         When seeking to stop -1, set last_stop (current position) to the
843         duration of the segment.
844
845 2006-10-13  Wim Taymans  <wim@fluendo.com>
846
847         * gst/gstelement.h:
848         Clarify _NO_PREROLL a bit more.
849
850         * gst/gstevent.c:
851         Fix docs.
852
853         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
854         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
855         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
856         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
857         due to wrong locking order. Fixes #361769.
858         Remove some redundant/misplaced checks in pad_block.
859
860         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
861         For negative rates, count backwards from the duration.
862
863 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
864
865         * gst/gsterror.c: (_gst_library_errors_init):
866           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
867           up with something better).
868
869 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
870
871         * win32/vs6/libgstreamer.dsp:
872         * win32/vs7/libgstreamer.vcproj:
873         * win32/vs8/libgstreamer.vcproj:
874           Don't reference glib-compat.c which is currently not used and not
875           disted; add gstquark.c which was recently added. Fixes #361730.
876
877 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
878
879         * win32/common/libgstbase.def:
880         * win32/common/libgstcontroller.def:
881         * win32/common/libgstreamer.def:
882           Add gst_caps_merge() and a bunch of other recently-added functions.
883           Fixes #361732.
884
885 2006-10-11  Wim Taymans  <wim@fluendo.com>
886
887         * docs/plugins/gstreamer-plugins.args:
888         * docs/plugins/inspect/plugin-coreelements.xml:
889         * docs/plugins/inspect/plugin-coreindexers.xml:
890         Update element args.
891
892         * gst/gstsystemclock.c:
893         Small comment update.
894
895         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
896         (gst_tee_request_new_pad), (gst_tee_release_pad),
897         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
898         (gst_tee_sink_activate_pull):
899         * plugins/elements/gsttee.h:
900         Some tee loving:
901         Add default property defines.
902         Implement release pad function.
903         Give properties better blubs etc.
904         Activate pads before adding them to a running tee.
905         Do simple buffer_alloc on the first requested pad.
906         Post error when activation fails.
907
908 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
909
910         * gst/gst.c: (ensure_current_registry_forking):
911           Check return value of write() to make compiler happy.
912
913 2006-10-11  Wim Taymans  <wim@fluendo.com>
914
915         Patch by: Sjoerd Simons <sjoerd at luon dot net>
916
917         * plugins/elements/gstqueue.c: (gst_queue_chain):
918         Recheck queue filledness after signalling the overrun when we're about
919         to leak downstream because we released the lock when emitting the signal
920         and the queue could be empty again. Fixes #352345.
921
922 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
923
924         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
925           Fix refcounting here too, just like we did for _new_valist() a few
926           days ago (#357180) (thanks to René Stadler). Also remove all those
927           'Since: 0.9' from the gtk-doc blobs.
928
929         * tests/check/libs/controller.c: (controller_refcount_new_list),
930         (gst_controller_suite):
931           Unit test for the above.
932
933 2006-10-10  Wim Taymans  <wim@fluendo.com>
934
935         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
936
937         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
938         (gst_pad_save_thyself):
939         Update some docs.
940         Write pad direction in XML output. Fixes #345496.
941
942 2006-10-10  Wim Taymans  <wim@fluendo.com>
943
944         Patch by: René Stadler <mail at renestadler dot de>
945
946         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
947         (gst_controller_new_list), (_gst_controller_dispose),
948         (_gst_controller_finalize), (_gst_controller_class_init):
949         Take ref to controlled object so that it cannot disappear. 
950         Fixes #357432.
951
952 2006-10-10  Wim Taymans  <wim@fluendo.com>
953
954         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
955         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
956         (gst_check_teardown_sink_pad):
957         Activate/deactivate pads in setup/teardown respectively.
958
959 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
960
961         Patch by: Josep Torre Valles <josep@fluendo.com>
962
963         * gst/Makefile.am:
964         Cast values when making gstenumtypes.h.  This pacifies Forte
965         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
966         in the enumeration.
967
968 2006-10-09  Wim Taymans  <wim@fluendo.com>
969
970         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
971         Rename some more @cur to @start to fix docs. 
972
973         * gst/gstsegment.c: (gst_segment_set_seek):
974         Fix typo.
975         time and start must always stay in sync as defined in design doc.
976
977         * gst/gsttaglist.c: (gst_tag_list_is_empty):
978         Rename param to fix docs.
979
980         * tests/check/gst/gstsegment.c: (GST_START_TEST):
981         Check that start and time are in sync.
982
983         * tests/check/pipelines/parse-launch.c:
984         (gst_parse_test_element_change_state):
985         Activate pad before adding to the element.
986
987 2006-10-09  Wim Taymans  <wim@fluendo.com>
988
989         * docs/design/part-qos.txt:
990         Fix typo.
991
992         * gst/gstevent.c:
993         * gst/gstevent.h:
994         Update seek event docs regarding negative rates.
995         Rename @cur to @start. 
996
997         * gst/gstsegment.c: (gst_segment_set_seek):
998         * gst/gstsegment.h:
999         Update set_seek docs regarding negative rates.
1000         Correctly update last_stop to @stop when dealing with negative
1001         rates.
1002         Rename @cur to @start. 
1003
1004         * tests/check/gst/gstpad.c: (GST_START_TEST):
1005         Activate pads before trying to use them.
1006
1007         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1008         (gst_segment_suite):
1009         Add simple check for segments and negative rates.
1010
1011 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
1012
1013         * gst/gsttaglist.c: (gst_tag_list_is_empty):
1014         * gst/gsttaglist.h:
1015         * docs/gst/gstreamer-sections.txt:
1016           API: add gst_tag_list_is_empty() (#360467).
1017
1018         * tests/check/gst/gsttag.c: (GST_START_TEST):
1019           And a test case.
1020
1021 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1022
1023         * gst/gstmessage.h:
1024         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
1025         a value that doesn't fit on enumeration.
1026
1027 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1028
1029         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1030         Remove local debugging system and use Gstreamer's instead.
1031
1032 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1033
1034         Patch by: Josep Torre Valles <josep@fluendo.com>
1035
1036         * common/m4/gst-error.m4:
1037         Disable warning of statement not reached on Forte.
1038         * gst/gstmessage.h:
1039         Fix warning on Forte (value doesn't fit on enumeration).
1040         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
1041         Fix warning on Forte (value doesn't fit on enumeration).
1042         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1043         DEBUG macro says it takes minimum of 2 args and so Forte
1044         complains about the use with just 1 arg.
1045         * plugins/elements/gstfdsink.c:
1046         * plugins/elements/gstfdsrc.c:
1047         * plugins/elements/gstfilesink.c:
1048         * plugins/elements/gstfilesrc.c:
1049         Use correct return type for the uri handler implementations.
1050
1051         All these fix warnings in Forte.  Fixes bug #360860.
1052
1053 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
1054
1055         * gst/gstelement.h:
1056           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
1057           format string, so don't use G_GNUC_PRINTF for those versions.
1058
1059 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
1060
1061         * gst/gsttaglist.c: (gst_is_tag_list):
1062         * gst/gsttaglist.h:
1063           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
1064
1065         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
1066           Small test for the above.
1067
1068 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
1069
1070         * gst/gsttaglist.h:
1071           Less tabs, more spaces.
1072
1073 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
1074
1075         * gst/gstinfo.h:
1076           Those two function declarations do actually belong there, revert
1077           commit from yesterday that turned them intro macros.
1078
1079 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1080
1081         Patch by: Josep Torre Valles <josep@fluendo.com>
1082
1083         * gst/gst.c: (gst_init_get_option_group):
1084         Fix empty declaration and type mismatch.
1085         * gst/gstbin.c: (gst_bin_change_state_func):
1086         Fix type mismatch.
1087         * gst/gstelement.c: (gst_element_continue_state),
1088         (gst_element_set_state_func), (gst_element_change_state),
1089         (gst_element_change_state_func):
1090         Fix type mismatches.
1091         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
1092         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
1093         Cast as appropriate.
1094         * gst/gstobject.c: (gst_class_signal_connect):
1095         Cast as appropriate.  The function pointer parameter really
1096         has the wrong type but would break API if we change it.
1097         * gst/gstquery.c:
1098         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
1099         order of including string.h.
1100         * gst/gstutils.c: (gst_element_state_get_name):
1101         Remove unreachable line.
1102         * gst/gstxml.c: (gst_xml_parse_doc):
1103         Fix type mismatch.
1104         All these caught by Forte.
1105
1106 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1107
1108         Patch by: Josep Torre Valles <josep@fluendo.com>
1109
1110         * common/m4/gst-error.m4:
1111         Fixed bug #360151.
1112         We need to disable warnings on Forte for empty declarations
1113         due to gst-indent adding ;s to lines that just use macros
1114         where the macro actually doesn't need a ; at end to end
1115         statement.
1116
1117 2006-10-06  Wim Taymans  <wim@fluendo.com>
1118
1119         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
1120         (gst_file_sink_close_file), (gst_file_sink_event),
1121         (gst_file_sink_render):
1122         Add some FIXME for the NEWSEGMENT handling.
1123
1124 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1125
1126         * gst/parse/grammar.y:
1127         Remove static function gst_parse_element_lock as all it does
1128         is return.  Looks like cruft from 0.8.
1129
1130 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1131
1132         Patch by: Josep Torre Valles <josep@fluendo.com>
1133
1134         * common/m4/gst-error.m4:
1135         * configure.ac:
1136         * libs/gst/net/Makefile.am:
1137         Fix a compilation issue with Forte on Solaris.  inet_aton is in
1138         libresolv.
1139
1140 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
1141
1142         * gst/gstpad.c: (pre_activate):
1143         * gst/gstregistry.c: (gst_registry_scan_path_level):
1144         * gst/gstregistryxml.c: (load_plugin):
1145         * libs/gst/controller/gstcontroller.c:
1146         (gst_controlled_property_set_interpolation_mode):
1147         * libs/gst/dataprotocol/dataprotocol.c:
1148         (gst_dp_packet_from_event_1_0):
1149         * libs/gst/net/gstnetclientclock.c:
1150         (gst_net_client_clock_observe_times):
1151         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
1152           Printf fixes.
1153
1154 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
1155
1156         * configure.ac:
1157         * docs/gst/gstreamer-sections.txt:
1158         * gst/gstconfig.h.in:
1159         * gst/gstelement.h:
1160         * gst/gstinfo.h:
1161           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
1162           whether we can use G_GNUC_PRINTF in other header files and at
1163           least check the printf format/arguments of debug messages and
1164           GST_ELEMENT_ERROR messages when the printf extension is not
1165           being used.
1166           Replace more tabs with spaces in gstinfo.h and remove two spurious
1167           function declarations in GST_DISABLE_DEBUG part with macros.
1168
1169 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
1170
1171         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
1172           More docs for the sync-message signal (mention that it is not
1173           emitted by default); log message structures of messages posted on
1174           the bus as well.
1175
1176 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
1177
1178         * gst/gst.c: (ensure_current_registry_forking):
1179         Use a pipe pair to receive status results from the forked child, and
1180         ignore the result from waitpid. Fixes #355499
1181
1182 2006-10-02  Wim Taymans  <wim@fluendo.com>
1183
1184         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
1185         (gst_ghost_pad_suite):
1186         Fix leak in check.
1187
1188 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
1189
1190         * gst/gstpad.c:
1191           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
1192
1193 2006-10-02  Edward Hervey  <edward@fluendo.com>
1194
1195         * docs/design/part-block.txt:
1196         Further explain the use of flushing on blocked pads.
1197         * docs/gst/gstreamer-sections.txt:
1198         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
1199         (gst_pad_push_event):
1200         * gst/gstpad.h:
1201         Added new GstPadFlag : GST_PAD_BLOCKING.
1202         Adds the notion of pads really blocking, which enables to properly
1203         handle FLUSH_START/FLUSH_STOP events on blocked pads.
1204         Fixes #358999
1205         API: gst_pad_is_blocking()
1206         API: GST_PAD_IS_BLOCKING() macro
1207         API: GST_PAD_BLOCKING GstPadFlag
1208         
1209 2006-10-02  Wim Taymans  <wim@fluendo.com>
1210
1211         Patch by: mrcgran <mrc.gran at gmail dot com>
1212
1213         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
1214         Filter the proxied caps against the padtemplate if we have one.
1215
1216         * gst/gstquery.c: (gst_query_new_segment):
1217         Add include for gstinfo.h so that compilation with
1218         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
1219
1220 2006-10-02  Wim Taymans  <wim@fluendo.com>
1221
1222         Patch by: Alessandro Decina  <alessandro at nnva org>
1223
1224         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
1225         (gst_file_sink_set_location), (gst_file_sink_open_file),
1226         (gst_file_sink_close_file), (gst_file_sink_event),
1227         (gst_file_sink_render):
1228         Set file to NULL when closing filesink so that we can set a new filename
1229         in READY. Fixes #358613.
1230
1231 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
1232
1233         Patch by: Alessandro Decina  <alessandro at nnva org>
1234
1235         * gst/gstevent.c: (_gst_event_copy):
1236           Fix gst_mini_object_make_writable() and gst_event_copy() for events
1237           with event structures by setting the parent refcount address of the
1238           copied structure to the address of the refcount member of the newly
1239           copied event rather than the address of the refcount member of the
1240           original event. Fixes #358737.
1241
1242         * tests/check/gst/gstevent.c: (GST_START_TEST):
1243           Unit test for the above.
1244
1245 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
1246
1247         * docs/design/Makefile.am:
1248           Dist some more files.
1249
1250 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
1251
1252         * tests/check/libs/controller.c: (GST_START_TEST),
1253         (gst_controller_suite):
1254           Add test for the previous fix; add some more tests
1255           for correct refcounting behaviour; fix a few leaks
1256           in test cases; call gst_controller_init() at start
1257           of all tests.
1258
1259 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
1260
1261         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
1262         (gst_controller_set_from_list):
1263           Don't g_return_val_if_fail() on timed values with invalid timestamps
1264           inside a critical section without unlocking the mutex. Spotted by
1265           René Stadler. (#357617)
1266           Also, fix up refcounting properly: when returning an existing
1267           controller, we should increase the reference only once and not
1268           once per property and when trying to control a property again
1269           we should also increase the refcount.
1270
1271 2006-09-29  Wim Taymans  <wim@fluendo.com>
1272
1273         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
1274         * libs/gst/net/gstnettimeprovider.c:
1275         (gst_net_time_provider_thread):
1276         Stop reading commands when EOF as well.
1277
1278         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
1279         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
1280         * plugins/elements/gstidentity.c: (gst_identity_class_init):
1281         Unify description of the dump property.
1282
1283 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
1284
1285         * tests/examples/manual/.cvsignore:
1286         OK, so it's actually cvsignore that needs changing. Stop laughing.
1287
1288 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
1289
1290         * tests/examples/manual/Makefile.am:
1291         Gah, declare vars *before* using them
1292
1293 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
1294
1295         * gst/gst.c: (init_pre), (scan_and_update_registry),
1296         (ensure_current_registry_nonforking),
1297         (ensure_current_registry_forking), (ensure_current_registry),
1298         (init_post), (gst_debug_help), (gst_deinit):
1299         * gst/gst_private.h:
1300         * gst/gstregistry.c: (gst_registry_finalize),
1301         (gst_registry_remove_features_for_plugin_unlocked),
1302         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
1303         (gst_registry_scan_path),
1304         (_priv_gst_registry_remove_cache_plugins),
1305         (_priv_gst_registry_cleanup):
1306         * gst/gstregistry.h:
1307         Re-commit the registry changes, along with an extra fix:
1308           When a cached plugin is encountered at a different file path,
1309           update the stored path in the registry cache so that the parent
1310           process knows where it actually is now when it re-reads the registry
1311           cache. Fixes the thing that broke distcheck with the previous commit.
1312
1313         * tests/check/Makefile.am:
1314         Clean up files named 'core' too when running make clean.
1315
1316         * tests/examples/manual/Makefile.am:
1317         Set up a registry path for running these tests, and clean it properly
1318         for distcheck.
1319
1320 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
1321
1322         * configure.ac:
1323         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
1324         want gmodule-no-export-2.0.pc instead so that we don't drag in
1325         --export-dynamic on every project that links to GStreamer.
1326
1327         Also, make our export regex only match the start of symbols, rather 
1328         than any symbol that contains '_gst' somewhere.
1329
1330         * libs/gst/check/Makefile.am:
1331         The libgstcheck we build does however need export-dynamic, as it
1332         produces some symbols that don't match our _gst... style regex.
1333         Fixes: #318031
1334
1335 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
1336
1337         * gst/gst.c: (init_pre), (scan_and_update_registry),
1338         (ensure_current_registry_nonforking),
1339         (ensure_current_registry_forking), (ensure_current_registry),
1340         (init_post), (gst_debug_help), (gst_deinit):
1341         * gst/gst_private.h:
1342         * gst/gstregistry.c: (gst_registry_finalize),
1343         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
1344         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
1345         (_gst_registry_cleanup):
1346         * gst/gstregistry.h:
1347           Revert previous change until I figure out why it breaks distcheck.
1348
1349 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
1350
1351         * gst/gst.c: (init_pre), (scan_and_update_registry),
1352         (ensure_current_registry_nonforking),
1353         (ensure_current_registry_forking), (ensure_current_registry),
1354         (init_post), (gst_debug_help), (gst_deinit):
1355
1356           Make init_pre and init_post take the full complement of GOptionFunc
1357           args so they can return useful GErrors. Make the registry updating
1358           functions do so.
1359
1360           Call _priv_gst_registry_remove_cache_plugins after scanning files to
1361           ensure that the registry we're about to write out doesn't contain
1362           stale information about old-deleted plugin files.
1363
1364           Make _priv_gst_registry_remove_cache_plugins return a boolean so
1365           that deletion of plugin files is considered a registry change.
1366
1367         * gst/gst_private.h:
1368         * gst/gstregistry.c: (gst_registry_finalize),
1369         (gst_registry_remove_features_for_plugin_unlocked),
1370         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
1371         (gst_registry_scan_path),
1372         (_priv_gst_registry_remove_cache_plugins),
1373         (_priv_gst_registry_cleanup):
1374         * gst/gstregistry.h:
1375         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
1376         by adding _priv prefix, so that they won't appear in the global
1377         symbol table. They still do atm though because of #318031. Move the
1378         prototypes to gst_private.h
1379
1380         When removing a plugin, remove all features for that plugin too. 
1381         Fixes #340878.
1382
1383 2006-09-27  Wim Taymans  <wim@fluendo.com>
1384
1385         * docs/random/moving-plugins:
1386         Make it clear that the "compiled-in descriptions" really mean
1387         the element details.
1388
1389         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1390         (gst_base_sink_wait_preroll):
1391         Update docs.
1392
1393         * docs/libs/gstreamer-libs-sections.txt:
1394         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
1395         (gst_base_src_get_range), (gst_base_src_activate_push):
1396         * libs/gst/base/gstbasesrc.h:
1397         Added function to block while waiting for PLAYING, this function
1398         is used by live sources that block on the clock.
1399         API: gst_base_src_wait_playing()
1400
1401 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
1402
1403         Patch by: Peter Kjellerstedt <pkj at axis com>
1404
1405         * Makefile.am:
1406           gst-element-check.m4 is generated and should therefore be
1407           copied from the build dir rather than the source dir (#357593).
1408           'make distcheck' hasn't noticed this because we were disting
1409           the file as well, so stop doing that.
1410
1411 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
1412
1413         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
1414           Add some tests for gst_caps_intersect().
1415
1416         * tools/gst-launch.c: (event_loop):
1417           Print all buffering percentages we get, even the 100% one.
1418
1419 2006-09-26  Wim Taymans  <wim@fluendo.com>
1420
1421         * tools/gst-inspect.c: (print_element_properties_info),
1422         (print_signal_info):
1423         Fix printing of flags to match the look of enums.
1424
1425 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
1426
1427         * gst/gstelementfactory.c:
1428           Fix typo in docs blurb.
1429
1430 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
1431
1432         * gst/gsturi.c: (search_by_entry):
1433           Don't assert/crash here if a uri handler doesn't return any
1434           supported protocols. The list of protocols could be generated
1435           dynamically at runtime or at plugin registration, and an error
1436           in the underlying library shouldn't be fatal (#353301).
1437
1438 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
1439
1440         * gst/gstinfo.c:
1441           Fix warning if HAVE_PRINTF_EXTENSION is undefined
1442           (spotted by Peter Kjellerstedt).
1443
1444 2006-09-23  Wim Taymans  <wim@fluendo.com>
1445
1446         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
1447
1448         * libs/gst/base/gstbasesrc.c:
1449         (gst_base_src_default_check_get_range), (gst_base_src_start),
1450         (gst_base_src_activate_push), (gst_base_src_activate_pull),
1451         (gst_base_src_change_state):
1452         Match _start/_stop calls in the activate functions. Remove redundant
1453         _stop call from the state change function. Fixes #356910.
1454         Turn failure DEBUG into ERROR. 
1455
1456 2006-09-22  Wim Taymans  <wim@fluendo.com>
1457
1458         * docs/design/part-buffering.txt:
1459         * gst/gstmessage.c: (gst_message_new_buffering),
1460         (gst_message_parse_buffering):
1461         Update docs about buffering.
1462
1463         * docs/design/part-trickmodes.txt:
1464         Fix typo.
1465
1466 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
1467
1468         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
1469         (gst_controller_new_list):
1470           Ref instances when returning them again (fixes #357180)
1471
1472 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
1473
1474         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
1475           Don't forget to release proxy lock when there's an error.
1476
1477 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
1478
1479         * gst/gstcaps.h:
1480           Add extra initialisers for Caps things, to fix some plugin warnings
1481           when using -Wextra
1482
1483 2006-09-18  Wim Taymans  <wim@fluendo.com>
1484
1485         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
1486           Also set template on the internal pad so that a getcaps from the 
1487           target pad returns the template caps.
1488
1489 2006-09-18  Wim Taymans  <wim@fluendo.com>
1490
1491         * gst/gstelement.c: (gst_element_post_message),
1492         (gst_element_dispose):
1493         Use _DEBUG_OBJECT some more.
1494
1495         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1496         Avoid typechecks.
1497
1498         * tools/gst-launch.c: (main):
1499         If the toplevel element is not a GstPipeline, it must be put in a
1500         pipeline so that a bus and clock is selected.
1501
1502 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
1503
1504         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
1505           JITTER, RATE, and LATENCY query should be handled by the
1506           default case and not by the CONVERT query code.
1507
1508 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
1509
1510         * gst/gstformat.c: (gst_format_register):
1511           Fix locking order (must take lock before using n_values).
1512
1513         * gst/gstvalue.c: (gst_value_serialize_enum),
1514         (gst_value_deserialize_enum_iter_cmp),
1515         (gst_value_deserialize_enum):
1516           Fix serialisation/deserialisation of custom registered GstFormats.
1517
1518         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1519           Unit test for custom format serialisation/deserialisation.
1520
1521 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
1522
1523         * docs/pwg/building-boiler.xml:
1524         * plugins/elements/gstcapsfilter.c:
1525         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
1526         section.
1527
1528 2006-09-16  Edward Hervey  <edward@fluendo.com>
1529
1530         * libs/gst/base/gstbasetransform.c:
1531         (gst_base_transform_buffer_alloc):
1532         Check if requested caps are the same as the sinks caps IF
1533         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
1534         is FALSE.
1535         This fixes the renegotiation issues stated in #352827.
1536
1537 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1538
1539         * configure.ac:
1540         * docs/manual/advanced-autoplugging.xml:
1541         * tests/examples/Makefile.am:
1542         * tests/examples/manual/.cvsignore:
1543         * tests/examples/manual/Makefile.am:
1544         * tests/examples/manual/extract.pl:
1545           Extract the manual examples again like we used to do.
1546           Fix one of them.
1547
1548 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1549
1550         * win32/common/config.h:
1551           update for version
1552
1553 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
1554
1555         * gst/gsterror.c:
1556           Documents how to receive errors.
1557
1558 2006-09-15  Wim Taymans  <wim@fluendo.com>
1559
1560         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
1561         (event_loop), (main):
1562         Added some comments here and there.
1563         Post an application message when an interrupt is caught instead of doing
1564         an uncontrolled state change.
1565         Clean up the event loop.
1566         Handle buffering messages, pause/resume the pipeline.
1567         Make shutdown because of an interrupt more reliable.
1568
1569 2006-09-15  Wim Taymans  <wim@fluendo.com>
1570
1571         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
1572         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
1573         (gst_base_sink_preroll_object):
1574         Make sure that our internal state is correct when we commit our state
1575         asynchronously. This solves a race where a state change to PLAYING
1576         could cause the sink to remain blocked in preroll in some situations.
1577
1578 2006-09-15  Wim Taymans  <wim@fluendo.com>
1579
1580         * tools/gst-inspect.c: (print_element_properties_info),
1581         (print_signal_info):
1582         List flags as hex so it's easier to deal with.
1583
1584 2006-09-15  Wim Taymans  <wim@fluendo.com>
1585
1586         * docs/libs/gstreamer-libs-sections.txt:
1587         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
1588         (gst_base_sink_do_sync):
1589         * libs/gst/base/gstbasesink.h:
1590         Expose logic to wait for preroll so that subclasses such as audiosink
1591         can also use this method.
1592         API: gst_base_sink_wait_preroll()
1593
1594 2006-09-15  Wim Taymans  <wim@fluendo.com>
1595
1596         * gst/gstobject.c: (gst_object_set_parent):
1597         * gst/gstpipeline.c: (do_pipeline_seek):
1598         Small cleanups in docs and code.
1599
1600         * gst/gstsegment.c: (gst_segment_clip):
1601         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1602         if stop == start and start is in the segment, no clipping should be
1603         done. Also add a test for this.
1604
1605 2006-09-15  Wim Taymans  <wim@fluendo.com>
1606
1607         * docs/design/part-buffering.txt:
1608         * docs/gst/gstreamer-sections.txt:
1609         * gst/gstmessage.c: (gst_message_new_buffering),
1610         (gst_message_parse_buffering):
1611         * gst/gstmessage.h:
1612         Added methods to create and parse BUFFERING messages.
1613         Added preliminary docs about buffering.
1614         API: gst_message_new_buffering
1615         API: gst_message_parse_buffering
1616
1617 2006-09-06  Wim Taymans  <wim@fluendo.com>
1618
1619         * gst/gstbin.c:
1620         Update documentation.
1621
1622         * gst/gstelement.c: (gst_element_class_init),
1623         (gst_element_release_request_pad), (gst_element_set_clock),
1624         (gst_element_get_index), (gst_element_add_pad),
1625         (gst_element_remove_pad), (gst_element_get_random_pad),
1626         (gst_element_send_event), (gst_element_get_query_types),
1627         (gst_element_query), (gst_element_post_message),
1628         (gst_element_message_full), (gst_element_continue_state),
1629         (gst_element_lost_state), (gst_element_save_thyself),
1630         (gst_element_restore_thyself):
1631         Documentation updates.
1632         Rename last bit of the new-pad -> pad-added signal rename.
1633         Fix the case where an element query would only work if the source
1634         pad was linked.
1635         Avoid some useless type checking in message handling.
1636
1637         * gst/gstevent.c:
1638         * gst/gstevent.h:
1639         * gst/gstutils.c:
1640         Documentation updates.
1641
1642 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1643
1644         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
1645           add an INFO line for when we actually update the fd
1646
1647 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1648
1649         * configure.ac:
1650           back to TRUNK
1651
1652 === release 0.10.10 ===
1653
1654 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
1655
1656         * configure.ac:
1657           releasing 0.10.10, "Pais"
1658
1659 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
1660
1661         * docs/manual/advanced-position.xml:
1662           Fix typo in sample code.
1663
1664 2006-09-05  Wim Taymans  <wim@fluendo.com>
1665
1666         * libs/gst/net/gstnetclientclock.c: (inet_aton),
1667         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
1668         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
1669         * libs/gst/net/gstnetclientclock.h:
1670         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
1671         * libs/gst/net/gstnettimepacket.h:
1672         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
1673         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
1674         (gst_net_time_provider_thread), (gst_net_time_provider_new):
1675         * libs/gst/net/gstnettimeprovider.h:
1676         Make stuff compile on windows. Fixes #345295.
1677
1678 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
1679
1680         * gst/gst.c: (ensure_current_registry_forking):
1681           Print better details when child was terminated by signal.
1682
1683 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
1684
1685         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
1686           Print a warning rather than g_assert() if a plugin feature
1687           is a URI handler but returns no protocols (#353976).
1688
1689 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
1690
1691         * docs/random/moving-plugins:
1692         Fix two typos.         
1693
1694 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
1695
1696         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
1697           Fix locking order, handle NULL function values properly.
1698
1699         * gst/gstinfo.h:
1700           Fix docs.
1701
1702         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
1703           Initialise variable before using it and fix debug statement to
1704           print the address of the function rather than the address of the
1705           variable on the stack holding the address of the function.
1706
1707 2006-09-01  Wim Taymans  <wim@fluendo.com>
1708
1709         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
1710         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
1711         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
1712         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
1713         (gst_ghost_pad_parent_unset),
1714         (gst_ghost_pad_internal_do_activate_push),
1715         (gst_ghost_pad_internal_do_activate_pull),
1716         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
1717         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
1718         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
1719         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
1720         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
1721         (gst_ghost_pad_new_no_target_from_template),
1722         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
1723         More cleanups.
1724         Avoid needless typechecking in macros.
1725         Since the internal pad is always present and never changes, there is
1726         no need to locking or ref when retrieving it.
1727         Improve debugging a bit.
1728         Handle link errors when setting the target. Fixes #341029.
1729
1730 2006-09-01  Wim Taymans  <wim@fluendo.com>
1731
1732         * docs/libs/gstreamer-libs-sections.txt:
1733         * docs/plugins/gstreamer-plugins-sections.txt:
1734         Fix docs some more.
1735
1736         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
1737         (gst_collect_pads_event):
1738         * libs/gst/base/gstcollectpads.h:
1739         Documentation updates.
1740         Free queued buffer when removing a pad.
1741
1742 2006-08-31  Michael Smith  <msmith@fluendo.com>
1743
1744         * gst/gstutils.c: (gst_element_link_pads),
1745         (gst_element_link_pads_filtered):
1746           Ensure that we set a capsfilter to NULL if we failed to link it
1747           when doing filtered linking, to avoid criticals.
1748
1749           No need to check for unreffing srcpad, which is explicly NULLed
1750           above (a trivial code cleanup).
1751
1752 2006-08-31  Wim Taymans  <wim@fluendo.com>
1753
1754         * docs/design/part-gstghostpad.txt:
1755         Update ascii art in documentation.
1756
1757         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
1758         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
1759         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
1760         (gst_ghost_pad_internal_do_activate_push),
1761         (gst_ghost_pad_internal_do_activate_pull),
1762         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
1763         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
1764         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
1765         (gst_ghost_pad_set_target):
1766         Small cleanups and leak fixes.
1767         Remove some checks now that the internal pad is never NULL.
1768         Fix the case where linking pads without a target would create nasty
1769         criticals. Fixes #341029.
1770         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
1771         value of _set_target().
1772
1773         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
1774         (gst_ghost_pad_suite):
1775         Some more tests for creating and linking untargeted ghostpads.
1776
1777 2006-08-31  Edward Hervey  <edward@fluendo.com>
1778
1779         * docs/gst/gstreamer-sections.txt:
1780         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
1781         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
1782         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
1783         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
1784         (gst_ghost_pad_new_from_template),
1785         (gst_ghost_pad_new_no_target_from_template):
1786         * gst/gstghostpad.h:
1787         Refactored *_new() functions.
1788         Templates are now used as a g_object_new() parameter.
1789         Use template in _do_getcaps() if we don't have a target.
1790         Small documentation cleanups.
1791         Added two new constructors:
1792         gst_ghost_pad_new_from_template()
1793         gst_ghost_pad_new_no_target_from_template()
1794         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
1795         (gst_ghost_pad_suite):
1796         Added tests for new ghostpad instanciation functions.
1797
1798         API additions: gst_ghost_pad_new_from_template,
1799         gst_ghost_pad_new_no_target_from_template
1800
1801 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
1802
1803         * docs/random/ensonic/profiling.txt:
1804           Ideas about qos profiling.
1805
1806 2006-08-29  Wim Taymans  <wim@fluendo.com>
1807
1808         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1809         Code cleanups.
1810         Fix memleak.
1811
1812 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
1813
1814         * gst/gstxml.c:
1815           Improve and detypofy docs.
1816
1817         * tests/check/Makefile.am:
1818         * tests/check/gst/.cvsignore:
1819         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
1820           Add a basic test suite for GstXML.
1821
1822 2006-08-29  Wim Taymans  <wim@fluendo.com>
1823
1824         * gst/gstelement.c: (activate_pads), (clear_caps),
1825         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
1826         Clear the pad caps when the element shut down all of the pads and
1827         is not streaming data that could modify the caps. 
1828         Fixes #352958.
1829
1830 2006-08-28  Michael Smith  <msmith@fluendo.com>
1831
1832         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1833           Revert previous change; I misunderstood single-segment mode.
1834
1835 2006-08-28  Michael Smith  <msmith@fluendo.com>
1836
1837         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1838           Unset DISCONT on buffers when using single-segment mode.
1839
1840 2006-08-28  Wim Taymans  <wim@fluendo.com>
1841
1842         * gst/gstcaps.c: (gst_caps_merge_structure):
1843         * gst/gstcaps.h:
1844         Fix docs and indentation again.
1845
1846         * tests/check/gst/gstquery.c: (GST_START_TEST):
1847         Fix leak in tests and add some more tests.
1848
1849 2006-08-28  Edward Hervey  <edward@fluendo.com>
1850
1851         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1852         Inform GstSegment of the last stop position in order for the current
1853         segment to have a proper duration if it doesn't have a specific stop
1854         position from which a duration could be calculated.
1855         This bug was noticeable when a non-flushing, non-update new segment was
1856         followed by another segment (all buffers from the new segment were being
1857         dropped).
1858
1859 2006-08-28  Wim Taymans  <wim@fluendo.com>
1860
1861         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1862         Small comment update.
1863
1864         * plugins/elements/gstidentity.c: (gst_identity_class_init),
1865         (gst_identity_transform_ip):
1866         Drop-probability is broken, mention this in the code with a 
1867         FIXME and also in the property description.
1868         Make silent also be silent about the drop messages.
1869
1870 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
1871
1872         * docs/manual/appendix-win32.xml:
1873           Remove mention of popt, we don't depend on that any
1874           longer (#353136). Add some comments pointing out that
1875           this section is slightly outdated.
1876
1877 2006-08-28  Wim Taymans  <wim@fluendo.com>
1878
1879         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
1880
1881         * gst/gstquery.c: (gst_query_new_segment):
1882         * tests/check/gst/gstquery.c: (GST_START_TEST):
1883         Initialize variables when creating a new segment query.
1884         Fixes #353121.
1885
1886 2006-08-28  Wim Taymans  <wim@fluendo.com>
1887
1888         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
1889
1890         * gst/gstelement.c: (gst_element_get_bus):
1891         * tests/check/gst/gstelement.c: (GST_START_TEST):
1892         Check for NULL before _reffing the bus. Fixes #353122.
1893
1894 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
1895
1896         * docs/manual/basics-bus.xml:
1897           Docs update: fix wrong callback return value explanation; add
1898           some lines about the implicit relationship between main loop
1899           and main context; remove duplicate main loop variable declaration.
1900
1901 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
1902
1903         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1904           Don't leak caps in unit test; add a few more simple
1905           checks. 
1906
1907 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
1908
1909         * docs/gst/gstreamer-sections.txt:
1910         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
1911         (gst_caps_structure_is_subset), (gst_caps_merge),
1912         (gst_caps_merge_structure):
1913         * gst/gstcaps.h:
1914         * libs/gst/base/gstbasetransform.c:
1915         (gst_base_transform_transform_caps):
1916         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
1917           implement caps merging (fixes #352580)
1918
1919 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
1920
1921         * tools/Makefile.am:
1922         * tools/gst-plot-timeline.py:
1923           add debug-log plotting developer tool (#340674)
1924
1925 2006-08-23  Wim Taymans  <wim@fluendo.com>
1926
1927         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
1928         (gst_pad_stop_task):
1929         Improve debugging for task functions.
1930
1931         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
1932         (gst_task_start), (gst_task_pause), (gst_task_join):
1933         Make sure that the task function started and finished after a 
1934         join(). 
1935         Don't try to push the task function on the threadpool multiple
1936         times.
1937         Improve the g_warning message with some useful suggestions
1938         about how to fix the problem. 
1939
1940 2006-08-23  Wim Taymans  <wim@fluendo.com>
1941
1942         * gst/gstutils.c: (gst_pad_proxy_getcaps):
1943         Handle RESYNC correctly in _proxy_getcaps.
1944
1945 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
1946
1947         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
1948         (gst_xml_parse_memory), (gst_xml_get_element):
1949           Chain up to parent class in dispose function and also
1950           unref the elements in the toplevel_elements GList.
1951           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
1952           Always return a reference in gst_xml_get_element() rather
1953           than only sometimes.
1954
1955         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
1956           Don't leak GstXml object.
1957
1958 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
1959
1960         * docs/gst/gstreamer-sections.txt:
1961         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
1962         (gst_caps_merge):
1963         * gst/gstcaps.h:
1964         * libs/gst/base/gstbasetransform.c:
1965         (gst_base_transform_transform_caps):
1966           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
1967           in a better way
1968
1969 2006-08-21  Edward Hervey  <edward@fluendo.com>
1970
1971         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
1972         Implement GObject::dispose virtual method in GstXML so we can free the
1973         top_elements GList.
1974
1975 2006-08-21  Wim Taymans  <wim@fluendo.com>
1976
1977         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
1978         (gst_buffer_create_sub):
1979         Copy duration/offset_end/caps when creating a subbuffer of the
1980         complete parent.
1981         Make the subbuffer read-only when we make the metadata writable for
1982         now. Fixes #351768.
1983
1984         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1985         Added check for metadata copy when creating subbuffers.
1986
1987 2006-08-21  Edward Hervey  <edward@fluendo.com>
1988
1989         * libs/gst/base/gstbasetransform.c:
1990         (gst_base_transform_buffer_alloc):
1991         Only call downstream buffer_alloc if transform element is passthrough
1992         or always_in_place. Closes #350449.
1993
1994 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
1995
1996         * ChangeLog:
1997           ChangeLog surgery to add comments to previous changes
1998
1999 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
2000
2001         * gst/gst.c:
2002           Add comments
2003
2004         * gst/gstpad.c: (gst_pad_set_active):
2005           Be more verbose in the log
2006
2007         * libs/gst/base/gstbasetransform.c:
2008         (gst_base_transform_transform_caps):
2009           Simplify caps to get rid of duplicates, fixes #345444
2010
2011 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
2012
2013         * gst/gstvalue.c:
2014         * gst/gstvalue.h:
2015           Use these optimizations only internally.
2016
2017 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
2018
2019         * gst/gstvalue.c: (gst_value_compare_list),
2020         (gst_value_compare_fraction_range),
2021         (gst_value_intersect_fraction_fraction_range),
2022         (gst_value_intersect_fraction_range_fraction_range),
2023         (gst_value_subtract_fraction_fraction_range),
2024         (gst_value_subtract_fraction_range_fraction_range),
2025         (gst_value_get_compare_func), (gst_value_compare),
2026         (gst_value_compare_with_func):
2027         * gst/gstvalue.h:
2028           Saves the expensive lookup of the compare function in many cases
2029          (#345444)
2030
2031 2006-08-18  Edward Hervey  <edward@fluendo.com>
2032
2033         * tests/check/gst/gstinfo.c: (gst_info_suite):
2034         Disable test that require gstdebug if it wasn't built in core.
2035
2036 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
2037
2038         * docs/random/ensonic/logging.txt:
2039           update ideas
2040           
2041         * gst/gstinfo.c: (gst_debug_log_default):
2042           reorder fields, save some columns, add optional color codes for log
2043           levels
2044
2045 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
2046
2047         * docs/random/ensonic/logging.txt:
2048           add ideas about making the logs a bit more useful
2049
2050 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
2051
2052         * docs/pwg/advanced-events.xml:
2053         * docs/pwg/titlepage.xml:
2054           Update for 0.10 API (#340627). Add myself
2055           to authors list.
2056
2057 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
2058
2059         * docs/libs/gstreamer-libs-docs.sgml:
2060         * docs/libs/gstreamer-libs-sections.txt:
2061         * libs/gst/check/gstbufferstraw.c:
2062           Make gstcheck stuff show up in docs (still needs to
2063           be documented properly though).
2064
2065 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
2066
2067         * docs/gst/gstreamer-sections.txt:
2068         * gst/Makefile.am:
2069         * gst/gst.c: (init_post):
2070         * gst/gst_private.h:
2071         * gst/gstquark.c: (_priv_gst_quarks_initialize):
2072         * gst/gstquark.h:
2073         * gst/gstquery.c: (gst_query_new_position),
2074         (gst_query_set_position), (gst_query_parse_position),
2075         (gst_query_new_duration), (gst_query_set_duration),
2076         (gst_query_parse_duration), (gst_query_new_convert),
2077         (gst_query_set_convert), (gst_query_parse_convert),
2078         (gst_query_new_segment), (gst_query_set_segment),
2079         (gst_query_parse_segment), (gst_query_new_seeking),
2080         (gst_query_set_seeking), (gst_query_parse_seeking):
2081         Add internal helpers for pre-registering quarks from static strings
2082         and using the quark values directly instead of looking them up when
2083         creating and parsing queries. Can be used for event construction too.
2084         Closes #350432.
2085
2086 2006-08-16  Wim Taymans  <wim@fluendo.com>
2087
2088         * gst/gstbin.c:
2089         Fix bogus docs.
2090
2091 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
2092
2093         * gst/gstutils.c: (gst_util_set_value_from_string):
2094           Fix memleak (#351502).
2095
2096         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2097           Add unit test for most of gst_util_set_value_from_string()
2098           (not that one would want to encourage use of this function).
2099
2100 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
2101
2102         * libs/gst/check/gstcheck.h:
2103           Use const gchar * variables in fail_unless_equals_string
2104           macro to avoid compiler warnings (and don't use tabs for
2105           indenting).
2106
2107 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
2108
2109         * tools/gst-launch.c: (print_tag):
2110           More space on the left for the tag names, to cater
2111           for the 'extended comment' tag (not touching the
2112           string for the first line since it's translated).
2113
2114 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
2115
2116         * libs/gst/check/gstcheck.h:
2117           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
2118           print something when they fail.
2119
2120 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
2121
2122         * docs/gst/gstreamer-sections.txt:
2123         * gst/gsttaglist.c: (_gst_tag_initialize):
2124         * gst/gsttaglist.h:
2125           API: add GST_TAG_EXTENDED_COMMENT (#350935).
2126           Also change merge function for GST_TAG_COMMENT to
2127           use_first.
2128
2129 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
2130
2131         * gst/gstinfo.c: (gst_debug_print_object):
2132           Make GST_PTR_FORMAT print messages as well.
2133
2134         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
2135         (GST_START_TEST), (gst_info_suite):
2136           More tests.
2137
2138 2006-08-14  Edward Hervey  <edward@fluendo.com>
2139
2140         * gst/gstelementfactory.c: (gst_element_register):
2141         If the GstElementClass doesn't have a GstElementDetails with all fields
2142         filled up correctly (longname, description AND author), then error out
2143         nicely instead of crashing.
2144
2145 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
2146
2147         * gst/gststructure.c:
2148           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
2149
2150         * gst/gstvalue.h:
2151           Expand on the difference between arrays and lists as we use them.
2152           
2153 2006-08-14  Wim Taymans  <wim@fluendo.com>
2154
2155         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
2156         If the parent state change function failed, don't assume we can safely
2157         stop the source, this will be done when the pads are deactivated.
2158
2159 2006-08-14  Wim Taymans  <wim@fluendo.com>
2160
2161         * gst/gstbuffer.c:
2162         * gst/gsttask.c: (gst_task_join):
2163         Small doc updates.
2164
2165         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
2166         (gst_pad_stop_task):
2167         When pad (de)activation failed for some reason, restore the old
2168         activation mode and set the pad to flushing instead of assuming the
2169         pad is deactivated.
2170         If the _task_join() failed, reinstall the task on the pad so that it can
2171         be stopped later and return an error.
2172
2173 2006-08-11  Andy Wingo  <wingo@pobox.com>
2174
2175         * configure.ac:
2176         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
2177         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
2178         is only for users of API that don't want to see deprecated
2179         functions in the headers; people that want to compile out
2180         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
2181         CFLAGS. Fixes the build of multifdsink, or will soon..
2182
2183 2006-08-11  Wim Taymans  <wim@fluendo.com>
2184
2185         * docs/gst/gstreamer-sections.txt:
2186         Add GstClockClass vmethod docs.
2187
2188         * gst/gstcaps.h:
2189         Mark #endif with comment for associated #if
2190
2191         * gst/gstclock.c: (gst_clock_id_wait):
2192         * gst/gstclock.h:
2193         Add vmethod wait_jitter to avoid an unneeded _get_time() for
2194         most clock implementations.
2195         Document vmethods.
2196         Flesh out docs about resolution methods.
2197         API: GstClockClass::wait_jitter
2198
2199         * gst/gstsystemclock.c: (gst_system_clock_class_init),
2200         (gst_system_clock_async_thread),
2201         (gst_system_clock_id_wait_jitter_unlocked),
2202         (gst_system_clock_id_wait_jitter):
2203         Use base class wait_jitter variant for improved performance
2204         due to less clock polling.
2205
2206 2006-08-11  Edward Hervey  <edward@fluendo.com>
2207
2208         * gst/gst.c: (gst_init_check), (init_post):
2209         Set gst as being initialized before scanning/updating the registry,
2210         since there might be my python plugin loader that calls gst_init() and
2211         we don't want to loop back in.
2212         Closes #350879
2213
2214 2006-08-11  Wim Taymans  <wim@fluendo.com>
2215
2216         * docs/design/part-qos.txt:
2217         Bring docs in line with the code. Mostly the sign of the jitter was
2218         wrong in the docs. Fixes #349943.
2219
2220         * gst/gstclock.c:
2221         Fix the docs for the jitter.
2222
2223         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
2224         (gst_event_parse_tag), (gst_event_new_buffer_size),
2225         (gst_event_parse_buffer_size), (gst_event_parse_qos),
2226         (gst_event_new_seek), (gst_event_parse_seek),
2227         (gst_event_new_navigation):
2228         Make sure the GstStructure has no parent when creating custom
2229         events.
2230         Add some more argument checking so that we avoid 0.0 rates.
2231         Flesh out the docs for the QoS event some more.
2232
2233 2006-08-11  Wim Taymans  <wim@fluendo.com>
2234
2235         * docs/gst/gstreamer-sections.txt:
2236         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
2237         (ensure_current_registry_forking), (ensure_current_registry),
2238         (parse_one_option), (parse_goption_arg), (gst_deinit),
2239         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
2240         * gst/gst.h:
2241         Doc updates.
2242         Added API and command line option to disable registry forking in
2243         addition to the environment variable.
2244         Constify some static arrays.
2245         Added some more debug.
2246         Don't deinit twice.
2247         API: gst_registry_fork_is_enabled()
2248         API: gst_registry_fork_set_enabled()
2249         API: --gst-disable-registry-fork command line option
2250         Fixes #348918.
2251
2252 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
2253
2254         * gst/gst.c: (gst_init):
2255           Fix typo in error message.
2256
2257 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
2258
2259         * libs/gst/controller/gstcontroller.h:
2260           fix ABI size-correction
2261
2262         * tests/check/libs/gdp.c: (gst_dp_suite):
2263           make tests that use deprecated API conditional
2264
2265 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
2266
2267         * docs/libs/gstreamer-libs-sections.txt:
2268         * libs/gst/controller/gstcontroller.c:
2269         (_gst_controller_get_property), (_gst_controller_set_property),
2270         (_gst_controller_init), (_gst_controller_class_init):
2271         * libs/gst/controller/gstcontroller.h:
2272         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
2273         (gst_object_set_control_rate):
2274           API: add gst_object_{s,g}et_control_rate(), add private data section,
2275           fix docs
2276
2277         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
2278         * libs/gst/dataprotocol/dataprotocol.h:
2279           add deprecation guards to make gtk-doc happy and allow disabling cruft
2280
2281 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
2282
2283         * tests/check/Makefile.am:
2284         * tests/check/gst/.cvsignore:
2285           Let's enable the new unit test as well.
2286
2287 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
2288
2289         * configure.ac:
2290         * docs/gst/gstreamer-sections.txt:
2291         * gst/gstconfig.h.in:
2292         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
2293         (_gst_info_printf_extension_ptr),
2294         (_gst_info_printf_extension_segment):
2295           API: add GST_SEGMENT_FORMAT, which is a printf extension we
2296           register that lets us easily dump GstSegments into debug
2297           logs (#350419).
2298
2299         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
2300         (info_segment_format_printf_extension), (gst_info_suite):
2301           Add simple unit test that logs a bunch of different segments (not
2302           valgrinded at the moment because of leaks in
2303           gst_debug_add_log_function).
2304
2305 2006-08-09  Edward Hervey  <edward@fluendo.com>
2306
2307         * libs/gst/base/gstbasetransform.c:
2308         (gst_base_transform_buffer_alloc):
2309         Even if we can't figure out the proper format to request downstream,
2310         call buffer_alloc() downstream with the input parameters without setting
2311         the caps on the srcpad. This will force negotiation in the chain
2312         function.
2313         Closes #350449
2314
2315 2006-08-08  Edward Hervey  <edward@fluendo.com>
2316
2317         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
2318         Unlinking from a pad without a target is now a perfectly valid case
2319         which should NOT raise an assertion.
2320         This case would happen if a linked ghostpad its target set to NULL after
2321         it was previously linked.
2322
2323 2006-08-08  Edward Hervey  <edward@fluendo.com>
2324
2325         * tests/check/libs/gdp.c:
2326         Also comment out the test (see below).
2327
2328 2006-08-08  Edward Hervey  <edward@fluendo.com>
2329
2330         * tests/check/libs/gdp.c: (gst_dp_suite):
2331         Use the architecture information from config.h and not gcc macros
2332         in order to properly disable a test that fails on PPC64.
2333
2334 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
2335
2336         * gst/gstelement.c: (gst_element_remove_pad):
2337           Don't crash printing the warning if the pad has no parent.
2338
2339 2006-08-02  Wim Taymans  <wim@fluendo.com>
2340
2341         * libs/gst/dataprotocol/dataprotocol.c:
2342         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
2343         (gst_dp_crc), (gst_dp_header_payload_length),
2344         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
2345         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
2346         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
2347         (gst_dp_event_from_packet), (gst_dp_validate_header),
2348         (gst_dp_validate_payload):
2349         Make debug category static
2350         Constify the crc table.
2351         Do some more arg checking in public functions.
2352         Fix some docs and do some small cleanups.
2353
2354         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
2355         Add some more checks to see if GDP deals with bogus input.
2356
2357 2006-07-31  Wim Taymans  <wim@fluendo.com>
2358
2359         * gst/gstvalue.c: (gst_value_compare_list):
2360         Fix GstValueList comparison code. Fixes #347293.
2361
2362         * tests/check/gst/gstvalue.c: (GST_START_TEST):
2363         Check to test GstValueList comparison.
2364
2365 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
2366
2367         * gst/gstelementfactory.c: (gst_element_factory_create):
2368         Remove unnecessary ref/unref pair
2369
2370         * gst/parse/grammar.y:
2371         Make sure to free the parse buffer on all code paths.
2372         Move a g_free up to the error handler where it's easier to see.
2373
2374         * tests/check/gst/gstevent.c: (test_event):
2375         Extending timeout for downstream travelling events to 10 seconds to
2376         hopefully avoid intermittent failure on the buildbots.
2377
2378         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
2379         Don't manually set the state of the src element - it will happen as a
2380         natural consequence of the pipeline changing state, and that way it
2381         will do it in the right order too.
2382
2383 2006-07-31  Wim Taymans  <wim@fluendo.com>
2384
2385         * libs/gst/base/gstbasetransform.c:
2386         (gst_base_transform_buffer_alloc):
2387         Use OBJECT_LOCK and refcounting to get the pad caps in the
2388         buffer_alloc function because the caps could change while we are
2389         busy with them. Fixes #349105
2390
2391 2006-07-31  Wim Taymans  <wim@fluendo.com>
2392
2393         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
2394         Protect _PAD_CAPS with OBJECT_LOCK.
2395
2396 2006-07-31  Wim Taymans  <wim@fluendo.com>
2397
2398         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
2399         (gst_pad_get_property), (gst_pad_activate_pull),
2400         (gst_pad_activate_push), (gst_pad_set_blocked_async),
2401         (gst_pad_set_activate_function),
2402         (gst_pad_set_activatepull_function),
2403         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
2404         (gst_pad_set_getrange_function),
2405         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
2406         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2407         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
2408         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
2409         (gst_pad_set_acceptcaps_function),
2410         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
2411         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
2412         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
2413         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
2414         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
2415         (gst_pad_configure_sink), (gst_pad_configure_src),
2416         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
2417         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
2418         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
2419         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
2420         (gst_pad_send_event):
2421         Use _DEBUG_OBJECT when it makes sense.
2422         Protect GST_PAD_CAPS with the OBJECT_LOCK.
2423         Small cleanups and code reflows.
2424         Avoid caps refcounting in _accept_caps.
2425         Refactor alloc_buffer so that the code performed on the peer is in a
2426         separate function. Also if the pad does not implement a buffer alloc
2427         function, we should still check if the pad is flushing before falling
2428         back to the default allocator.
2429
2430 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
2431
2432         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2433         Make all uses of identity and fakesink have silent=true to avoid
2434         serialising every passing data structure, which is breaking tests
2435         on FC4 for some unknown reason.
2436
2437 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
2438
2439         * gst/parse/Makefile.am:
2440         * gst/parse/grammar.y:
2441         * gst/parse/parse.l:
2442           Reverted previous patch as it required to bump the flex dependency to
2443           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
2444
2445 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
2446
2447         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
2448
2449         * gst/parse/Makefile.am:
2450         * gst/parse/grammar.y:
2451         * gst/parse/parse.l:
2452           push & pop the state of the lexer for reentrant use case
2453           Fixes #349180
2454
2455 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
2456
2457         * libs/gst/base/gstbasesrc.h:
2458           Note in the docs that the ::newsegment vfunc is not actually used by
2459           GstBaseSrc.
2460
2461 2006-07-28  Wim Taymans  <wim@fluendo.com>
2462
2463         * libs/gst/base/gstcollectpads.c:
2464         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
2465         (gst_collect_pads_clear), (gst_collect_pads_flush),
2466         (gst_collect_pads_event), (gst_collect_pads_chain):
2467         When flushing a pad, also clear the queued buffer so that we don't
2468         accidentally use it when we shouldn't.
2469         Fix leaks by inreffing incomming buffer.
2470         Flush out queued buffers in case of errors.
2471         Fixes #347452.
2472
2473 2006-07-28  Wim Taymans  <wim@fluendo.com>
2474
2475         * docs/random/phonon-gst:
2476         Random notes about a Phonon backend.
2477
2478 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
2479
2480         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
2481         Extra debug output
2482         * tests/check/libs/gdp.c: (gst_dp_suite):
2483         Take a whack at fixing the ppc compile using a different define to
2484         disable the broken test.
2485
2486         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2487         Remove excess g_print()
2488
2489 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
2490
2491         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
2492         Oops, meant to uncomment this line too to dampen the noise a bit.
2493
2494 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
2495
2496         * gst/parse/grammar.y:
2497         * gst/parse/parse.l:
2498         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
2499         (GST_START_TEST), (parse_suite):
2500         Fix some of the leaks exposed by extending the parse-launch testsuite,
2501         and move the 3 I can't figure out into a separate test that won't run
2502         the pipelines unless the appropriate line is uncommented.
2503
2504 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
2505
2506         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
2507           Requesting 0 bytes before the end of the file should result in
2508           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
2509           unit test.
2510
2511 2006-07-27  Wim Taymans  <wim@fluendo.com>
2512
2513         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
2514         Fix useless assert, a uint is always positive.
2515
2516         * gst/gststructure.c: (gst_structure_nth_field_name),
2517         (gst_structure_foreach), (gst_structure_map_in_place):
2518         Check input arguments for public functions to avoid obvious crashes.
2519
2520         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
2521         * plugins/elements/gstfakesink.h:
2522         Do less useless typechecking.
2523
2524 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
2525
2526         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
2527           Do not use mmap() by default since there are a number of error
2528           conditions that we would like to handle in a non-fatal way that
2529           will result in a SIGBUS if we use mmap(). Examples: external
2530           devices (USB harddrive, portable music player) being unplugged
2531           while in use; file on mounted CD/DVD that can't be read because
2532           the medium is partly damaged. Fixes #348455 and #348475.
2533
2534 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
2535
2536         * gst/gstquery.h:
2537         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
2538         rates are a gdouble
2539
2540 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
2541
2542         * gst/gstregistry.c:
2543           Move big documentation comment into class section header, so that it
2544           appears in the API docs.
2545
2546 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
2547
2548         * docs/gst/gstreamer-sections.txt:
2549         Oops. Commit the docs additions too for new API.
2550         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
2551
2552 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
2553
2554         * gst/gststructure.c: (gst_structure_id_set),
2555         (gst_structure_id_set_valist):
2556         * gst/gststructure.h:
2557         Add API for setting values into structures without performing
2558         a quark lookup, if the appropriate quark is already known.
2559
2560         API: gst_structure_id_set
2561         API: gst_structure_id_set_valist
2562
2563         * gst/parse/grammar.y:
2564         * gst/parse/parse.l:
2565         Remove some dead code shown by the coverage information.
2566         Don't throw a critical g_warning when encountering a syntax error,
2567         just warn and let the normal error path handle it.
2568
2569         * plugins/elements/gstelements.c:
2570         Bump the rank of filesink up to PRIMARY so that it is preferred over
2571         gnomevfssink for file:// sink uri's
2572
2573         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
2574         (GST_START_TEST), (run_delayed_test),
2575         (gst_parse_test_element_base_init),
2576         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
2577         (gst_parse_test_element_change_state),
2578         (gst_register_parse_element), (parse_suite):
2579         Beef up the tests for parse syntax to check that more error cases
2580         fail as they are supposed to. Increases the test coverage a bit.
2581
2582 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
2583
2584         * docs/manual/basics-elements.xml:
2585           Fix gst_element_link() example.
2586
2587         * gst/gstutils.c:
2588           Mention in API docs that one should usually gst_bin_add()
2589           elements to a bin or pipeline before doing the linking.
2590           
2591 2006-07-26  Wim Taymans  <wim@fluendo.com>
2592
2593         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
2594         (gst_subbuffer_get_type), (gst_buffer_create_sub):
2595         Avoid function call for known types by keeping the buffer and
2596         subbuffer GType global.
2597
2598         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
2599         Random silly optimisations in read() path.
2600
2601 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
2602
2603         * tools/gst-launch.c: (main):
2604           If the top-level of the parse is a normal bin, it doesn't do the
2605           right logic to run as a top-level element, so place it inside a
2606           pipeline.
2607
2608 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
2609
2610         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
2611           Remove superfluous g_object_notify() calls, GObject does
2612           that for us automatically.
2613
2614 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
2615
2616         * gst/gstinfo.h:
2617           on Win32, use dllspec to export the debug category symbols
2618
2619 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
2620
2621         * gst/gsttaglist.c: (_gst_tag_initialize):
2622           Allow more than one GST_TAG_IMAGE per taglist.
2623
2624 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2625
2626         * gst/gstminiobject.c:
2627           update docs
2628         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
2629         (gst_fd_src_create):
2630           log recurring events at LOG level
2631           add more debug for when the fd gets set
2632
2633 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
2634
2635         * gst/gstparse.c: (gst_parse_launch):
2636           Also remove reentrance checks if flex is MT safe (#348179)
2637          Fix my empty ChangeLog entry below
2638
2639 2006-07-21  Andy Wingo  <wingo@pobox.com>
2640
2641         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
2642
2643         * libs/gst/check/Makefile.am
2644         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
2645         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
2646         * libs/gst/check/gstbufferstraw.h:
2647         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
2648         functions, thus proving I am still a GStreamer haxor. OK I wrote
2649         them a long time ago, but anyways.
2650
2651 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
2652
2653         * configure.ac:
2654         * gst/gstparse.c: (gst_parse_launch):
2655           Check for flex version and omit mutex if we have a MT save flex
2656           (fixes #348179)
2657
2658 2006-07-21  Wim Taymans  <wim@fluendo.com>
2659
2660         * gst/gstparse.c: (gst_parse_launch):
2661         Protect recursive calls to _parse with a recursive mutex
2662         and busy flag.
2663
2664 2006-07-21  Wim Taymans  <wim@fluendo.com>
2665
2666         * tests/check/gst/gstpad.c: (GST_START_TEST):
2667         Fix leak in test.
2668
2669 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
2670
2671         * gst/gstparse.c: (gst_parse_launch):
2672           Do not hang on recursive usage of gst_parse_launch()
2673
2674 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
2675
2676         * gst/gsttaglist.c:
2677           Add some more docs, comments and FIXME 0.11s here and there
2678           and also fix some typos.
2679
2680 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
2681
2682         * gst/gstsegment.h:
2683           Convert tabs to spaces for better readability. 
2684
2685 2006-07-20  Edward Hervey  <edward@fluendo.com>
2686
2687         * tests/check/libs/gdp.c: (gst_dp_suite):
2688         the test_buffer test fails at line 140 on ppc64 at the following
2689         check:
2690         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
2691                 GST_BUFFER_FLAG_IN_CAPS),
2692                 "GST_BUFFER_IN_CAPS flag should have been copied !");
2693         See bug #348114 for more details.
2694
2695 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
2696
2697         * docs/pwg/advanced-scheduling.xml:
2698         * gst/gstpad.c:
2699           Fix typos (#348000).
2700
2701 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
2702
2703         * docs/pwg/intro-basics.xml:
2704           Fix wrong links (#347927).
2705
2706 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
2707
2708         * gst/gstregistry.h:
2709         * gst/gstregistryxml.c: (load_feature),
2710         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
2711         * win32/common/config.h:
2712           make --disable-index work (#342564)
2713
2714 2006-07-18  Wim Taymans  <wim@fluendo.com>
2715
2716         Patch by: Peter Kjellerstedt <pkj at axis dot com>
2717
2718         * gst/Makefile.am:
2719         * gst/gsttrace.h:
2720         The attached patch adds two missing defines to gsttrace.h when tracing
2721         is disabled.  It also corrects one existing define.
2722         Fixes #347756.
2723
2724 2006-07-17  Wim Taymans  <wim@fluendo.com>
2725
2726         * docs/gst/gstreamer-sections.txt:
2727         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
2728         * gst/gst.h:
2729         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
2730         Add two functions to check and change the SIGSEGV behaviour
2731         when loading plugins.
2732         Don't mess with the SIGSEGV handler when we were told not to.
2733         Fixes #347794.
2734         API: gst_segtrap_is_enabled
2735         API: gst_segtrap_set_enabled
2736
2737 2006-07-14  Wim Taymans  <wim@fluendo.com>
2738
2739         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
2740         * tests/check/elements/filesrc.c: (GST_START_TEST):
2741         Revert fix for regression in #347408 after release.
2742
2743 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
2744
2745         Patch by: Antoine Tremblay <hexa00 at gmail com>
2746
2747         * gst/gstutils.c: (gst_element_unlink):
2748           Free iterator when done (#347311).
2749
2750         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2751           And add a test case for this.
2752
2753 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
2754
2755         * configure.ac:
2756         Bump nano back to CVS
2757
2758 === release 0.10.9 ===
2759
2760 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
2761
2762         * configure.ac:
2763           releasing 0.10.9, "On the road again"
2764
2765 2006-07-13  Wim Taymans  <wim@fluendo.com>
2766
2767         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
2768         * tests/check/elements/filesrc.c: (GST_START_TEST):
2769         Revert pull-0 fix for release. Disable check. Fixes #347408.
2770
2771 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2772
2773         * libs/gst/dataprotocol/dataprotocol.c:
2774         (gst_dp_event_from_packet_1_0):
2775           Fixes #347337: failure to deserialize event packets with
2776           empty payload (only event type)
2777
2778 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2779
2780         * gst/Makefile.am:
2781           do not install a .c file in the header directory
2782
2783 2006-07-13  Edward Hervey  <edward@fluendo.com>
2784
2785         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
2786         GhostPad no longer implicitely use the padtemplates of the targets.
2787         Fixes #347384
2788
2789 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
2790
2791         * gst/gstvalue.c: (gst_value_compare_list),
2792         (gst_value_compare_array), (_gst_value_initialize):
2793         * tests/check/gst/gstvalue.c: (GST_START_TEST):
2794         Make GstValueArray comparison be order dependent as designed.
2795         Add checks for value lists and value array comparisons.
2796         Fixes #347221
2797
2798 2006-07-11  Edward Hervey  <edward@fluendo.com>
2799
2800         * gst/gstbin.c: (activate_pads),
2801         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
2802         (gst_bin_change_state_func):
2803         (de)activate src pads before calling state_change on the childs.
2804         This is to avoid the case where a src ghostpad is blocked (holding the
2805         stream lock), which would block the deactivation of the ghostpad's
2806         target pad.
2807         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
2808         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
2809         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
2810         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
2811         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
2812         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
2813         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
2814         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
2815         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
2816         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
2817         (gst_ghost_pad_class_init),
2818         (gst_ghost_pad_internal_do_activate_push),
2819         (gst_ghost_pad_internal_do_activate_pull),
2820         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
2821         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
2822         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
2823         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
2824         GhostPads now create their internal GstProxyPad at creation (and not
2825         when they're linked, as it was being done previously).
2826         The internal and target pads are linked straight away.
2827         The data will also travel through the other pad in order to make
2828         pad blocking and probes non-hackish (the probe/block now really happens
2829         on the GhostPad and not on the target).
2830         * gst/gstpad.c: (gst_pad_set_blocked_async),
2831         (gst_pad_link_prepare), (gst_pad_push_event):
2832         Remove previous ghostpad cruft.
2833         * gst/gstutils.c: (gst_pad_add_data_probe),
2834         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2835         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2836         (gst_pad_remove_buffer_probe):
2837         Remove previous ghost pad cruft.
2838         Added more detailed debug statements.
2839         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2840         Fix the testsuite for refcounting changes.
2841         The comments about who has references were correct, but the refcount
2842         being checked wasn't the same (!?!).
2843
2844         Fixes #341029
2845
2846 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
2847
2848         * docs/gst/gstreamer-sections.txt:
2849         * gst/gstconfig.h.in:
2850         More docs for configuration options, add docs to gtk-doc.
2851
2852 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
2853
2854         * gst/Makefile.am:
2855         * gst/gstconfig.h.in:
2856         * win32/common/config.h:
2857         Fix build when disabling tracing (fixes #344016). Also start to document
2858         the defines that disable the sub-systems.
2859
2860 2006-07-10  Edward Hervey  <edward@fluendo.com>
2861
2862         * gst/gst.c: (ensure_current_registry_forking):
2863         let's make valgrind happy...
2864
2865 2006-07-09  Wim Taymans  <wim@fluendo.com>
2866
2867         * gst/gstelement.c: (activate_pads),
2868         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
2869         Better pad activation code: Reset the collect value too on resync.
2870         Add some comments.
2871
2872 2006-07-09  Wim Taymans  <wim@fluendo.com>
2873
2874         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
2875         (gst_pad_activate_push):
2876         Use some more macros where it makes sense.
2877         Allow pad mode switching instead of asserting. When a pad
2878         is activated in one mode and we activate it in another, 
2879         deactivate it first before activating it in a different mode.
2880         Fixes #329198.
2881
2882 2006-07-08  Andy Wingo  <wingo@pobox.com>
2883
2884         * tools/gst-launch.c (main): Handle err == NULL.
2885
2886         * gst/gst.c (init_post, ensure_current_registry)
2887         (ensure_current_registry_forking)
2888         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
2889         factoring out the registry scanning into separate functions. Don't
2890         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
2891         Better environment var name/interface suggestions accepted.
2892
2893 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
2894
2895         * gst/gstobject.c: (gst_object_set_name_default),
2896         (gst_object_set_name):
2897           Random micro-optimisation: don't use a hash table
2898           with strings as keys and the usual strdup/strcmp
2899           involved, but rather just use the GQuark of the
2900           type name as key, since it needs to be looked up
2901           anyway to get the type name string.
2902
2903         * tests/check/gst/gstobject.c: (GST_START_TEST):
2904           Fix various leaks.
2905
2906 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
2907
2908         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
2909         (gst_bin_iterate_all_by_interface):
2910           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
2911           GTypes are gulongs and thus the top 4 bytes might be cut
2912           off on some platforms when doing GPOINTER_TO_INT, leading
2913           to invalid GTypes and bad things happening (see RH bug #179654).
2914           Also add a check to make sure the type passed in is really
2915           an interface type.
2916
2917 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
2918
2919         * .cvsignore:
2920           Ignore more.
2921
2922 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
2923
2924         * Makefile.am:
2925         * configure.ac:
2926         * gst-element-check.m4:
2927         * gst-element-check.m4.in:
2928           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
2929           instead of the unversioned gst-inspect (#324176, #168659).
2930
2931 2006-07-06  Wim Taymans  <wim@fluendo.com>
2932
2933         * gst/gstmessage.h:
2934         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
2935         warnings.
2936
2937 2006-07-06  Wim Taymans  <wim@fluendo.com>
2938
2939         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2940         (gst_base_src_wait), (gst_base_src_update_length),
2941         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
2942         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
2943         (gst_base_src_loop), (gst_base_src_start),
2944         (gst_base_src_activate_pull):
2945         Update docs.
2946         blocksize == 0 now means the default blocksize when working in push
2947         based mode.
2948         Remove some pointless asserts in _wait function.
2949         Fix offset/length calculations and EOS handling. We can now pull 0
2950         bytes as well, which is allowed.
2951         use _check_get_range() to decide if we can operate in _pull based
2952         mode.
2953         Fix refcounting leak when check_get_range function was not 
2954         implemented.
2955         API GstBaseSrc::blocksize range can be 0 too now (default)
2956
2957         * tests/check/elements/filesrc.c: (GST_START_TEST),
2958         (filesrc_suite):
2959         Added check to test _get_range() behaviour.
2960
2961 2006-07-06  Wim Taymans  <wim@fluendo.com>
2962
2963         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
2964         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
2965         (gst_pad_pull_range):
2966         * gst/gstpad.h:
2967         Lots of comments and docs added to the pad functions.
2968         Flesh out the expected behaviour of the get_range() functions.
2969
2970 2006-07-06  Wim Taymans  <wim@fluendo.com>
2971
2972         * gst/gstbus.h:
2973         * gst/gstclock.h:
2974         * gst/gstevent.h:
2975         * gst/gstiterator.h:
2976         * gst/gstpad.h:
2977         * gst/gstplugin.h:
2978         * gst/gsttask.h:
2979         Remove comma at end of enumerator list. 
2980
2981 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
2982
2983         * win32/common/libgstbase.def:
2984         * win32/common/libgstdataprotocol.def:
2985         * win32/common/libsgtreamer.def:
2986         Add new exported functions.
2987
2988 2006-07-05  Wim Taymans  <wim@fluendo.com>
2989
2990         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
2991         Add some more docs here and there.
2992
2993 2006-07-05  Wim Taymans  <wim@fluendo.com>
2994
2995         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
2996         (gst_base_sink_loop), (gst_base_sink_get_position):
2997         When operating in pull mode update the offset so that we
2998         read sequentially.
2999
3000 2006-07-05  Wim Taymans  <wim@fluendo.com>
3001
3002         * gst/gstregistryxml.c: (read_string):
3003         Avoid strdup. (will happen in libxml, but hey!)
3004
3005         * gst/gsturi.c:
3006         Add some more docs.
3007
3008 2006-07-05  Wim Taymans  <wim@fluendo.com>
3009
3010         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
3011         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
3012         (gst_buffer_suite):
3013         No point in checking if the size of the subbuffer > 0, the
3014         code handles it correclty as demonstrated by unit test.
3015         Also add a unit test for the zero sized _new_and_alloc and
3016         _copy. Fixes #346663.
3017
3018 2006-07-05  Wim Taymans  <wim@fluendo.com>
3019
3020         * libs/gst/base/gstbasetransform.c:
3021         (gst_base_transform_prepare_output_buffer),
3022         (gst_base_transform_buffer_alloc),
3023         (gst_base_transform_handle_buffer):
3024         Make sure the buffer we pass to transform_ip has a refcount of
3025         1 and thus is writable. Fixes #343196
3026
3027 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
3028
3029         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
3030         (gst_file_src_init), (gst_file_src_set_property),
3031         (gst_file_src_get_property), (gst_file_src_map_region):
3032         * plugins/elements/gstfilesrc.h:
3033         Add "sequential" property, off by default, to use madvise and hint
3034         to the kernel that sequential access is desired.
3035         Touch all retrieved pages by default to ensure they are pulled
3036         into memory. (Closes #345720)
3037
3038 2006-07-03  Wim Taymans  <wim@fluendo.com>
3039
3040         * docs/design/part-block.txt:
3041         * docs/design/part-dynamic.txt:
3042         Small docs updates.
3043
3044 2006-07-03  Wim Taymans  <wim@fluendo.com>
3045
3046         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
3047         (gst_caps_unref), (gst_static_caps_get),
3048         (gst_caps_append_structure):
3049         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
3050         Use GSlice when the glib we build against is >= 2.10
3051
3052 2006-07-03  Wim Taymans  <wim@fluendo.com>
3053
3054         * gst/gstelement.c: (gst_element_pads_activate):
3055         Small cleanup in pad activation code.
3056
3057 2006-07-03  Wim Taymans  <wim@fluendo.com>
3058
3059         Patch by: Peter Kjellerstedt <pkj at axis dot com>
3060
3061         * gst/gst-i18n-app.h:
3062         * gst/gst-i18n-lib.h:
3063         * tools/gst-inspect.c: (print_signal_info):
3064         The attached patch will make the inclusion of gettext.h unconditional in
3065         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
3066         libintl.h in tools/gst-inspect.c.
3067         This allows use of --disable-nls again and fixes #344642.
3068
3069 2006-07-03  Edward Hervey  <edward@fluendo.com>
3070
3071         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
3072         Implement pad blocking on events according to part-block.txt.
3073         More comments on behaviour.
3074         * tests/check/gst/gstevent.c: (test_event):
3075         Send event to peer pad of blocked pad (else it will block).
3076
3077 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3078
3079         * libs/gst/check/gstcheck.c: (gst_check_message_error),
3080         (gst_check_run_suite):
3081           if we get the wrong message, give us the types as string
3082         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
3083           Fix a translatable
3084         * tests/check/elements/filesrc.c: (GST_START_TEST):
3085           add a test for trying to open a non-existing file
3086
3087 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3088
3089         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
3090           add a test for adding self
3091
3092 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
3093
3094         * libs/gst/check/gstcheck.h:
3095           add some assert_ as alias for fail_unless_*
3096         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
3097           increase test coverage
3098
3099 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3100
3101         * Makefile.am:
3102           include lcov.mak for lcov coverage generation
3103         * tools/Makefile.am:
3104           add to CLEANFILES
3105
3106 2006-07-02  Edward Hervey  <edward@fluendo.com>
3107
3108         * tests/check/elements/.cvsignore:
3109         moaping
3110
3111 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3112
3113         * configure.ac:
3114           don't set CFLAGS and friends for gcov, done from GST_GCOV now
3115         * tests/check/Makefile.am:
3116           clean up gcov files
3117
3118 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3119
3120         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
3121           remove gst_caps_simplify; it was not declared and not used
3122           and deprecated in 0.8
3123
3124 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3125
3126         * docs/faq/gst-uninstalled:
3127           don't put empty paths on PYTHONPATH
3128         * docs/gst/gstreamer-sections.txt:
3129           remove some symbols that are not there
3130
3131 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3132
3133         * gst/gstcaps.c: (gst_caps_compare_structures):
3134           whitespace fixes
3135         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
3136         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3137           add more tests
3138
3139 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3140
3141         * libs/gst/dataprotocol/Makefile.am:
3142           build dataprotocol test by linking to the lib, instead of
3143           compiling the source, so we get coverage
3144         * tests/check/Makefile.am:
3145         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
3146         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
3147           add a test for filesrc
3148
3149 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3150
3151         * tests/check/gst/gststructure.c: (GST_START_TEST),
3152         (gst_structure_suite):
3153           Push coverage from 59.04% to 70.00%
3154
3155 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3156
3157         * tests/check/Makefile.am:
3158           gst-inspect every element; this makes sure that we also get
3159           coverage on element's get/set functions
3160
3161 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3162
3163         * configure.ac:
3164           set CFLAGS and friends to -O0 if gcov is being used
3165           add GCOV LIBS
3166         * gst/Makefile.am:
3167         * libs/gst/base/Makefile.am:
3168         * libs/gst/check/Makefile.am:
3169         * libs/gst/controller/Makefile.am:
3170         * libs/gst/dataprotocol/Makefile.am:
3171         * libs/gst/net/Makefile.am:
3172         * plugins/elements/Makefile.am:
3173         * plugins/indexers/Makefile.am:
3174           add makefile rules to generate gcov data and clean up
3175         * tests/check/Makefile.am:
3176           add a coverage target that generates an html overview
3177           of coverage data
3178
3179 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3180
3181         * tests/check/elements/fakesink.c:
3182         * tests/check/elements/fakesrc.c:
3183         * tests/check/elements/fdsrc.c:
3184         * tests/check/elements/identity.c:
3185         * tests/check/generic/sinks.c: (gst_sinks_suite):
3186         * tests/check/generic/states.c:
3187         * tests/check/gst/gst.c:
3188         * tests/check/gst/gstabi.c:
3189         * tests/check/gst/gstbin.c:
3190         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
3191         * tests/check/gst/gstbus.c: (gst_bus_suite):
3192         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3193         * tests/check/gst/gstelement.c:
3194         * tests/check/gst/gstevent.c: (gst_event_suite):
3195         * tests/check/gst/gstghostpad.c:
3196         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
3197         * tests/check/gst/gstmessage.c: (gst_message_suite):
3198         * tests/check/gst/gstminiobject.c:
3199         * tests/check/gst/gstobject.c:
3200         * tests/check/gst/gstpad.c:
3201         * tests/check/gst/gstpipeline.c:
3202         * tests/check/gst/gstplugin.c:
3203         * tests/check/gst/gstquery.c: (gst_query_suite):
3204         * tests/check/gst/gstsegment.c: (gst_segment_suite):
3205         * tests/check/gst/gststructure.c:
3206         * tests/check/gst/gstsystemclock.c:
3207         * tests/check/gst/gsttag.c:
3208         * tests/check/gst/gsttask.c: (gst_task_suite):
3209         * tests/check/gst/gstutils.c:
3210         * tests/check/gst/gstvalue.c:
3211         * tests/check/libs/adapter.c:
3212         * tests/check/libs/basesrc.c:
3213         * tests/check/libs/collectpads.c:
3214         * tests/check/libs/controller.c:
3215         * tests/check/libs/gdp.c: (gst_dp_suite):
3216         * tests/check/libs/gstnetclientclock.c:
3217         * tests/check/libs/gstnettimeprovider.c:
3218         * tests/check/libs/libsabi.c: (libsabi_suite):
3219         * tests/check/libs/typefindhelper.c:
3220         * tests/check/pipelines/cleanup.c:
3221         * tests/check/pipelines/parse-launch.c:
3222         * tests/check/pipelines/simple-launch-lines.c:
3223         * tests/check/pipelines/stress.c: (stress_suite):
3224           use the new macro
3225
3226 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3227
3228         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
3229         * libs/gst/check/gstcheck.h:
3230           create a macro and function so that the simple unit test
3231           case can be just one macro to create main()
3232
3233 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
3234
3235         * gst/gstbin.c: (gst_bin_restore_thyself):
3236         * gst/gstxml.c: (gst_xml_make_element):
3237           Fix deserialisation from XML. Set parent manually
3238           instead of using gst_bin_add(), since gst_bin_add()
3239           will unlink all pads of the element being added.
3240           Fixes #341667.
3241
3242 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
3243
3244         Patch by: Peter Kjellerstedt <pkj at axis com>
3245
3246         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
3247           Fix missing g_strdup() and double free when using the
3248           --gst-plugin-load command line option (#346097).
3249
3250 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
3251
3252         * gst/gstinfo.c:
3253           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
3254
3255         * libs/gst/net/gstnetclientclock.c:
3256         * libs/gst/net/gstnettimeprovider.c:
3257           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
3258
3259 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
3260
3261         * docs/manual/advanced-dataaccess.xml:
3262           Fix buffer probe example compilation in
3263           ADM (#345708).
3264         
3265 2006-06-22  Edward Hervey  <edward@fluendo.com>
3266
3267         * gst/gstelement.c: (gst_element_pads_activate):
3268         We need to deactivate src pads first and then sink pads.
3269         The reason is the src pads might be blocking while holding the streaming
3270         lock, so we need to deactivate them first so that deactivating the sink
3271         pads doesn't block (since it will require the streaming lock).
3272
3273 2006-06-22  Wim Taymans  <wim@fluendo.com>
3274
3275         * libs/gst/base/gstbasetransform.c:
3276         (gst_base_transform_buffer_alloc):
3277         Forgot to remove two unneeded unrefs.
3278         Simplify a check _is_equal allready checks the obvious case.
3279
3280 2006-06-22  Wim Taymans  <wim@fluendo.com>
3281
3282         * docs/design/part-block.txt:
3283         Some docs about what pad_block should do.
3284
3285 2006-06-22  Wim Taymans  <wim@fluendo.com>
3286
3287         * gst/gstcaps.c: (gst_caps_replace):
3288         Fix crasher when passed NULL. Doc clarification.
3289         Optimize for the trivial case.
3290
3291         * gst/gstpipeline.c: (gst_pipeline_change_state):
3292         Small cleanups.
3293
3294         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3295         Small documentation cleanup.
3296
3297         * libs/gst/base/gstbasetransform.c:
3298         (gst_base_transform_buffer_alloc):
3299         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
3300         is what we need and it avoids a whole lot of redundant 
3301         refcount operations.
3302
3303 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
3304
3305         Patch by: Philip Jägenstedt  <philip at lysator liu se>
3306
3307         * docs/manual/advanced-dataaccess.xml:
3308           Fix 'Embedding static elements' section to use
3309           GST_PLUGIN_DEFINE_STATIC (#345607).
3310
3311 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
3312
3313         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
3314           Attempt to 'fix' spuriously failing test case: it seems like the
3315           timeout of half a second is simply too small when the system is under
3316           load otherwise, and the timeout doesn't really seem to serve any
3317           particular purpose here. Give the pipeline a few seconds to preroll
3318           first, and then give it another half a second to go from PAUSED to
3319           PLAYING and marshal the message into the main thread.
3320
3321 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
3322
3323         * tools/gst-feedback-m.m:
3324           Don't only use unversioned tools, try versioned tools as well
3325           (#345086).
3326
3327 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
3328
3329         * gst/gstbus.c: (gst_bus_class_init):
3330           Fix some typos, make docs more explicit.
3331
3332 2006-06-20  Wim Taymans  <wim@fluendo.com>
3333
3334         * tests/check/gst/gstghostpad.c: (block_callback),
3335         (GST_START_TEST), (gst_ghost_pad_suite):
3336         Added some more ghostpad tests, mainly blocking
3337         and probes.
3338
3339 2006-06-16  Wim Taymans  <wim@fluendo.com>
3340
3341         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
3342         (gst_file_sink_close_file), (gst_file_sink_do_seek),
3343         (gst_file_sink_event), (gst_file_sink_render):
3344         * plugins/elements/gstfilesink.h:
3345         Check if we can seek in the file instead of assuming
3346         we always can. Post an error when we are asked to seek in a
3347         non-seekable file (like a fifo). Fixes #343312.
3348         Some cleanups.
3349
3350 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
3351
3352         * tools/gst-launch.1.in:
3353           Un-garble (fourcc) bit in filtered caps section.
3354
3355 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
3356
3357         * docs/manual/advanced-autoplugging.xml:
3358         * docs/manual/basics-helloworld.xml:
3359         * docs/manual/highlevel-components.xml:
3360           Don't leak bus reference in sample code.
3361
3362 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
3363
3364         * autogen.sh:
3365           Add default for new --enable-plugin-docs switch.
3366
3367         * configure.ac:
3368           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
3369           Fixes #344039.
3370
3371         * docs/Makefile.am:
3372           Use new ENABLE_PLUGIN_DOCS conditional.
3373
3374 2006-06-14  Wim Taymans  <wim@fluendo.com>
3375
3376         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
3377         Make it clear with a FIXME and a real define what the #if 0
3378         previously disabled.
3379
3380 2006-06-14  Wim Taymans  <wim@fluendo.com>
3381
3382         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
3383         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
3384         * libs/gst/base/gstbasetransform.c:
3385         (gst_base_transform_sink_eventfunc):
3386         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
3387         Don't randomly and silently reset a segment when the format 
3388         changes as this is a bug somewhere upstream. Fixes #330379.
3389
3390 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
3391
3392         Patch by: Wouter Paesen  <wouter at kangaroot net>
3393
3394         * libs/gst/controller/gstcontroller.c:
3395         (gst_controlled_property_new):
3396           Fix controlling of float properties (#344849).
3397
3398         * tests/check/libs/controller.c:
3399         (gst_test_mono_source_get_property),
3400         (gst_test_mono_source_set_property),
3401         (gst_test_mono_source_class_init), (GST_START_TEST):
3402           While we're at it, add some float stuff to unit test.
3403
3404 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3405
3406         * docs/README:
3407         * docs/images/gdp-header.svg:
3408           add a gdp image
3409         * docs/libs/Makefile.am:
3410         * docs/libs/gdp-header.png:
3411         * libs/gst/dataprotocol/dataprotocol.c:
3412           add it to the API docs
3413         * docs/manual/intro-motivation.xml:
3414           fix typo
3415
3416 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
3417
3418         * gst/gst.c: (scan_and_update_registry), (init_post):
3419           If the fork()'ed child process can't write the updated registry cache
3420           file to disk for some reason, make it exit with a failure exit code,
3421           so that the parent can then re-scan the plugins itself and update the
3422           registry structures in memory and work with that (rather than failing
3423           when creating elements because seemingly no plugins are available).
3424           Refactor registry scanning code into separate function for this and
3425           also separate fork() and non-fork() code paths. Fixes #344748.
3426
3427 2006-06-13  Wim Taymans  <wim@fluendo.com>
3428
3429         * docs/manual/advanced-dataaccess.xml:
3430         Fix wrong PluginDesc. Fixes #344755.
3431
3432 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
3433
3434         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
3435           Fix silly bug that prevented us from creating
3436           ~/.gstreamer-0.10 and writing the registry in one
3437           go (the first call to g_mkstemp() would overwrite the
3438           placeholder in the template string, so the second call
3439           to g_mkstemp() after creating the missing directory
3440           would then error out with 'invalid argument').
3441
3442 2006-06-13  Edward Hervey  <edward@fluendo.com>
3443
3444         * gst/gst.c: (init_post):
3445         Free string.
3446
3447 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3448
3449         * gst/glib-compat-private.h:
3450         * gst/glib-compat.c:
3451         * gst/glib-compat.h:
3452         * gst/gstvalue.c: (gst_value_serialize_flags):
3453           remove GLib 2.6 compatibility code
3454
3455 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
3456
3457         * gst/parse/Makefile.am:
3458           Fix build with 'make -j N' even more (#340016).
3459
3460 2006-06-12  Wim Taymans  <wim@fluendo.com>
3461
3462         * docs/gst/gstreamer-sections.txt:
3463         Fix docs.
3464
3465 2006-06-12  Wim Taymans  <wim@fluendo.com>
3466
3467         * gst/gstsegment.c: (gst_segment_set_duration),
3468         (gst_segment_set_last_stop), (gst_segment_set_seek),
3469         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
3470         (gst_segment_to_running_time), (gst_segment_clip):
3471         Use G_UNLIKELY to help the compiler a bit.
3472
3473 2006-06-12  Wim Taymans  <wim@fluendo.com>
3474
3475         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
3476
3477         * gst/gstevent.c: (gst_event_get_type):
3478         * gst/gstmessage.c:
3479         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
3480         (gst_pad_push):
3481         constify quark registration strings. Fixes #344115
3482         Avoid unneeded type checking is _pad_push() by internally
3483         calling gst_pad_chain_unchecked().
3484
3485 2006-06-12  Wim Taymans  <wim@fluendo.com>
3486
3487         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
3488         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
3489         (gst_subbuffer_finalize), (gst_buffer_create_sub),
3490         (gst_buffer_is_span_fast), (gst_buffer_span):
3491         Init _type for consistency.
3492         Use _FLAGS macro to avoid type check.
3493         Avoid unneeded type checks in subbufer code.
3494
3495 2006-06-12  Wim Taymans  <wim@fluendo.com>
3496
3497         * gst/gst.c: (gst_debug_help):
3498         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
3499         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
3500         (gst_plugin_feature_list_free):
3501         * gst/gstregistry.c: (gst_registry_add_plugin),
3502         (gst_registry_add_feature), (gst_registry_plugin_filter),
3503         (gst_registry_feature_filter), (gst_registry_find_plugin),
3504         (gst_registry_find_feature), (gst_registry_get_plugin_list),
3505         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
3506         * gst/gstregistryxml.c: (load_feature),
3507         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
3508         * gst/gstminiobject.c: (gst_mini_object_unref),
3509         (gst_mini_object_replace), (gst_value_mini_object_free),
3510         (gst_value_mini_object_copy):
3511         Use _CAST macros to avoid unneeded type checking.
3512         Added some more G_UNLIKELY.
3513
3514 2006-06-12  Wim Taymans  <wim@fluendo.com>
3515
3516         * gst/gstbuffer.h:
3517         Avoid unneeded type checking.
3518         API: GST_BUFFER_IS_DISCONT
3519
3520         * gst/gstminiobject.h:
3521         Avoid type check in flag accessor.
3522
3523         * gst/gstelementfactory.h:
3524         * gst/gstplugin.h:
3525         * gst/gstpluginfeature.h:
3526         Add _CAST macros.
3527         API: GST_ELEMENT_FACTORY_CAST
3528         API: GST_PLUGIN_CAST
3529         API: GST_PLUGIN_FEATURE_CAST
3530
3531 2006-06-12  Wim Taymans  <wim@fluendo.com>
3532
3533         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
3534         (gst_object_unref):
3535         Add G_UNLIKELY in type registration.
3536         Avoid type check in _ref/_unref since that is also
3537         done in glib.
3538
3539 2006-06-12  Wim Taymans  <wim@fluendo.com>
3540
3541         * gst/gsterror.c: (gst_g_error_get_type):
3542         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
3543         (gst_static_pad_template_get_type):
3544         * gst/gsttaglist.c: (gst_tag_list_get_type):
3545         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
3546         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
3547         * gst/gsturi.c: (gst_uri_handler_get_type):
3548         * gst/gstvalue.c: (gst_date_get_type):
3549         * gst/gstxml.c: (gst_xml_get_type):
3550         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
3551         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
3552         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
3553         Add G_UNLIKELY in type registration.
3554
3555 2006-06-12  Wim Taymans  <wim@fluendo.com>
3556
3557         * tools/gst-inspect.c: (print_signal_info):
3558         Properly print enum values.
3559
3560 2006-06-12  Wim Taymans  <wim@fluendo.com>
3561
3562         * gst/gstinfo.c: (gst_debug_set_active),
3563         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
3564         * gst/gstinfo.h:
3565         Add some G_[UN]LIKELY.
3566         Maintain __gst_debug_min to avoid formatting the arguments of
3567         debug messages that will be dropped anyway to avoid a lot of 
3568         overhead from the debugging system.
3569
3570 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
3571
3572         * po/POTFILES.in:
3573         * po/POTFILES.skip:
3574           add missing files containing translatable strings, tell intltool about
3575           one exception
3576
3577 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
3578
3579         * tests/check/libs/.cvsignore:
3580         add test-binary to ignore list
3581
3582 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
3583
3584         * docs/libs/gstreamer-libs-docs.sgml:
3585         reorder (put dp into a chapter) and indent
3586
3587 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3588
3589         * configure.ac:
3590           back to HEAD
3591
3592 === release 0.10.8 ===
3593
3594 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
3595
3596         * configure.ac:
3597           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
3598
3599 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3600
3601         * gst/gst.c: (init_post):
3602           move pid declaration to declaration block
3603
3604 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
3605
3606         * gst/gst.c: (init_post):
3607           use _exit() instead of exit() in our forked child; this ensures
3608           that none of the registered exit handlers from whatever is using
3609           GStreamer get executed.  This fixes gnome-mixer-applet failing
3610           to load, because ORBit would shut down.
3611           Spotted by: Edward Hervey  <edward@fluendo.com>
3612           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
3613           Fixes #344474
3614
3615 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3616
3617         * configure.ac:
3618           back to TRUNK
3619
3620 === release 0.10.7 ===
3621
3622 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
3623
3624         * configure.ac:
3625           releasing 0.10.7, "Soepeke, ik zie ou"
3626
3627 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3628
3629         * configure.ac:
3630         * po/af.po:
3631         * po/az.po:
3632         * po/bg.po:
3633         * po/ca.po:
3634         * po/cs.po:
3635         * po/de.po:
3636         * po/en_GB.po:
3637         * po/fr.po:
3638         * po/it.po:
3639         * po/nb.po:
3640         * po/nl.po:
3641         * po/ru.po:
3642         * po/sq.po:
3643         * po/sr.po:
3644         * po/sv.po:
3645         * po/tr.po:
3646         * po/uk.po:
3647         * po/vi.po:
3648         * po/zh_CN.po:
3649         * po/zh_TW.po:
3650         * win32/common/config.h:
3651           0.10.6.2 prerelease
3652
3653 2006-06-07  Wim Taymans  <wim@fluendo.com>
3654
3655         * gst/gstindex.c: (gst_index_gtype_resolver):
3656         * tools/gst-xmlinspect.c: (print_plugin_info):
3657         Fix leak spotted by coverity checker. Fixes #343827
3658         Fix another other leak found by paolo borelli.
3659
3660 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3661
3662         * libs/gst/dataprotocol/dataprotocol.c:
3663         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
3664         (gst_dp_version_get_type), (gst_dp_init),
3665         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
3666         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
3667         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
3668         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
3669         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
3670         (gst_dp_packetizer_free):
3671         * libs/gst/dataprotocol/dataprotocol.h:
3672           API: add a GstDPPacketizer object, and create/free functions
3673           API: add GstDPVersion enum
3674           Add 1.0 event function that uses the string serialization
3675           Serialize more useful buffer flags
3676           Fixes #343988
3677
3678 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3679
3680         * tests/check/Makefile.am:
3681         * tests/check/gst/gstabi.c:
3682         * tests/check/gst/struct_ppc64.h:
3683         * tests/check/libs/libsabi.c:
3684         * tests/check/libs/struct_ppc64.h:
3685           add ppc64 structure sizes
3686
3687 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3688
3689         * tests/check/Makefile.am:
3690         * tests/check/gst/gstabi.c:
3691         * tests/check/gst/struct_x86_64.h:
3692         * tests/check/libs/libsabi.c:
3693         * tests/check/libs/struct_x86_64.h:
3694           generate and add structure size lists for x86_64
3695
3696 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
3697
3698         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
3699         * libs/gst/check/gstcheck.h:
3700           factor out the method from tests that checks size of structures,
3701           and add code to generate the header containing these sizes
3702         * tests/check/gst/gstabi.c: (GST_START_TEST):
3703         * tests/check/gst/struct_i386.h:
3704         * tests/check/libs/libsabi.c: (GST_START_TEST):
3705         * tests/check/libs/struct_i386.h:
3706           use it
3707
3708 2006-06-06  Michael Smith  <msmith@fluendo.com>
3709
3710         * gst/gstsegment.h:
3711           Don't use c++-style comments, fixes #343929
3712
3713 2006-06-05  Edward Hervey  <edward@fluendo.com>
3714
3715         * gst/gst.c:
3716         plugin_paths is not used if we build without registry support.
3717
3718         * gst/gstsegment.c: (gst_segment_copy): 
3719         _copy() was always returning NULL...
3720
3721 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3722
3723         * libs/gst/dataprotocol/dataprotocol.c:
3724         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
3725         (gst_dp_packet_from_event):
3726           factor out CRC code
3727
3728 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3729
3730         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
3731           make sure we unset caps
3732
3733 2006-06-02  Michael Smith  <msmith@fluendo.com>
3734
3735         * libs/gst/check/gstcheck.c: (gst_check_init),
3736         (gst_check_chain_func):
3737         * libs/gst/check/gstcheck.h:
3738           Add a cond/mutex to the check support lib, signal this whenever we
3739           add to the buffers list. This will allow tests to not busy-wait on
3740           the buffer-list.
3741
3742 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3743
3744         * libs/gst/dataprotocol/dataprotocol.c:
3745         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
3746         (gst_dp_packet_from_event):
3747           factor out some common header init code
3748
3749 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
3750
3751         * docs/libs/gstreamer-libs-sections.txt:
3752         * docs/libs/tmpl/gstdataprotocol.sgml:
3753         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
3754         * libs/gst/dataprotocol/dataprotocol.h:
3755           API: make gst_dp_crc() public
3756
3757 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
3758
3759         * plugins/indexers/gstindexers.c: (plugin_init):
3760         conditionally register fileindexer (fixes #343598)
3761
3762 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
3763
3764         * gst/gsttagsetter.h:
3765         Can't cast ifaces to a class
3766
3767         * libs/gst/net/gstnetclientclock.h:
3768         * libs/gst/net/gstnettimeprovider.h:
3769         * plugins/elements/gstfakesink.h:
3770         * plugins/elements/gstfakesrc.h:
3771         * plugins/elements/gstfdsink.h:
3772         * plugins/elements/gstfdsrc.h:
3773         * plugins/elements/gstfilesink.h:
3774         * plugins/elements/gstfilesrc.h:
3775         * plugins/elements/gstidentity.h:
3776         * plugins/elements/gstqueue.h:
3777         * plugins/elements/gsttee.h:
3778         * plugins/indexers/gstfileindex.c:
3779         * plugins/indexers/gstmemindex.c:
3780         * tests/old/examples/plugins/example.h:
3781         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
3782
3783 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3784
3785         * libs/gst/dataprotocol/dataprotocol.c:
3786         (gst_dp_header_from_buffer):
3787           make sure we zero the whole ABI-compatible area
3788
3789 2006-06-01  Wim Taymans  <wim@fluendo.com>
3790
3791         Patch by: Alessandro Decina <alessandro at nnva dot org>
3792
3793         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
3794         Make sure the EOS flag is cleared from pads after a flush
3795         or stop. Fixes #343538.
3796
3797         * tests/check/libs/collectpads.c: (GST_START_TEST),
3798         (gst_collect_pads_suite):
3799         Added test for collectpads reusage after EOS.
3800
3801 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
3802
3803         * gst/gst.c:
3804          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
3805         * win32/common/libgstbase.def:
3806          export gst_collect_pads_set_flushing
3807         * win32/common/libgstreamer.def:
3808          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
3809          gst_value_fraction_multiply
3810         * win32/vs6/gst_inspect.dsp:
3811          add a link to intl.lib
3812
3813 2006-05-30  Wim Taymans  <wim@fluendo.com>
3814
3815         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
3816         (gst_collect_pads_chain):
3817         Handle the case where a pad is removed from the collection
3818         that could cause the other pads to become collectable.
3819
3820 2006-05-30  Wim Taymans  <wim@fluendo.com>
3821
3822         * gst/gstelement.c:
3823         Clarify the use of _release_request_pad() and
3824         _get_request_pad() a bit better.
3825
3826         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
3827         (gst_adapter_take_buffer):
3828         Fix some doc and comment typos.
3829
3830 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3831
3832         * docs/gst/gstreamer-sections.txt:
3833         * docs/libs/gstreamer-libs-sections.txt:
3834           add declared symbols
3835
3836 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
3837
3838         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3839         Add debug that can be enabled using a #define at the top of the file,
3840         for dumping stats about how late/early we were when waking up from
3841         waiting on the clock.
3842
3843 2006-05-30  Wim Taymans  <wim@fluendo.com>
3844
3845         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
3846         When rebuilding the pad list, don't leak the previous list.
3847
3848 2006-05-30  Wim Taymans  <wim@fluendo.com>
3849
3850         Patch by: Lutz Mueller <lutz at topfrose dot de>
3851
3852         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3853         (gst_base_src_get_query_types), (gst_base_src_update_length):
3854         Publish supported query types.
3855         Update last_stop field in get_range mode so the position
3856         query works. Fixes #342321.
3857
3858 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
3859
3860         * docs/gst/gstreamer-sections.txt:
3861         * gst/gsttaglist.c: (_gst_tag_initialize):
3862         * gst/gsttaglist.h:
3863           API: add GST_TAG_PREVIEW_IMAGE (#343341).
3864
3865 2006-05-30  Wim Taymans  <wim@fluendo.com>
3866
3867         Patch by: Alessandro Decina <alessandro at nnva dot org>
3868
3869         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
3870         Unlock mutex when removing an unknown pad.
3871         Fixes #343334.
3872
3873         * tests/check/Makefile.am:
3874         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
3875         (push_event), (setup), (teardown), (GST_START_TEST),
3876         (gst_collect_pads_suite), (main):
3877         Added collecpads check, disabled for now as check crashes for
3878         some reason.
3879
3880 2006-05-29  Wim Taymans  <wim@fluendo.com>
3881
3882         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
3883         Don't leak pads lists.
3884
3885 2006-05-29  Wim Taymans  <wim@fluendo.com>
3886
3887         * docs/libs/gstreamer-libs-sections.txt:
3888         * libs/gst/base/gstcollectpads.c:
3889         (gst_collect_pads_set_flushing_unlocked),
3890         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
3891         (gst_collect_pads_stop):
3892         * libs/gst/base/gstcollectpads.h:
3893         API: gst_collect_pads_set_flushing()
3894         Added api to set the pads to flushing, useful for seeking
3895         code in elements using collectpads.
3896         Clear segment when receiving a flush.
3897
3898 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
3899
3900         * gst/gst.c: (add_path_func), (init_post):
3901           Don't scan registry paths passed via --gst-plugin-path immediately
3902           (will crash, because absolutely nothing is set up and no types are
3903           registered etc.); do this later in init_post(). Fixes #343057.
3904
3905 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
3906
3907         * gst/gst.c: (init_post):
3908           if we have fork, fork while reading/rebuilding the registry
3909           so the parent doesn't take the hit of having all plugins loaded
3910           in memory.  Fixes #342777.
3911         * configure.ac:
3912           Check if we have fork()
3913         * win32/common/config.h.in:
3914           no fork() on win32
3915
3916 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
3917
3918         * plugins/elements/gstelements.c:
3919         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
3920         (gst_file_src_init), (gst_file_src_set_property),
3921         (gst_file_src_get_property), (gst_file_src_start):
3922         * plugins/elements/gstfilesrc.h:
3923           API: GstFileSrc::use-mmap
3924
3925         Add a use-mmap property to enable easier testing of all code paths.
3926         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
3927         in the absence of gnomevfssrc. (Closes #340501)
3928
3929 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3930
3931         * tools/gst-inspect.c:
3932         Add missing include, removes warning of ngettext not being defined on
3933         some arches.
3934
3935 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
3936
3937         * gst/gstvalue.c: (gst_value_deserialize_fraction):
3938         Handle NULL input and output pointers silently as a failed conversion,
3939         rather than g_warnings.
3940
3941 2006-05-25  Wim Taymans  <wim@fluendo.com>
3942
3943         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
3944         Initialize variable before using. Fixes #342820.
3945
3946 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
3947
3948         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
3949           Fix off-by-one bug that would only allow peeks of N-1 bytes
3950           from the start even if the buffer to typefind on contains
3951           in fact N bytes of data (makes vorbis typefinding from a
3952           vorbis identification header buffer work).
3953
3954         * tests/check/Makefile.am:
3955         * tests/check/libs/.cvsignore:
3956         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
3957         (gst_typefindhelper_suite), (main), (foobar_typefind),
3958         (plugin_init):
3959           Add very basic unit test for gst_type_find_helper_for_buffer()
3960           that checks for the problem fixed above.
3961
3962 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3963
3964         * tools/gst-inspect.c: (print_interfaces),
3965         (print_element_properties_info), (print_element_list), (main):
3966           add more translatable strings
3967
3968 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
3969
3970         Patch by: Julien Moutte  <julien at moutte net>
3971
3972         * docs/gst/gstreamer-sections.txt:
3973           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
3974           
3975         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
3976         (gst_fake_sink_preroll):
3977         * plugins/elements/gstfakesink.h:
3978           API: Add new GstFakeSink::preroll-handoff signal (#337100).
3979
3980 2006-05-23  Wim Taymans  <wim@fluendo.com>
3981
3982         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
3983         * gst/gstpad.h:
3984         Added _CUSTOM error and success GstFlowReturn that can be
3985         used be elements internally. 
3986         Added macro to check for SUCCESS flowreturns.
3987         API: GST_FLOW_CUSTOM_SUCCESS
3988         API: GST_FLOW_CUSTOM_ERROR
3989         API: GST_FLOW_IS_SUCCESS
3990
3991         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
3992         Added check for GstFlowReturn sanity.
3993
3994 2006-05-23  Wim Taymans  <wim@fluendo.com>
3995
3996         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
3997
3998         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
3999         (gst_collect_pads_event):
4000         clear/reset segment info in FLUSH_STOP.
4001         Fixes #336929.
4002
4003 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
4004
4005         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
4006         (gst_collect_pads_check_collected):
4007         Flush queued buffer on _stop(), fixes playing again (#342454)
4008
4009 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4010
4011         * tests/check/gst/gststructure.c: (GST_START_TEST),
4012         (gst_structure_suite):
4013           add a test for a complete structure
4014
4015 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
4016
4017         * docs/faq/developing.xml:
4018         * docs/faq/faq.xml:
4019         * docs/faq/troubleshooting.xml:
4020         * docs/faq/using.xml:
4021           Some minor FAQ updates that won't change the fact that
4022           our FAQ is badly structured, full of information hardly
4023           anyone new to GStreamer needs to know and lacking lots
4024           of information people constantly ask for.
4025           
4026 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
4027
4028         * gst/gstpad.c: (gst_pad_set_caps):
4029           Short-circuit gst_pad_set_caps if setting the existing
4030           caps pointer again, and avoid printing debug and 
4031           reffing/unreffing the caps.
4032
4033         * plugins/elements/gstqueue.c: (gst_queue_push_one):
4034           There's actually no need to set the caps before pushing -
4035           the acceptcaps method will handle it anyway.
4036
4037 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
4038
4039         * docs/gst/gstreamer-sections.txt:
4040         * win32/common/libgstreamer.def:
4041         * gst/gstutils.c: (gst_element_seek_simple):
4042         * gst/gstutils.h:
4043           API: add gst_element_seek_simple() (#342238).
4044
4045 2006-05-18  Edward Hervey  <edward@fluendo.com>
4046
4047         * gst/gsttypefind.c: (gst_type_find_get_type):
4048         * gst/gsttypefind.h:
4049         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
4050         registered for GstTypeFind pointers. This allows wrapping the structure
4051         in bindings (i.e. gst-python).
4052
4053 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
4054
4055         * gst/gsttagsetter.c:
4056           Docs additions and fixes (see #339918).
4057
4058 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
4059
4060         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4061         The caps intersection algorithm can produce multiple copies of the
4062         caps. Until that is fixed, we need to simplify the result to be
4063         sure whether the allowed caps are fixed or not.
4064
4065         * plugins/elements/gstqueue.c: (gst_queue_init),
4066         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
4067         (gst_queue_push_one):
4068         Proxied buffer alloc should not set the caps on the source pad.
4069         When pushing buffers, we always accept the caps change that triggers.
4070         This prevents negotiation errors caused by caps changing mid-stream 
4071         and then being refused on our source pad (because upstream is now
4072         refusing those caps).
4073
4074 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
4075
4076         * tests/examples/helloworld/helloworld.c: (main):
4077           Must plug audioconvert and audioresample between decoder
4078           and audio sink.
4079
4080 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
4081
4082         * gst/gstregistryxml.c: (read_string), (load_pad_template),
4083         (load_feature), (load_plugin):
4084         Allow empty strings for some of the plugin fields so we don't 
4085         drop valid plugin entries that were written out correctly
4086         (Fixes #341479)
4087
4088 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
4089         
4090         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
4091           Use g_remove and g_rename instead of remove and rename that don't 
4092           handle utf8 characters. rename was failing for users who had specific
4093           characters in their name then the registry was built at each 
4094           gstreamer init.
4095         * win32/vs6/gst_inspect.dsp:
4096         * win32/vs6/gst_launch.dsp:
4097         * win32/vs6/libgstbase.dsp:
4098         * win32/vs6/libgstcoreelements.dsp:
4099         * win32/vs6/libgstreamer.dsp:
4100           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
4101           build of libgstreamer and clean unused libraries in projects link 
4102           settings.
4103
4104 2006-05-17  Edward Hervey  <edward@fluendo.com>
4105
4106         * plugins/elements/gstqueue.c: (gst_queue_push_one):
4107         The queue is not responsible for pushing an EOS when receiving a fatal
4108         flow error. It's up to the real element driving the pipeline to do that.
4109
4110 2006-05-16  Edward Hervey  <edward@fluendo.com>
4111
4112         * plugins/elements/gstqueue.c: (gst_queue_push_one):
4113         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
4114         buffer returned a fatal error. It should just send an EOS and stop
4115         its task.
4116         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
4117         when pushing buffers on the queue and will be able to handle the event.
4118
4119 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
4120
4121         * docs/manual/basics-bins.xml:
4122         * docs/manual/basics-init.xml:
4123           Fix typos and minor errors in sample code (#341856).
4124
4125 2006-05-16  Wim Taymans  <wim@fluendo.com>
4126
4127         * docs/design/part-qos.txt:
4128         Fix indexes in formulas to make more sense.
4129
4130 2006-05-15  Wim Taymans  <wim@fluendo.com>
4131
4132         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4133         Don't report POSITION based on clock time if sync is
4134         disabled in a sink.
4135
4136 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
4137
4138         * gst/gstobject.h:
4139           Add cast to make compiler happy - refcount variable was a gint
4140           in GstObject but is a guint in GObject and g_atomic_int_get()
4141           wants a gint *.
4142
4143 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
4144
4145         * gst/parse/Makefile.am:
4146           chain commands using &&, which also makes parallel make work
4147
4148 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
4149
4150         * docs/gst/gstreamer-sections.txt:
4151         * gst/gstevent.c:
4152         * gst/gstevent.h:
4153         * gst/gstmessage.h:
4154           Minor docs fixes.
4155
4156 === release 0.10.6 ===
4157
4158 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
4159
4160         * configure.ac:
4161           releasing 0.10.6, "Take the cannoli"
4162
4163 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
4164
4165         * tools/gst-launch.c: (print_tag):
4166           Fix use of uninitialized variable in the hypothetical
4167           case that some broken plugin creates a GST_TAG_IMAGE
4168           tag containing a NULL buffer (#341667).
4169
4170 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
4171
4172         * tools/gst-launch.c: (print_tag):
4173           Print something more intelligible for image tags when
4174           using the -t switch (#341556).
4175
4176 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4177
4178         * Makefile.am:
4179           updates for win32
4180         * configure.ac:
4181           define GST_MAJORMINOR so we have it available in win32/common/config.h
4182           Possibly remove it from our Makefile.am files later
4183         * win32/common/config.h:
4184         * win32/common/config.h.in:
4185           added GST_MAJORMINOR
4186         * win32/common/gstenumtypes.c: (register_gst_resource_error):
4187         * win32/common/gstversion.h:
4188           updated
4189
4190 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
4191
4192         * win32/MANIFEST:
4193           Update win32 files listing.
4194         * win32/common/gstversion.h:
4195           Add GST_MAJORMINOR definition.
4196         * win32/common/libgstreamer.def:
4197           Add new exported functions.
4198           
4199 2006-05-12  Michael Smith  <msmith@fluendo.com>
4200
4201         * gst/gstplugin.c: (gst_plugin_load_file):
4202           If an so file has no plugin entry point, unload the module.
4203
4204 2006-05-11  Wim Taymans  <wim@fluendo.com>
4205
4206         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
4207         (gst_queue_set_property):
4208         Don't forget to signal the _chain or _loop function 
4209         when the queue size or thresholds change since that might
4210         cause them to make progres again.
4211
4212 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
4213
4214         * gst/gstclock.c: (gst_clock_class_init):
4215         * gst/gstindex.c: (gst_index_class_init):
4216         * gst/gstobject.c: (gst_object_class_init):
4217         * gst/gstpad.c: (gst_pad_class_init):
4218         * gst/gstpipeline.c: (gst_pipeline_class_init):
4219         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4220         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
4221         * libs/gst/base/gstbasetransform.c:
4222         (gst_base_transform_class_init):
4223         * libs/gst/net/gstnetclientclock.c:
4224         (gst_net_client_clock_class_init):
4225         * libs/gst/net/gstnettimeprovider.c:
4226         (gst_net_time_provider_class_init):
4227         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
4228         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
4229         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
4230         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
4231         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
4232         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
4233         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4234         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4235         * plugins/elements/gsttee.c: (gst_tee_class_init):
4236         * tests/old/examples/plugins/example.c: (gst_example_class_init):
4237         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
4238           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
4239
4240 2006-05-11  Wim Taymans  <wim@fluendo.com>
4241
4242         * gst/gstbuffer.c: (_gst_buffer_initialize):
4243         Register subbufer along with the buffer type so that
4244         it does not accidentally gets registered from N
4245         different streaming threads in a non threadsafe way.
4246
4247 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
4248
4249         * gst/gstbuffer.h:
4250         * gst/gstevent.h:
4251         * gst/gstmessage.h:
4252           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
4253           gst_event_ref() and gst_message_ref() functions again
4254           (ugly hack, please do fix if there's a better way besides
4255           overrides.txt, which doesn't seem to work).
4256
4257 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4258
4259         * libs/gst/check/gstcheck.h:
4260           add an assert for setting state to avoid lots of repetitive code
4261           in the future
4262
4263 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4264
4265         * gst/gstvalue.c: (gst_value_serialize_flags):
4266           fix a leak if no flags are set
4267         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4268           fix leak in tests
4269
4270 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
4271
4272         * docs/manual/basics-pads.xml:
4273           Expand a bit on caps and filtered links and update
4274           examples that were still using the no longer existing
4275           gst_pad_link_filtered() (#338206).
4276
4277 2006-05-10  Wim Taymans  <wim@fluendo.com>
4278
4279         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4280         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
4281         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
4282         (gst_collect_pads_stop):
4283         * libs/gst/base/gstcollectpads.h:
4284         No need to call _stop in _finalize.
4285         Iterate the main pad list in _finalize.
4286         Added some more debug.
4287         Free lists and data in the right order.
4288         Also free data whem doing _remove_pad when stopped for
4289         backward compatibility protect ::started with PAD_LOCK as
4290         well.
4291
4292 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4293
4294         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
4295         (gst_structure_parse_value):
4296           add some comments
4297           rename a method so that it actually says what it does better
4298
4299 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4300
4301         * gst/gstevent.c: (_gst_event_initialize):
4302         * gst/gstformat.c: (_gst_format_initialize):
4303           make sure some essential types used by events are registered
4304           as part of gst_init()
4305         * gst/gstvalue.c: (gst_value_serialize_flags):
4306           if no flags are set, serialize them to a value that represents NONE
4307           so that deserializing them works
4308         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4309           add tests for serialization and deserialization of flags
4310
4311 2006-05-10  Wim Taymans  <wim@fluendo.com>
4312
4313         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
4314         (gst_collect_pads_collect_range), (gst_collect_pads_available),
4315         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
4316         (gst_collect_pads_event), (gst_collect_pads_chain):
4317         Update docs.
4318         Better debug info.
4319         Catch and return errors from the collect function
4320         Refuse data on eos pads.
4321
4322 2006-05-10  Edward Hervey  <edward@fluendo.com>
4323
4324         * gst/gstinterface.h:
4325         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
4326         GInterface type checking.
4327         They were previously using non-defined macros.
4328
4329 2006-05-09  Wim Taymans  <wim@fluendo.com>
4330
4331         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
4332         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
4333         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
4334         (gst_collect_pads_start), (gst_collect_pads_stop),
4335         (gst_collect_pads_peek), (gst_collect_pads_pop),
4336         (gst_collect_pads_available), (gst_collect_pads_read),
4337         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
4338         (gst_collect_pads_is_collected), (gst_collect_pads_event),
4339         (gst_collect_pads_chain):
4340         * libs/gst/base/gstcollectpads.h:
4341         Clean up the mess that is collectpads, add comments and
4342         FIXMEs where needed.
4343         Maintain a separate pad list so we can add pads while
4344         collecting the other ones. For this we need a new separate 
4345         lock (see comics).
4346         Fix memory leak in finalize.
4347         Refactor some weird code to set/unset pad flushing flags, mark
4348         with comments.
4349         Don't crash in _available, _read, _flush when we're EOS.
4350
4351         * tests/check/libs/.cvsignore:
4352         Ignore adapter check binary.
4353
4354 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
4355
4356         * gst/gstindex.c: (gst_index_resolver_get_type):
4357         * plugins/elements/gstfakesink.c:
4358         (gst_fake_sink_state_error_get_type):
4359         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
4360         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
4361         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
4362           Const-ify GEnumValue arrays.
4363
4364 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
4365
4366         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
4367           Add test case for flags + gst_buffer_make_metadata_writable().
4368
4369 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
4370
4371         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
4372           gst_buffer_make_metadata_writable() should maintain the
4373           buffer flags (those that make sense at least) (see #340859).
4374
4375 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
4376
4377         * tools/gst-inspect.c:
4378         * tools/gst-launch.c:
4379         * tools/gst-typefind.c:
4380         * tools/gst-xmlinspect.c:
4381         * tools/tools.h:
4382           Fix up includes: need to include stdlib.h in tools.h for exit().
4383
4384 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
4385
4386         * gst/gsttaglist.c: (_gst_tag_initialize):
4387         * gst/gsttaglist.h:
4388           API: add GST_TAG_IMAGE tag (#340721).
4389
4390 2006-05-08  Wim Taymans  <wim@fluendo.com>
4391
4392         * gst/gstquery.c:
4393         Added some docs for the segment query.
4394
4395 2006-05-08  Wim Taymans  <wim@fluendo.com>
4396
4397         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
4398         (gst_base_src_loop), (gst_base_src_change_state):
4399         Always push non-flushing serialized events in the streaming 
4400         thread.
4401
4402 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
4403
4404         * gst/gsterror.c: (_gst_stream_errors_init):
4405           Add a missing error string.
4406
4407 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
4408
4409         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
4410         Add applied_rate to the debug
4411
4412         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
4413         Copy applied_rate into the outgoing NEWSEGMENT event
4414
4415 2006-05-08  Wim Taymans  <wim@fluendo.com>
4416
4417         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
4418
4419         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
4420         (gst_base_sink_change_state):
4421         call ::unlock before taking the PREROLL_LOCK so we can safely
4422         handle elements that lock in ::render.
4423         Fixes #340174.
4424
4425 2006-05-08  Edward Hervey  <edward@fluendo.com>
4426
4427         * autogen.sh: (CONFIGURE_DEF_OPT): 
4428         Darwin's libtoolize is in fact called glibtoolize.
4429         Adding glibtoolize to the list of accepted names for libtoolize.
4430
4431 2006-05-08  Wim Taymans  <wim@fluendo.com>
4432
4433         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
4434         Unify error handling, don't post an error message
4435         when a push() returns EOS but perform our normal EOS
4436         handling code. Fixes #340772.
4437
4438 2006-05-08  Wim Taymans  <wim@fluendo.com>
4439
4440         * docs/design/part-overview.txt:
4441         Make upsteam/downstream concepts more clear.
4442         Give an example of serialized/non-serialized events.
4443
4444         * docs/design/part-events.txt:
4445         * docs/design/part-streams.txt:
4446         Mention applied_rate.
4447
4448         * docs/design/part-trickmodes.txt:
4449         Mention applied rate, flesh out some more use cases.
4450
4451         * gst/gstevent.c: (gst_event_new_new_segment),
4452         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
4453         (gst_event_parse_new_segment_full), (gst_event_new_tag),
4454         (gst_event_parse_tag), (gst_event_new_buffer_size),
4455         (gst_event_parse_buffer_size), (gst_event_new_qos),
4456         (gst_event_parse_qos), (gst_event_parse_seek),
4457         (gst_event_new_navigation):
4458         * gst/gstevent.h:
4459         Add applied_rate field to NEWSEGMENT event.
4460         API: gst_event_new_new_segment_full()
4461         API: gst_event_parse_new_segment_full()
4462
4463         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
4464         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
4465         (gst_segment_to_stream_time), (gst_segment_to_running_time):
4466         * gst/gstsegment.h:
4467         Add applied_rate to GstSegment structure.
4468         Make calculation of stream_time and running_time more correct
4469         wrt rate/applied_rate.
4470         Add some more docs.
4471         API: GstSegment::applied_rate field
4472         API: gst_segment_set_newsegment_full();
4473
4474         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
4475         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
4476         * libs/gst/base/gstbasetransform.c:
4477         (gst_base_transform_sink_eventfunc),
4478         (gst_base_transform_handle_buffer):
4479         Parse and use applied_rate in the GstSegment field.
4480
4481         * tests/check/gst/gstevent.c: (GST_START_TEST):
4482         Add check for applied_rate field.
4483
4484         * tests/check/gst/gstsegment.c: (GST_START_TEST),
4485         (gstsegments_suite):
4486         Add more checks for various GstSegment operations.
4487
4488 2006-05-08  Wim Taymans  <wim@fluendo.com>
4489
4490         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
4491         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
4492         (gst_base_sink_get_position), (gst_base_sink_change_state):
4493         Store the sync time of the buffer end position separatly in a
4494         new variable eos_rtime so we can properly sync the EOS event.
4495         Fixes #340697.
4496         Fix the docs for gst_base_sink_set_qos_enabled().
4497         Don't set segment start to invalid value when we receive a 
4498         non TIME newsegment.
4499         get closer to handling position reporting for negative rates 
4500         correctly.
4501
4502 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
4503
4504         * gst/gstcaps.c:
4505         Docs about how to print caps for debug purposes.
4506
4507         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
4508         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
4509
4510 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
4511
4512         * gst/gstelement.c:
4513           use full enum names and preprend a '%' in docs strings to make recent 
4514           gtk-doc turn that into a link
4515
4516 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
4517
4518         * docs/manual/basics-bins.xml:
4519         * docs/manual/basics-bus.xml:
4520         * docs/manual/basics-pads.xml:
4521           Some typo fixes, some additions, some clarifications. 
4522
4523 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
4524
4525         * tools/gst-inspect.c: (main):
4526         * tools/gst-launch.c: (main):
4527         * tools/gst-run.c: (main):
4528         * tools/gst-typefind.c: (main):
4529         * tools/gst-xmlinspect.c: (main):
4530           Use the string passed to g_option_context_new() for
4531           what it's intended for - the program name is already
4532           printed elsewhere.
4533
4534 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
4535
4536         * tools/Makefile.am:
4537         * tools/gst-inspect.c: (main):
4538         * tools/gst-launch.c: (main):
4539         * tools/gst-xmlinspect.c: (main):
4540         * tools/tools.h:
4541           Add back --version command line option (#340460).
4542
4543         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
4544           Add --version option and use GOption for argument parsing; refactor a
4545           bit; accept directories as arguments and recurse into them; lastly,
4546           print a decent error message when things go wrong.
4547
4548 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
4549
4550         * docs/manual/basics-bins.xml:
4551         Don't mention GstThread (#340611)
4552         * docs/manual/basics-elements.xml:
4553         Update link to GObject tutorial (#340607)
4554         
4555 2006-05-05  Wim Taymans  <wim@fluendo.com>
4556
4557         * gst/gstbuffer.h:
4558         * gst/gstminiobject.c:
4559         Add note about refcounting and miniobject/buffer writeability
4560         to docs. Fixes #340604
4561
4562         * gst/gstelementfactory.h:
4563         Added some explanation about @klass.
4564
4565 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
4566
4567         * docs/manual/intro-motivation.xml:
4568         * docs/manual/manual.xml:
4569         Avoid CORBA & Bonobo references (#340598)
4570
4571 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
4572
4573         * docs/manual/basics-bus.xml:
4574         * docs/manual/basics-pads.xml:
4575         Fix up some inaccuracies and omissions (#340609)
4576         
4577 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
4578
4579         * gst/gstghostpad.c:
4580           Small typo in docs (#340625)
4581
4582 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
4583
4584         * gst/parse/Makefile.am:
4585           Make 'make -j' proof (see #340698).
4586
4587 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
4588
4589         * configure.ac:
4590           Require GLib-2.8 here as well.
4591
4592 2006-05-05  Wim Taymans  <wim@fluendo.com>
4593
4594         * gst/glib-compat.c:
4595         * gst/gst.c: (init_pre):
4596         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
4597         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
4598         (gst_object_dispatch_properties_changed):
4599         * gst/gstobject.h:
4600         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
4601         * gst/gststructure.c: (gst_structure_set_valist):
4602         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
4603         Remove pre glib2.8 compatibility, fixes #340508
4604
4605 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
4606
4607         * gst/gsttaglist.h:
4608           Mention type of tags in doc blurbs.
4609
4610 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
4611
4612         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
4613         (gst_pad_configure_src), (gst_pad_push):
4614         Restore acceptcaps checking behaviour now that good plugins have
4615         been released.
4616
4617 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
4618
4619         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
4620
4621         * gst/gst.c:
4622         * gst/gstbus.c:
4623         * gst/gstclock.c:
4624         * gst/gstevent.c:
4625         * gst/gstformat.c:
4626         * gst/gstmessage.c:
4627         * gst/gstparse.c:
4628         * gst/gstquery.c:
4629         * gst/gstutils.c:
4630         * gst/parse/Makefile.am:
4631         * libs/gst/base/gstadapter.c:
4632         * libs/gst/base/gstbasesrc.c:
4633         * libs/gst/base/gstpushsrc.c:
4634         * libs/gst/base/gsttypefindhelper.c:
4635         * plugins/elements/gstfakesrc.c:
4636         * plugins/elements/gstidentity.c:
4637           Make sure gstprivate.h and/or config.h are
4638           always included first, otherwise some of our
4639           defines (like _FILE_OFFSET_BITS) might be
4640           redefined in the system headers. Fixes build
4641           on opensolaris (#340016).
4642
4643 2006-05-04  Wim Taymans  <wim@fluendo.com>
4644
4645         * docs/libs/gstreamer-libs-sections.txt:
4646         API: addition: gst_adapter_take_buffer()
4647         
4648         * libs/gst/base/gstadapter.c: (gst_adapter_push),
4649         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
4650         (gst_adapter_available_fast):
4651         * libs/gst/base/gstadapter.h:
4652         Prepare for optimizing the hell out of this hugely inefficient
4653         piece of code. 
4654         Added gst_adapter_take_buffer() so we can at least start thinking
4655         about subbuffering and merging.
4656         Added some comments.
4657
4658         * tests/check/Makefile.am:
4659         * tests/check/libs/adapter.c: (GST_START_TEST),
4660         (gst_adapter_suite), (main):
4661         Added GstAdapter check.
4662
4663 2006-05-04  Wim Taymans  <wim@fluendo.com>
4664
4665         * docs/design/part-overview.txt:
4666         Fix some typos, add blurb about buffer flags.
4667
4668 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4669
4670         * docs/libs/gstreamer-libs-sections.txt:
4671           make sure GstBaseTransformClass shows up in the docs
4672         * libs/gst/base/gstbasetransform.c:
4673         * libs/gst/base/gstbasetransform.h:
4674           move docs so gtk-doc picks it up now
4675
4676 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
4677
4678         * docs/libs/gstreamer-libs-sections.txt:
4679           add missing symbols to docs
4680
4681 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
4682
4683         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
4684           back out the newsegment handling change, see #340060 for ongoing
4685           discussion
4686
4687 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
4688
4689         * tools/gst-run.c: (get_candidates), (main):
4690           Fix wrong g_file_test() usage (see glib docs for why it doesn't
4691           work); fix typo in error message. Fixes #340079.
4692
4693 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4694
4695         * common/Makefile.am:
4696         * docs/Makefile.am:
4697         * docs/faq/Makefile.am:
4698         * docs/gst/Makefile.am:
4699         * docs/libs/Makefile.am:
4700         * docs/manual/Makefile.am:
4701         * docs/plugins/Makefile.am:
4702         * docs/pwg/Makefile.am:
4703         * docs/slides/Makefile.am:
4704         * docs/upload.mak:
4705         * common/upload.mak:
4706           move upload.mak to common
4707
4708 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
4709
4710         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4711           add more asserts on refcounts
4712           do more cleanup at end of tests
4713           fix test leaks showing in FC5
4714
4715 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
4716
4717         * plugins/elements/gsttypefindelement.c:
4718         (gst_type_find_element_handle_event):
4719         reverted wrong change and reflowed code to avoid others falling into
4720         this trap
4721
4722 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
4723
4724         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
4725           fix changelog entry about last collectpads change,
4726           add notes about proper fix
4727
4728 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
4729
4730         * gst/gst.c:
4731         * gst/gstregistry.c: (gst_registry_scan_path_level),
4732         (gst_registry_scan_path):
4733         * gst/gstregistry.h:
4734           only write out registry if it has changed, fixes #338339
4735
4736 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
4737
4738         * gst/gstbin.c:
4739         * gst/gstpipeline.c:
4740         * plugins/elements/gstcapsfilter.c:
4741         * plugins/elements/gstfakesink.c:
4742         * plugins/elements/gstfakesrc.c:
4743         * plugins/elements/gstfdsink.c:
4744         * plugins/elements/gstfdsrc.c:
4745         * plugins/elements/gstfilesink.c:
4746         * plugins/elements/gstfilesrc.c:
4747         * plugins/elements/gstidentity.c:
4748         * plugins/elements/gstqueue.c:
4749         * plugins/elements/gsttee.c:
4750         * plugins/elements/gsttypefindelement.c:
4751         (gst_type_find_element_handle_event):
4752           make GstElementDetails const
4753
4754 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
4755
4756         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
4757         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4758         (gst_collect_pads_is_collected), (gst_collect_pads_event):
4759           more detailed debug and formatting cleanup,
4760           forward newsegments to src-pad (so that e.g. adder not eats them)
4761
4762 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
4763
4764         * gst/gstutils.c: (gst_element_link_pads):
4765           cleanup double code
4766
4767 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
4768
4769         * libs/gst/controller/gstcontroller.c:
4770         (gst_controller_sync_values):
4771           some little tuning
4772         * tests/check/libs/controller.c: (GST_START_TEST),
4773         (gst_controller_suite):
4774           a new test for live value handling
4775
4776 2006-04-28  Wim Taymans  <wim@fluendo.com>
4777
4778         * gst/gstutils.c: (push_and_ref):
4779         Added some more docs.
4780         Fix refcount issue whith gst_element_found_tags() helper 
4781         function. Fixes #338335
4782
4783         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4784         Added testsuite for gst_element_found_tags().
4785
4786 2006-04-28  Michael Smith  <msmith@fluendo.com>
4787
4788         * gst/gstvalue.c: (gst_value_serialize_flags):
4789           Avoid NULL dereference when trying to serialize flags containing
4790           invalid values.
4791
4792 2006-04-28  Michael Smith  <msmith@fluendo.com>
4793
4794         * plugins/elements/gsttypefindelement.c:
4795         (gst_type_find_element_handle_event):
4796           If we get EOS before any data is accumulated, don't use
4797           uninitialised local variables.
4798
4799 2006-04-28  Michael Smith  <msmith@fluendo.com>
4800
4801         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
4802         (gst_dp_event_from_packet):
4803           Fixes in reading/writing events over GDP (not currently used?) - 
4804           dereferencing NULL events for unknown/invalid event types, memory
4805           leak, and change g_warning to GST_WARNING.
4806
4807 2006-04-28  Wim Taymans  <wim@fluendo.com>
4808
4809         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
4810         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
4811         (gst_base_sink_get_position), (gst_base_sink_change_state):
4812         When frame dropping is enabled, we should not ignore frames
4813         without a duration.
4814         Update some documentation.
4815
4816 2006-04-28  Wim Taymans  <wim@fluendo.com>
4817
4818         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
4819         (gst_base_src_send_event), (gst_base_src_change_state):
4820         Documentation updates.
4821
4822 2006-04-28  Wim Taymans  <wim@fluendo.com>
4823
4824         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4825         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
4826         handle EAGAIN, EINTR and short writes correctly. Also clean
4827         up some error cases, avoid a deadlock on bad file descriptors and
4828         use GST_DEBUG_OBJECT.
4829         Fixes #339843
4830
4831 2006-04-28  Wim Taymans  <wim@fluendo.com>
4832
4833         * gst/gstvalue.c: (gst_value_serialize_buffer),
4834         (gst_value_deserialize_buffer):
4835         Don't try to serialize a GValue with a NULL buffer. 
4836         Fixes #339821.
4837
4838         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
4839         Added check for serialisation of NULL buffers.
4840
4841 2006-04-28  Wim Taymans  <wim@fluendo.com>
4842
4843         * gst/gstminiobject.c: (gst_value_take_mini_object):
4844         Taking a NULL miniobject is valid, fix the case where
4845         we try to unref the NULL miniobject.
4846
4847 2006-04-28  Wim Taymans  <wim@fluendo.com>
4848
4849         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
4850
4851         * gst/gstbin.c: (gst_bin_handle_message_func):
4852         Update docs.
4853         Don't leak bin refcount when a state recalc is
4854         in progress and we delay another one #339808.
4855
4856 2006-04-28  Wim Taymans  <wim@fluendo.com>
4857
4858         * docs/design/part-TODO.txt:
4859         Mention QoS as an ongoing work item.
4860
4861         * docs/design/part-buffering.txt:
4862         New doc about buffering that needs to be fleshed out
4863         at some point.
4864
4865         * docs/design/part-qos.txt:
4866         More QoS policy for decoders/demuxers/transforms
4867
4868         * docs/design/part-trickmodes.txt:
4869         Small update.
4870
4871 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4872
4873         * configure.ac:
4874           back to HEAD
4875
4876 === release 0.10.5 ===
4877
4878 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
4879
4880         * configure.ac:
4881           releasing 0.10.5, "Fogo"
4882
4883 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
4884
4885         patch by: Wim Taymans
4886
4887         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
4888         (gst_pad_configure_src), (gst_pad_push):
4889         * gst/gstpipeline.c: (gst_pipeline_init):
4890           Fix internal data flow errors.  Fixes #338711.
4891
4892 2006-04-12  Wim Taymans  <wim@fluendo.com>
4893
4894         * tests/check/gst/gstelement.c: (GST_START_TEST):
4895         Don't leak the factory.
4896
4897 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4898
4899         * configure.ac:
4900         * win32/common/config.h:
4901           prerelease
4902
4903 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
4904
4905         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
4906         (gst_controller_unset_all):
4907           Free allocated GstTimedValues when freeing list nodes.
4908           Should fix leaks 'make check-valgrind' complains about.
4909
4910         * win32/common/libgstcontroller.def:
4911           Add gst_controller_unset_all.
4912
4913 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
4914
4915         * docs/libs/gstreamer-libs-sections.txt:
4916         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
4917         (gst_controller_unset_all):
4918         * libs/gst/controller/gstcontroller.h:
4919         API: Added new method gst_controller_unset_all()
4920         fixed gst_controller_unset()
4921         * tests/check/libs/controller.c: (GST_START_TEST),
4922         (gst_controller_suite):
4923         Added two testcases for new and fixed method
4924
4925 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
4926
4927         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
4928           MSG_DONTWAIT is not defined on Cygwin, so work
4929           around that (fixes #317048).
4930           
4931 2006-04-11  Wim Taymans  <wim@fluendo.com>
4932
4933         * gst/gstelementfactory.c: (gst_element_register),
4934         (gst_element_factory_create), (gst_element_factory_make):
4935         Some cleanups.
4936         Fixed a FIXME.
4937         Updated docs (Fixes #131079)
4938
4939         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
4940         Small cleanups.
4941
4942         * tests/check/gst/gstelement.c: (GST_START_TEST),
4943         (gst_element_suite):
4944         Added testcase for elementfactory class field.
4945
4946 2006-04-10  Wim Taymans  <wim@fluendo.com>
4947
4948         * gst/gstsegment.c:
4949         Added some more docs.
4950
4951         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
4952         (gst_base_sink_reset_qos):
4953         Calculate more accurate rate values.
4954
4955 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
4956
4957         * gst/gst_private.h:
4958           add a new #ifdef to use __declspec(dllimport) only for
4959           other modules and not for gstreamer core
4960         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
4961           use gst_guint64_to_gdouble for conversion
4962         * win32/common/libgstreamer.def:
4963           add new exported functions
4964         * win32/vs6/gst_inspect.dsp:
4965         * win32/vs6/gst_launch.dsp:
4966         * win32/vs6/libgstbase.dsp:
4967         * win32/vs6/libgstcontroller.dsp:
4968         * win32/vs6/libgstcoreelements.dsp:
4969         * win32/vs6/libgstdataprotocol.dsp:
4970         * win32/vs6/libgstnet.dsp:
4971           update project files
4972
4973 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
4974
4975         * gst/gstbuffer.c: (gst_subbuffer_class_init):
4976         * gst/gstclock.c: (gst_clock_class_init):
4977         * gst/gstelement.c: (gst_element_class_init):
4978         * gst/gstindex.c: (gst_index_class_init):
4979         * gst/gstindexfactory.c: (gst_index_factory_class_init):
4980         * gst/gstobject.c: (gst_object_class_init),
4981         (gst_signal_object_class_init):
4982         * gst/gstpad.c: (gst_pad_class_init):
4983         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
4984         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
4985         * gst/gstregistry.c: (gst_registry_class_init):
4986         * gst/gstsystemclock.c: (gst_system_clock_class_init):
4987         * gst/gsttask.c: (gst_task_class_init):
4988         * gst/gstxml.c: (gst_xml_class_init):
4989         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4990         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4991         (gst_base_src_loop):
4992         * libs/gst/controller/gstcontroller.c:/
4993         (_gst_controller_class_init):
4994         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
4995         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
4996         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
4997         * tests/old/examples/plugins/example.c: (gst_example_class_init):
4998         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
4999         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
5000
5001 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
5002
5003         * gst/gstpad.c: (gst_pad_link):
5004           Must set peer pads before calling the link function, otherwise
5005           a task started from a link function might get a flow-not-linked
5006           result when trying to push because the other thread where the
5007           linking happens hasn't had a chance to set the peers yet. This
5008           might happen for example when a queue gets linked to a downstream
5009           element, as queue starts a streaming task when its source pad
5010           gets linked. Happens in real life when playing back flac/musepack
5011           files in playbin (#332390).
5012           
5013 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
5014
5015         * gst/gstindex.h:
5016         * gst/gstxml.h:
5017         * libs/gst/base/gstadapter.h:
5018         * libs/gst/base/gstbasesink.h:
5019         * libs/gst/base/gstbasesrc.h:
5020         * libs/gst/base/gstbasetransform.h:
5021         * libs/gst/base/gstcollectpads.h:
5022         * libs/gst/base/gstpushsrc.h:
5023         Fix broken GObject macros
5024
5025 2006-04-07  Wim Taymans  <wim@fluendo.com>
5026
5027         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5028         Initialize start and stop times, thanks valgrind.
5029
5030 2006-04-07  Wim Taymans  <wim@fluendo.com>
5031
5032         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5033         Be a bit nicer to badly behaving upstream elements that expect
5034         us to deal with non TIME segments and timestamps (such as fakesrc
5035         in the testsuite).
5036
5037 2006-04-07  Wim Taymans  <wim@fluendo.com>
5038
5039         * gst/gstbus.c:
5040         Small documentation clarification about the signal watch.
5041
5042         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
5043         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
5044         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
5045         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
5046         (gst_base_sink_get_position_last),
5047         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
5048         Convert and store timestamps in stream time and running time, the
5049         raw timestamps are not useful, also document this better.
5050         Use different window sizes for good and bad QoS observations so
5051         we react to badness a little quicker.
5052         Keep track of the amount of rendered and dropped buffers.
5053         Send QoS timestamps in running time.
5054
5055         * libs/gst/base/gstbasetransform.c:
5056         (gst_base_transform_sink_eventfunc),
5057         (gst_base_transform_handle_buffer):
5058         Compare QoS timestamps against running time.
5059
5060 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
5061
5062         * gst/gstpad.c:
5063           Typo fixes in docs.
5064
5065 2006-04-06  Michael Smith  <msmith@fluendo.com>
5066
5067         * gst/gstpad.c: (gst_pad_set_property):
5068           Use g_value_get_object() instead of g_value_dup_gst_object(),
5069           to avoid double-reffing the pad template (which we then sink,
5070           so this worked previously if (and only if) the pad template
5071           was floating.
5072
5073         * gst/gstpadtemplate.c: (gst_pad_template_init),
5074         (gst_pad_template_pad_created):
5075           Never return floating references to pad templates, create
5076           them as initially-sunken.
5077
5078           Document an extra function (and make this stop sinking our
5079           pad template, since that is now guaranteed to do nothing,
5080           since we created it sunken).
5081
5082         * gst/gstghostpad.c:
5083           Fix docs typo.
5084
5085 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
5086
5087         * gst/gstinfo.c: (__gst_in_valgrind):
5088           Add some newlines.
5089
5090         * plugins/elements/gsttypefindelement.c:
5091         (gst_type_find_element_chain):
5092           Don't leak buffer caps.
5093
5094 2006-04-06  Michael Smith  <msmith@fluendo.com>
5095
5096         * gst/parse/grammar.y:
5097           Fix a leak in parse-launch for any source-or-sink named element 
5098           references used.
5099
5100         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
5101           Unref the pipeline if it exists after we've failed parsing.
5102
5103 2006-04-05  Michael Smith  <msmith@fluendo.com>
5104
5105         * gst/gstpipeline.c: (gst_pipeline_init):
5106           When we create a pipeline bus, initially create it in flushing mode.
5107           Fixes leaks in at least one test, and makes a new pipeline work the
5108           same as one that has gone to READY and then back to NULL.
5109
5110         * gst/gstelement.c:
5111           Typo fix in docs.
5112
5113 2006-04-05  Michael Smith  <msmith@fluendo.com>
5114
5115         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
5116           Unref a pad we reffed.
5117         * tests/check/gst/gstutils.c: (GST_START_TEST):
5118           Unref bins
5119
5120 2006-04-05  Michael Smith  <msmith@fluendo.com>
5121
5122         * gst/gstquery.c: (gst_query_set_formats),
5123         (gst_query_set_formatsv):
5124           Fix leaking GValues in queries, as shown by valgrind/testsuite.
5125
5126 2006-04-05  Michael Smith  <msmith@fluendo.com>
5127
5128         * tests/check/generic/sinks.c: (GST_START_TEST):
5129           Fix a variety of memleaks in sinks check, which are only sometimes 
5130           shown by running the tests under valgrind (weird?).
5131
5132 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
5133
5134         * docs/version.entities.in:
5135           Fix the substituted entity name after thomas' changes on the
5136           weekend.
5137
5138 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5139
5140         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
5141         VALGRIND_PRINTF
5142         
5143 2006-04-05  Andy Wingo  <wingo@pobox.com>
5144
5145         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
5146
5147         * libs/gst/base/gstbasetransform.c
5148         (gst_base_transform_sink_eventfunc): When resetting our segment on
5149         FLUSH_STOP, also update the flag saying we haven't seen a
5150         newsegment.
5151
5152 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
5153
5154         Patch by: Paolo Borelli  <pborelli at katamail dot com>
5155
5156         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
5157         (gst_plugin_check_license):
5158           minor clean-ups: G_DEFINE_TYPE already takes care of the
5159           parent_class stuff, no need to do it twice. Mark array of
5160           license strings as constant. (#337103)
5161           
5162 2006-04-04  Michael Smith  <msmith@fluendo.com>
5163
5164         * tools/gst-inspect.c: (print_element_list):
5165           Free the right plugin list; fixes a memory leak.
5166
5167 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
5168
5169         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
5170
5171         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
5172           Don't error out on empty buffers (#336945).
5173           
5174 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
5175
5176         * docs/libs/gstreamer-libs-sections.txt:
5177         * gst/gsttaglist.c:
5178         * libs/gst/base/gstbasesink.c:
5179         * libs/gst/base/gstbasesink.h:
5180         * libs/gst/base/gstbasesrc.c:
5181         * libs/gst/base/gstbasesrc.h:
5182           Documentation updates. Make BaseSink and BaseSrc docs contain the
5183           class structure so that people can actually see the prototypes for
5184           virtual functions they're supposed to be overriding.
5185
5186 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
5187
5188         * plugins/elements/gsttypefindelement.c:
5189         (gst_type_find_element_chain):
5190           More debug info; when skipping typefinding, send cached
5191           events in all cases.
5192
5193 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5194
5195         * configure.ac:
5196           use new AS_VERSION and AS_NANO macros
5197         * gst/gst-i18n-lib.h:
5198         * gst/gst.c:
5199         * gst/gsterror.c:
5200         * gst/gstversion.h.in:
5201         * win32/common/config.h:
5202         * win32/common/config.h.in:
5203           update accordingly
5204
5205 2006-03-31  Michael Smith  <msmith@fluendo.com>
5206
5207         * plugins/elements/gsttypefindelement.c:
5208         (gst_type_find_element_chain):
5209           Do not typefind content if the buffers already have caps.
5210           Neccesary for icydemux (#333657), and the right thing to do anyway.
5211
5212 2006-03-30  Wim Taymans  <wim@fluendo.com>
5213
5214         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5215         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
5216         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
5217         (gst_base_sink_record_qos_observation),
5218         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
5219         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
5220         (gst_base_sink_change_state):
5221         More QoS measurements as described in the design doc.
5222         Get rid of ringbuffer with observations, running average is
5223         more simple and equally good.
5224         Calculates valid proportion now.
5225         Added beginning of flood measurement.
5226
5227 2006-03-29  Wim Taymans  <wim@fluendo.com>
5228
5229         * docs/design/part-qos.txt:
5230         * gst/gstclock.c:
5231         Small documentation updates and additions.
5232
5233 2006-03-29  Wim Taymans  <wim@fluendo.com>
5234
5235         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
5236         (gst_base_src_send_event), (gst_base_src_loop),
5237         (gst_base_src_change_state):
5238         Perform the EOS logic when we reach the segment stop position.
5239         Fix compilation on gcc4.1
5240
5241 2006-03-29  Wim Taymans  <wim@fluendo.com>
5242
5243         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
5244
5245         * plugins/elements/gstqueue.c: (gst_queue_init),
5246         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
5247         (gst_queue_set_property):
5248         * plugins/elements/gstqueue.h:
5249         In queue, when EOS is received, if minimum threshold > max_size -
5250         current_level, there is chance that queue blocks forever in conditional
5251         item del wait. This is because the queue is not emptied completely due
5252         to minimum threshold.  Here is another approach. Instead of setting
5253         cur_levels to max in EOS, just zero all minimum threshold levels. This
5254         should make sure that queue gives out all data. When going to READY
5255         (stop) state, just reset the original minimum threshold levels.
5256         Fixes #336336.
5257
5258 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
5259
5260         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
5261         (gst_type_find_element_handle_event),
5262         (gst_type_find_element_send_cached_events),
5263         (gst_type_find_element_change_state):
5264         * plugins/elements/gsttypefindelement.h:
5265           When typefinding is done in push mode, we should cache
5266           events we receive during typefinding instead of just
5267           dropping them (e.g. newsegment, custom events from
5268           dvdreadsrc etc.) and then send them out once we've
5269           determined the type of the stream (and decodebin
5270           has had a chance to plug in a decoder/demuxer).
5271           
5272 2006-03-27  Wim Taymans  <wim@fluendo.com>
5273
5274         * docs/design/part-qos.txt:
5275         First QoS ideas.
5276
5277 2006-03-27  Wim Taymans  <wim@fluendo.com>
5278
5279         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
5280
5281         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
5282         (gst_base_src_send_event), (gst_base_src_change_state):
5283         Handle element seek correctly when we are streaming.
5284         Fixes #326998.
5285
5286 2006-03-24  Michael Smith  <msmith@fluendo.com>
5287
5288         * docs/faq/gst-uninstalled:
5289           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
5290           allow you to correctly run intalled applications built against old 
5291           core, using plugins that require updated core (e.g. running
5292           installed totem against a full uninstalled gstreamer stack)
5293
5294 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
5295
5296         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
5297         more debug details
5298
5299 2006-03-24  Wim Taymans  <wim@fluendo.com>
5300
5301         * docs/gst/gstreamer-sections.txt:
5302         Rearrange the order of the methods so that related methods
5303         are grouped together in sections.
5304
5305 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
5306
5307         * gst/gstelement.c:
5308           Little clarification in the docs
5309
5310 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
5311
5312         * docs/README:
5313         formatting fix
5314         * plugins/elements/gstidentity.c:
5315         * plugins/elements/gstqueue.c:
5316         * plugins/elements/gsttee.c:
5317         * plugins/elements/gsttypefindelement.c:
5318         GST_ELEMENT_DETAILS formatting
5319
5320 2006-03-24  Wim Taymans  <wim@fluendo.com>
5321
5322         * libs/gst/base/gstbasesink.h:
5323         Only add fields, not insert or we break ABI.
5324
5325 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
5326
5327         * win32/common/libgstbase.def:
5328         * win32/common/libgstreamer.def:
5329           Update, add recently added functions.
5330
5331 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
5332
5333         * docs/gst/gstreamer-sections.txt:
5334         * gst/gstutils.c: (gst_pad_query_peer_position),
5335         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
5336         * gst/gstutils.h:
5337           API: add some new utility functions:
5338            - gst_pad_query_peer_position()
5339            - gst_pad_query_peer_duration()
5340            - gst_pad_query_peer_convert()
5341           
5342 2006-03-23  Wim Taymans  <wim@fluendo.com>
5343
5344         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5345         (gst_base_sink_init), (gst_base_sink_finalize),
5346         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
5347         (gst_base_sink_set_property), (gst_base_sink_get_property),
5348         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
5349         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
5350         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
5351         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
5352         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
5353         (gst_base_sink_preroll_object), (gst_base_sink_event),
5354         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
5355         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
5356         (gst_base_sink_query), (gst_base_sink_change_state):
5357         Decouple max-lateness and the fact that QoS messages are generated
5358         with a new property (qos).
5359         added API: GstBaseSink::async_play()
5360         Add vmethod so subclasses can be notified of ASYNC playing
5361         state changes.
5362         Collect timestamp start and stop to report better current
5363         position in EOS/PLAYING/PAUSED/READY/NULL.
5364         Refactor QoS/frame dropping and other measurements.
5365         API: GstBaseSrc::qos
5366         Fixes #326311
5367
5368         * libs/gst/base/gstbasesink.h:
5369         Added Private struct.
5370         API: gst_base_sink_set_qos_enabled()
5371         API: gst_base_sink_is_qos_enabled()
5372
5373 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
5374
5375         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
5376           If compiling against GLib-2.8 or newer, try to read the
5377           registry file using GMappedFile first before falling back
5378           to fopen() + fread() (#332151).
5379
5380 2006-03-22  Wim Taymans  <wim@fluendo.com>
5381
5382         * gst/gstinfo.c: (gst_debug_set_active),
5383         (gst_debug_category_set_threshold):
5384         Disable debugging unless explicitly activated.
5385         Fixes #335480.
5386
5387 2006-03-22  Wim Taymans  <wim@fluendo.com>
5388
5389         * gst/gstelement.c: (gst_element_set_locked_state),
5390         (gst_element_dispose):
5391         Cleanup the error case.
5392
5393         * gst/gstobject.c: (gst_object_dispose):
5394         print a critical when some object was disposed with
5395         a parent, also revive the object since it might
5396         crash the parent.
5397
5398 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
5399
5400         * tools/gst-launch.1.in:
5401           Fix another typo.
5402
5403 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5404
5405         * configure.ac:
5406         * tests/check/Makefile.am:
5407           disable some tests when we don't have a registry
5408         * tests/check/gst/gstutils.c: (gst_utils_suite):
5409           don't build the part that needs parsing
5410
5411 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
5412
5413         * gst/Makefile.am
5414         * tests/examples/Makefile.am:
5415           fix --disable-parse build
5416
5417 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
5418
5419         * tools/gst-feedback.1.in:
5420           Fix typo: s/feeback/feedback/ (#133494).
5421
5422 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
5423
5424         * tools/Makefile.am:
5425         * tools/gst-launch.1.in:
5426           Add FILES section and correct entry about GST_REGISTRY_PATH
5427           environment variable (#133495; #133494).
5428
5429 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
5430
5431         * tools/Makefile.am:
5432         * tools/gst-md5sum.1.in:
5433         * tools/gst-md5sum.c:
5434           Remove gst-md5sum and man page (the md5sink element
5435           required was removed ages ago)
5436
5437 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
5438
5439         * gst/gststructure.c: (gst_structure_id_set_value):
5440           Make sure that string fields in structures/taglists
5441           contain valid UTF-8 - we don't want to pass rubbish to
5442           applications because of a buggy plugin (cp. #334167).
5443
5444 2006-03-21  Edward Hervey  <edward@fluendo.com>
5445
5446         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
5447         (gst_bin_handle_message_func):
5448         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
5449         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
5450         (gst_element_set_bus_func):
5451         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
5452         * gst/gstminiobject.c: (gst_value_set_mini_object),
5453         (gst_value_take_mini_object):
5454         * gst/gstpad.c: (gst_pad_set_pad_template):
5455         * gst/gstpipeline.c: (gst_pipeline_dispose),
5456         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
5457         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
5458         (gst_collect_pads_chain):
5459         * libs/gst/net/gstnettimeprovider.c:
5460         (gst_net_time_provider_set_property):
5461         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
5462         It's in fact all issues with gst_*object_replace().
5463
5464 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
5465
5466         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
5467         
5468         * pkgconfig/gstreamer-check-uninstalled.pc.in:
5469         * pkgconfig/gstreamer-check.pc.in:
5470           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
5471
5472 2006-03-21  Edward Hervey  <edward@fluendo.com>
5473
5474         * gst/gstbuffer.h:
5475         * gst/gstevent.h:
5476         * gst/gstmessage.h:
5477         gst_[buffer|event|message]_ref() macros are replaced by a static
5478         inline functions because gcc-4.1 will about if the return value
5479         isn't used.
5480         * tests/check/gst/gstevent.c: (event_probe):
5481         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
5482
5483 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
5484
5485         * gst/gstutils.h:
5486         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
5487         the type' case. (Closes: #335195 for now). In the future, when we
5488         depend on GLib 2.10, we could also intern the type name using
5489         g_intern_static_string()
5490
5491 2006-03-20  Wim Taymans  <wim@fluendo.com>
5492
5493         * gst/gstbin.c: (gst_bin_handle_message_func),
5494         (bin_query_max_init), (bin_query_position_fold),
5495         (bin_query_position_done), (gst_bin_query):
5496         Position query should also take max of all streams.
5497
5498 2006-03-20  Wim Taymans  <wim@fluendo.com>
5499
5500         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
5501         (gst_fake_src_finalize):
5502         Fix leaks in fakesrc.
5503
5504         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
5505         Fix leaks in the testcase.
5506
5507 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
5508
5509         * gst/gst_private.h:
5510           add win32 specific import decoration(__declspec(dllimport)) 
5511           for all extern GstDebugCategory * variables
5512         * win32/common/libgstbase.def:
5513         * win32/common/libgstcontroller.def:
5514         * win32/common/libgstreamer.def:
5515           Add some exports, remove empty lines
5516         * win32/common/libgstdataprotocol.def:
5517         * win32/common/libgstdataprotocol.dsp:
5518         * win32/common/libgstnet.def:
5519         * win32/common/libgstnet.dsp:
5520           new project files and exportation files added
5521         
5522 2006-03-19  Wim Taymans  <wim@fluendo.com>
5523
5524         * tests/check/libs/basesrc.c: (eos_event_counter):
5525         Use proper return value for probe.
5526
5527 2006-03-17  Wim Taymans  <wim@fluendo.com>
5528
5529         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
5530         (gst_pad_push):
5531         Don't leak buffers, caps and pads on negotiation errors.
5532
5533 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
5534
5535         * docs/faq/cvs.xml:
5536         * docs/faq/dependencies.xml:
5537         * docs/faq/developing.xml:
5538         * docs/faq/faq.xml:
5539         * docs/faq/general.xml:
5540         * docs/faq/getting.xml:
5541         * docs/faq/legal.xml:
5542         * docs/faq/troubleshooting.xml:
5543         * docs/faq/using.xml:
5544         Faq review and update.
5545
5546 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
5547
5548         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
5549         (gst_pad_push):
5550         Don't pound the cpu to pieces by checking get_caps when accept_caps
5551         is called with the same caps as the pad already has.
5552         Use GST_DEBUG_OBJECT when outputting caps change information.
5553
5554 2006-03-15  Wim Taymans  <wim@fluendo.com>
5555
5556         * gst/gstclock.c: (gst_clock_class_init):
5557         Fix docs.
5558
5559 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
5560
5561         * gst/gstbuffer.h:
5562         Documentation fix.
5563
5564         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
5565         (gst_pad_accept_caps), (gst_pad_configure_sink),
5566         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
5567         Make the default acceptcaps behaviour be to check the requested 
5568         caps against the gst_pad_get_caps output. 
5569
5570         Ensure that gst_pad_accept_caps is used to check caps when a pad
5571         doesn't have a setcaps function, so that pads automatically refuse 
5572         caps that they don't allow in their pad template. (Fixes #332986)
5573
5574         When a buffer with attached caps is pushed, ensure that the source 
5575         pad receives those caps even if the element didn't call
5576         gst_pad_set_caps first.
5577
5578 2006-03-15  Wim Taymans  <wim@fluendo.com>
5579
5580         * libs/gst/base/gstadapter.c:
5581         Add some docs.
5582
5583 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
5584
5585         * win32/common/libgstbase.def:
5586         * win32/common/libgstcontroller.def:
5587         * win32/common/libgstreamer.def:
5588           Add a whole bunch of missing functions (#334434).
5589
5590 2006-03-14  Wim Taymans  <wim@fluendo.com>
5591
5592         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
5593         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
5594         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
5595         Better debug info when we receive a segment event.
5596         Reorganize a bit so we can pass the get_times() results around.
5597         Use the segment format when calculating the running time.
5598         Don't do QoS is sync is disabled or we have no clock or the
5599         element does not want us to sync to the clock.
5600         Don't drop buffers if QoS is disabled for now.
5601
5602 2006-03-14  Wim Taymans  <wim@fluendo.com>
5603
5604         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
5605         Marked the stats property as unimplemented so people don't get
5606         wild ideas.
5607         Add debug message when regression goes wrong.
5608         Added some more docs.
5609
5610 2006-03-14  Wim Taymans  <wim@fluendo.com>
5611
5612         * gst/gstsegment.c: (gst_segment_to_stream_time):
5613         Return correct return type in case of errors.
5614
5615 2006-03-14  Wim Taymans  <wim@fluendo.com>
5616
5617         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
5618           Don't segfault on invalid formats.
5619
5620 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
5621
5622         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5623           Can't use gst_segment_to_running_time() when the segment
5624           is not in GST_TIME_FORMAT (like with filesink, for example).
5625           Stops flac encoding pipelines from spewing critical warnings
5626           at EOS (#331248).
5627           
5628 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
5629
5630         * gst/gstpipeline.c: (gst_pipeline_class_init):
5631           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
5632
5633         * plugins/elements/gsttypefindelement.c:
5634         (gst_type_find_element_handle_event):
5635           Don't try to typefind empty streams.
5636
5637 2006-03-14  Wim Taymans  <wim@fluendo.com>
5638
5639         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
5640         (gst_base_sink_do_qos):
5641         Separate QoS calculation.
5642         Only drop buffers when lateness is bigger than the 
5643         duration of the buffer.
5644
5645 2006-03-13  Wim Taymans  <wim@fluendo.com>
5646
5647         * gst/gstpipeline.c: (gst_pipeline_set_property),
5648         (gst_pipeline_get_property), (do_pipeline_seek),
5649         (gst_pipeline_change_state), (gst_pipeline_set_delay),
5650         (gst_pipeline_get_delay):
5651         Don't deadlock when reading properties.
5652
5653 2006-03-13  Wim Taymans  <wim@fluendo.com>
5654
5655         * libs/gst/base/gstbasetransform.c:
5656         (gst_base_transform_class_init), (gst_base_transform_init),
5657         (gst_base_transform_sink_event),
5658         (gst_base_transform_sink_eventfunc),
5659         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
5660         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5661         (gst_base_transform_set_property),
5662         (gst_base_transform_get_property),
5663         (gst_base_transform_change_state), (gst_base_transform_update_qos),
5664         (gst_base_transform_set_qos_enabled),
5665         (gst_base_transform_is_qos_enabled):
5666         * libs/gst/base/gstbasetransform.h:
5667         Make basetransform virtual method for src events too.
5668         Handle QOS in basetransform.
5669         API: gst_base_transform_update_qos()
5670         API: gst_base_transform_set_qos_enabled()
5671         API: gst_base_transform_is_qos_enabled()
5672
5673 2006-03-13  Wim Taymans  <wim@fluendo.com>
5674
5675         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
5676         (gst_base_sink_do_sync):
5677         Small cleanups.
5678         Use QOS debug category.
5679
5680 2006-03-13  Wim Taymans  <wim@fluendo.com>
5681
5682         * plugins/elements/gstqueue.c:
5683         Very small doc update.
5684
5685 2006-03-13  Wim Taymans  <wim@fluendo.com>
5686
5687         * gst/gst_private.h:
5688         * gst/gstinfo.c: (_gst_debug_init):
5689         Added QOS debug category
5690
5691 2006-03-13  Wim Taymans  <wim@fluendo.com>
5692
5693         * docs/gst/gstreamer-sections.txt:
5694         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
5695         * gst/gstbin.h:
5696         * gst/gstbus.c: (gst_bus_class_init):
5697         * gst/gstbus.h:
5698         * gst/gstclock.c:
5699         * gst/gstelement.c: (gst_element_set_locked_state):
5700         * gst/gstsegment.c:
5701         Documentation updates.
5702
5703         * gst/gstpipeline.c: (gst_pipeline_get_type),
5704         (gst_pipeline_class_init), (gst_pipeline_init),
5705         (gst_pipeline_dispose), (gst_pipeline_set_property),
5706         (gst_pipeline_get_property), (do_pipeline_seek),
5707         (gst_pipeline_send_event), (gst_pipeline_change_state),
5708         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
5709         (gst_pipeline_get_delay):
5710         * gst/gstpipeline.h:
5711         Added methods for setting the delay.
5712         API: gst_pipeline_set_delay()
5713         API: gst_pipeline_get_delay()
5714         Add pipeline debug category
5715         Various cleanups.
5716         Updated docs.
5717         Don't reset stream time when seek failed.
5718
5719 2006-03-13  Wim Taymans  <wim@fluendo.com>
5720
5721         * docs/design/draft-klass.txt:
5722         * docs/design/part-clocks.txt:
5723         * docs/design/part-events.txt:
5724         * docs/design/part-gstbin.txt:
5725         * docs/design/part-gstpipeline.txt:
5726         * docs/design/part-messages.txt:
5727         * docs/design/part-negotiation.txt:
5728         * docs/design/part-overview.txt:
5729         * docs/design/part-preroll.txt:
5730         * docs/design/part-seeking.txt:
5731         * docs/design/part-states.txt:
5732         * docs/design/part-streams.txt:
5733         Documentation updates.
5734
5735 2006-03-12  Julien MOUTTE  <julien@moutte.net>
5736
5737         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
5738         us to leak strings...
5739
5740 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5741
5742         * libs/gst/net/gstnettimeprovider.c:
5743           fix docs
5744         * win32/common/config.h:
5745           update
5746
5747 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
5748
5749         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
5750
5751         * configure.ac:
5752           Don't check for libgnomeui (leftover from old examples
5753           that aren't built or disted any longer) (#334303).
5754           
5755 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
5756
5757         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
5758         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
5759           Emit RESOURCE_NO_SPACE_LEFT error here as well when
5760           there's no space left on the device.
5761
5762 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
5763
5764         * gst/gstclock.h:
5765           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
5766           to cast the input to GstClockTime before comparing with
5767           another GstClockTime value.
5768
5769 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5770
5771         * configure.ac:
5772           back to trunk
5773
5774 === release 0.10.4 ===
5775
5776 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
5777
5778         * configure.ac:
5779           releasing 0.10.4, "Light"
5780
5781 2006-03-10  Michael Smith  <msmith@fluendo.com>
5782
5783         * libs/gst/dataprotocol/dataprotocol.c:
5784           Fix docs for dataprocotol to not get the return types completely
5785           wrong for a few functions.
5786
5787 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
5788
5789         * docs/gst/gstreamer-sections.txt:
5790         * gst/gstpipeline.c: (gst_pipeline_class_init),
5791         (gst_pipeline_init), (gst_pipeline_set_property),
5792         (gst_pipeline_get_property), (gst_pipeline_change_state),
5793         (gst_pipeline_set_auto_flush_bus),
5794         (gst_pipeline_get_auto_flush_bus):
5795         * gst/gstpipeline.h:
5796           Add new API: gst_pipeline_set_auto_flush_bus() and
5797           gst_pipeline_get_auto_flush_bus() to disable automatic
5798           flushing of the pipeline's GstBus when going from READY
5799           to NULL state (#332045).
5800
5801 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
5802
5803         * docs/gst/gstreamer-sections.txt:
5804         * gst/gsturi.c: (gst_uri_has_protocol):
5805         * gst/gsturi.h:
5806            Add new API: gst_uri_has_protocol() (#333779).
5807
5808 2006-03-09  Wim Taymans  <wim@fluendo.com>
5809
5810         * gst/gstclock.c: (gst_clock_entry_new),
5811         (gst_clock_id_compare_func), (gst_clock_id_wait),
5812         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
5813         (gst_clock_init), (gst_clock_get_internal_time),
5814         (gst_clock_set_master), (do_linear_regression),
5815         (gst_clock_add_observation), (gst_clock_set_property):
5816         * gst/gstclock.h:
5817         Review docs.
5818         Small cleanups.
5819         Fix a possible segfault when the window-size is made smaller.
5820         Calculate jitter before performing the clock wait. Ideally
5821         the clock implementation should calculate jitter but we need
5822         API breakage for that.
5823
5824         * gst/gstsystemclock.c: (gst_system_clock_init):
5825         Docs review.
5826         
5827         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5828         Remove leftover else
5829
5830         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5831         (gst_systemclock_suite):
5832         Added check to test GST_CLOCK_DIFF.
5833
5834 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
5835
5836         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
5837         (gst_type_find_helper_get_range):
5838           If we are provided with the size, we should implement
5839           GstTypeFind::get_length, so that typefind functions who
5840           want to can actually peek at the middle of a file.
5841
5842 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
5843
5844         * docs/manual/advanced-dataaccess.xml:
5845           Add some very very basic error checking.
5846
5847         * docs/pwg/appendix-checklist.xml:
5848           Some updates to the list of things to check when writing an element.
5849
5850 2006-03-08  Wim Taymans  <wim@fluendo.com>
5851
5852         * docs/design/part-element-transform.txt:
5853         Added some docs about the design of tranform elements.
5854
5855         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5856         (gst_base_src_loop), (gst_base_src_change_state):
5857         Mark buffers with the DISCONT flag.
5858
5859 2006-03-08  Michael Smith  <msmith@fluendo.com>
5860
5861         * gst/gstregistry.h:
5862         * gst/gstregistryxml.c: (gst_registry_save),
5863         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
5864         (gst_registry_xml_save_pad_template),
5865         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
5866         (gst_registry_xml_write_cache):
5867           Rewrite registry-saving to avoid race conditions and check for
5868           failed writes.
5869
5870 2006-03-08  Wim Taymans  <wim@fluendo.com>
5871
5872         * libs/gst/base/gstbasetransform.c:
5873         (gst_base_transform_transform_caps),
5874         (gst_base_transform_transform_size),
5875         (gst_base_transform_prepare_output_buffer),
5876         (gst_base_transform_get_unit_size),
5877         (gst_base_transform_buffer_alloc),
5878         (gst_base_transform_handle_buffer),
5879         (gst_base_transform_change_state):
5880         Cleanups, separate normal flow from errors, add sensible
5881         DEBUG lines.
5882         Don't try to renegotiate when allocating an output buffer.
5883         Also copy DISCONT buffer flag when copying a buffer.
5884         Reset the transform after we finish streaming, not during.
5885
5886 2006-03-08  Wim Taymans  <wim@fluendo.com>
5887
5888         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5889         Use last buffer timestamp in qos message.
5890
5891 2006-03-07  Wim Taymans  <wim@fluendo.com>
5892
5893         Patch by: Christophe Fergeau
5894
5895         * docs/pwg/advanced-tagging.xml:
5896         * docs/pwg/building-pads.xml:
5897           fixes #333416
5898
5899 2006-03-07  Wim Taymans  <wim@fluendo.com>
5900
5901         * docs/libs/gstreamer-libs-sections.txt:
5902         Added basesink new methods.
5903
5904         * gst/gstevent.c:
5905         * gst/gstevent.h:
5906         Docs updates. Flesh out the QoS docs.
5907
5908         * libs/gst/base/gstadapter.c:
5909         Small doc clarification about ownership and flushing.
5910
5911         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
5912         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
5913         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
5914         (gst_base_sink_get_property), (gst_base_sink_do_sync):
5915         * libs/gst/base/gstbasesink.h:
5916         API additions: 
5917         Added new methods to allow subclass to control max-lateness 
5918         and sync.
5919         Generate very basic QoS events based on last sync observation.
5920         Updated docs, fix typo, added some QoS blurb.
5921
5922         * libs/gst/base/gstbasesrc.c:
5923         Remove obsolete _get_state() calls from docs.
5924
5925 2006-03-07  Wim Taymans  <wim@fluendo.com>
5926
5927         * docs/libs/gstreamer-libs-sections.txt:
5928         * libs/gst/base/gstbasetransform.h:
5929         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
5930         Fix docs for GstBaseSrc.
5931
5932 2006-03-07  Wim Taymans  <wim@fluendo.com>
5933
5934         * docs/gst/gstreamer-sections.txt:
5935         * gst/gstbuffer.h:
5936         * gst/gstvalue.c:
5937         * libs/gst/base/gstbasetransform.h:
5938         Small documentation fixes.
5939
5940 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
5941
5942         * gst/gstvalue.c:
5943           Document thread-unsafety of gst_value_register_foo_func()
5944           when used at the same time as gst_value_foo() (#322628).
5945
5946 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
5947
5948         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
5949         (gst_push_src_check_get_range):
5950           Push sources don't support pull mode by default.
5951
5952 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
5953
5954         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5955         (gst_base_src_init), (gst_base_src_pad_check_get_range),
5956         (gst_base_src_default_check_get_range):
5957         * libs/gst/base/gstbasesrc.h:
5958           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
5959           provide default implementation, and rename
5960           gst_base_src_check_get_range() to
5961           gst_base_src_pad_check_get_range() for clarity.
5962
5963 2006-03-06  Wim Taymans  <wim@fluendo.com>
5964
5965         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
5966         Make property overridable.
5967
5968 2006-03-06  Wim Taymans  <wim@fluendo.com>
5969
5970         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5971         (gst_base_sink_init), (gst_base_sink_set_property),
5972         (gst_base_sink_get_property), (gst_base_sink_do_sync):
5973         * libs/gst/base/gstbasesink.h:
5974         API addition: Make max-lateness a property.
5975
5976 2006-03-06  Wim Taymans  <wim@fluendo.com>
5977
5978         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
5979         (gst_base_sink_do_sync), (gst_base_sink_render_object):
5980         Don't ever draw a frame that is >10ms late.
5981
5982 2006-03-06  Michael Smith  <msmith@fluendo.com>
5983
5984         * gst/gstmessage.c: (_gst_message_copy):
5985           When copying a message, set the parent_refcount of the enclosed
5986           structure to point at the copy, not the original message.
5987
5988 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
5989
5990         Patch by: Christophe Fergeau
5991
5992         * gst/gstutils.h:
5993           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
5994           usable in c++ code (#333417)
5995
5996 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5997
5998         * gst/gstclock.h:
5999           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
6000
6001 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
6002
6003         * libs/gst/base/gstbasetransform.c:
6004         (gst_base_transform_transform_caps):
6005           Make sure caps are writable before passing them to
6006           gst_caps_append().
6007
6008 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
6009
6010         * gst/gsterror.h:
6011           Fix some minor docs errors.
6012
6013 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
6014
6015           Patch by: Ross Burton <ross at burtonini dot com>
6016
6017         * gst/gsterror.c: (_gst_resource_errors_init):
6018         * gst/gsterror.h:
6019           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
6020
6021 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
6022
6023         * gst/gst.c:
6024         Add a check and output a g_warning when GStreamer is built
6025         against GLib 2.6 but running against 2.8 or higher, and vice 
6026         versa. (Closes: #323542)
6027
6028 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
6029
6030         * gst/parse/parse.l:
6031           Commit patch for parse_launch syntax from #331255. Removes 
6032           support for quoted strings and mimetypes when writing filtered 
6033           caps. See the bug report for more details - I'm pretty sure this
6034           obscure feature is not in use by _anyone_ anywhere.
6035
6036           With this simple change, the size of the gstreamer.so here 
6037           drops from 2193KB to 1565KB.
6038
6039 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
6040
6041         * plugins/elements/gsttypefindelement.h:
6042         * plugins/elements/gsttypefindelement.c:
6043         (gst_type_find_element_src_event), (start_typefinding),
6044         (stop_typefinding), (gst_type_find_element_handle_event),
6045         (gst_type_find_element_chain),
6046         (gst_type_find_element_chain_do_typefinding):
6047           Use gst_type_find_helper_for_buffer() for chain-based
6048           typefinding.
6049
6050 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
6051
6052         * plugins/elements/gsttypefindelement.c:
6053         (gst_type_find_element_class_init),
6054         (gst_type_find_element_set_property),
6055         (gst_type_find_element_get_property):
6056           Deprecate "maximum" property (not only was it only taken into
6057           account for typefinding in push-mode anyway, it also was never
6058           actually possible to set it in the first place because the
6059           property was registered with the numeric property ID for the
6060           "minimum" property). Register "maximum" property correctly,
6061           for the sake of future copy'n'pasters. Remove some cruft
6062           from property get/set functions.
6063
6064 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
6065
6066         * plugins/elements/gsttypefindelement.c:
6067         (gst_type_find_element_activate):
6068           Use gst_type_find_helper_get_range() here, so we
6069           can honour the "minimum" property and also emit
6070           the signal with the correct probability of the found caps.
6071
6072 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
6073
6074         * docs/libs/gstreamer-libs-sections.txt:
6075         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
6076         (helper_find_suggest), (gst_type_find_helper_get_range),
6077         (gst_type_find_helper):
6078         * libs/gst/base/gsttypefindhelper.h:
6079           New API: gst_type_find_helper_get_range() (#333042).
6080
6081 2006-03-02  Michael Smith  <msmith@fluendo.com>
6082
6083         * gst/gstregistryxml.c: (load_feature):
6084           Asserting on a failure to read part of the registry is Not Cool.
6085           Just log a warning and return NULL (which is already handled)
6086
6087 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
6088
6089         * win32/common/libgstbase.def:
6090           added export of gst_type_find_helper_for_buffer
6091         * win32/common/libgstbase.def:
6092           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
6093           gst_ghost_pad_get_target
6094
6095 2006-02-28  Wim Taymans  <wim@fluendo.com>
6096
6097         * docs/design/draft-klass.txt:
6098         We use Filter now.
6099         Added Connector to mark elements that are only used to
6100         allow pipeline connections.
6101         Moved Debug to extra feature since most of them are 
6102         functionally something else.
6103
6104 2006-02-28  Wim Taymans  <wim@fluendo.com>
6105
6106         * docs/design/draft-klass.txt:
6107         Some updates and clarifications.
6108
6109 2006-02-28  Wim Taymans  <wim@fluendo.com>
6110
6111         * docs/design/draft-klass.txt:
6112         Proposal for klass field values.
6113
6114         * docs/design/part-streams.txt:
6115         Start of a doc describing stream anatomy.
6116
6117 2006-02-28  Wim Taymans  <wim@fluendo.com>
6118
6119         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
6120         Help the compiler a bit with type registration.
6121         Use existing forward cod path instead of duplicating it when 
6122         handling a message.
6123         
6124         * gst/gstbus.c: (gst_bus_get_type):
6125         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
6126         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
6127         * gst/gstclock.c: (gst_clock_get_type):
6128         * gst/gstelement.c: (gst_element_get_type),
6129         * gst/gstelementfactory.c: (gst_element_factory_get_type):
6130         * gst/gstindexfactory.c: (gst_index_factory_get_type):
6131         * gst/gstminiobject.c: (gst_mini_object_get_type):
6132         * gst/gstpad.c: (gst_pad_get_type):
6133         * gst/gstsegment.c: (gst_segment_get_type):
6134         * gst/gststructure.c: (gst_structure_get_type):
6135         * gst/gstsystemclock.c: (gst_system_clock_get_type):
6136         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
6137         * gst/gstvalue.c:
6138         Help compiler with type registration.
6139
6140         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6141         Small doc update.
6142
6143 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
6144
6145         * plugins/elements/gsttypefindelement.c:
6146         (gst_type_find_element_handle_event):
6147           When we get an EOS event and have not found a type yet
6148           (most likely because we had not yet accumulated
6149           TYPE_FIND_MIN_SIZE of data yet), try to determine the
6150           type given the data we have so far. Fixes typefinding
6151           for very short streams again, most notably quicktime
6152           redirections as used on Apple's trailer site (#331701).
6153
6154 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
6155
6156         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
6157         (gst_type_find_helper):
6158           Try typefinding factories with the highest rank first.
6159
6160 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
6161
6162         * docs/libs/gstreamer-libs-docs.sgml:
6163         * docs/libs/gstreamer-libs-sections.txt:
6164         * libs/gst/base/gsttypefindhelper.c:
6165           Add section for typefind helper and add documentation
6166           for the old and the new function.
6167
6168 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
6169
6170         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
6171         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
6172         (gst_type_find_helper_for_buffer):
6173         * libs/gst/base/gsttypefindhelper.h:
6174           New API: gst_type_find_helper_for_buffer() (#332723).
6175           
6176 2006-02-27  Michael Smith  <msmith@fluendo.com>
6177
6178         Patch by: Loïc Minier
6179
6180         * configure.ac:
6181         * docs/Makefile.am:
6182         * docs/slides/Makefile.am:
6183           prevent CVS directories getting disted.
6184
6185 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
6186
6187         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
6188           Use the REFCOUNTING category for caps refcounting.
6189           
6190 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
6191
6192         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
6193           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
6194
6195 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
6196
6197         * plugins/elements/gsttypefindelement.c:
6198         (gst_type_find_element_activate):
6199           Use gst_pad_check_pull_range() before _activate_pull()
6200           to avoid unnecessary open/close (see #331690).
6201
6202 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
6203
6204         * gst/gstutils.c:
6205           Docs enhancement: make it crystal clear what the
6206           gst_pad_add_*_probe() callbacks should look like.
6207
6208 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
6209
6210         * libs/gst/base/gstbasesrc.c:
6211           Document how applications can stop recording from
6212           live sources (see #330996).
6213
6214 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
6215
6216         * tests/check/Makefile.am:
6217         * tests/check/libs/basesrc.c: (eos_event_counter),
6218         (basesrc_eos_events_pull), (basesrc_eos_events_push),
6219         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
6220         (gst_basesrc_suite), (main):
6221           ... and add some tests for the base source EOS stuff.
6222
6223 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
6224
6225         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
6226           Test case originally showed the problem fixed below,
6227           but was then amended. Add checks back at the place
6228           where they used to be.
6229
6230 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
6231
6232         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6233         (gst_base_src_init), (gst_base_src_loop),
6234         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6235         (gst_base_src_change_state):
6236         * libs/gst/base/gstbasesrc.h:
6237           Don't unconditionally send EOS when going from PAUSED to
6238           READY state, esp. make sure we don't send two EOS events
6239           in some cases (e.g. one when reaching EOS and one when
6240           going from PAUSED to READY). Also, we don't want to send
6241           EOS events when operating in pull mode. However, we do
6242           want to send an EOS event when shutting down a live
6243           source explicitly, for example (fixes #330996).
6244           
6245 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
6246
6247         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
6248           Update src->read_position after a seek when not using mmap.
6249           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
6250
6251 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
6252
6253         * gst/Makefile.am:
6254         * gst/gstparse.h:
6255         * gst/gstutils.c:
6256         * gst/gstutils.h:
6257         Make things work with --disable-parse as they do with 
6258         --disable-load-save - the symbols involved disappear, but the
6259         header is still installed and GST_DISABLE_PARSE is included via
6260         gstconfig.h
6261
6262 2006-02-20  Julien MOUTTE  <julien@moutte.net>
6263
6264         * libs/gst/base/gstbasetransform.c:
6265         (gst_base_transform_change_state): Fix a stupid bug. I was 
6266         sure I compiled that.
6267
6268 2006-02-20  Julien MOUTTE  <julien@moutte.net>
6269
6270         * gst/gstpad.c: (gst_pad_set_blocked_async):
6271         * gst/gstutils.c: (gst_pad_add_data_probe),
6272         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
6273         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
6274         (gst_pad_remove_buffer_probe): Make those function act on the
6275         ghostpad target when it's a ghostpad. (Closes #331727)
6276
6277 2006-02-20  Julien MOUTTE  <julien@moutte.net>
6278
6279         * libs/gst/base/gstbasetransform.c:
6280         (gst_base_transform_change_state): Make basetransform reusable.
6281         (Closes #331898)
6282
6283 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
6284
6285         * docs/random/release:
6286         Move the current documentation of how to do a release to the top
6287         of the file.
6288
6289         * gst/gstbin.c: (gst_bin_class_init),
6290         (gst_bin_handle_message_func):
6291         Allow multiple state-recalculation threads. (Closes #328873)
6292
6293 2006-02-19  Julien MOUTTE  <julien@moutte.net>
6294
6295         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
6296         * gst/gstpad.c: (gst_pad_set_event_function),
6297         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
6298         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
6299         2 strings. You can't use the STR_NULL macro on that.
6300
6301 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
6302
6303         * gst/gstpad.c: (gst_pad_set_event_function),
6304         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
6305         (gst_pad_set_getcaps_function)
6306         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
6307           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
6308           So now, we can use --gst-debug-level=5 on Windows
6309         * win32/common/libgstcontroller.def:
6310           Added export of gst_controller_init
6311         * win32/vs6/libgstcontroller.dsp:
6312           Fixed Release post build configuration
6313
6314 2006-02-17  Wim Taymans  <wim@fluendo.com>
6315
6316         * tests/check/gst/gstquery.c: (GST_START_TEST):
6317         Added another check.
6318
6319 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
6320
6321         * plugins/elements/gsttypefindelement.c: (find_peek):
6322           We can do peeks at non-zero offsets, as long as they
6323           fall within the buffer we have.
6324
6325 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
6326
6327         * tests/check/Makefile.am:
6328         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
6329         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
6330         (parse_suite), (main):
6331           Add testsuite for parse launch syntax
6332
6333 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
6334
6335         * plugins/elements/gsttypefindelement.c:
6336         (gst_type_find_element_chain):
6337           When typefinding is unsuccessful in the chain function, don't
6338           error out immediately. Only error out with NO_CAPS_FOUND if
6339           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
6340           otherwise simply wait for more data so we can try typefinding
6341           again with more data later. Also, don't attempt to typefind
6342           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
6343           this should improve typefinding from network sources where the
6344           size of the first buffer can be somewhat random.
6345
6346 2006-02-14  Wim Taymans  <wim@fluendo.com>
6347
6348         * docs/gst/gstreamer-sections.txt:
6349         * gst/gstpadtemplate.c:
6350         * gst/gstpadtemplate.h:
6351         Fix padtemplate docs, fixes #328805.
6352
6353 2006-02-14  Wim Taymans  <wim@fluendo.com>
6354
6355         * tools/gst-launch.c: (main):
6356         NO_PREROLL is not an ERROR so don't send confusing messages
6357         to the user.
6358
6359 2006-02-14  Wim Taymans  <wim@fluendo.com>
6360
6361         Patch by: Torsten Schoenfeld
6362
6363         * gst/gstregistry.c: (gst_registry_get_default),
6364         (_gst_registry_cleanup):
6365         Protect default registry with lock and ref/sink it.
6366         Fixes #324818
6367
6368 2006-02-14  Wim Taymans  <wim@fluendo.com>
6369
6370         * gst/gstbuffer.c:
6371         * gst/gstquery.c: (gst_query_list_add_format),
6372         (gst_query_set_formatsv), (gst_query_parse_formats_length),
6373         (gst_query_parse_formats_nth):
6374         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6375         Docs fixes.
6376
6377 2006-02-14  Wim Taymans  <wim@fluendo.com>
6378
6379         * docs/gst/gstreamer-sections.txt:
6380         Reworked query docs.
6381
6382         * gst/gstquery.c: (gst_query_new_formats),
6383         (gst_query_list_add_format), (gst_query_set_formats),
6384         (gst_query_set_formatsv), (gst_query_parse_formats_length),
6385         (gst_query_parse_formats_nth):
6386         * gst/gstquery.h:
6387         Flesh out formats query, added some new methods.
6388         Fix part of #324398.
6389
6390         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
6391         Added query creation tests.
6392
6393 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
6394
6395         * gst/gstpad.c: (fixate_value):
6396         Add a default fixation for fraction lists.
6397
6398 2006-02-13  Wim Taymans  <wim@fluendo.com>
6399
6400         * gst/gsttask.c: (gst_task_init), (gst_task_func),
6401         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
6402         (gst_task_join):
6403         * gst/gsttask.h:
6404         Detect and warn for obvious deadlocks. fixes #320340
6405         Fix error case where lock was not released.
6406
6407         * tests/check/Makefile.am:
6408         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
6409         (task_func), (gst_element_suite), (main):
6410         Add task check.
6411
6412 2006-02-13  Wim Taymans  <wim@fluendo.com>
6413
6414         * docs/gst/gstreamer-sections.txt:
6415         * gst/gstbus.c:
6416         Add new functions to docs.
6417
6418 2006-02-13  Wim Taymans  <wim@fluendo.com>
6419
6420         * docs/design/part-TODO.txt:
6421         Updated TODO list, basesrc supports seeking to non-bytes
6422         formats.
6423
6424         * docs/design/part-element-sink.txt:
6425         Update docs.
6426
6427         * gst/gstbin.c: (bin_replace_message),
6428         (gst_bin_handle_message_func):
6429         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
6430         * gst/gstevent.c: (gst_event_finalize):
6431         * gst/gstpad.c: (gst_pad_event_default_dispatch),
6432         (gst_pad_send_event):
6433         Use shiny new _TYPE_NAME macros.
6434
6435         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
6436         Move debug statement up.
6437
6438         * gst/gstelement.c: (gst_element_set_locked_state):
6439         Add some debugging.
6440
6441 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
6442
6443         * docs/gst/gstreamer-sections.txt:
6444         * gst/gstmessage.h:
6445         * gst/gstquery.h:
6446           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
6447           macros (#330906). Also, document the already existing
6448           GST_QUERY_TYPE macro.
6449
6450 2006-02-13  Wim Taymans  <wim@fluendo.com>
6451
6452         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
6453         (event_probe), (GST_START_TEST):
6454         Only events up to the pipeline EOS are counted, there are
6455         some more when going to NULL currently which we don't care
6456         about for now.
6457
6458 2006-02-13  Wim Taymans  <wim@fluendo.com>
6459
6460         * gst/gstpad.c: (gst_pad_send_event):
6461         Correctly check flushing and emit probes. fixes #330125
6462
6463 2006-02-10  Andy Wingo  <wingo@pobox.com>
6464
6465         * gst/gstbus.c (gst_bus_class_init): Declare our private data
6466         structure.
6467         (gst_bus_init): Cache the location of the private data in the
6468         instance structure.
6469         (gst_bus_enable_sync_message_emission) 
6470         (gst_bus_disable_sync_message_emission): Implement new public
6471         functions.
6472         (gst_bus_post): Emit the sync-message signal if the user asked for
6473         it. Fixes #330684.
6474
6475         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
6476         location of the bus-private structure.
6477         (gst_bus_enable_sync_message_emission)
6478         (gst_bus_disable_sync_message_emission): API addition
6479
6480 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
6481
6482         Patch by: Vincent Torri
6483
6484         * docs/pwg/building-boiler.xml:
6485         PWG patch from #326800
6486
6487 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
6488
6489         * configure.ac:
6490         * docs/Makefile.am:
6491         * docs/design/Makefile.am:
6492           Dist design docs.
6493
6494 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
6495
6496         * configure.ac:
6497           back to CVS
6498
6499 === release 0.10.3 ===
6500
6501 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
6502
6503         * configure.ac:
6504           releasing 0.10.3, "Like a virgin"
6505
6506 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
6507
6508         * configure.ac:
6509           2nd prerelease of 0.10.3
6510           Bump libtool versioning.
6511
6512 2006-02-07  Andy Wingo  <wingo@pobox.com>
6513
6514         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
6515         update last_stop if we're in TIME format and the timestamp is
6516         valid.
6517
6518         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
6519         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
6520         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
6521         If we get a new newsegment with a different format, adapt
6522         accordingly.
6523
6524         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
6525         of 0. Not a problem, really.
6526
6527         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
6528         warn if sync=true.
6529
6530 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
6531
6532         * configure.ac:
6533           Prelease of 0.10.3
6534
6535 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
6536
6537         * win32/vs7:
6538           project files updated to the default vs7 configuration
6539         * win32/common/libgstbase.def:
6540         * win32/common/libgstreamer.def:
6541           added new symbols,
6542           removed empty lines,
6543           sorted all exported symbols alphabetically
6544         * win32/common/dirent.c:
6545         * win32/common/dirent.h:
6546         * win32/common/gchar.h:
6547           use windows line end.
6548           
6549 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
6550
6551         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6552           Send EOS event when stopping.
6553
6554 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
6555
6556         * docs/README:
6557           Tell folks what to do if the plugin-foobar.xml file
6558           hasn't been generated for a newly-added plugin.
6559
6560 2006-02-05  Julien MOUTTE  <julien@moutte.net>
6561
6562         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6563         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
6564         (gst_collect_pads_start), (gst_collect_pads_stop),
6565         (gst_collect_pads_event): Collectpads now holds a reference
6566         to the GstPad that was added. Indeed we don't want to look
6567         at pads that might just go away with no warning...
6568
6569 2006-02-05  Julien MOUTTE  <julien@moutte.net>
6570
6571         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
6572         (gst_collect_pads_start), (gst_collect_pads_stop),
6573         (gst_collect_pads_event), (gst_collect_pads_chain):
6574         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
6575         Mark Nauwelaerts's patch on bug #328491.
6576
6577 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
6578
6579         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
6580         (gst_utils_suite):
6581           Add some simple tests for gst_parse_bin_from_description() and
6582           gst_bin_find_unconnected_pad() (#329069).
6583
6584 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
6585
6586         * tools/gst-launch.c: (event_loop), (main):
6587           Catch errors during preroll (#320084).
6588
6589 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
6590
6591         * plugins/elements/gsttypefindelement.c:
6592         (gst_type_find_element_activate):
6593           Post TYPE_NOT_FOUND error message when typefinding
6594           is unsuccessful in the activate function as well.
6595
6596 2006-02-02  Wim Taymans  <wim@fluendo.com>
6597
6598         * docs/design/part-element-sink.txt:
6599         Updated doc.
6600
6601 2006-02-02  Wim Taymans  <wim@fluendo.com>
6602
6603         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
6604         (gst_base_sink_render_object),
6605         (gst_base_sink_queue_object_unlocked):
6606         Only keep track of prerollable items when we are 
6607         prerolling.
6608         Before rendering after preroll, always check if we
6609         have queued items.
6610         Added some more debugging.
6611
6612 2006-02-02  Wim Taymans  <wim@fluendo.com>
6613
6614         * gst/gstelement.c: (gst_element_continue_state),
6615         (gst_element_set_state_func), (gst_element_change_state):
6616         Fixed #326576, been running this for quite some time with
6617         no regressions at all.
6618
6619 2006-02-02  Wim Taymans  <wim@fluendo.com>
6620
6621         * common/gst.supp:
6622         Added more suppressions
6623
6624 2006-02-02  Wim Taymans  <wim@fluendo.com>
6625
6626         * docs/design/part-element-sink.txt:
6627         Updated document.
6628
6629         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6630         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
6631         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
6632         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
6633         (gst_base_sink_do_sync), (gst_base_sink_render_object),
6634         (gst_base_sink_preroll_object),
6635         (gst_base_sink_queue_object_unlocked),
6636         (gst_base_sink_queue_object), (gst_base_sink_event),
6637         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
6638         (gst_base_sink_loop), (gst_base_sink_activate_pull),
6639         (gst_base_sink_get_position), (gst_base_sink_change_state):
6640         * libs/gst/base/gstbasesink.h:
6641         Totally refactored matching the design doc.
6642         Use two segments, one to clip incomming buffers and another to
6643         perform sync.
6644         Handle queueing correctly, bypass the queue when playing.
6645         Make EOS cancelable.
6646         Handle errors correctly when operating in pull based mode.
6647
6648         * tests/check/elements/fakesink.c: (GST_START_TEST),
6649         (fakesink_suite):
6650         Added new check for sinks.
6651
6652 2006-02-02  Wim Taymans  <wim@fluendo.com>
6653
6654         * gst/gstsegment.c: (gst_segment_clip):
6655         No reason to refuse to clip when start == -1
6656
6657 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
6658
6659         * docs/README:
6660         * docs/manual/intro-basics.xml:
6661         * docs/manual/intro-preface.xml:
6662         * docs/manual/manual.xml:
6663         * docs/pwg/advanced-dparams.xml:
6664         * docs/pwg/intro-basics.xml:
6665         * docs/pwg/intro-preface.xml:
6666         * docs/pwg/pwg.xml:
6667           describe dparams (controller) for plugins
6668           unify docs a little more
6669
6670 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
6671
6672         * docs/gst/gstreamer-sections.txt:
6673         * gst/gstutils.c: (element_find_unconnected_pad),
6674         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
6675         * gst/gstutils.h:
6676           Add new API: gst_parse_bin_from_description() and
6677           gst_bin_find_unconnected_pad() (#329069).
6678
6679 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
6680
6681         * docs/manual/README:
6682           uncover a nasty detail of the docs build
6683
6684 2006-01-31  Wim Taymans  <wim@fluendo.com>
6685
6686         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
6687         Don't cache duration messages if we're not going to use or
6688         free them.
6689
6690 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
6691
6692         * docs/manual/advanced-dparams.xml:
6693         * docs/pwg/advanced-dparams.xml:
6694           more dparam docs
6695         * gst/gstindex.c:
6696           fix docs
6697         * libs/gst/controller/lib.c: (gst_controller_init):
6698           init just once
6699
6700 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
6701
6702         * gst/gstelement.c: (gst_element_message_full):
6703           also show file/line/func if no additional debug was given
6704
6705 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
6706         
6707         * win32/vs7/grammar.vcproj:
6708           activate copy of autogenerated files for Release mode
6709
6710 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
6711         
6712         * win32/common/libgstreamer.def:
6713           export gst_value_compare
6714
6715 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
6716
6717         * plugins/elements/Makefile.am:
6718         * plugins/elements/gstelements.c:
6719         * plugins/elements/gstfdsink.c: (_do_init),
6720         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
6721         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
6722         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
6723         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
6724         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
6725         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
6726         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
6727         * plugins/elements/gstfdsink.h:
6728         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
6729
6730 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
6731
6732         * docs/manual/advanced-dparams.xml:
6733           describe controller
6734         * docs/manual/advanced-position.xml:
6735         * docs/manual/basics-init.xml:
6736         * docs/manual/manual.xml:
6737         * docs/manual/titlepage.xml:
6738         * docs/pwg/pwg.xml:
6739         * docs/pwg/titlepage.xml:
6740           cleanup xml (more to come)
6741         * libs/gst/controller/gstcontroller.c:
6742           fix typo
6743
6744 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
6745         
6746         * win32/vs6/grammar.dsp:
6747           add autogen of gstmarshal.c,h for Release mode
6748                 
6749 2006-01-30  Wim Taymans  <wim@fluendo.com>
6750
6751         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6752         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
6753         (gst_base_sink_handle_object), (gst_base_sink_event),
6754         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
6755         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
6756         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
6757         (gst_base_sink_deactivate), (gst_base_sink_activate),
6758         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
6759         (gst_base_sink_query), (gst_base_sink_change_state):
6760         Basesink cleanups, remove some old code.
6761         Handle the case where a subclass can preroll in the render
6762         method (mostly audiosinks).
6763         Handle more events.
6764         Remove some locks around variables that are now protected
6765         with the PREROLL_LOCK (clock_id, flushing, ..).
6766         Optimize position query some more, do correct locking.
6767         Remove old code to push queue in state change, this is not
6768         needed anymore since preroll blocks on all prerollable items 
6769         now.
6770         Almost implemented as described in design doc.
6771
6772 2006-01-30  Wim Taymans  <wim@fluendo.com>
6773
6774         * tests/check/gst/gstbin.c: (GST_START_TEST):
6775         Wait for refcount to settle down before checking.
6776
6777 2006-01-30  Wim Taymans  <wim@fluendo.com>
6778
6779         * docs/design/part-element-sink.txt:
6780         Pseudo code overview of desired sink behaviour regarding
6781         preroll.
6782
6783 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
6784         * win32/vs6/grammar.dsp:
6785           fix some bugs in Release mode for autogenerated files
6786                 
6787 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
6788         * win32/common/libgstbase.def:
6789         * win32/common/libgstreamer.def:
6790           export some new symbols: gst_base_src_set_format,
6791           gst_iterator_next, gst_structure_set_valist
6792
6793 2006-01-29  Julien MOUTTE  <julien@moutte.net>
6794
6795         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
6796         Set pad functions unconditionally. Fixes #329105.
6797
6798 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
6799         * win32/vs8:
6800           add vs8 project files created by Sergey Scobich
6801
6802 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
6803
6804         * gst/gstutils.c: (gst_element_unlink_pads):
6805         Don't leak pad references.
6806
6807         * tests/check/elements/fakesink.c: (GST_START_TEST):
6808         * tests/check/generic/sinks.c: (GST_START_TEST):
6809         * tests/check/generic/states.c: (GST_START_TEST):
6810         * tests/check/gst/gstbin.c: (GST_START_TEST):
6811         * tests/check/gst/gstcaps.c: (GST_START_TEST):
6812         * tests/check/gst/gstelement.c: (GST_START_TEST):
6813         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6814         * tests/check/gst/gstiterator.c: (GST_START_TEST):
6815         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6816         Fix a bunch of leaks. Make generic/sinks.c
6817         use a bit less cpu by slowing the buffer rate
6818         between fakesrc and fakesink.
6819         
6820 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
6821         * gst/gstcaps.c:
6822         * gst/gstelement.c: (gst_element_send_event):
6823         * gst/gstevent.c:
6824         * gst/gstinfo.c:
6825         * gst/gstiterator.c:
6826         * gst/gstiterator.h:
6827         * gst/gstpad.c: (gst_pad_send_event):
6828         * gst/gststructure.c:
6829         * gst/gsturi.c:
6830         * gst/gstutils.c:
6831         * gst/gstvalue.c:
6832         * libs/gst/base/gstadapter.c:
6833           doc fixes, to link to function, just write gst_cool_function(), don't
6834           prefix with '#'
6835
6836 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
6837
6838         * plugins/elements/gsttee.c: (gst_tee_do_push),
6839         (gst_tee_handle_buffer):
6840         Always prefer an actual return value from a src
6841         pad in place of NOT_LINKED. This means we return
6842         WRONG_STATE when all src pads are WRONG_STATE
6843         instead of NOT_LINKED.
6844
6845         Lock when replacing the last message to prevent
6846         racing with the get_property method.
6847
6848         Add debug output
6849
6850 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
6851
6852         * tests/check/Makefile.am:
6853         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
6854         (main):
6855         Add a very simple check that should have caught the memleak I fixed
6856         last night (if not for the slice allocator hiding it)
6857
6858 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
6859
6860         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
6861         (gst_bin_remove_func), (gst_bin_handle_message_func),
6862         (bin_query_duration_fold), (bin_query_generic_fold):
6863         Clean up references to the clock provider when disposed or when
6864         handling a clock-lost message from it.
6865
6866         Unref sinks when performing a query via gst_iterator_fold, as the
6867         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
6868
6869         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
6870         (gst_clock_set_master):
6871         Drop our reference to the master clock, if any, when we are disposed.
6872
6873         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
6874         Chain up in dispose. 
6875
6876 2006-01-26  Wim Taymans  <wim@fluendo.com>
6877
6878         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
6879         Add some debugging.
6880
6881 2006-01-26  Julien MOUTTE  <julien@moutte.net>
6882
6883         * plugins/elements/gsttee.c: (gst_tee_do_push),
6884         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
6885         handles pad being NOT_LINKED or in WRONG_STATE.
6886
6887 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
6888
6889         * win32/MANIFEST:
6890           more updating
6891
6892 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
6893
6894         * win32/MANIFEST:
6895           remove obsolete entry
6896
6897 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
6898
6899         * docs/gst/gstreamer-sections.txt:
6900         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
6901         (gst_bin_iterate_sources), (gst_bin_send_event):
6902         * gst/gstbin.h:
6903         * gst/gstelement.c: (gst_element_send_event):
6904         * gst/gstevent.c:
6905         * gst/gstpad.c: (gst_pad_send_event):
6906           added code for downstream events, reviewed docs in gstevent.c
6907
6908 2006-01-25  Julien MOUTTE  <julien@moutte.net>
6909
6910         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6911         We only query position using the clock in the playing state.
6912         Query peer in the other cases.
6913         * win32/common/config.h: Updates.
6914
6915 2006-01-24  Wim Taymans  <wim@fluendo.com>
6916
6917         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
6918         A clock entry that is scheduled for the exact time of the
6919         clock is still in time.
6920
6921         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6922         (gst_base_sink_do_sync):
6923         Add some more debug info.
6924
6925 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
6926
6927         * win32/vs7:
6928           Add new vs7 project files and solution.
6929
6930 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
6931
6932         * win32/vs7:
6933           all files removed as they were out-dated.
6934
6935 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6936
6937         * docs/random/release:
6938           update notes
6939         * gst/gstbin.c: (gst_bin_init):
6940         * gst/gstbus.c: (gst_bus_new):
6941         * gst/gstbus.h:
6942         * gst/gstpipeline.c: (gst_pipeline_init):
6943           use gst_bus_new(), improve logging, fix docs
6944         * win32/common/config.h:
6945           update for cvs build
6946
6947 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
6948
6949         * autogen.sh:
6950           up required version of automake to 1.7
6951
6952 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
6953
6954         * win32/common/libgstreamer.def:
6955           export gst_buffer_is_metadata_writable
6956
6957 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
6958
6959         * docs/gst/gstreamer-sections.txt:
6960         * gst/gstevent.h:
6961           Add gst_event_replace() (#327001)
6962
6963 2006-01-20  Wim Taymans  <wim@fluendo.com>
6964
6965         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
6966         Make it actually compile too..
6967
6968 2006-01-20  Wim Taymans  <wim@fluendo.com>
6969
6970         * gst/gstcaps.c:
6971         Clarify behaviour of _is_equal() when passing NULL parameters.
6972
6973         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
6974         (gst_pad_set_caps):
6975         Cleanups. Don't unref NULL caps.
6976         When setting the same caps, protect caps of the pad with
6977         proper lock.
6978         Use full functionality of _is_equal() when comparing caps.
6979
6980 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
6981
6982         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
6983         Don't loop infinitely if there are no buffers to present. Partially
6984         fixes #327197, but collectpads is just broken for reusing elements
6985         to do multiple encodes atm.
6986
6987 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
6988
6989         * tools/gst-inspect.c: (print_element_features):
6990         * tools/gst-xmlinspect.c: (main):
6991         URL_HANDLER is not a plugin feature we can search for in
6992         the registry.
6993
6994 2006-01-19  Edward Hervey  <edward@fluendo.com>
6995
6996         * gst/gstelement.c: (gst_element_pads_activate): 
6997         When activating, do src pads first, then sink pads.
6998         When de-activating, do sink pads first, then src pads.
6999
7000 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
7001
7002         * docs/gst/gstreamer-sections.txt:
7003         Add gst_index_add_associationv to the docs
7004
7005 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
7006
7007         * gst/gstevent.c:
7008           Fix docs typo
7009
7010         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
7011         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
7012           Do some refactoring. Doesn't actually change functionality,
7013           but makes landing the DRAIN event easier later.
7014
7015 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
7016
7017         * docs/pwg/advanced-scheduling.xml:
7018           Update from 0.9.x to 0.10 API and make example a bit
7019           clearer.
7020
7021 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
7022
7023         * docs/gst/gstreamer-sections.txt:
7024         Add gst_buffer_(is|make)_metadata_writable methods.
7025
7026 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
7027
7028         * docs/design/part-sparsestreams.txt:
7029         Update sparse streams doc, hopefully for greater clarity
7030
7031 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
7032
7033         * docs/design/part-events.txt:
7034         Remove mention of FILLER events.
7035         Add DRAIN event.
7036
7037         * docs/design/part-sparsestreams.txt:
7038         Write some things about using NEWSEGMENT to keep sparse streams
7039         flowing.
7040
7041 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
7042
7043         * gst/gstbin.c: (gst_bin_dispose):
7044           Guard gst_object_unref call against a NULL object (dispose
7045           can theoretically be called multiple times).
7046           
7047 2006-01-18  Wim Taymans  <wim@fluendo.com>
7048
7049         * gst/gstbin.c: (gst_bin_element_set_state):
7050         * gst/gstclock.c: (gst_clock_id_wait):
7051         Added some more debug info.
7052
7053         * libs/gst/base/gstadapter.c:
7054         Added more docs.
7055
7056         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7057         (gst_base_sink_do_sync), (gst_base_sink_chain):
7058         Added some comments.
7059
7060 2006-01-18  Wim Taymans  <wim@fluendo.com>
7061
7062         * tests/check/Makefile.am:
7063         * tests/check/elements/fakesink.c: (chain_async_buffer),
7064         (chain_async), (chain_async_return), (GST_START_TEST),
7065         (fakesink_suite), (main):
7066         Added fakesink test that checks prerolling and clipping
7067         behaviour.
7068
7069         * tests/check/gst/gstutils.c: (GST_START_TEST):
7070         Make check run faster so that buildbots don't timeout.
7071
7072 2006-01-18  Wim Taymans  <wim@fluendo.com>
7073
7074         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7075         (gst_base_sink_do_sync):
7076         Some cleanups.
7077         When the sink finishes blocking on the preroll buffer, it can
7078         immediatly render it instead of rendering when the next buffer
7079         arrives.
7080
7081 2006-01-18  Wim Taymans  <wim@fluendo.com>
7082
7083         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
7084         (gst_base_sink_get_property), (gst_base_sink_do_sync),
7085         (gst_base_sink_chain):
7086         Small cleanups.
7087         GST_ELEMENT_CLOCK and sync are protected with LOCK.
7088         Don't store _last_stop if the buffer is dropped.
7089
7090 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
7091
7092         * plugins/elements/gsttypefindelement.c:
7093         (gst_type_find_element_class_init):
7094           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
7095           object method handler that sets the caps on the pad and we want
7096           that to happen before we emit the signal (fixes e.g. feeding a
7097           plain text file to decodebin).
7098
7099 2006-01-18  Christian Schaller  <Christian@fluendo.com>
7100
7101         * gst/gstplugin.c: Add MPL and Proprietary as license options
7102
7103 2006-01-18  Andy Wingo  <wingo@pobox.com>
7104
7105         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
7106         symbol was exported before, it appears this was just an oversight.
7107         Fixes #168703.
7108         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
7109
7110         * gst/gstindex.c (gst_index_add_associationv): Changed int in
7111         prototype to gint. OK since this prototype was not in the header.
7112
7113 2006-01-17  Andy Wingo  <wingo@pobox.com>
7114
7115         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
7116         registry while we remove plugins.
7117
7118         * tools/gst-inspect.c (print_element_info): Don't unref the
7119         factory arg, that should be the responsibility of whatever code
7120         received the ref. Fixes a double-free when called from
7121         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
7122         (main): Unref the factory if we have one.
7123         (print_element_list): No change -- relies on the
7124         plugin_feature_list_free to free the list of features.
7125
7126 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
7127
7128         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
7129         (gst_buffer_make_metadata_writable):
7130         * gst/gstbuffer.h:
7131         * libs/gst/base/gstbasetransform.c:
7132         (gst_base_transform_prepare_output_buf):
7133         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
7134         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7135           Replace gst_buffer_(make|is)_metadata_writable patch now
7136           that the release is out.
7137
7138 2006-01-17  Andy Wingo  <wingo@pobox.com>
7139
7140         * gst/gstregistry.c: Reflow design comment. Update so as to speak
7141         in the present tense without reference to versions.
7142
7143         * gst/gstregistry.c (gst_registry_add_plugin)
7144         (gst_registry_remove_plugin, gst_registry_remove_feature)
7145         (gst_registry_find_feature, gst_registry_get_feature_list)
7146         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
7147         (gst_registry_lookup, gst_registry_scan_path)
7148         (_gst_registry_remove_cache_plugins)
7149         (gst_registry_get_feature_list_by_plugin): Add argument
7150         validation.
7151
7152 === release 0.10.2 ===
7153
7154 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
7155
7156         * configure.ac:
7157           releasing 0.10.2, "If man is five"
7158
7159 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
7160
7161         * gst/gstbuffer.c:
7162         * gst/gstbuffer.h:
7163         * libs/gst/base/gstbasetransform.c:
7164         (gst_base_transform_prepare_output_buf):
7165         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
7166         * tests/check/gst/gstbuffer.c: (gst_test_suite):
7167           Back out patch until after the release.
7168
7169 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
7170
7171         * gst/gstminiobject.c:
7172           Spelling fix in docs.
7173         * ChangeLog - remove conflict indicator
7174
7175 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
7176
7177         Reviewed By: Andy Wingo
7178
7179         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
7180         (gst_buffer_make_metadata_writable):
7181         * gst/gstbuffer.h:
7182           Add gst_buffer_(is|make)_metadata_writable as analogues of
7183           gst_buffer_(is|make)_writable.
7184
7185         * libs/gst/base/gstbasetransform.c:
7186         (gst_base_transform_prepare_output_buf):
7187         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
7188           Use name gst_buffer_(is|make)_metadata_writable functions.
7189
7190         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
7191           Test gst_buffer_(is|make)_metadata_writable
7192         
7193           (Closes: #324162)
7194
7195 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7196
7197         * docs/manual/Makefile.am:
7198           don't do parallel make
7199         * configure.ac:
7200           AC_SUBST HOST_CPU
7201         * win32/common/config.h.in:
7202           add generations for HOST_CPU and GST_MAJORMINOR
7203         * win32/common/config.h:
7204           commit generated result
7205
7206 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
7207
7208         * docs/manual/appendix-integration.xml:
7209           Update GNOME integration section to use gst_init_get_option_group()
7210           instead of the old popt stuff (#322911). Also, GNOME applications
7211           should  now use gconf*sink and gconf*src instead of the old gconf
7212           helper lib we had.
7213
7214 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
7215
7216
7217         * docs/gst/gstreamer-docs.sgml:
7218         * docs/gst/gstreamer-sections.txt:
7219         * docs/libs/gstreamer-libs-sections.txt:
7220           add new API entries to the docs
7221         * libs/gst/controller/Makefile.am:
7222         * libs/gst/controller/gstcontroller.c:
7223         * libs/gst/controller/gstcontroller.h:
7224         * libs/gst/controller/gstcontrollerprivate.h:
7225         * libs/gst/controller/gsthelper.c:
7226         * libs/gst/controller/gstinterpolation.c:
7227           move private structs to private header
7228         * po/README:
7229           gstreamer-0.7 -> gstreamer-0.10
7230         * tests/check/libs/struct_i386.h:
7231           remove private structs
7232
7233 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7234
7235         * plugins/indexers/Makefile.am:
7236           Fixes as part of #317048
7237
7238 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
7239
7240         * plugins/indexers/Makefile.am:
7241           fix #316086 - compilation when mmap is missing
7242
7243 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
7244
7245         * libs/gst/base/gstbasesink.c:
7246           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
7247           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
7248         * win32/common/config.h:
7249           added some defines GST_MAJORMINOR and HOST_CPU
7250         * win32/common/libgstbase.def:
7251         * win32/common/libgstreamer.def:
7252           added some exported functions.
7253
7254 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
7255
7256         * libs/gst/controller/gstcontroller.c:
7257         (gst_controlled_property_set_interpolation_mode),
7258         (gst_controlled_property_new):
7259         * libs/gst/controller/gstcontroller.h:
7260         * libs/gst/controller/gstinterpolation.c:
7261         (interpolate_none_get_string_value_array):
7262           make G_TYPE_STRING controlable
7263
7264 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
7265
7266         * tools/README:
7267         * tools/gst-feedback.1.in:
7268         * tools/gst-inspect.1.in:
7269         * tools/gst-launch.1.in:
7270         * tools/gst-md5sum.1.in:
7271         * tools/gst-typefind.1.in:
7272         * tools/gst-xmlinspect.1.in:
7273         * tools/gst-xmllaunch.1.in:
7274           cleanup man-pages, remove reference to gst-register, document env-vars
7275
7276 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
7277
7278         * gst/gstbuffer.c: (gst_buffer_span):
7279           gst_buffer_span should copy the timestamp of the first buffer
7280           if they were both originally overlapping subbuffers of the 
7281           same parent, using the same logic as the 'slow copy' case.
7282
7283 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
7284
7285         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
7286           Need to awaken ALL the pads when we pop a buffer, otherwise
7287           collectpads only works when there is 2 input streams.
7288
7289 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
7290
7291         * docs/random/ensonic/media-device-daemon.txt:
7292           more ideas (dbus)
7293         * gst/gstbuffer.c:
7294           fix doc example, add clarification
7295         * tools/gst-launch.1.in:
7296           add initial info about GST_PLUGIN_PATH, needs more work
7297
7298 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
7299
7300         * docs/manual/basics-bins.xml:
7301         * docs/manual/basics-elements.xml:
7302         * docs/manual/intro-basics.xml:
7303           Some more minor docs additions and updates.
7304
7305 2006-01-11  Wim Taymans  <wim@fluendo.com>
7306
7307         * docs/manual/basics-bins.xml:
7308         * docs/manual/basics-elements.xml:
7309         Some small fixes as pointed out by Ser-ver on IRC.
7310
7311 2006-01-10  Edward Hervey  <edward@fluendo.com>
7312
7313         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7314         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
7315         the single-segment mode.
7316
7317 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
7318
7319         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7320
7321         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
7322         (gst_base_src_perform_seek), (gst_base_src_send_event),
7323         (gst_base_src_set_property), (gst_base_src_get_property),
7324         (gst_base_src_loop), (gst_base_src_start),
7325         (gst_base_src_activate_push):
7326         * libs/gst/base/gstbasesrc.h:
7327           Name (private) union; makes Sun's Forte compiler happy (#324900).
7328
7329 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
7330
7331         * README:
7332           gst-register is gone.
7333
7334 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7335
7336         * gst/gstvalue.c: (_gst_value_initialize):
7337           make the G_TYPE_DATE instantiation work if debug is disabled
7338
7339 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
7340
7341         * gst/gstmessage.c: (gst_message_parse_tag),
7342         (gst_message_parse_error), (gst_message_parse_warning):
7343           Don't crash when return location for error/warning debug
7344           string is NULL; add fact that return locations can be
7345           NULL to docs where appropriate.
7346
7347 2006-01-05  Wim Taymans  <wim@fluendo.com>
7348
7349         * gst/gstplugin.c: (gst_plugin_load_file):
7350         Replace strdup by g_strdup.
7351
7352 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7353
7354         * docs/pwg/advanced-types.xml:
7355           fix doc borkage
7356
7357 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7358
7359         submitted by: Abel Cheung
7360
7361         * po/LINGUAS:
7362         * po/zh_TW.po:
7363           Added Chinese (traditional) translation
7364
7365 2006-01-04  Wim Taymans  <wim@fluendo.com>
7366
7367         * docs/manual/basics-pads.xml:
7368         * docs/plugins/Makefile.am:
7369         * docs/plugins/gstreamer-plugins-docs.sgml:
7370         * docs/plugins/gstreamer-plugins-sections.txt:
7371         * docs/pwg/advanced-clock.xml:
7372         * docs/pwg/advanced-scheduling.xml:
7373         * docs/pwg/advanced-types.xml:
7374         * plugins/elements/gstfdsink.c:
7375         * plugins/elements/gstfdsrc.c:
7376         * plugins/elements/gstfdsrc.h:
7377         * plugins/elements/gstidentity.c: (gst_identity_class_init):
7378         * plugins/elements/gstidentity.h:
7379         * plugins/elements/gstqueue.h:
7380         * plugins/elements/gsttee.c:
7381         * plugins/elements/gsttee.h:
7382         * plugins/elements/gsttypefindelement.c:
7383         (gst_type_find_element_class_init):
7384         * plugins/elements/gsttypefindelement.h:
7385         Small updates to various docs.
7386         Added core plugins to docs.
7387
7388 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
7389
7390         * common/gst.supp:
7391           add a suppression for liboil's uninitialized variable
7392
7393 2006-01-02  James Livingston  <jrl at ids dot org dot au>
7394
7395         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7396
7397         * gst/gstutils.h:
7398           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
7399           macro, so that gcc doesn't complain if the -Wmissing-prototypes
7400           compiler switch is being used (#325429).
7401
7402 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
7403
7404         * gst/gstbin.c: (gst_bin_query):
7405           Disable duration query caching in bins until it gets
7406           fixed (see #324807).
7407
7408 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
7409
7410         * tools/gst-inspect.c: (print_element_properties_info):
7411           Handle properties of POINTER and BOXED type.
7412
7413 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
7414
7415         * gst/gst.c: (init_post):
7416           Init tags stuff and some other things before loading
7417           any static plugins (there may be other static plugins
7418           than just the GStreamer ones, and they may want to
7419           register their own tags or formats or whatever, and
7420           preferably without segfaulting).
7421
7422         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
7423           Print at least a warning in the debug logs if we drop a
7424           query just because we don't know how to adjust the value
7425           in the particular format.
7426
7427 2005-12-24  David Schleef  <ds@schleef.org>
7428
7429         * tools/gstreamer-completion:
7430           Replacement for gst-complete written in sh and sed.  Only
7431           completes names of features, but that's 90% of what I want
7432           it for.  Properties are not available in registry.xml.  (Maybe
7433           they should be...)
7434
7435 === release 0.10.1 ===
7436
7437 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
7438
7439         * configure.ac:
7440           releasing 0.10.1, "Nollaig chridheil"
7441
7442 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
7443
7444         * docs/faq/cvs.xml:
7445           Add missing quote, should be make ERROR_CFLAGS="".
7446
7447 2005-12-20  Wim Taymans  <wim@fluendo.com>
7448
7449         * docs/design/part-trickmodes.txt:
7450         More documentation on trickmodes.
7451
7452 2005-12-20  Edward Hervey  <edward@fluendo.com>
7453
7454         * gst/gstcaps.c: (gst_static_caps_get_type):
7455         * gst/gstcaps.h:
7456           API addition: GST_TYPE_STATIC_CAPS
7457         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
7458         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
7459         * gst/gstpadtemplate.h:
7460           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
7461         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
7462         bindings.
7463
7464 2005-12-18  Wim Taymans  <wim@fluendo.com>
7465
7466         * libs/gst/base/gstadapter.c:
7467         * libs/gst/base/gstadapter.h:
7468         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7469         (gst_base_sink_get_position):
7470         * libs/gst/base/gstbasesink.h:
7471         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7472         (gst_base_src_default_query), (gst_base_src_default_do_seek),
7473         (gst_base_src_do_seek), (gst_base_src_perform_seek),
7474         (gst_base_src_send_event), (gst_base_src_update_length),
7475         (gst_base_src_get_range), (gst_base_src_loop),
7476         (gst_base_src_start):
7477         * libs/gst/base/gstbasesrc.h:
7478         * libs/gst/base/gstbasetransform.h:
7479         * libs/gst/base/gstcollectpads.h:
7480         * libs/gst/base/gstpushsrc.c:
7481         * libs/gst/base/gstpushsrc.h:
7482         * libs/gst/dataprotocol/dataprotocol.c:
7483         * libs/gst/dataprotocol/dataprotocol.h:
7484         * libs/gst/net/gstnetclientclock.h:
7485         * libs/gst/net/gstnettimeprovider.h:
7486         Documentation updates.
7487
7488 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
7489
7490         * docs/manual/basics-helloworld.xml:
7491           Remove superfluous closing bracket in helloworld example.
7492
7493 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
7494
7495         * tools/gst-launch.1.in:
7496           Update gst-launch man page; add a section with useful
7497           environment variables. Fixes #323882.
7498
7499 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
7500
7501         * gst/gst.c:
7502         * gst/gst_private.h:
7503           change some char* into char[]
7504
7505 2005-12-16  Wim Taymans  <wim@fluendo.com>
7506
7507         * gst/gstregistryxml.c: (load_feature):
7508         Cleanups.
7509         Don't use g_object_unref on GstObjects so that we avoid
7510         leaks on unsafe glibs.
7511
7512 2005-12-16  Wim Taymans  <wim@fluendo.com>
7513
7514         * gst/gstbin.c: (gst_bin_recalc_state):
7515         Small doc updates.
7516
7517 2005-12-16  Wim Taymans  <wim@fluendo.com>
7518
7519         * common/check.mak:
7520         Added make forever target for check.
7521
7522 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7523
7524         * gst/gst.c: (init_post):
7525           make the registry cache file HOST_CPU-dependent
7526
7527 2005-12-16  Andy Wingo  <wingo@pobox.com>
7528
7529         * plugins/elements/gstbufferstore.c
7530         (gst_buffer_store_cleared_func): Pay attention to g_list_append
7531         return value.
7532
7533         * tests/check/gst/gstobject.c
7534         (test_fake_object_name_threaded_unique): Pay attention to
7535         g_list_sort return value.
7536
7537 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
7538
7539         * tools/gst-feedback-m.m:
7540           Update for 0.9/0.10 (fixes #323870).
7541
7542 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
7543
7544         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
7545           Fix lcopy for mini objects, the mini object needs to be ref'ed.
7546           
7547         * tests/check/gst/gstminiobject.c: (my_foo_init),
7548         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
7549         (test_value_collection), (gst_mini_object_suite):
7550           Add test to ensure refcounts end up as expected when passing
7551           GstMiniObjects through g_object_get() and g_object_set().
7552
7553 2005-12-14  Julien MOUTTE  <julien@moutte.net>
7554
7555         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
7556         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
7557         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
7558         of collectpads. This version removes a lot of races without
7559         touching API/ABI. Yay !
7560
7561 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
7562
7563         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
7564           Don't allow activation of a srcpad in pull_range if it has no
7565           getrange function.
7566           Change some debug statements to be a little clearer
7567
7568         * plugins/elements/gsttypefindelement.c:
7569         (gst_type_find_handle_src_query):
7570           Check that we have a peer before executing queries thereupon.
7571
7572         * tests/examples/metadata/read-metadata.c: (message_loop):
7573           Use gst_bus_pop instead of gst_bus_poll when we just want it to
7574           immediately return us any available message with 0 timeout.
7575
7576 2005-12-12  Michael Smith  <msmith@fluendo.com>
7577
7578         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
7579           Don't unref factories after calling them.
7580         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
7581         * plugins/elements/gsttypefindelement.c:
7582         (gst_type_find_element_chain):
7583           Free lists of factories after using them. Fixing typefinding memory
7584           leaks.
7585
7586 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
7587
7588         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7589         (gst_plugin_feature_load):
7590           more meaningful debug output
7591         * configure.ac:
7592         * tests/Makefile.am:
7593         * tests/old/examples/Makefile.am:
7594           make make distcheck happy again
7595
7596 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
7597
7598         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
7599           Catch the special case where we are operating chain-based,
7600           but the downstream peer pad has no chain function. Emit a
7601           custom error message in this case instead of letting the
7602           core generate one implying that this is some sort of core
7603           bug. It's not, it just means that whatever got plugged
7604           into the pipeline downstream when we announced the type
7605           can only operate pull-based, while our source can only
7606           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
7607           Error string has not been marked for translation yet, as
7608           it probably needs some more work first.
7609
7610         (gst_type_find_element_get_best_possibility):
7611           Add helper function to find the best of all available
7612           found possibilities that qualify given the min. threshold.
7613
7614         (gst_type_find_element_handle_event):
7615           Fix the case where we get an EOS while still in TYPEFIND
7616           mode (we want to chose the best of all possible types,
7617           not just the first type that happens to be in our unsorted
7618           list of possible types).
7619
7620         (gst_type_find_element_chain):
7621           Make sure we return GST_FLOW_ERROR when we errored out
7622           in stop_typefinding(); also, don't just find the best of
7623           all found type entries and then use the last examined
7624           type entry, but actually use the best entry.
7625
7626 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
7627
7628         * tests/examples/typefind/typefind.c: (type_found):
7629         * tests/examples/xml/runxml.c: (xml_loaded):
7630           More gcc4 fixes and a mem leak fix.
7631
7632 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
7633
7634         * tests/examples/xml/createxml.c: (object_saved):
7635           gcc 4 fixes
7636
7637 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
7638
7639         * tests/Makefile.am:
7640           enable the examples even more
7641
7642 2005-12-12  Andy Wingo  <wingo@pobox.com>
7643
7644         * libs/gst/net/gstnettimeprovider.c
7645         (gst_net_time_provider_class_init, gst_net_time_provider_init)
7646         (gst_net_time_provider_set_property)
7647         (gst_net_time_provider_get_property):
7648         API addition: Export "active" as a GObject property.
7649         (gst_net_time_provider_thread): Only respond to time queries if
7650         the time provider is active.
7651
7652         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
7653         NetTimeProvider, preserving binary compat.
7654
7655 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
7656
7657         * tests/examples/controller/audio-example.c: (main):
7658         * tests/examples/launch/Makefile.am:
7659           convert comments again
7660
7661 2005-12-12  Wim Taymans  <wim@fluendo.com>
7662
7663         * libs/gst/base/gstpushsrc.c:
7664         Fix typo.
7665
7666 2005-12-12  Wim Taymans  <wim@fluendo.com>
7667
7668         * docs/libs/gstreamer-libs-sections.txt:
7669         Added new symbol to docs.
7670
7671         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7672         (gst_base_src_init), (gst_base_src_set_format),
7673         (gst_base_src_default_query), (gst_base_src_query),
7674         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
7675         (gst_base_src_perform_seek), (gst_base_src_send_event),
7676         (gst_base_src_default_event), (gst_base_src_event_handler),
7677         (gst_base_src_set_property), (gst_base_src_get_property),
7678         (gst_base_src_wait), (gst_base_src_do_sync),
7679         (gst_base_src_update_length), (gst_base_src_get_range),
7680         (gst_base_src_check_get_range), (gst_base_src_loop),
7681         (gst_base_src_default_negotiate), (gst_base_src_start),
7682         (gst_base_src_activate_push), (gst_base_src_activate_pull),
7683         (gst_base_src_change_state):
7684         * libs/gst/base/gstbasesrc.h:
7685         Implement seeking to other formats than _BYTES.
7686         Implement more seeking methods correctly.
7687         Doc updates.
7688         Added query vmethod.
7689         Added do_seek vmethod to make life easier for subclasses
7690         when seeking.
7691         API addition: gst_base_src_set_format()
7692
7693 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
7694
7695         * tests/examples/Makefile.am:
7696           added that too
7697
7698 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
7699
7700         * configure.ac:
7701         * docs/random/ensonic/media-device-daemon.txt:
7702         * tests/examples/controller/.cvsignore:
7703         * tests/examples/controller/Makefile.am:
7704         * tests/examples/controller/audio-example.c: (main):
7705         * tests/examples/helloworld/.cvsignore:
7706         * tests/examples/helloworld/Makefile.am:
7707         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
7708         * tests/examples/launch/.cvsignore:
7709         * tests/examples/launch/Makefile.am:
7710         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
7711         * tests/examples/metadata/.cvsignore:
7712         * tests/examples/metadata/Makefile.am:
7713         * tests/examples/metadata/read-metadata.c: (message_loop),
7714         (make_pipeline), (print_tag), (main):
7715         * tests/examples/queue/.cvsignore:
7716         * tests/examples/queue/Makefile.am:
7717         * tests/examples/queue/queue.c: (event_loop), (main):
7718         * tests/examples/typefind/.cvsignore:
7719         * tests/examples/typefind/Makefile.am:
7720         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
7721         (main):
7722         * tests/examples/xml/.cvsignore:
7723         * tests/examples/xml/Makefile.am:
7724         * tests/examples/xml/createxml.c: (object_saved), (main):
7725         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
7726         * tests/old/examples/Makefile.am:
7727         * tests/old/examples/TODO:
7728         * tests/old/examples/controller/.cvsignore:
7729         * tests/old/examples/controller/Makefile.am:
7730         * tests/old/examples/controller/audio-example.c:
7731         * tests/old/examples/helloworld/.cvsignore:
7732         * tests/old/examples/helloworld/Makefile.am:
7733         * tests/old/examples/helloworld/helloworld.c:
7734         * tests/old/examples/launch/.cvsignore:
7735         * tests/old/examples/launch/Makefile.am:
7736         * tests/old/examples/launch/mp3parselaunch.c:
7737         * tests/old/examples/launch/mp3play:
7738         * tests/old/examples/manual/Makefile.am:
7739         * tests/old/examples/metadata/Makefile.am:
7740         * tests/old/examples/metadata/read-metadata.c:
7741         * tests/old/examples/queue/.cvsignore:
7742         * tests/old/examples/queue/Makefile.am:
7743         * tests/old/examples/queue/queue.c:
7744         * tests/old/examples/typefind/.cvsignore:
7745         * tests/old/examples/typefind/Makefile.am:
7746         * tests/old/examples/typefind/typefind.c:
7747         * tests/old/examples/xml/.cvsignore:
7748         * tests/old/examples/xml/Makefile.am:
7749         * tests/old/examples/xml/createxml.c:
7750         * tests/old/examples/xml/runxml.c:
7751           applied some simple fixing to some examples
7752           re-enabled the working examples
7753
7754 2005-12-12  Wim Taymans  <wim@fluendo.com>
7755
7756         * gst/gstsegment.c: (gst_segment_init),
7757         (gst_segment_set_last_stop), (gst_segment_set_seek),
7758         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
7759         (gst_segment_to_running_time):
7760         Added more documentation.
7761         Make sure the last_pos value is updated properly.
7762         Make sure to_stream_time and to_running_time don't
7763         operate on wrong values.
7764
7765         * tests/check/gst/gstsegment.c: (GST_START_TEST):
7766         Update check.
7767
7768 2005-12-12  Michael Smith  <msmith@fluendo.com>
7769
7770         * plugins/elements/gsttypefindelement.c: (free_entry),
7771         (gst_type_find_element_chain):
7772           Now that we're not leaking factories, make sure we keep references
7773           to them while we need them.
7774
7775 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7776
7777         * tests/check/gst/struct_i386.h:
7778           ifdef out the XML structs
7779
7780 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7781
7782         * gst/gstvalue.c: (gst_value_transform_double_fraction):
7783           floor is not needed, F is always positive; this obviates the
7784           need for adding -lm when building without libxml
7785
7786 2005-12-12  Wim Taymans  <wim@fluendo.com>
7787
7788         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
7789         Take current playback rate into account when reporting
7790         the position.
7791
7792 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
7793
7794         * docs/manual/mime-world.fig:
7795           Let's try this again, this time with a file that is
7796           actually in XFig format.
7797
7798 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
7799
7800         * docs/manual/mime-world.fig:
7801           Add audioconvert element to diagram so that it
7802           matches the text and the code (fixes #319526).
7803
7804 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
7805
7806         * docs/pwg/building-chainfn.xml:
7807         * docs/pwg/building-pads.xml:
7808         * docs/pwg/building-state.xml:
7809         * docs/pwg/other-source.xml:
7810           Update state change stuff for 0.10 (fixes #322969).
7811
7812 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
7813
7814         * docs/manual/advanced-dataaccess.xml:
7815         * docs/manual/appendix-checklist.xml:
7816         * docs/manual/appendix-programs.xml:
7817         * docs/manual/basics-pads.xml:
7818         * docs/manual/highlevel-components.xml:
7819         * docs/manual/manual.xml:
7820           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
7821           add converters in front of pipelines; remove curly
7822           brackets for threads stuff, they no longer exist; use
7823           GST_TYPE_FRACTION for framerates; update some pieces of
7824           code to 0.10, but there's plenty more to do.
7825
7826         * docs/manual/appendix-porting.xml:
7827           Expand on asynchroneous state changes; s/0.9/0.10/;
7828           mention disappearance of gst_init_get_popt_table()
7829           (fixes #322916).
7830
7831 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
7832
7833         * docs/faq/using.xml:
7834           Spider no longer exists, and neither does gst-launch-ext.
7835           Update examples to use decodebin and playbin and put
7836           converters in front of sinks (fixes #323726).
7837
7838 2005-12-09  Michael Smith  <msmith@fluendo.com>
7839
7840         * plugins/elements/gsttypefindelement.c: (find_peek),
7841         (gst_type_find_element_chain):
7842           Fix leaking element factories in typefinding.
7843           Fix problem where we forgot about a probable type on non-seekable
7844           files, and thus later mis-typefound it.
7845
7846 2005-12-09  Michael Smith  <msmith@fluendo.com>
7847
7848         * common/m4/gst-makecontext.m4:
7849         * common/m4/gst-mcsc.m4:
7850         * configure.ac:
7851         * win32/common/config.h:
7852         * win32/common/config.h.in:
7853           Remove makecontext stuff; not used in 0.10 and causes problems on
7854           HPUX according to bug #322441
7855
7856 2005-12-07  Wim Taymans  <wim@fluendo.com>
7857
7858         * tests/check/Makefile.am:
7859         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
7860         (main):
7861         * tests/check/libs/struct_i386.h:
7862         Added ABI check for libs
7863
7864 2005-12-07  Wim Taymans  <wim@fluendo.com>
7865
7866         * tests/check/Makefile.am:
7867         And add the struct_i386.h to dist.
7868
7869 2005-12-07  Wim Taymans  <wim@fluendo.com>
7870
7871         * tests/check/Makefile.am:
7872         * tests/check/gst/.cvsignore:
7873         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
7874         (main):
7875         * tests/check/gst/struct_i386.h:
7876         Added check for ABI compatibility.
7877
7878 2005-12-07  Wim Taymans  <wim@fluendo.com>
7879
7880         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7881         (gst_fake_src_get_times), (gst_fake_src_create):
7882         Fix broken sync option, fixes #323259
7883
7884 2005-12-07  Wim Taymans  <wim@fluendo.com>
7885
7886         * gst/gstbuffer.c:
7887         Small docs update.
7888
7889         * gst/gstcaps.c: (gst_caps_is_equal):
7890         Don't assert on NULL <--> X. Fixes #323260
7891
7892         * gst/gstminiobject.c: (gst_mini_object_replace):
7893         If we're doing atomic operations, we might just as well use
7894         the proper way to get an atomic pointer.
7895
7896         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
7897         Clean up debugging.
7898
7899 2005-12-07  Michael Smith  <msmith@fluendo.com>
7900
7901         * gst/parse/grammar.y:
7902           Remove handling of { } for threads.
7903
7904 2005-12-06  David Schleef  <ds@schleef.org>
7905
7906         * libs/gst/base/gstbasetransform.c: speling fix.
7907
7908 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7909
7910         * docs/libs/tmpl/gstdataprotocol.sgml:
7911         * docs/random/omega/testing/gstobject.c:
7912         * gst/gst.c:
7913         * gst/gstclock.c:
7914         * gst/gstelement.c:
7915         * gst/gstelementfactory.c:
7916         * gst/gsterror.c:
7917         * gst/gstevent.c:
7918         * gst/gstghostpad.c:
7919         * gst/gstinfo.c:
7920         * gst/gstpadtemplate.c:
7921         * gst/gstregistryxml.c:
7922         * gst/gsttaglist.c:
7923         * gst/gsttagsetter.c:
7924         * gst/gsttypefind.c:
7925         * gst/gstvalue.c:
7926         * libs/gst/base/gstbasesrc.c:
7927         * libs/gst/net/gstnetclientclock.c:
7928         * libs/gst/net/gstnettimeprovider.c:
7929         * plugins/elements/gstfakesrc.c:
7930         * plugins/elements/gstfdsrc.c:
7931         * plugins/elements/gstfilesrc.c:
7932         * plugins/elements/gstidentity.c:
7933         * plugins/elements/gstqueue.c:
7934         * plugins/elements/gsttypefindelement.c:
7935         * plugins/indexers/gstfileindex.c:
7936         * plugins/indexers/gstmemindex.c:
7937         * tests/check/gst/gsttag.c:
7938         * tests/old/examples/cutter/cutter.c:
7939         * tests/old/examples/mixer/mixer.c:
7940         * tests/old/examples/xml/runxml.c: (main):
7941         * tests/old/testsuite/caps/normalisation.c:
7942         * tests/old/testsuite/debug/global.c:
7943         * tests/old/testsuite/parse/parse1.c:
7944         * tools/gst-xmlinspect.c:
7945         * win32/common/dirent.c:
7946           expand tabs
7947
7948 === release 0.10.0 ===
7949
7950 2005-12-05   <thomas (at) apestaart (dot) org>
7951
7952         * configure.ac:
7953           releasing 0.10.0, "Maroilles"
7954
7955 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7956
7957         submitted by: Funda Wang <fundawang@linux.net.cn>
7958
7959         * po/LINGUAS:
7960         * po/zh_CN.po:
7961           added Chinese (Traditional) translation
7962
7963 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7964
7965         * docs/gst/gstreamer-sections.txt:
7966         * docs/libs/tmpl/gstdataprotocol.sgml:
7967         * docs/random/thomasvs/TODO:
7968         * gst/gstutils.c:
7969         * gst/gstutils.h:
7970           fix docs
7971
7972 2005-12-05  Andy Wingo  <wingo@pobox.com>
7973
7974         patch by: Wim Taymans <wim@fluendo.com>
7975
7976         * libs/gst/base/gstbasetransform.c
7977         (gst_base_transform_prepare_output_buf)
7978         (gst_base_transform_buffer_alloc):
7979         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
7980         alloc_buffer_and_set_caps.
7981
7982         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
7983         set_caps on the source pad.
7984         (gst_pad_alloc_buffer_and_set_caps): New function, does what
7985         alloc_buffer used to do. Fixes #322874.
7986
7987         * docs/gst/gstreamer-sections.txt: 
7988         * docs/design/part-negotiation.txt: 
7989         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
7990         changes.
7991
7992 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
7993
7994         patch by: Sebastien Moutte
7995
7996         * win32/MANIFEST:
7997         * win32/common/config.h.in:
7998         * win32/vs6/libgstcontroller.dsp:
7999           win32 build fixes
8000
8001 2005-12-05  Wim Taymans  <wim@fluendo.com>
8002
8003         * gst/gstcaps.c: (gst_caps_is_equal):
8004         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
8005         (gst_fake_src_create):
8006         Back out previous code changes, leave doc updates, file bugs 
8007         instead. 
8008
8009 2005-12-05  Wim Taymans  <wim@fluendo.com>
8010
8011         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
8012         (gst_fake_src_get_times), (gst_fake_src_create):
8013         * plugins/elements/gstfakesrc.h:
8014         Fix broken sync code.
8015
8016 2005-12-05  Wim Taymans  <wim@fluendo.com>
8017
8018         * gst/gstcaps.c: (gst_caps_is_equal):
8019         Comparing NULL against !NULL yields different caps, not a
8020         failure.
8021
8022 2005-12-05  Wim Taymans  <wim@fluendo.com>
8023
8024         * gst/gstpipeline.c:
8025         Fix small typo in docs.
8026
8027 2005-12-05  Andy Wingo  <wingo@pobox.com>
8028
8029         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
8030
8031         * gst/gst.c (init_post): remove hard-coded 0.9 location for
8032         registries/plugins with a MAJORMINOR one.
8033         (plugin_desc): Rename library from gstcoreleements to
8034         staticelements. Fixes #323222.
8035
8036 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
8037
8038         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
8039           Change debug category to 'collectpads' from 'collect_pads'
8040           (fixes #323250).
8041
8042 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8043
8044         patch by: Sebastien Moutte
8045
8046         * libs/gst/controller/gstinterpolation.c:
8047           use convert function for uint64/double
8048         * win32/vs6/libgstcontroller.dsp:
8049           link to GLib
8050
8051 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
8052
8053         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
8054         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
8055         * gst/gstutils.h:
8056         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8057           add tests that seem to show that the guint64/gdouble conversions
8058           are correct.
8059
8060 2005-12-02  Wim Taymans  <wim@fluendo.com>
8061
8062         * gst/gstregistry.c: (gst_registry_add_path):
8063         * gst/gstregistry.h:
8064         * gst/gstregistryxml.c:
8065         Fix docs again.
8066
8067 2005-12-02  Wim Taymans  <wim@fluendo.com>
8068
8069         * gst/gstutils.c: (gst_util_uint64_scale_int64),
8070         (gst_util_uint64_scale_int):
8071         Small cleanup.
8072
8073         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8074         Add debug log line.
8075
8076         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
8077         Add FIXME.
8078
8079 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8080
8081         * win32/MANIFEST:
8082         * win32/common/config.h:
8083         * win32/vs6/gstreamer.dsw:
8084         * win32/vs6/libgstcoreelements.dsp:
8085         * win32/vs6/libgstelements.dsp:
8086           renamed core elements plugin
8087
8088 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8089
8090         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
8091         (get_candidates):
8092           do piece-wise major/minor comparison so 0.9 < 0.10
8093           also allow .exe extensions for tools
8094
8095 2005-12-02  Michael Smith  <msmith@fluendo.com>
8096
8097         * gst/gst.c:
8098           Escape a % to make gtkdoc happier; bug 322958.
8099
8100 === release 0.9.7 ===
8101
8102 2005-12-01   <thomas (at) apestaart (dot) org>
8103
8104         * configure.ac:
8105           releasing 0.9.7, "My Dog Has No Nose"
8106
8107 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8108
8109         * common/gst-xmlinspect.py:
8110         * configure.ac:
8111         * docs/libs/tmpl/gstdataprotocol.sgml:
8112         * docs/random/release:
8113         * po/af.po:
8114         * po/az.po:
8115         * po/bg.po:
8116         * po/ca.po:
8117         * po/cs.po:
8118         * po/de.po:
8119         * po/en_GB.po:
8120         * po/fr.po:
8121         * po/it.po:
8122         * po/nb.po:
8123         * po/nl.po:
8124         * po/ru.po:
8125         * po/sq.po:
8126         * po/sr.po:
8127         * po/sv.po:
8128         * po/tr.po:
8129         * po/uk.po:
8130         * po/vi.po:
8131         * win32/common/config.h:
8132         * win32/common/config.h.in:
8133         * win32/vs6/gst_inspect.dsp:
8134         * win32/vs6/gst_launch.dsp:
8135         * win32/vs6/libgstbase.dsp:
8136         * win32/vs6/libgstelements.dsp:
8137         * win32/vs6/libgstreamer.dsp:
8138         * win32/vs7/GStreamer.vcproj:
8139         * win32/vs7/gst-inspect.vcproj:
8140         * win32/vs7/gst-launch.vcproj:
8141         * win32/vs7/libgstbase.vcproj:
8142           bump GST_MAJORMINOR to 0.10
8143           reset libtool version
8144
8145 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8146
8147         * po/LINGUAS:
8148         * po/bg.po:
8149           Added Bulgarian translation by (Alexander Shopov)
8150
8151 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8152
8153         * tests/check/gst/gstplugin.c:
8154           fix test
8155
8156 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8157
8158         * common/gst-xmlinspect.py:
8159         * common/gtk-doc-plugins.mak:
8160         * configure.ac:
8161         * docs/Makefile.am:
8162         * docs/gst/Makefile.am:
8163         * docs/gst/gstreamer-docs.sgml:
8164         * docs/gst/gstreamer-sections.txt:
8165         * docs/gst/gstreamer.types:
8166         * docs/gst/gstreamer.types.in:
8167         * docs/plugins/Makefile.am:
8168         * docs/plugins/gstreamer-plugins-docs.sgml:
8169         * docs/plugins/gstreamer-plugins-sections.txt:
8170         * docs/plugins/gstreamer-plugins.types:
8171         * docs/plugins/inspect.stamp:
8172         * docs/plugins/inspect/plugin-coreelements.xml:
8173         * docs/plugins/inspect/plugin-coreindexers.xml:
8174         * docs/plugins/scanobj-build.stamp:
8175         * gstreamer.spec.in:
8176         * plugins/elements/Makefile.am:
8177         * plugins/elements/gstelements.c:
8178         * plugins/elements/gstfakesink.c:
8179         * plugins/elements/gstfakesrc.c:
8180         * plugins/elements/gstfilesink.c:
8181         * plugins/elements/gstfilesrc.c:
8182         * plugins/elements/gstqueue.c:
8183         * plugins/indexers/Makefile.am:
8184         * plugins/indexers/gstindexers.c:
8185           document core plugins in a separate document just like all the
8186           others
8187           rename these plugins to something starting with core
8188
8189 2005-12-01  Andy Wingo  <wingo@pobox.com>
8190
8191         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
8192         padding here before, but it missed the commit.
8193
8194 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8195
8196         * libs/gst/controller/gstinterpolation.c:
8197           whitespace prices have crashed, we should feel free to use some now
8198           use gst_guint64_to_gdouble
8199
8200 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8201
8202         * libs/gst/controller/gstcontroller.c:
8203         * libs/gst/controller/gsthelper.c:
8204         * libs/gst/controller/gstinterpolation.c:
8205         * libs/gst/controller/lib.c:
8206           wrap config.h include
8207
8208 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8209
8210         * docs/gst/gstreamer-sections.txt:
8211           update docs
8212
8213 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
8214
8215         * plugins/elements/gstelements.c:
8216         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
8217         (gst_fd_sink__class_init), (gst_fd_sink__init),
8218         (gst_fd_sink__chain), (gst_fd_sink__set_property),
8219         (gst_fd_sink__get_property):
8220         * plugins/elements/gstfdsink.h:
8221         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
8222         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
8223         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
8224         (gst_fd_src_unlock), (gst_fd_src_set_property),
8225         (gst_fd_src_get_property), (gst_fd_src_create),
8226         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
8227         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
8228         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
8229         (gst_fd_src_uri_handler_init):
8230         * plugins/elements/gstfdsrc.h:
8231         * plugins/elements/gstqueue.c: (gst_queue_get_type):
8232           more anal cleanup
8233
8234 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8235
8236         * docs/gst/Makefile.am:
8237         * docs/gst/gstreamer.types.in:
8238         * gst/Makefile.am:
8239           fix the docs build
8240
8241 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8242
8243         * configure.ac:
8244         * gst/Makefile.am:
8245         * gst/gst.c:
8246         * gst/gstplugin.h:
8247         * gst/gstregistry.h:
8248         * tests/benchmarks/complexity.c:
8249         * tests/benchmarks/mass-elements.c:
8250         * tests/check/Makefile.am:
8251         * tools/Makefile.am:
8252         * tools/gst-inspect.c:
8253         * tools/gst-xmlinspect.c:
8254           various fixes to make
8255           --disable-nls --disable-registry --disable-loadsave
8256           --disable-parse --disable-gst-debug
8257           work and get the core .so down to 360444 bytes after stripping
8258
8259 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8260
8261         * Makefile.am:
8262         * configure.ac:
8263           descend into tests
8264         * docs/random/thomasvs/TODO:
8265         * tests/Makefile.am:
8266         * tests/README:
8267           add a README
8268
8269 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8270
8271         * win32/GStreamer.vcproj:
8272         * win32/MANIFEST:
8273         * win32/Makefile:
8274         * win32/Makefile.inspect:
8275         * win32/Makefile.launch:
8276         * win32/Makefile.register:
8277         * win32/README.txt:
8278         * win32/gst-inspect.vcproj:
8279         * win32/gst-launch.vcproj:
8280         * win32/gst-register.vcproj:
8281         * win32/gstelements.vcproj:
8282         * win32/gstgetbits.def:
8283         * win32/gstgetbits.vcproj:
8284         * win32/gstreamer-dbg.def:
8285         * win32/gstreamer.def:
8286         * win32/libgstbase.def:
8287         * win32/libgstbase.vcproj:
8288         * win32/link_oldruntime.c:
8289         * win32/mman.c:
8290         * win32/mman.h:
8291         * win32/mman.inl:
8292         * win32/msvc71.sln:
8293           move even more stuff, win32/ is nice and clean now
8294
8295 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8296
8297         * libs/gst/control/.cvsignore:
8298         * win32/MANIFEST:
8299         * win32/config.h:
8300         * win32/dirent.c:
8301         * win32/dirent.h:
8302         * win32/gstbytestream.def:
8303         * win32/gstbytestream.vcproj:
8304         * win32/gstconfig.h:
8305         * win32/gstenumtypes.c:
8306         * win32/gstenumtypes.h:
8307         * win32/gstoptimalscheduler.vcproj:
8308         * win32/gstversion.h:
8309         * win32/gtchar.h:
8310         * win32/testsuite/bins.vcproj:
8311         * win32/testsuite/bytestream.vcproj:
8312         * win32/testsuite/caps.vcproj:
8313         * win32/testsuite/cleanup.vcproj:
8314         * win32/testsuite/clock.vcproj:
8315         * win32/testsuite/debug.vcproj:
8316         * win32/testsuite/dlopen.vcproj:
8317         * win32/testsuite/dynparams.vcproj:
8318         * win32/testsuite/elements.vcproj:
8319         * win32/testsuite/ghostpads.vcproj:
8320         * win32/testsuite/indexers.vcproj:
8321         * win32/testsuite/negotiation.vcproj:
8322         * win32/testsuite/parse.vcproj:
8323         * win32/testsuite/plugin.vcproj:
8324         * win32/testsuite/refcounting.vcproj:
8325         * win32/testsuite/schedulers.vcproj:
8326         * win32/testsuite/states.vcproj:
8327         * win32/testsuite/tags.vcproj:
8328         * win32/testsuite/threads.vcproj:
8329           remove old win32 stuff that isn't maintained and should be
8330           reorganized
8331
8332 2005-11-30  Andy Wingo  <wingo@pobox.com>
8333
8334         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
8335         loading the gst.interfaces python module bork.
8336
8337         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
8338         available since GLib 2.2. Fixes #318031.
8339
8340 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8341
8342         * Makefile.am:
8343         * check/.cvsignore:
8344         * check/Makefile.am:
8345         * check/elements/.cvsignore:
8346         * check/elements/fakesrc.c:
8347         * check/elements/fdsrc.c:
8348         * check/elements/identity.c:
8349         * check/generic/.cvsignore:
8350         * check/generic/states.c:
8351         * check/gst-libs/.cvsignore:
8352         * check/gst-libs/controller.c:
8353         * check/gst-libs/gdp.c:
8354         * check/gst/.cvsignore:
8355         * check/gst/capslist.h:
8356         * check/gst/gst.c:
8357         * check/gst/gstbin.c:
8358         * check/gst/gstbuffer.c:
8359         * check/gst/gstbus.c:
8360         * check/gst/gstcaps.c:
8361         * check/gst/gstelement.c:
8362         * check/gst/gstevent.c:
8363         * check/gst/gstghostpad.c:
8364         * check/gst/gstiterator.c:
8365         * check/gst/gstmessage.c:
8366         * check/gst/gstminiobject.c:
8367         * check/gst/gstobject.c:
8368         * check/gst/gstpad.c:
8369         * check/gst/gstpipeline.c:
8370         * check/gst/gstplugin.c:
8371         * check/gst/gstsegment.c:
8372         * check/gst/gststructure.c:
8373         * check/gst/gstsystemclock.c:
8374         * check/gst/gsttag.c:
8375         * check/gst/gstutils.c:
8376         * check/gst/gstvalue.c:
8377         * check/net/.cvsignore:
8378         * check/net/gstnetclientclock.c:
8379         * check/net/gstnettimeprovider.c:
8380         * check/pipelines/.cvsignore:
8381         * check/pipelines/cleanup.c:
8382         * check/pipelines/simple_launch_lines.c:
8383         * check/pipelines/stress.c:
8384         * check/states/.cvsignore:
8385         * check/states/sinks.c:
8386         * configure.ac:
8387         * examples/Makefile.am:
8388         * examples/appreader/.cvsignore:
8389         * examples/appreader/Makefile.am:
8390         * examples/appreader/appreader.c:
8391         * examples/controller/.cvsignore:
8392         * examples/controller/Makefile.am:
8393         * examples/controller/audio-example.c:
8394         * examples/cutter/.cvsignore:
8395         * examples/cutter/Makefile.am:
8396         * examples/cutter/cutter.c:
8397         * examples/cutter/cutter.h:
8398         * examples/events/Makefile.am:
8399         * examples/events/seek.c:
8400         * examples/helloworld/.cvsignore:
8401         * examples/helloworld/Makefile.am:
8402         * examples/helloworld/helloworld.c:
8403         * examples/helloworld2/.cvsignore:
8404         * examples/helloworld2/Makefile.am:
8405         * examples/helloworld2/helloworld2.c:
8406         * examples/launch/.cvsignore:
8407         * examples/launch/Makefile.am:
8408         * examples/launch/mp3parselaunch.c:
8409         * examples/launch/mp3play:
8410         * examples/manual/.cvsignore:
8411         * examples/manual/Makefile.am:
8412         * examples/manual/extract.pl:
8413         * examples/metadata/Makefile.am:
8414         * examples/metadata/read-metadata.c:
8415         * examples/mixer/.cvsignore:
8416         * examples/mixer/Makefile.am:
8417         * examples/mixer/mixer.c:
8418         * examples/mixer/mixer.h:
8419         * examples/pingpong/.cvsignore:
8420         * examples/pingpong/Makefile.am:
8421         * examples/pingpong/pingpong.c:
8422         * examples/plugins/.cvsignore:
8423         * examples/plugins/Makefile.am:
8424         * examples/plugins/example.c:
8425         * examples/plugins/example.h:
8426         * examples/pwg/.cvsignore:
8427         * examples/pwg/Makefile.am:
8428         * examples/pwg/extract.pl:
8429         * examples/queue/.cvsignore:
8430         * examples/queue/Makefile.am:
8431         * examples/queue/queue.c:
8432         * examples/queue2/.cvsignore:
8433         * examples/queue2/Makefile.am:
8434         * examples/queue2/queue2.c:
8435         * examples/queue3/.cvsignore:
8436         * examples/queue3/Makefile.am:
8437         * examples/queue3/queue3.c:
8438         * examples/queue4/.cvsignore:
8439         * examples/queue4/Makefile.am:
8440         * examples/queue4/queue4.c:
8441         * examples/retag/.cvsignore:
8442         * examples/retag/Makefile.am:
8443         * examples/retag/retag.c:
8444         * examples/retag/transcode.c:
8445         * examples/thread/.cvsignore:
8446         * examples/thread/Makefile.am:
8447         * examples/thread/thread.c:
8448         * examples/typefind/.cvsignore:
8449         * examples/typefind/Makefile.am:
8450         * examples/typefind/typefind.c:
8451         * examples/xml/.cvsignore:
8452         * examples/xml/Makefile.am:
8453         * examples/xml/createxml.c:
8454         * examples/xml/runxml.c:
8455         * tests/Makefile.am:
8456         * tests/check/Makefile.am:
8457         * testsuite/.cvsignore:
8458         * testsuite/Makefile.am:
8459         * testsuite/Rules:
8460         * testsuite/caps/.cvsignore:
8461         * testsuite/caps/Makefile.am:
8462         * testsuite/caps/app_fixate.c:
8463         * testsuite/caps/audioscale.c:
8464         * testsuite/caps/caps.c:
8465         * testsuite/caps/caps.h:
8466         * testsuite/caps/caps_strings:
8467         * testsuite/caps/compatibility.c:
8468         * testsuite/caps/deserialize.c:
8469         * testsuite/caps/enumcaps.c:
8470         * testsuite/caps/eratosthenes.c:
8471         * testsuite/caps/filtercaps.c:
8472         * testsuite/caps/fixed.c:
8473         * testsuite/caps/fraction-convert.c:
8474         * testsuite/caps/fraction-multiply-and-zero.c:
8475         * testsuite/caps/intersect2.c:
8476         * testsuite/caps/intersection.c:
8477         * testsuite/caps/normalisation.c:
8478         * testsuite/caps/random.c:
8479         * testsuite/caps/renegotiate.c:
8480         * testsuite/caps/sets.c:
8481         * testsuite/caps/simplify.c:
8482         * testsuite/caps/string-conversions.c:
8483         * testsuite/caps/structure.c:
8484         * testsuite/caps/subtract.c:
8485         * testsuite/caps/union.c:
8486         * testsuite/debug/.cvsignore:
8487         * testsuite/debug/Makefile.am:
8488         * testsuite/debug/category.c:
8489         * testsuite/debug/commandline.c:
8490         * testsuite/debug/global.c:
8491         * testsuite/debug/output.c:
8492         * testsuite/debug/printf_extension.c:
8493         * testsuite/dlopen/.cvsignore:
8494         * testsuite/dlopen/Makefile.am:
8495         * testsuite/dlopen/dlopen_gst.c:
8496         * testsuite/dlopen/loadgst.c:
8497         * testsuite/elements/.cvsignore:
8498         * testsuite/elements/Makefile.am:
8499         * testsuite/elements/gst-inspect-check.in:
8500         * testsuite/elements/struct_i386.h:
8501         * testsuite/elements/struct_size.c:
8502         * testsuite/indexers/.cvsignore:
8503         * testsuite/indexers/Makefile.am:
8504         * testsuite/indexers/cache1.c:
8505         * testsuite/indexers/indexdump.c:
8506         * testsuite/parse/.cvsignore:
8507         * testsuite/parse/Makefile.am:
8508         * testsuite/parse/parse1.c:
8509         * testsuite/parse/parse2.c:
8510         * testsuite/plugin/.cvsignore:
8511         * testsuite/plugin/Makefile.am:
8512         * testsuite/plugin/README:
8513         * testsuite/plugin/dynamic.c:
8514         * testsuite/plugin/linked.c:
8515         * testsuite/plugin/loading.c:
8516         * testsuite/plugin/registry.c:
8517         * testsuite/plugin/static.c:
8518         * testsuite/plugin/static2.c:
8519         * testsuite/plugin/testplugin.c:
8520         * testsuite/plugin/testplugin2.c:
8521         * testsuite/plugin/testplugin2_s.c:
8522         * testsuite/plugin/testplugin_s.c:
8523         * testsuite/refcounting/.cvsignore:
8524         * testsuite/refcounting/Makefile.am:
8525         * testsuite/refcounting/bin.c:
8526         * testsuite/refcounting/element.c:
8527         * testsuite/refcounting/element_pad.c:
8528         * testsuite/refcounting/mainloop.c:
8529         * testsuite/refcounting/mem.c:
8530         * testsuite/refcounting/mem.h:
8531         * testsuite/refcounting/object.c:
8532         * testsuite/refcounting/pad.c:
8533         * testsuite/refcounting/sched.c:
8534         * testsuite/refcounting/thread.c:
8535         * testsuite/states/.cvsignore:
8536         * testsuite/states/Makefile.am:
8537         * testsuite/states/bin.c:
8538         * testsuite/states/locked.c:
8539         * testsuite/states/parent.c:
8540         * testsuite/threads/.cvsignore:
8541         * testsuite/threads/159566.c:
8542         * testsuite/threads/159852.c:
8543         * testsuite/threads/Makefile.am:
8544         * testsuite/threads/queue.c:
8545         * testsuite/threads/signals.c:
8546         * testsuite/threads/staticrec.c:
8547         * testsuite/threads/thread.c:
8548         * testsuite/threads/threadb.c:
8549         * testsuite/threads/threadc.c:
8550         * testsuite/threads/threadd.c:
8551         * testsuite/threads/threade.c:
8552         * testsuite/threads/threadf.c:
8553         * testsuite/threads/threadg.c:
8554         * testsuite/threads/threadh.c:
8555         * testsuite/threads/threadi.c:
8556           move all of these under tests
8557
8558 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8559
8560         * configure.ac:
8561         * tests/Makefile.am:
8562           fix distcheck
8563
8564 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8565
8566         * docs/gst/gstreamer-sections.txt:
8567         * tests/sched/.cvsignore:
8568         * tests/sched/Makefile.am:
8569         * tests/sched/cases/(fs-fs).xml:
8570         * tests/sched/cases/(fs-i-fs).xml:
8571         * tests/sched/cases/(fs-i-i-fs).xml:
8572         * tests/sched/cases/(fs-i-q[i-fs]).xml:
8573         * tests/sched/dynamic-pipeline.c:
8574         * tests/sched/interrupt1.c:
8575         * tests/sched/interrupt2.c:
8576         * tests/sched/interrupt3.c:
8577         * tests/sched/runtestcases:
8578         * tests/sched/runxml.c:
8579         * tests/sched/sched-stress.c:
8580         * tests/sched/sort.c:
8581         * tests/sched/testcases:
8582         * tests/sched/testcases1.tc:
8583         * tests/seeking/.cvsignore:
8584         * tests/seeking/Makefile.am:
8585         * tests/seeking/seeking1.c:
8586         * tests/threadstate/.cvsignore:
8587         * tests/threadstate/Makefile.am:
8588         * tests/threadstate/test1.c:
8589         * tests/threadstate/test2.c:
8590         * tests/threadstate/threadstate1.c:
8591         * tests/threadstate/threadstate2.c:
8592         * tests/threadstate/threadstate3.c:
8593         * tests/threadstate/threadstate4.c:
8594         * tests/threadstate/threadstate5.c:
8595           remove obsolete tests
8596         * configure.ac:
8597         * tests/bench-complexity.scm:
8598         * tests/bench-mass_elements.scm:
8599         * tests/complexity.c:
8600         * tests/complexity.gnuplot:
8601         * tests/instantiate/.cvsignore:
8602         * tests/instantiate/Makefile.am:
8603         * tests/instantiate/caps.c:
8604         * tests/mass_elements.c:
8605         * tests/network-clock-utils.scm:
8606         * tests/network-clock.scm:
8607         * tests/plot-data:
8608         First pass at cleaning up tests/ dir before moving the rest
8609         Combined with CVS surgery
8610
8611 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8612
8613         * po/POTFILES.in:
8614           queue has moved, update
8615
8616 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8617
8618         * docs/gst/gstreamer-sections.txt:
8619           remove double entries from the docs
8620         * gst/gst_private.h:
8621         * gst/gstinfo.c: (_gst_debug_init):
8622           remove the THREAD debug category
8623         * gst/Makefile.am:
8624         * gst/gstqueue.c:
8625         * gst/gstqueue.h:
8626         * docs/gst/gstreamer.types:
8627         * plugins/elements/gstqueue.c: (gst_queue_get_type),
8628         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
8629           completely move queue and fix up debugging categories
8630
8631 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8632
8633         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8634           make initialization portable, using LL is not
8635
8636 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8637
8638         * win32/common/gstconfig.h:
8639           add large padding
8640
8641 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8642
8643         * win32/common/libgstreamer.def:
8644           rename symbols; sort base section
8645
8646 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8647
8648         * gst/gstclock.c: (do_linear_regression):
8649           remove crack non-portable handrolled DEBUG macro
8650
8651 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8652
8653         * docs/random/release:
8654           update notes
8655         * win32/common/gstenumtypes.c: (register_gst_object_flags),
8656         (gst_object_flags_get_type), (register_gst_bin_flags),
8657         (gst_bin_flags_get_type), (register_gst_buffer_flag),
8658         (gst_buffer_flag_get_type), (register_gst_bus_flags),
8659         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
8660         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
8661         (gst_caps_flags_get_type), (register_gst_clock_return),
8662         (gst_clock_return_get_type), (register_gst_clock_entry_type),
8663         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
8664         (gst_clock_flags_get_type), (register_gst_state),
8665         (gst_state_get_type), (register_gst_state_change_return),
8666         (gst_state_change_return_get_type), (register_gst_state_change),
8667         (gst_state_change_get_type), (register_gst_element_flags),
8668         (gst_element_flags_get_type), (register_gst_core_error),
8669         (gst_core_error_get_type), (register_gst_library_error),
8670         (gst_library_error_get_type), (register_gst_resource_error),
8671         (gst_resource_error_get_type), (register_gst_stream_error),
8672         (gst_stream_error_get_type), (register_gst_event_type_flags),
8673         (gst_event_type_flags_get_type), (register_gst_event_type),
8674         (gst_event_type_get_type), (register_gst_seek_type),
8675         (gst_seek_type_get_type), (register_gst_seek_flags),
8676         (gst_seek_flags_get_type), (register_gst_format),
8677         (gst_format_get_type), (register_gst_index_certainty),
8678         (gst_index_certainty_get_type), (register_gst_index_entry_type),
8679         (gst_index_entry_type_get_type),
8680         (register_gst_index_lookup_method),
8681         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
8682         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
8683         (gst_index_resolver_method_get_type), (register_gst_index_flags),
8684         (gst_index_flags_get_type), (register_gst_debug_level),
8685         (gst_debug_level_get_type), (register_gst_debug_color_flags),
8686         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
8687         (gst_iterator_result_get_type), (register_gst_iterator_item),
8688         (gst_iterator_item_get_type), (register_gst_message_type),
8689         (gst_message_type_get_type), (register_gst_mini_object_flags),
8690         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
8691         (gst_pad_link_return_get_type), (register_gst_flow_return),
8692         (gst_flow_return_get_type), (register_gst_activate_mode),
8693         (gst_activate_mode_get_type), (register_gst_pad_direction),
8694         (gst_pad_direction_get_type), (register_gst_pad_flags),
8695         (gst_pad_flags_get_type), (register_gst_pad_presence),
8696         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
8697         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
8698         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
8699         (gst_plugin_error_get_type), (register_gst_plugin_flags),
8700         (gst_plugin_flags_get_type), (register_gst_rank),
8701         (gst_rank_get_type), (register_gst_query_type),
8702         (gst_query_type_get_type), (register_gst_tag_merge_mode),
8703         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
8704         (gst_tag_flag_get_type), (register_gst_task_state),
8705         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
8706         (gst_alloc_trace_flags_get_type),
8707         (register_gst_type_find_probability),
8708         (gst_type_find_probability_get_type), (register_gst_uri_type),
8709         (gst_uri_type_get_type), (register_gst_parse_error),
8710         (gst_parse_error_get_type):
8711         * win32/common/gstenumtypes.h:
8712         * win32/common/gstversion.h:
8713           update visual studio generated files
8714
8715 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8716
8717         * win32/vs6/libgstbase.dsp:
8718         * win32/vs6/libgstelements.dsp:
8719           update project files for new locations
8720
8721 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
8722
8723         * Makefile.am:
8724           remove some files
8725         * README:
8726           reinstate and update
8727         * DEVEL:
8728         * REQUIREMENTS:
8729           removed
8730         * LICENSE:
8731         * docs/random/LICENSE:
8732           moved to random
8733
8734 2005-11-30  Edward Hervey  <edward@fluendo.com>
8735
8736         * gst/gsttypefind.c: (gst_type_find_register):
8737         * gst/gsttypefind.h:
8738         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
8739         (gst_type_find_factory_dispose):
8740         * gst/gsttypefindfactory.h:
8741         Fix memory leak in GstTypeFindFactory.
8742
8743 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8744
8745         * gst/gst.c:
8746         * plugins/elements/Makefile.am:
8747         * plugins/elements/gstelements.c:
8748         * plugins/elements/gstqueue.c:
8749           move queue from core to the elements plugin
8750
8751 2005-11-29  Andy Wingo  <wingo@pobox.com>
8752
8753         * libs/gst/base/gstbasetransform.h: 
8754         * libs/gst/base/gstbasesrc.h: 
8755         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
8756
8757         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
8758         of pointers by which to pad very extensible base classes (like the
8759         ones in libs/gst/base).
8760
8761 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8762
8763         * docs/gst/gstreamer-docs.sgml:
8764         * docs/gst/gstreamer-sections.txt:
8765         * docs/libs/gstreamer-libs-docs.sgml:
8766         * docs/libs/gstreamer-libs-sections.txt:
8767           moving documentation from core to lib
8768
8769 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8770
8771         * check/Makefile.am:
8772         * configure.ac:
8773         * docs/gst/Makefile.am:
8774         * gst/Makefile.am:
8775         * gst/base/.cvsignore:
8776         * gst/base/Makefile.am:
8777         * gst/base/README:
8778         * gst/base/gstadapter.c:
8779         * gst/base/gstadapter.h:
8780         * gst/base/gstbasesink.c:
8781         * gst/base/gstbasesink.h:
8782         * gst/base/gstbasesrc.c:
8783         * gst/base/gstbasesrc.h:
8784         * gst/base/gstbasetransform.c:
8785         * gst/base/gstbasetransform.h:
8786         * gst/base/gstcollectpads.c:
8787         * gst/base/gstcollectpads.h:
8788         * gst/base/gstpushsrc.c:
8789         * gst/base/gstpushsrc.h:
8790         * gst/base/gsttypefindhelper.c:
8791         * gst/base/gsttypefindhelper.h:
8792         * gst/check/Makefile.am:
8793         * gst/check/gstcheck.c:
8794         * gst/check/gstcheck.h:
8795         * gst/net/Makefile.am:
8796         * gst/net/gstnet.h:
8797         * gst/net/gstnetclientclock.c:
8798         * gst/net/gstnetclientclock.h:
8799         * gst/net/gstnettimepacket.c:
8800         * gst/net/gstnettimepacket.h:
8801         * gst/net/gstnettimeprovider.c:
8802         * gst/net/gstnettimeprovider.h:
8803         * libs/gst/Makefile.am:
8804         * libs/gst/base/Makefile.am:
8805         * libs/gst/base/gstbasetransform.c:
8806         * libs/gst/check/Makefile.am:
8807         * plugins/elements/Makefile.am:
8808         * po/POTFILES.in:
8809           CVS surgery + support to move base, check, and net out of gst
8810           and into libs/gst
8811
8812 2005-11-29  Andy Wingo  <wingo@pobox.com>
8813
8814         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
8815
8816         * gst/gststructure.h (struct _GstStructure): Only one pointer of
8817         padding.
8818
8819         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
8820
8821         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
8822
8823         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
8824
8825         * gst/gstobject.h: (struct _GstObject): Only one pointer of
8826         padding; reduces object size by about 30%. We don't expect
8827         anything else to go into gstobject.
8828
8829         * gst/gstminiobject.h (struct _GstMiniObject)
8830         (struct _GstMiniObjectClass): Only one pointer of padding; the
8831         payload is only a pointer and two ints anyway. For the class there
8832         are only two methods as well.
8833         
8834         * gst/gstelement.h (struct _GstElementClass): Removed
8835         the state_changed signal callback, it is not used.
8836
8837 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8838
8839         * docs/gst/gstreamer.types:
8840           fix includes, though they are a little dinky
8841
8842 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8843
8844         * check/Makefile.am:
8845           look in the right place for elements, a lot more chance of
8846           success
8847         * gst/Makefile.am:
8848           remove indexers and elements subdirs
8849         * plugins/Makefile.am:
8850           make indexers conditional
8851
8852 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
8853
8854         * Makefile.am:
8855         * configure.ac:
8856         * plugins/elements/Makefile.am:
8857         * plugins/elements/gstcapsfilter.c:
8858         * plugins/elements/gstfilesink.c:
8859         * plugins/elements/gstfilesrc.c:
8860         * plugins/elements/gstidentity.c:
8861         * plugins/indexers/Makefile.am:
8862           do CVS surgery and related build fixery to move elements
8863           and indexers in a new gstreamer/plugins directory, out of the
8864           gst/ directory
8865
8866 2005-11-29  Andy Wingo  <wingo@pobox.com>
8867
8868         * check/Makefile.am:
8869         * pkgconfig/gstreamer-net-uninstalled.pc.in:
8870         * pkgconfig/gstreamer-net.pc.in:
8871         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
8872         #322257.
8873
8874 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8875
8876         * tools/Makefile.am:
8877         * tools/gst-complete.1.in:
8878         * tools/gst-complete.c:
8879         * tools/gst-compprep.1.in:
8880         * tools/gst-compprep.c:
8881           removing -compprep and -complete
8882
8883 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
8884
8885         * gst/gstevent.c: (gst_event_new_new_segment),
8886         (gst_event_parse_new_segment):
8887         * gst/gstevent.h:
8888           fix #320529 - clean up new_segment API and structure.
8889           Let's hope everyone was using the methods, and not the structure.
8890
8891 2005-11-29  Edward Hervey  <edward@fluendo.com>
8892
8893         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8894         (gst_base_sink_event), (gst_base_sink_do_sync),
8895         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
8896         Properly handle non GST_FORMAT_TIME segment
8897         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
8898         Properly handle non GST_FORMAT_TIME segment
8899         * gst/gstsegment.c:
8900         This function is valid if the accumulator is 0 and the format
8901         is different from the requested format.
8902         
8903 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
8904
8905         * docs/gst/gstreamer-sections.txt:
8906         Add gst_query_new_seeking and gst_query_parse_seeking to the
8907         docs.
8908
8909 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
8910
8911         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
8912           Treat a pad alloc with new caps the same as if we were not
8913           negotiated, in order to allow a changing upstream output
8914           to produce a new format of data.
8915
8916 2005-11-29  Edward Hervey  <edward@fluendo.com>
8917
8918         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8919         (gst_base_transform_event), (gst_base_transform_eventfunc):
8920         The event virtual method is now properly implemented, with a default
8921         handler
8922         Sub classes should call the parent_class event method. They should
8923         return FALSE if they had a problem handling the given event, or don't
8924         want GstBaseTransform to send that even downstream
8925         * gst/elements/gstidentity.c: (gst_identity_class_init),
8926         (gst_identity_init), (gst_identity_event),
8927         (gst_identity_transform_ip), (gst_identity_set_property),
8928         (gst_identity_get_property):
8929         * gst/elements/gstidentity.h:
8930         Added the single-segment boolean property.
8931         If set to TRUE, it will output a single segment of data, starting from
8932         0, will eat up all incoming newsegment, and modify the timestamp of the
8933         buffers accordingly
8934
8935 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
8936
8937         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
8938           Don't ref NULL target pad (#322751). Improve docs.
8939
8940 2005-11-29  Michael Smith  <msmith@fluendo.com>
8941
8942         * gst/gstregistryxml.c: (load_plugin):
8943           Don't crash if we failed to load a feature from a plugin. 
8944
8945 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8946
8947         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
8948         (GST_START_TEST):
8949           use more check API and less GLib API
8950
8951 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8952
8953         * Makefile.am:
8954           don't run checks if we don't have check
8955         * common/check.mak:
8956           remove the registry when running make torture
8957         * docs/gst/gstreamer-sections.txt:
8958           remove second multiply
8959         * gst/gstqueue.c: (gst_queue_loop):
8960           fix a compile warning when disabling debug
8961
8962 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
8963
8964         * gst/gstinfo.h:
8965         Hey! Let's print the pad name if the pointer != NULL instead
8966         of when it == NULL :-)
8967
8968 2005-11-28  Wim Taymans  <wim@fluendo.com>
8969
8970         * check/gst/gstutils.c: (GST_START_TEST):
8971         Updated check, add some scaling accuracy checking code.
8972
8973         * gst/gstutils.c: (gst_util_div128_64),
8974         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
8975         (gst_util_uint64_scale_int):
8976         Fix 6 times faster division code. Optimize for common 
8977         1/1 and less common X/1 cases.
8978
8979 2005-11-28  Wim Taymans  <wim@fluendo.com>
8980
8981         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
8982         More checks.
8983
8984         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
8985         (do_linear_regression), (gst_clock_add_observation):
8986         Cleanups.
8987         Release lock when the clock cannot be slaved.
8988         Catch the case where the regression returned an invalid denominator.
8989
8990         * gst/gstutils.c: (gst_util_div128_64_iterate),
8991         (gst_util_div128_64), (gst_util_uint64_scale_int64),
8992         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
8993         Add protentially more performant non-iterative 128/64 divide function
8994         that unfortunatly does not work yet.
8995         Shortcut the trivial 0/X = 0 case.
8996         Remove the warnings on overflow.
8997
8998 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8999
9000         * gst/gstplugin.c: (gst_plugin_register_func):
9001           everything causing a plugin not to load should be at least a WARNING
9002
9003 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
9004
9005         * docs/random/ensonic/dparams.txt:
9006           some TODOs for the next dev cycle
9007         * libs/gst/controller/gstcontroller.c:
9008         (gst_controlled_property_set_interpolation_mode),
9009         (gst_controlled_property_new):
9010         * libs/gst/controller/gstcontroller.h:
9011           use base type to assign acccessor functions
9012
9013 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
9014
9015         * check/Makefile.am:
9016         Oops, that should have been top_srcdir
9017
9018 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
9019
9020         * check/Makefile.am:
9021         * check/elements/fdsrc.c: (GST_START_TEST):
9022         Use a cmdline define to specify the location of a file to use for
9023         testing, to avoid breaking distcheck.
9024
9025 2005-11-28  Andy Wingo  <wingo@pobox.com>
9026
9027         * gst/gstpad.c (fixate_value): Use array functions for arrays.
9028
9029 2005-11-28  Edward Hervey  <edward@fluendo.com>
9030
9031         * tools/gst-launch.c: (main):
9032         Clarify the output strings, makes it easier to translate.
9033         Fixes #322626
9034
9035 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9036
9037         * gst/Makefile.am:
9038           don't try and build net if we don't even have <sys/socket.h>
9039
9040 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
9041
9042         * check/Makefile.am:
9043         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
9044         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
9045           Add tests for fdsrc seekability
9046
9047         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
9048         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
9049         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
9050         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
9051         * gst/elements/gstfdsrc.h:
9052           fdsrc should not be a 'live' source.
9053           Implement seeking on seekable fd's.
9054
9055         * gst/gstquery.c: (gst_query_new_seeking),
9056         (gst_query_parse_seeking):
9057         * gst/gstquery.h:
9058           Implement SEEKING query functions: 
9059             *_new_seeking and *_parse_seeking
9060
9061 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
9062
9063         * gst/gstelement.c: (gst_element_dispose):
9064           don't loop forever
9065
9066         * gst/gstiterator.c:
9067         * gst/gststructure.c:
9068           doc fixes
9069
9070         * libs/gst/controller/gstcontroller.c:
9071         (gst_controlled_property_set_interpolation_mode):
9072         * libs/gst/controller/gstcontroller.h:
9073         * libs/gst/controller/gstinterpolation.c:
9074         (interpolate_none_get_enum_value_array):
9075           support controlling enums
9076
9077 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
9078
9079         * gst/gstvalue.c:
9080           Improve documentation for gst_value_union().
9081
9082         * gst/gstvalue.h:
9083           Change return value for union, intersect and subtract functions
9084           from gint to gboolean.
9085
9086 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
9087
9088         * gst/gstvalue.c: (gst_value_serialize_any_list),
9089         (gst_value_transform_any_list_string),
9090         (gst_value_deserialize_list), (gst_value_deserialize_array),
9091         (gst_value_set_int_range), (gst_value_deserialize_int_range),
9092         (gst_value_set_double_range), (gst_value_deserialize_double_range),
9093         (gst_value_set_fraction_range_full),
9094         (gst_value_deserialize_fraction_range),
9095         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
9096         (gst_value_deserialize_boolean),
9097         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
9098         (gst_value_serialize_float), (gst_value_deserialize_float),
9099         (gst_string_wrap), (gst_value_deserialize_string),
9100         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
9101         (gst_value_union_int_range_int_range),
9102         (gst_value_intersect_int_range_int_range),
9103         (gst_value_intersect_double_range_double_range),
9104         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
9105         (gst_value_subtract_int_range_int_range),
9106         (gst_value_subtract_double_double_range),
9107         (gst_value_subtract_double_range_double_range),
9108         (gst_value_deserialize_fraction):
9109         * gst/gstvalue.h:
9110           Use gint, gdouble and gchar in our API instead of int, double and
9111           char (and make usage in gstvalue.c more consistent).
9112
9113 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9114
9115         * check/Makefile.am:
9116         * libs/gst/controller/Makefile.am:
9117         * libs/gst/dataprotocol/Makefile.am:
9118           fix up Makefile.am and remove GST_ENABLE_NEW
9119
9120 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9121
9122         * configure.ac:
9123         * gst/Makefile.am:
9124         * gst/base/Makefile.am:
9125         * gst/check/Makefile.am:
9126         * gst/elements/Makefile.am:
9127         * gst/net/Makefile.am:
9128           update LDFLAGS use some more
9129
9130 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9131
9132         * common/m4/gst-doc.m4:
9133           Fixes #312589
9134
9135 2005-11-26  Edward Hervey  <edward@fluendo.com>
9136
9137         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9138         This shouldn't issue a g_warning since it returns NULL if it
9139         couldn't find the plugin, and all functions using this behave
9140         properly on a NULL return. Switching to a GST_WARNING.
9141
9142 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
9143
9144         * gst/gstbin.c: (gst_bin_handle_message_func):
9145         Don't leak clock messages.
9146
9147 2005-11-25  Wim Taymans  <wim@fluendo.com>
9148
9149         * gst/gstutils.c: (gst_util_uint64_scale_int64),
9150         (gst_util_uint64_scale_int):
9151         Optimisations, remove unneeded vars.
9152
9153 2005-11-25  Wim Taymans  <wim@fluendo.com>
9154
9155         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9156         Added more checks for the high precision uint64 cases.
9157
9158         * gst/gstutils.c: (gst_util_uint64_scale_int64),
9159         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
9160         Implement high precision (guint64 * guint64) / guint64.
9161
9162 2005-11-24  Wim Taymans  <wim@fluendo.com>
9163
9164         * gst/base/gstbasesrc.c: (gst_base_src_query):
9165         Fix wrong percentage query.
9166
9167         * gst/gstutils.c: (gst_util_uint64_scale),
9168         (gst_util_uint64_scale_int):
9169         Add some more common cases that can be handled 
9170         efficiently to _scale.
9171
9172 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9173
9174         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
9175         (gst_mini_object_suite):
9176           don't use check calls from threads; check probably isn't
9177           threadsafe and using a lock to make it threadsafe would
9178           defeat the purpose of this check
9179         * gst/check/gstcheck.c:
9180         * gst/check/gstcheck.h:
9181           use GST_DEBUG some more
9182
9183 2005-11-24  Wim Taymans  <wim@fluendo.com>
9184
9185         * gst/gstutils.c: (gst_util_uint64_scale),
9186         (gst_util_uint64_scale_int):
9187         Chain trivial case to _scale_int.
9188
9189 2005-11-24  Wim Taymans  <wim@fluendo.com>
9190
9191         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9192         Added test for scaling.
9193
9194         * gst/gstclock.h:
9195         Small doc fix.
9196
9197         * gst/gstutils.c: (gst_util_uint64_scale_int):
9198         Implemented high precision scaling code.
9199
9200 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
9201
9202         * gst/gstinfo.h:
9203           do not crash on pad==NULL
9204
9205 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9206
9207         Patch by: Stefan Kost
9208
9209         * common/gtk-doc.mak:
9210         * docs/gst/Makefile.am:
9211         * docs/libs/Makefile.am:
9212           Fix distcheck issues for the libraries docs build
9213           Closes #319599.
9214
9215 2005-11-24  Michael Smith <msmith@fluendo.com>
9216
9217         * docs/manual/basics-helloworld.xml:
9218           Fix bug #315027: memory leak in example code in docs.
9219
9220 2005-11-24  Michael Smith <msmith@fluendo.com>
9221
9222         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9223           Unlock the PREROLL_LOCK in a failure case.
9224
9225 2005-11-24  Wim Taymans  <wim@fluendo.com>
9226
9227         * docs/gst/gstreamer-sections.txt:
9228         * gst/base/gstadapter.h:
9229         * gst/base/gstbasesink.h:
9230         * gst/base/gstbasesrc.h:
9231         * gst/base/gstbasetransform.h:
9232         * gst/base/gstpushsrc.h:
9233         * gst/elements/gstfakesink.h:
9234         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
9235         * gst/elements/gstfakesrc.h:
9236         * gst/elements/gstfilesink.h:
9237         * gst/elements/gstfilesrc.h:
9238         * gst/gst.c:
9239         * gst/gstbin.c:
9240         * gst/gstbuffer.c: (_gst_buffer_copy):
9241         * gst/gstbus.h:
9242         * gst/gstcaps.c:
9243         * gst/gstchildproxy.c:
9244         * gst/gstclock.c:
9245         * gst/gstelement.c:
9246         * gst/gstelementfactory.c:
9247         * gst/gstelementfactory.h:
9248         * gst/gstevent.c:
9249         * gst/gstghostpad.h:
9250         * gst/gstindex.h:
9251         * gst/gstinterface.h:
9252         * gst/gstminiobject.c:
9253         * gst/gstminiobject.h:
9254         * gst/gstpad.c:
9255         * gst/gstpad.h:
9256         * gst/gstpadtemplate.h:
9257         * gst/gstpipeline.h:
9258         * gst/gstpluginfeature.h:
9259         * gst/gstquery.h:
9260         * gst/gstqueue.h:
9261         * gst/gsttaglist.c:
9262         * gst/gsttaglist.h:
9263         * gst/gsttagsetter.c:
9264         * gst/gsttagsetter.h:
9265         * gst/gsttrace.c:
9266         * gst/gsttrace.h:
9267         * gst/gsttypefind.h:
9268         * gst/gsturi.h:
9269         * gst/gstvalue.c:
9270         * gst/net/gstnetclientclock.c:
9271         * gst/net/gstnetclientclock.h:
9272         * gst/net/gstnettimepacket.c:
9273         * gst/net/gstnettimeprovider.c:
9274         * gst/net/gstnettimeprovider.h:
9275         Doc fixes.
9276
9277 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9278
9279         * configure.ac: back to HEAD
9280
9281 === release 0.9.6 ===
9282
9283 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
9284
9285         * configure.ac:
9286           releasing 0.9.6, "Always On Time"
9287
9288 2005-11-23  Wim Taymans  <wim@fluendo.com>
9289
9290         * docs/gst/gstreamer-sections.txt:
9291         * gst/glib-compat.c:
9292         * gst/gsttagsetter.c:
9293         * gst/gstvalue.c:
9294         * gst/net/gstnetclientclock.c:
9295         * gst/net/gstnettimepacket.h:
9296         Doc updates.
9297
9298 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9299
9300         * docs/faq/using.xml:
9301         * docs/libs/tmpl/gstcontrol.sgml:
9302         * docs/manual/advanced-dparams.xml:
9303         * docs/manual/appendix-checklist.xml:
9304         * docs/manual/basics-elements.xml:
9305         * docs/pwg/other-source.xml:
9306         * docs/random/moving-plugins:
9307         * gst/gstpad.c:
9308         * tools/gst-launch.1.in:
9309           remove mentions of sinesrc
9310
9311 2005-11-23  Michael Smith <msmith@fluendo.com>
9312
9313         * docs/gst/gstreamer-sections.txt:
9314           Update for new API and API changes.
9315         * gst/gstobject.h:
9316           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
9317         * gst/gstvalue.c:
9318           Documentation typo fix.
9319         * gst/net/gstnettimepacket.c:
9320           Documentation fixes for arguments.
9321
9322 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
9323
9324         * gst/gststructure.c: (gst_structure_get_fraction),
9325         (gst_structure_parse_value),
9326         (gst_structure_fixate_field_nearest_fraction):
9327         * gst/gststructure.h:
9328         * gst/gstutils.c: (gst_util_uint64_scale_int):
9329         * gst/gstutils.h:
9330         * scripts/update-funcnames:
9331         API Changes. 
9332         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
9333         Make gst_structure_fixate_field_nearest_fraction take a numerator
9334         and denominator argument instead of a GValue
9335         add gst_structure_get_fraction helper function.
9336
9337 2005-11-23  Wim Taymans  <wim@fluendo.com>
9338
9339         * docs/design/part-TODO.txt:
9340         Update TODO.
9341
9342         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
9343         * gst/net/gstnetclientclock.h:
9344         Use parent fields for timeout and window_size.
9345
9346 2005-11-23  Andy Wingo  <wingo@pobox.com>
9347
9348         * check/net/gstnetclientclock.c (test_functioning): Adjust to
9349         rate_num/rate_denom change.
9350
9351         * gst/net/gstnetclientclock.c
9352         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
9353         OBJECT_LOCK. Don't call add_observation with the lock.
9354
9355         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
9356         fraction.
9357         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
9358         rate fraction.
9359         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
9360         deal with rate as a fraction whose numerator and denominator are
9361         GstClockTime values.
9362         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
9363         master; the other fields are protected by the SLAVE_LOCK.
9364         (do_linear_regression): Note that this must be called with the
9365         SLAVE_LOCK.
9366         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
9367         OBJECT_LOCK. Call set_calibration instead of touching the
9368         variables directly.
9369         (gst_clock_set_property, gst_clock_get_property): Protect
9370         master/slave parameters with the SLAVE_LOCK.
9371
9372         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
9373         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
9374         note that all of the instance variables that add_observation and
9375         the set_master functions use are protected by that lock and not
9376         the OBJECT_LOCK.
9377         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
9378
9379         * gst/gstclock.c (gst_clock_add_observation): No longer requires
9380         the caller to take the object lock.
9381
9382 2005-11-23  Wim Taymans  <wim@fluendo.com>
9383
9384         * gst/gsterror.c: (_gst_core_errors_init):
9385         * gst/gsterror.h:
9386         Add error for clock stuff.
9387
9388         * gst/gstpipeline.c: (gst_pipeline_change_state),
9389         (gst_pipeline_set_clock):
9390         Post clock error when clock cannot be used in a pipeline.
9391
9392 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
9393
9394         * docs/gst/gstreamer-sections.txt:
9395           make two symbols from gstinfo private for the docs
9396         * gst/base/gstcollectpads.h:
9397         * gst/gstutils.c:
9398           fix doc typos, update docs
9399
9400 2005-11-22  Wim Taymans  <wim@fluendo.com>
9401
9402         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
9403         (gst_base_sink_wait), (gst_base_sink_do_sync),
9404         (gst_base_sink_handle_event):
9405         * gst/base/gstbasesink.h:
9406         No need to store the clock, the parent element class already
9407         has it.
9408
9409         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
9410         Updates for clock_set returning a gboolean
9411
9412         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
9413         (gst_clock_id_wait_async), (gst_clock_class_init),
9414         (gst_clock_init), (gst_clock_finalize),
9415         (gst_clock_get_internal_time), (gst_clock_get_time),
9416         (gst_clock_slave_callback), (gst_clock_set_master),
9417         (gst_clock_get_master), (do_linear_regression),
9418         (gst_clock_add_observation), (gst_clock_set_property),
9419         (gst_clock_get_property):
9420         * gst/gstclock.h:
9421         Implement master/slave. When setting a clock as a slave, a
9422         periodic timeout is scheduled to sample master and slave times.
9423         Then the slave clock is recalibrated to match offset and rate
9424         of the master clock.
9425         Update logging a bit.
9426         Add flag so that a clock can state that is cannot be slaved to
9427         another clock.
9428
9429         * gst/gstelement.c: (gst_element_set_clock):
9430         * gst/gstelement.h:
9431         The set clock returns a gboolean for when an element cannot
9432         deal with the selected clock in the pipeline. 
9433
9434         * gst/gstpipeline.c: (gst_pipeline_change_state),
9435         (gst_pipeline_set_clock):
9436         * gst/gstpipeline.h:
9437         Handle the case where the selected clock cannot be set on
9438         the pipeline.
9439
9440         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
9441         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
9442         (gst_net_client_clock_set_property),
9443         (gst_net_client_clock_get_property),
9444         (gst_net_client_clock_observe_times):
9445         * gst/net/gstnetclientclock.h:
9446         Use regression code in GstClock parent, remove duplicated
9447         functionality.
9448
9449 2005-11-22  Michael Smith <msmith@fluendo.com>
9450
9451         * gst/gstutils.c: (gst_util_clock_time_scale):
9452         * gst/gstutils.h:
9453         * docs/gst/gstreamer-sections.txt:
9454           Rename method to have extra underscore.
9455
9456 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9457
9458         * gst/elements/Makefile.am:
9459         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
9460         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
9461         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
9462         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
9463         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
9464         * gst/elements/gstfakesrc.h:
9465         * gst/gstqueue.c: (queue_leaky_get_type):
9466           correctly fix GEnumValues so that nick is the short lowercase
9467           dashed tag
9468         * tools/gst-inspect.c: (print_element_properties_info):
9469           also show the nick, since it's useful to use from parse_launch
9470           syntax
9471           Fixes #322139
9472
9473 2005-11-22  Michael Smith <msmith@fluendo.com>
9474
9475         * gst/gstutils.c: (gst_util_clocktime_scale):
9476         * gst/gstutils.h:
9477         * docs/gst/gstreamer-sections.txt:
9478           Add util method for scaling a clocktime by a fraction. Useful 
9479           implementation is left as an exercise for the reader.
9480
9481 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
9482
9483         * gst/gstvalue.c: (gst_value_collect_fraction_range):
9484         If needed, allocate storage in the destination value during
9485         collection.
9486
9487 2005-11-22  Edward Hervey  <edward@fluendo.com>
9488
9489         * docs/gst/gstreamer-sections.txt:
9490         * gst/Makefile.am:
9491         * gst/gst.h:
9492         * gst/gsturitype.c:
9493         * gst/gsturitype.h:
9494         * gst/gstutils.c: (gst_util_set_object_arg):
9495         * tools/gst-compprep.c: (main):
9496         * tools/gst-inspect.c: (print_element_properties_info):
9497         Removed GstURI, closes bug #321061
9498
9499 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
9500
9501         * check/gst/gststructure.c: (GST_START_TEST):
9502         * gst/gststructure.c: (gst_structure_parse_value):
9503           Oops, broke automatic string type parsing.
9504           Add a test to catch it in future.
9505
9506 2005-11-22  Andy Wingo  <wingo@pobox.com>
9507
9508         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
9509         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
9510         Actually rename the function implementations. Grr.
9511
9512 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
9513
9514         * check/gst/capslist.h:
9515           Comment test cases
9516         * check/gst/gststructure.c: (GST_START_TEST),
9517         (gst_structure_suite):
9518           Test automatic value type detection in gst_structure_from_string.
9519         * gst/gststructure.c: (gst_structure_parse_value):
9520           Add fraction as a type we try and guess automatically in
9521           caps/structure strings.
9522
9523 2005-11-22  Andy Wingo  <wingo@pobox.com>
9524
9525         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
9526
9527         * gst/gsttagsetter.h:
9528         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
9529         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
9530         (gst_tag_setter_add_tag_valist)
9531         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
9532         _add_values, _add_valist, and _add_valist_values. Since this is an
9533         interface the function suffixes should be more explicit so
9534         language binding don't end up with element.add_valist ->
9535         gst_tag_setter_add_valist, for example. Fixes #322069.
9536
9537 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
9538
9539         * check/gst/gstcaps.c: (GST_START_TEST):
9540           Extend caps string tests to check that a caps to string
9541           conversion is reversible and produces the same caps.
9542
9543         * gst/gststructure.c: (gst_structure_value_get_generic_type):
9544           Output "fraction" as the generic type fraction range, so caps
9545           serialisation and deserialisation works.
9546         * check/gst/capslist.h:
9547         * gst/gstvalue.c: (gst_value_deserialize_fraction):
9548           Support 'MIN' and 'MAX' for deserialising fractions.
9549
9550 2005-11-22  Andy Wingo  <wingo@pobox.com>
9551
9552         * gst/gstevent.h (gst_event_new_new_segment)
9553         (gst_event_parse_new_segment, gst_event_new_buffer_size)
9554         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
9555         Renamed from *_newsegment, *_buffersize, *_notarget.
9556
9557         * scripts/update-funcnames: New script, performs the changes
9558         listed above.
9559
9560 2005-11-22  Wim Taymans  <wim@fluendo.com>
9561
9562         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9563         Make sure the GstFlowReturn is returned.
9564
9565         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
9566         (gst_bus_add_signal_watch):
9567         * gst/gstbus.h:
9568         add gst_bus_add_signal_watch_full.
9569
9570         * gst/gstplugin.c: (gst_plugin_load_file):
9571         Small style cleanup.
9572
9573 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
9574
9575         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
9576           Block the fakesrc srcpad when we send an event, to avoid
9577           contention on the stream_lock causing random test failures.
9578
9579 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
9580
9581         * check/gst/gstvalue.c: (GST_START_TEST):
9582         * gst/gstvalue.c: (gst_value_fraction_subtract):
9583           Fix subtraction.
9584
9585 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
9586
9587         * gst/gst.h:
9588           include "gstchildproxy.h"
9589         * gst/gstchildproxy.h:
9590         * libs/gst/controller/gstcontroller.h:
9591           use G_GNUC_NULL_TERMINATED
9592
9593 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
9594
9595         * check/gst/capslist.h:
9596         * check/gst/gstcaps.c: (GST_START_TEST):
9597         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9598         * gst/gststructure.c: (gst_structure_parse_range),
9599         (gst_structure_fixate_field_nearest_fraction):
9600         * gst/gststructure.h:
9601         * gst/gstvalue.c: (gst_value_init_fraction_range),
9602         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
9603         (gst_value_collect_fraction_range),
9604         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
9605         (gst_value_set_fraction_range_full),
9606         (gst_value_get_fraction_range_min),
9607         (gst_value_get_fraction_range_max),
9608         (gst_value_serialize_fraction_range),
9609         (gst_value_transform_fraction_range_string),
9610         (gst_value_compare_fraction_range),
9611         (gst_value_deserialize_fraction_range),
9612         (gst_value_intersect_fraction_fraction_range),
9613         (gst_value_intersect_fraction_range_fraction_range),
9614         (gst_value_subtract_fraction_fraction_range),
9615         (gst_value_subtract_fraction_range_fraction),
9616         (gst_value_subtract_fraction_range_fraction_range),
9617         (gst_value_collect_fraction), (gst_value_fraction_multiply),
9618         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
9619         (gst_value_transform_string_fraction), (_gst_value_initialize):
9620         * gst/gstvalue.h:
9621           Implement fraction ranges and extend GstFraction to support
9622           arithmetic subtraction, as well as deserialization from integer
9623           strings such as "100"
9624           Add a testsuite as for int and double range set operations
9625
9626 2005-11-21  Andy Wingo  <wingo@pobox.com>
9627
9628         * gst/gsttaglist.h: 
9629         * gst/gstcaps.h: 
9630         * gst/gststructure.h: Add glib-compat.h.
9631
9632 2005-11-21  Wim Taymans  <wim@fluendo.com>
9633
9634         * gst/gstbin.c: (gst_bin_change_state_func):
9635         Fix for #321595
9636
9637 2005-11-21  Wim Taymans  <wim@fluendo.com>
9638
9639         * gst/gstsegment.h:
9640         And add a nice define too.
9641
9642 2005-11-21  Wim Taymans  <wim@fluendo.com>
9643
9644         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
9645         (gst_segment_new), (gst_segment_free), (gst_segment_init),
9646         (gst_segment_set_duration), (gst_segment_set_last_stop),
9647         (gst_segment_set_seek), (gst_segment_set_newsegment),
9648         (gst_segment_to_stream_time), (gst_segment_to_running_time),
9649         (gst_segment_clip):
9650         * gst/gstsegment.h:
9651         Make binding friendly.
9652
9653 2005-11-21  Andy Wingo  <wingo@pobox.com>
9654
9655         * gst/gsttagsetter.h: 
9656         * gst/gsttaglist.h: 
9657         * gst/gststructure.h: 
9658         * gst/gstcaps.h: 
9659         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
9660         #319940.
9661
9662         * gst/gsterror.c (_gst_core_errors_init):
9663         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
9664         category.
9665
9666         * gst/Makefile.am (gst_headers): Add glib-compat.h.
9667         (noinst_HEADERS): noinst the -private.
9668
9669 2005-11-21  Michael Smith <msmith@fluendo.com>
9670
9671         * gst/gstplugin.h:
9672         * gst/gstregistry.h:
9673           Remove unimplemented declarations for which we can see no sensible
9674           use.
9675
9676 2005-11-21  Andy Wingo  <wingo@pobox.com>
9677
9678         * gst/gst.h: Include glib-compat.h.
9679
9680         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
9681
9682         * gst/glib-compat.c: Include the public and the private header.
9683
9684         * gst/glib-compat-private.h: Copied here from glib-compat.h.
9685
9686         * gst/gstvalue.c: 
9687         * gst/gstpad.c: 
9688         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
9689
9690         * check/gst/gstevent.c (create_custom_events): Check that
9691         FLUSH_STOP is serialized.
9692
9693         * check/elements/identity.c (event_func): 
9694         * check/elements/fakesrc.c (event_func): No stream lock, the core
9695         takes it.
9696
9697         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
9698         stream lock taking, yay.
9699
9700         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
9701         ensure that core takes the stream lock.
9702
9703         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
9704         lock name change.
9705
9706         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
9707         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
9708         it already. For the flush start we do take it though so we get the
9709         right preroll state change messages.
9710
9711         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
9712         the stream lock here, the core does it for us.
9713
9714         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
9715         GST_STREAM_GET_LOCK.
9716         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
9717         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
9718         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
9719         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
9720         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
9721         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
9722
9723         * gst/gstpad.c: Update for stream lock name change.
9724
9725         * gst/base/gstbasesink.c: Update for preroll lock name change.
9726
9727 2005-11-21  Wim Taymans  <wim@fluendo.com>
9728
9729         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
9730         (gst_clock_get_master):
9731         * gst/gstclock.h:
9732         * gst/gstsystemclock.c: (gst_system_clock_init):
9733         Convert Clock flags to object flags.
9734         Added methods to manage master/slave clocks.
9735
9736 2005-11-21  Wim Taymans  <wim@fluendo.com>
9737
9738         * check/gst/gstsegment.c: (GST_START_TEST):
9739         * docs/design/part-TODO.txt:
9740         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9741         (gst_base_sink_event), (gst_base_sink_do_sync),
9742         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
9743         (gst_base_sink_query), (gst_base_sink_change_state):
9744         * gst/base/gstbasesink.h:
9745         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
9746         (gst_base_src_default_newsegment),
9747         (gst_base_src_configure_segment), (gst_base_src_do_seek),
9748         (gst_base_src_get_range), (gst_base_src_loop),
9749         (gst_base_src_change_state):
9750         * gst/base/gstbasesrc.h:
9751         * gst/base/gstbasetransform.c:
9752         (gst_base_transform_prepare_output_buf),
9753         (gst_base_transform_event), (gst_base_transform_change_state):
9754         * gst/base/gstbasetransform.h:
9755         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
9756         (gst_collect_pads_event):
9757         * gst/base/gstcollectpads.h:
9758         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
9759         (gst_fake_src_create):
9760         * gst/elements/gstfakesrc.h:
9761         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
9762         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
9763         (gst_segment_set_last_stop), (gst_segment_set_seek),
9764         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
9765         (gst_segment_to_running_time), (gst_segment_clip):
9766         * gst/gstsegment.h:
9767         More segment updates, replace code in plugins with segment
9768         helper functions.
9769
9770 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
9771
9772         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
9773         Don't ignore sscanf results
9774
9775 2005-11-21  Andy Wingo  <wingo@pobox.com>
9776
9777         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
9778
9779         * *.h:
9780         * *.c: Ran scripts/update-macros. Oh yes.
9781
9782         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
9783         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
9784         GST_GET_LOCK, etc.
9785
9786         * scripts/update-macros: New script. Run it on your files to
9787         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
9788         well.
9789
9790 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
9791
9792         * docs/gst/Makefile.am:
9793         * docs/gst/gstreamer-docs.sgml:
9794         * docs/gst/gstreamer-sections.txt:
9795         * docs/gst/gstreamer.types:
9796         * gst/gstinfo.h:
9797           more docs fixes, add new api to the docs
9798
9799 2005-11-21  Andy Wingo  <wingo@pobox.com>
9800
9801         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
9802         state_broadcast call.
9803
9804         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
9805
9806 2005-11-21  Julien MOUTTE  <julien@moutte.net>
9807
9808         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
9809         function calls for arrays.
9810
9811 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
9812
9813         * docs/random/ensonic/media-device-daemon.txt:
9814           wild idea, can this be done?
9815         * docs/gst/gstreamer-sections.txt:
9816         * gst/gsterror.h:
9817         * gst/gstfilter.c:
9818         * gst/gstfilter.h:
9819         * gst/gstplugin.h:
9820         * gst/gstpluginfeature.c:
9821         * gst/gsttrace.c:
9822         * gst/gstvalue.c:
9823         * gst/gstvalue.h:
9824           doc fixes and additions
9825
9826 2005-11-21  Andy Wingo  <wingo@pobox.com>
9827
9828         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
9829         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
9830         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
9831         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
9832         private to the basesrc implementation.
9833
9834         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
9835         behalf of event function if necessary. It should no longer be
9836         necessary to take the stream lock in pad's event functions. Fixes
9837         #320299.
9838
9839 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
9840         * docs/gst/gstreamer-sections.txt:
9841         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
9842         (gst_structure_fixate_field_nearest_double),
9843         (gst_structure_fixate_field_boolean):
9844         * gst/gststructure.h:
9845         * win32/common/libgstreamer.def:
9846         * win32/gstreamer.def:
9847
9848         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
9849         (#322027)
9850
9851 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
9852
9853         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
9854         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
9855         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
9856         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
9857         (gst_fdsrc_uri_handler_init):
9858         * gst/elements/gstfdsrc.h:
9859           Port fd:// URI handler from 0.8 to fdsrc
9860
9861 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
9862
9863         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
9864         (gst_value_serialize_fourcc):
9865         * gst/gstvalue.h:
9866           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
9867           consistent with our other format defines (#320324).
9868
9869 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
9870
9871         * gst/gstvalue.c: (gst_value_is_fixed):
9872           Revert previous commit. Value lists are by definition
9873           not fixed, as they are a list of possible values.
9874
9875 2005-11-21  Andy Wingo  <wingo@pobox.com>
9876
9877         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
9878         during the stable series if we need it. Fixes #319178.
9879
9880         * gst/gstevent.c (gst_event_new_filler): Removed.
9881
9882         * check/gst/gstevent.c: Update comment about filler events.
9883
9884 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
9885
9886         * gst/gstvalue.c: (gst_value_is_fixed):
9887           Should handle both value arrays and value lists.
9888
9889 2005-11-21  Andy Wingo  <wingo@pobox.com>
9890
9891         patch by: Alessandro Dessina <alessandro nnva org>
9892
9893         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
9894         functions to access arrays. Fixes #321962.
9895
9896 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
9897
9898         * docs/gst/gstreamer.types:
9899           gst_collectpads_get_type => gst_collect_pads_get_type.
9900           
9901         * gst/base/gstbasetransform.c:
9902           Remove unused SIGNAL_HANDOFF enum.
9903
9904 2005-11-21  Andy Wingo  <wingo@pobox.com>
9905
9906         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
9907         the event type (upstream, downstream, serialized). Renamed
9908         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
9909         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
9910         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
9911
9912         * gst/gstevent.c: Update for new CUSTOM event names.
9913
9914         * check/gst/gstevent.c: Update check for new CUSTOM event names.
9915
9916         * gst/gstevent.h:
9917         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
9918         bug #319392.
9919
9920 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
9921
9922         * docs/gst/gstreamer-sections.txt:
9923         * win32/common/libgstbase.def:
9924         * win32/libgstbase.def:
9925         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9926         (gst_collect_pads_class_init), (gst_collect_pads_init),
9927         (gst_collect_pads_finalize), (gst_collect_pads_new),
9928         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
9929         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
9930         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
9931         (gst_collect_pads_start), (gst_collect_pads_stop),
9932         (gst_collect_pads_peek), (gst_collect_pads_pop),
9933         (gst_collect_pads_available), (gst_collect_pads_read),
9934         (gst_collect_pads_flush), (gst_collect_pads_event),
9935         (gst_collect_pads_chain):
9936         * gst/base/gstcollectpads.h:
9937           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
9938           unimplemented functions as unimplemented. Add padding to
9939           GstCollectData. (#320766, #320423)
9940
9941 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
9942
9943         * gst/gstmessage.c:
9944           Improve docs for DURATION message (usage of duration parameter)
9945           (#320113)
9946
9947 2005-11-20  Wim Taymans  <wim@fluendo.com>
9948
9949         * check/Makefile.am:
9950         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
9951         (main):
9952         * gst/Makefile.am:
9953         * gst/gst.h:
9954         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
9955         (gst_segment_set_seek), (gst_segment_set_newsegment),
9956         (gst_segment_to_stream_time), (gst_segment_to_running_time),
9957         (gst_segment_clip):
9958         * gst/gstsegment.h:
9959         Added segment helper structure and methods. Not fully implemented
9960         yet.
9961         Added segment check.
9962
9963 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
9964
9965         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9966           Add a deserialisation test for fractions
9967         * examples/metadata/read-metadata.c: (message_loop),
9968         (make_pipeline), (main):
9969           Fix up metadata reading sample.
9970         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
9971           Debug format fix
9972         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
9973           Don't try and fixate empty caps
9974         * gst/gst_private.h:
9975           Wrap in G_BEGIN_DECLS/G_END_DECLS
9976         * gst/gstvalue.c: (gst_value_collect_fraction),
9977         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
9978         (gst_value_transform_string_fraction),
9979         (gst_value_compare_fraction):
9980           Add some extra guards to ensure that we don't end up 
9981           with an invalid denominator of 0 in a gstfraction and
9982           that fractions always get reduced.
9983
9984 2005-11-20  Wim Taymans  <wim@fluendo.com>
9985
9986         * docs/gst/gstreamer-sections.txt:
9987         * gst/gstbuffer.h:
9988         * gst/gstelement.c:
9989         * gst/gstformat.c:
9990         * gst/gstformat.h:
9991         * gst/gstindex.h:
9992         * gst/gstquery.c:
9993         * gst/gstquery.h:
9994         * gst/gstvalue.c:
9995         Doc fixes.
9996
9997 2005-11-20  Wim Taymans  <wim@fluendo.com>
9998
9999         * docs/design/part-TODO.txt:
10000         * gst/gstcaps.h:
10001         Make a proper enum of the flag.
10002
10003 2005-11-19  Wim Taymans  <wim@fluendo.com>
10004
10005         * docs/design/part-TODO.txt:
10006         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
10007         (gst_format_to_quark), (gst_format_register):
10008         * gst/gstformat.h:
10009         * gst/gstquery.c: (_gst_query_initialize),
10010         (gst_query_type_get_name), (gst_query_type_to_quark),
10011         (gst_query_type_register):
10012         * gst/gstquery.h:
10013         Add type to quark and type to string conversions.
10014
10015 2005-11-19  Andy Wingo  <wingo@pobox.com>
10016
10017         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
10018         #320097.
10019
10020 2005-11-19  Wim Taymans  <wim@fluendo.com>
10021
10022         * docs/design/part-TODO.txt:
10023         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
10024         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
10025         (gst_bin_handle_message_func):
10026         * gst/gstbin.h:
10027         Make message handling overridable.
10028
10029 2005-11-19  Andy Wingo  <wingo@pobox.com>
10030
10031         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
10032
10033         * gst/gstclock.h:
10034         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
10035         be a GstClockTime.
10036         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
10037         is a GstClockTime. Fixes #321710.
10038
10039         * gst/gstclock.h (GstClock): Remove offset property. Add
10040         internal_calibration and external_calibration. Fix padding. Pad
10041         also by GstClockTime so we don't run into problems.
10042
10043         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
10044         (gst_clock_get_rate_offset): Remove.
10045         (gst_clock_set_time_adjust): Remove. Fixes #321712.
10046
10047         * gst/gstutils.h:
10048         * gst/gstutils.c (g_static_rec_cond_wait)
10049         (g_static_rec_cond_timed_wait): Removed, no longer needed.
10050
10051         * gst/gstbin.c: Remove terrible continue_state prototype.
10052
10053         * gst/gstelement.h (gst_element_continue_state): Make public.
10054
10055         * gst/gstelement.h:
10056         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
10057         by continue_state. Fixes #319389.
10058
10059         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
10060         Really fixes #168438. However I don't see anywhere where the
10061         filter function is called... stupid GStreamer...
10062         
10063         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
10064         don't have a dispose function, so it won't get called when the
10065         object is unreffed, but oh well!
10066
10067         * gst/gstindex.c (gst_index_set_filter_full): New API function,
10068         allows a destroy function to be set so user_data can be freed.
10069         Fixes #168438.
10070         (gst_index_set_filter): Call gst_index_set_filter_full.
10071
10072         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
10073
10074         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
10075         string should produce an error, given the lack of a way to
10076         represent NULL strings. Fixes #165650.
10077         
10078         * gst/gstvalue.h: 
10079         * gst/gstvalue.c (gst_value_array_append_value) 
10080         (gst_value_array_prepend_value, gst_value_array_get_size) 
10081         (gst_value_array_get_value): New API, copied from
10082         gst_value_list_*, only operates on arrays.
10083         (gst_value_list_append_value, gst_value_list_prepend_value) 
10084         (gst_value_list_concat, gst_value_list_get_size) 
10085         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
10086
10087         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
10088         init_list, because it works on both.
10089         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
10090         (gst_value_copy_list_or_array): Renamed from copy_list.
10091         (gst_value_free_list_or_array): Renamed from free_list.
10092         (gst_value_collect_list_or_array): Renamed from collect_list.
10093         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
10094         (gst_value_list_or_array_peek_pointer): Renamed from
10095         list_peek_pointer.
10096         (_gst_value_array_value_table, _gst_value_list_value_table):
10097         Update value table functions.
10098         (gst_value_compare_list_or_array): Renamed from compare_list.
10099
10100         * gsttaglist.h: Whoops, foreach function returns void. Also fix
10101         some constness.
10102
10103         * gst/gsttaglist.c:
10104         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
10105         GstTagList*. Fixes #143472.
10106
10107         * gst/gststructure.h: Clarify what the foreach/map functions can
10108         or can't do to their arguments.
10109
10110 2005-11-18  Wim Taymans  <wim@fluendo.com>
10111
10112         * gst/gstclock.c: (gst_clock_set_calibration),
10113         (gst_clock_get_calibration):
10114         Doc and API fixes.
10115         Calibration can be set with internal time equal to current
10116         internal time too.
10117
10118 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10119
10120         * gst/gsterror.c:
10121         * gst/gsterror.h:
10122           document
10123
10124 2005-11-18  Andy Wingo  <wingo@pobox.com>
10125
10126         * configure.ac: 
10127         * pkgconfig/gstreamer-net.pc.in:
10128         * pkgconfig/gstreamer-net-uninstalled.pc.in:
10129         * pkgconfig/Makefile.am: Add net pkgconfig files.
10130
10131 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
10132
10133         * gst/gstcaps.c:
10134         * gst/gstghostpad.c:
10135         * gst/gsttrace.c:
10136         * gst/gstvalue.c:
10137         * gst/gstvalue.h:
10138           docs fixes
10139
10140 2005-11-18  Andy Wingo  <wingo@pobox.com>
10141
10142         * gst/net/gstnetclientclock.c: Turn off debugging.
10143
10144         * check/net/gstnetclientclock.c (test_functioning): Assert that the
10145         times connverge somewhat. Can't make a real test.
10146
10147         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
10148         integer arithmetic. Return the minimum of the domain, which can be
10149         set as "internal" for gst_clock_set_calibration.
10150         (gst_net_client_clock_observe_times): Call _set_calibration.
10151         (gst_net_client_clock_new): Call _set_calibration instead of
10152         rate_offset.
10153
10154         * check/net/gstnetclientclock.c (test_functioning): Use the right
10155         adjustment api.
10156
10157         * gst/gstclock.h:
10158         * gst/gstclock.c (gst_clock_get_calibration) 
10159         (gst_clock_set_calibration): New functions, obsolete the ones I
10160         added yesterday. Doh. Precision issues mean we have to extrapolate
10161         from a point in the more recent past than 1970.
10162         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
10163         obsolete.
10164         (gst_clock_adjust_unlocked): Use the right calibration data.
10165
10166 2005-11-18  Edward Hervey  <edward@fluendo.com>
10167
10168         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
10169         Also reset the ->current_* values in READY->PAUSED
10170
10171 2005-11-18  Andy Wingo  <wingo@pobox.com>
10172
10173         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
10174         Whoops, check the right fd. Also add some debugging.
10175         (gst_net_client_clock_observe_times): Adjust for int64 offset.
10176         (do_linear_regression): Add a crapload of debugging. Subtract off
10177         the minimum values from the input series to discard unneeded bits.
10178         Use only int arithmetic. There is still double arithmetic when
10179         calculating the intercept that needs fixing. Return boolean to
10180         indicate success; FALSE would mean the domain or range is too
10181         great. Still needs fixes.
10182
10183 2005-11-18  Wim Taymans  <wim@fluendo.com>
10184
10185         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
10186         For the current position in stream time, we need to subtract
10187         accumulated time.
10188         
10189         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
10190         Release lock before calling the callback function of async
10191         entries.
10192
10193 2005-11-18  Andy Wingo  <wingo@pobox.com>
10194
10195         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
10196         Port goes all the way to MAXUINT16.
10197
10198         * gst/net/gstnettimeprovider.c: Make the port range the same as
10199         for the kernel: 0 assigns, otherwise ports are less than
10200         MAXUINT16.
10201
10202         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
10203         port change.
10204
10205         * check/net/gstnetclientclock.c (test_functioning): Add the start
10206         of another test. 
10207
10208 2005-11-18  Wim Taymans  <wim@fluendo.com>
10209
10210         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
10211         (gst_bin_remove_func), (bin_bus_handler):
10212         * gst/gstbin.h:
10213         Removing a clock provider from a bin, triggers a clock lost message
10214         so that a new clock will be selected.
10215         Adding a clock to a bin triggers a clock provider message.
10216         Make sure we reselect a clock when we received a clock lost message.
10217         Keep a reference to the element that provided the clock.
10218
10219 2005-11-18  Andy Wingo  <wingo@pobox.com>
10220
10221         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
10222         the clock initially so it produces values around the base time.
10223         (gst_net_client_clock_class_init): Typo fix.
10224         (gst_net_client_clock_thread): Add note on when the socket gets
10225         closed.
10226
10227 2005-11-17  Wim Taymans  <wim@fluendo.com>
10228
10229         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
10230         Free remote and local time arrays.
10231
10232 2005-11-17  Wim Taymans  <wim@fluendo.com>
10233
10234         * gst/net/gstnetclientclock.c: (do_linear_regression),
10235         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
10236         Fix compilation, uninitialized vars and a forgotten continue.
10237
10238 2005-11-17  Andy Wingo  <wingo@pobox.com>
10239
10240         * check/Makefile.am (check_PROGRAMS): 
10241         * check/net/gstnetclientclock.c: Add a most minimal test for the
10242         net client clock. More to come later.
10243
10244         * gst/net/gstnet.h: 
10245         * gst/net/Makefile.am: Add netclientclock.
10246
10247         * gst/net/gstnetclientclock.h:
10248         * gst/net/gstnetclientclock.c: New files, implement an untested
10249         GstClock that takes its time from a network time provider.
10250         Implements the algorithm in network-clock.scm.
10251
10252         * tests/network-clock.scm (*window-size*): Rename from
10253         *queue-length*.
10254         * tests/network-clock.scm (network-time): 
10255         * tests/network-clock-utils.scm (q-push): Update callers.
10256
10257 2005-11-17  Wim Taymans  <wim@fluendo.com>
10258
10259         * gst/gstbin.c: (gst_bin_provide_clock_func),
10260         (gst_bin_sort_iterator_new):
10261         And unref the child too..
10262
10263 2005-11-17  Wim Taymans  <wim@fluendo.com>
10264
10265         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
10266         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
10267         Refactor the sort iterator so it can be used while holding the
10268         LOCK too.
10269         Make clock selection select a clock closest to the source.
10270
10271 2005-11-17  Michael Smith <msmith@fluendo.com>
10272
10273         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
10274         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
10275         * gst/gstclock.h:
10276           Anonymous structs are a gcc (and some other compilers) extension, so
10277           don't use them. Since this is only for ABI-compatibility, and our
10278           API/ABI freeze is over in a few days, this whole thing will only
10279           last a few days, so don't bother trying to think up a meaningful
10280           name for the struct.
10281
10282 2005-11-17  Andy Wingo  <wingo@pobox.com>
10283
10284         * gst/gstclock.h (GstClock): Add rate and offset properties,
10285         preserving ABI stability. Add rate/offset accessors. Will file bug
10286         for the freeze break.
10287
10288         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
10289         and offset, trying to keep precision and avoiding
10290         underflow/overflow.
10291         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
10292         functions. Make gst_clock_set_time_adjust obsolete.
10293         (gst_clock_set_time_adjust): Note that this function is obsolete.
10294         Will file bug soon.
10295
10296         * gst/base/gstbasetransform.h: Make the ABI-stability hack
10297         greppable by using GST_PADDING-1+1.
10298
10299 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
10300
10301         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10302
10303         * gst/gstmessage.c: (gst_message_parse_clock_lost):
10304           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
10305
10306         * gst/gstpadtemplate.h:
10307         * gst/gstpluginfeature.h:
10308           Don't use c++ style comments in headers (#321638).
10309
10310 2005-11-16  Andy Wingo  <wingo@pobox.com>
10311
10312         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
10313         buffer.
10314
10315         * check/net/gstnettimeprovider.c: Check to see that the time
10316         provider actually provides times. Works, yo!
10317
10318 2005-11-16  Wim Taymans  <wim@fluendo.com>
10319
10320         * check/Makefile.am:
10321         Enable more tests.
10322
10323         * check/elements/fakesrc.c: (GST_START_TEST):
10324         Set element to NULL before disposing it.
10325
10326 2005-11-16  Andy Wingo  <wingo@pobox.com>
10327
10328         * gst/net/Makefile.am:
10329         * gst/net/gstnet.h:
10330         * gst/net/gstnettimeprovider.c: 
10331         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
10332         provider, include it from gstnet.h, and add it to the build.
10333
10334         * gst/net/gstnettimepacket.h: 
10335         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
10336         sending and receiving.
10337
10338 2005-11-16  Wim Taymans  <wim@fluendo.com>
10339
10340         * check/Makefile.am:
10341         Enable valgrind check.
10342
10343         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
10344         (gst_fake_src_alloc_buffer):
10345         Fix memleak.
10346
10347 2005-11-16  Wim Taymans  <wim@fluendo.com>
10348
10349         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
10350         Call parent finalize too.
10351
10352 2005-11-16  Wim Taymans  <wim@fluendo.com>
10353
10354         * check/Makefile.am:
10355         Enable valgrind check that should work fine now.
10356
10357         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
10358         * gst/gstqueue.c: (gst_queue_init):
10359         Fix memleaks in pad allocation.
10360
10361 2005-11-16  Andy Wingo  <wingo@pobox.com>
10362
10363         * gst/net/Makefile.am:
10364         * gst/net/gstnet.h: New part of core to hold network elements and
10365         objects. Put in core because it exposes API that applications want
10366         to use. The library is named libgstnet-tempname right now because
10367         of the existing libgstnet in gst-plugins-base. Solution is
10368         probably to rename the one in plugins-base; will file a bug for
10369         the freeze break.
10370
10371         * gst/net/gstnettimeprovider.c: 
10372         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
10373         get_time call over the network.
10374
10375         * configure.ac: 
10376         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
10377
10378         * check/Makefile.am:
10379         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
10380         get additions shortly.
10381
10382 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10383
10384         * gst/gstpad.c: (gst_pad_new_from_static_template):
10385         * gst/gstpad.h:
10386           add gst_pad_new_from_static_template functions
10387         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
10388         (gst_check_setup_sink_pad):
10389         * gst/elements/gsttee.c: (gst_tee_init):
10390           and use them
10391
10392 2005-11-16  Wim Taymans  <wim@fluendo.com>
10393
10394         * gst/gstpad.c: (gst_pad_pause_task):
10395         Removed warning, it's not really an error either.
10396
10397 2005-11-16  Wim Taymans  <wim@fluendo.com>
10398
10399         * gst/base/gstbasetransform.c:
10400         (gst_base_transform_prepare_output_buf),
10401         (gst_base_transform_event):
10402         Check if the caps are NULL, this can happen if the element
10403         is shutting down and the pad caps are set to NULL.
10404
10405 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10406
10407         * gst/elements/gsttee.c: (gst_tee_init):
10408           fix pad template leak in tee
10409
10410 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10411
10412         * gst/glib-compat.c: (g_value_dup_gst_object):
10413         * gst/glib-compat.h:
10414         * gst/gstpad.c: (gst_pad_set_property):
10415           use gst_object_ref when setting the pad template; this will
10416           trigger the pad template leaks on GLib 2.6 and the slaves
10417
10418 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10419
10420         * gst/glib-compat.c: (gst_flags_get_first_value):
10421         * gst/glib-compat.h:
10422         * gst/gstregistryxml.c:
10423           remove functions copied from GLib 2.6
10424
10425 2005-11-16  Michael Smith <msmith@fluendo.com>
10426
10427         * gst/Makefile.am:
10428           Don't link against VALGRIND_LIBS. That was always the wrong thing to
10429           do, but only breaks with newer valgrind versions. We're not a
10430           valgrind tool, we have no link-time dependencies on libcoregrind.
10431
10432 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10433
10434         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
10435           some debug changes
10436         * gst/gstmessage.h:
10437           typo fixes
10438
10439 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10440
10441         * gst/base/gstbasesrc.c: (gst_base_src_init):
10442         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
10443         * gst/gstqueue.c: (gst_queue_init):
10444         * gst/gstregistryxml.c: (load_feature):
10445           Revert all these unrefs, they don't even pass make check !
10446
10447 2005-11-15  Johan Dahlin  <johan@gnome.org>
10448
10449         * gst/base/gstbasesrc.c: (gst_base_src_init):
10450         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
10451         * gst/gstqueue.c: (gst_queue_init): 
10452         Free pad templates, fixes a couple of leaks.
10453
10454 2005-11-15  Daniel Fischer  <dan at f3c dot com>
10455
10456         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10457
10458         * gst/gstpad.c: (gst_pad_get_property):
10459           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
10460           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
10461           (#321452)
10462
10463 2005-11-15  Wim Taymans  <wim@fluendo.com>
10464
10465         * gst/gstevent.c:
10466         Small doc update.
10467
10468 2005-11-15  Andy Wingo  <wingo@pobox.com>
10469
10470         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
10471
10472         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
10473         using GST_CLOCK_TIME_NONE to disable base time management.
10474         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
10475         time if it was NONE before.
10476         (gst_pipeline_change_state): Only munge the base time if
10477         stream_time != GST_CLOCK_TIME_NONE.
10478
10479         * check/gst/gstpipeline.c (test_base_time): Punt around the
10480         problem of the probe not being called, because that's not the
10481         issue I'm looking at. Add a check that setting stream_time to NONE
10482         disables base time management.
10483         
10484 2005-11-15  Wim Taymans  <wim@fluendo.com>
10485
10486         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
10487         segment_stop == -1 at startup.
10488
10489         * gst/base/gstbasetransform.c: (gst_base_transform_event),
10490         (gst_base_transform_change_state):
10491         Init segment values at start.
10492
10493 2005-11-15  Wim Taymans  <wim@fluendo.com>
10494
10495         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10496         0 segment values are 0 in any format.
10497
10498         * gst/base/gstbasetransform.c: (gst_base_transform_event):
10499         * gst/base/gstbasetransform.h:
10500         Parse newsegment correctly in basetransform
10501
10502         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
10503         Sync to clock using updated segment values.
10504
10505 2005-11-15  Andy Wingo  <wingo@pobox.com>
10506
10507         * check/gst/gstpipeline.c (test_base_time): Add check that the
10508         base time and stream time are reset correctly.
10509
10510 2005-11-15  Wim Taymans  <wim@fluendo.com>
10511
10512         * docs/design/part-TODO.txt:
10513         Some more TODO items.
10514
10515 2005-11-15  Andy Wingo  <wingo@pobox.com>
10516
10517         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
10518         error if the user selected "no clock" as the clocking method.
10519
10520         * check/gst/gstpipeline.c (test_base_time): New test for buffer
10521         timestamps with live capture.
10522
10523         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
10524         is 0 but we are a live source, timestamp the buffers using the
10525         element's clock.
10526
10527 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
10528
10529         * docs/gst/gstreamer-sections.txt:
10530         * gst/gsterror.c:
10531         * gst/gstghostpad.c:
10532         * gst/gstobject.h:
10533         * gst/gstxml.c:
10534           more section docs
10535
10536 2005-11-14  Wim Taymans  <wim@fluendo.com>
10537
10538         * common/gst.supp:
10539           add suppressions from Wim's Debian machine
10540
10541 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10542
10543         * common/gst.supp:
10544           add suppressions from Andy's AMD64 Ubuntu machine
10545
10546 2005-11-14  Andy Wingo  <wingo@pobox.com>
10547
10548         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
10549         STATE_LOCK not necessary. Fixes #311489.
10550
10551         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
10552         #305291.
10553
10554         * gst/gstindex.c (gst_index_add_object): Note in the docs that
10555         this function is not implemented.
10556
10557 2005-11-14  Julien MOUTTE  <julien@moutte.net>
10558
10559         * gst/base/gstbasetransform.c:
10560         (gst_base_transform_prepare_output_buf):
10561         Ref the source pad caps while we need them.
10562         Fixes (#321386)
10563
10564 2005-11-11  Wim Taymans  <wim@fluendo.com>
10565
10566         * docs/gst/gstreamer-sections.txt:
10567         Added some docs for GstCollectData.
10568
10569         * gst/base/gstadapter.c:
10570         Some small code example fix.
10571
10572         * gst/base/gstcollectpads.c:
10573         * gst/base/gstcollectpads.h:
10574         Document some more.
10575
10576 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10577
10578         * configure.ac: back to HEAD
10579
10580 === release 0.9.5 ===
10581
10582 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
10583
10584         * configure.ac:
10585           releasing 0.9.5, "Bike Lunch Day"
10586
10587 2005-11-11  Wim Taymans  <wim@fluendo.com>
10588
10589         * gst/gstbuffer.c: (_gst_buffer_copy):
10590         Copy more flags.
10591
10592         * gst/gstcaps.c: (gst_caps_is_equal):
10593         Fix some docs.
10594         Make _is_equal fast in the trivial cases.
10595
10596         * gst/gstminiobject.c:
10597         * gst/gstminiobject.h:
10598         More docs. Spifify .h file.
10599
10600         * gst/gstutils.c:
10601         Small doc update.
10602
10603 2005-11-11  Wim Taymans  <wim@fluendo.com>
10604
10605         * gst/base/gstbasetransform.c:
10606         (gst_base_transform_prepare_output_buf),
10607         (gst_base_transform_handle_buffer):
10608         Small cleanups.
10609         If we're processing a buffer and need to allocate an output
10610         buffer, we cannot accept a format change. If we did get a 
10611         format change, we have to alloc a buffer ourselves of the 
10612         right size.
10613
10614 2005-11-11  Wim Taymans  <wim@fluendo.com>
10615
10616         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
10617         While checking the flag for reentrancy in the gstcaps function
10618         is nice to detect recursive invocations, it also makes it 
10619         impossible to call getcaps from multiple threads, which must be
10620         possible. So, checking for recursive calls has to go.
10621
10622 2005-11-11  Michael Smith <msmith@fluendo.com>
10623
10624         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
10625           Don't sync on buffers that fall partially outside our current
10626           segment. Prevents an assertion failure/abort playing some files.
10627
10628 2005-11-10  Andy Wingo  <wingo@pobox.com>
10629
10630         * check/gst/gstbin.c (test_message_state_changed_children): Style
10631         fix..
10632
10633         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
10634         gst_bus_poll with the signal watch. Ensures that poll and a signal
10635         watch see the same messages.
10636
10637         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
10638         a poll and a watch at the same time get the same messages.
10639
10640 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10641
10642         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
10643         * gst/gstcaps.c: (gst_caps_intersect):
10644           Don't call gst_caps_do_simplify - it doesn't respect order of caps
10645           and it's not needed.
10646
10647 2005-11-10  Wim Taymans  <wim@fluendo.com>
10648
10649         * docs/design/part-TODO.txt:
10650         Updated todo.
10651
10652 2005-11-10  Wim Taymans  <wim@fluendo.com>
10653
10654         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
10655         * gst/base/gstbasesrc.c: (gst_base_src_wait),
10656         (gst_base_src_do_sync), (gst_base_src_get_range):
10657         Implement clock sync in base class.
10658
10659 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10660
10661         patch by: Tim-Philipp Müller <tim at centricular dot net>
10662
10663         * gst/gststructure.c: (gst_structure_parse_field),
10664         (gst_structure_from_string):
10665           Forward-port a 0.8 patch to handle escaped spaces in structure string,
10666           so that gst_parse_launch() can deal with spaces in filtered link
10667           caps (fixes #164479)
10668         * check/gst/capslist.h:
10669         * check/gst/gststructure.c: (GST_START_TEST):
10670           add unit tests for this change
10671
10672 2005-11-10  Wim Taymans  <wim@fluendo.com>
10673
10674         * docs/gst/gstreamer-sections.txt:
10675         * gst/gstelement.c:
10676         * gst/gstelement.h:
10677         Fix docs, move some STATE macros to private.
10678
10679 2005-11-10  Wim Taymans  <wim@fluendo.com>
10680
10681         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
10682         Added check for bug #317341
10683
10684         * gst/gstbuffer.c:
10685         * gst/gstbuffer.h:
10686         Some more spiffifying.
10687
10688         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
10689         Call peer linkfunction if we are a source pad. Totally fixes
10690         #317341
10691
10692         * gst/gstpad.c:
10693         Update docs, source pads should call the peer linkfunction
10694         so they can atomically perform the pad link.
10695
10696 2005-11-09  Wim Taymans  <wim@fluendo.com>
10697
10698         * gst/gstbuffer.c:
10699         * gst/gstbuffer.h:
10700         Uber-spiffy-spiffify some more.
10701
10702 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
10703
10704         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
10705         * gst/elements/gstfilesink.c: (gst_file_sink_init):
10706         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
10707         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
10708         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
10709         * gst/gstpad.c: (gst_pad_init):
10710           Use GST_DEBUG_FUNCPTR() more extensively.
10711
10712 2005-11-09  Wim Taymans  <wim@fluendo.com>
10713
10714         * gst/gstobject.c: (gst_object_class_init):
10715         * gst/gstobject.h:
10716         Documentation fixes.
10717
10718 2005-11-09  Edward Hervey  <edward@fluendo.com>
10719
10720         * gst/gsttypefindfactory.c:
10721         Fix docs.
10722         
10723 2005-11-09  Edward Hervey  <edward@fluendo.com>
10724
10725         * gst/base/gsttypefindhelper.c:
10726         * gst/gsttypefind.c:
10727         * gst/gsttypefind.h:
10728         Fix docs.
10729
10730 2005-11-09  Wim Taymans  <wim@fluendo.com>
10731
10732         * gst/gstiterator.c:
10733         Fix revision data.
10734
10735         * gst/gsttask.c:
10736         * gst/gsttask.h:
10737         Fix docs.
10738
10739 2005-11-09  Wim Taymans  <wim@fluendo.com>
10740
10741         * gst/gstevent.h:
10742         * gst/gsturi.h:
10743         Fix docs.
10744
10745 2005-11-09  Wim Taymans  <wim@fluendo.com>
10746
10747         * docs/gst/gstreamer-sections.txt:
10748         Moved the message async delivery private lock and cond
10749         to the private section.
10750
10751         * gst/gstmessage.c:
10752         * gst/gstmessage.h:
10753         Fixed docs.
10754
10755 2005-11-09  Edward Hervey  <edward@fluendo.com>
10756
10757         * docs/gst/gstreamer-sections.txt:
10758         * gst/gsturi.c:
10759         * gst/gsturi.h:
10760         Document GstURIHandler
10761
10762 2005-11-09  Wim Taymans  <wim@fluendo.com>
10763
10764         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
10765         (gst_iterator_find_custom):
10766         * gst/gstiterator.h:
10767         Fix iterator docs.
10768
10769 2005-11-09  Wim Taymans  <wim@fluendo.com>
10770
10771         * gst/gstbin.h:
10772         Document another field.
10773
10774         * gst/gststructure.c:
10775         * gst/gststructure.h:
10776         Document.
10777
10778 2005-11-09  Wim Taymans  <wim@fluendo.com>
10779
10780         * gst/gstbin.h:
10781         Documented structs.
10782
10783 2005-11-09  Wim Taymans  <wim@fluendo.com>
10784
10785         * docs/gst/gstreamer-sections.txt:
10786         Added some new macros.
10787
10788         * gst/gstclock.c:
10789         * gst/gstclock.h:
10790         * gst/gstobject.h:
10791         Docs updates.
10792
10793 2005-11-09  Wim Taymans  <wim@fluendo.com>
10794
10795         * docs/design/part-TODO.txt:
10796         Some more items for the TODO
10797
10798         * gst/gstcaps.c:
10799         * gst/gstcaps.h:
10800         Document GstCaps.
10801
10802 2005-11-09  Andy Wingo  <wingo@pobox.com>
10803
10804         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
10805         to work on something else now tho...
10806
10807         * gst/base/gstadapter.c: More adapter docs.
10808
10809         * gst/elements/gstfilesink.c (gst_file_sink_start) 
10810         (gst_file_sink_stop): New functions, replace the state change
10811         handler.
10812         (gst_file_sink_class_init): Hook up the start and stop functions.
10813         (gst_file_sink_base_init): Don't set the state change handler any
10814         more. It was a bit ugly too, being set from here...
10815         (gst_file_sink_get_property, gst_file_sink_set_property):
10816         Cleanups...
10817         (gst_file_sink_set_location): More robust check that doesn't call
10818         GST_STATE. Ugggggg.
10819
10820 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
10821
10822         * gst/base/gstbasetransform.c: (gst_base_transform_event):
10823           Hold STREAM_LOCK while pushing newsegment or tag events as well.
10824
10825 2005-11-08  Wim Taymans  <wim@fluendo.com>
10826
10827         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
10828         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
10829         (gst_base_sink_chain), (gst_base_sink_change_state):
10830         * gst/base/gstbasesink.h:
10831         * gst/base/gstbasesrc.h:
10832         * gst/gstelement.h:
10833         * gst/gstevent.h:
10834         Avoid excessive typechecking in macros.
10835
10836         * gst/gstminiobject.c: (gst_mini_object_get_type),
10837         (gst_mini_object_init), (gst_mini_object_new),
10838         (gst_mini_object_free):
10839         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
10840         (gst_object_finalize):
10841         Remove cruft code, optimize alloc_trace.
10842
10843 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10844
10845         * docs/faq/gst-uninstalled:
10846           fix up PS1 for systems that try to reset it
10847
10848 2005-11-07  Wim Taymans  <wim@fluendo.com>
10849
10850         * gst/base/gstbasesrc.c: (gst_base_src_init),
10851         (gst_base_src_get_range):
10852         Set the segment_end to -1 initially. Fixed typefind.
10853
10854 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
10855
10856         * gst/base/gstadapter.c:
10857           Debug category should be 'adapter', not 'GstAdapter'.
10858           
10859         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
10860         (gst_collectpads_class_init), (gst_collectpads_init),
10861         (gst_collectpads_peek), (gst_collectpads_pop),
10862         (gst_collectpads_event), (gst_collectpads_chain):
10863           Add debug category and some debugging output. Use boilerplate
10864           macros. Remove some extraneous words from docs.
10865
10866 2005-11-05  Andy Wingo  <wingo@pobox.com>
10867
10868         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
10869         macro.
10870
10871 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
10872
10873         * docs/gst/gstreamer-sections.txt:
10874         * gst/gstcaps.h:
10875         * gst/gstinfo.c:
10876         * gst/gstminiobject.h:
10877         * gst/gstobject.h:
10878         * gst/gstutils.h:
10879           more docs added
10880
10881 2005-11-04  Wim Taymans  <wim@fluendo.com>
10882
10883         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10884         Small update to stop at the configured segment_end
10885         position.
10886
10887 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
10888
10889         * gst/gstregistry.c:
10890         * gst/gstregistry.h:
10891           added missing docs
10892
10893 2005-11-04  Edward Hervey  <edward@fluendo.com>
10894
10895         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10896         Check if we are doing a segment seek and have arrived at the
10897         end of that segment.
10898
10899 2005-11-04  Wim Taymans  <wim@fluendo.com>
10900
10901         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
10902         Don't leak a mutex unlock in case of an error.
10903
10904         * gst/gstbus.h:
10905         Doc fixes.
10906
10907 2005-11-04  Wim Taymans  <wim@fluendo.com>
10908
10909         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
10910         (gst_bus_post):
10911         Get the context to wake up only once.
10912
10913 2005-11-03  Wim Taymans  <wim@fluendo.com>
10914
10915         * check/states/sinks.c: (GST_START_TEST):
10916         Uncomment fixed check.
10917
10918         * docs/design/part-TODO.txt:
10919         Updated TODO.
10920
10921         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10922         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
10923         (gst_base_sink_get_position):
10924         If we are going to PLAYING, post the right pending state
10925         when we post the intermediate paused message.
10926
10927         * gst/gstelement.c: (gst_element_continue_state),
10928         (gst_element_set_state_func), (gst_element_change_state):
10929         Don't post state changes that were between the same state
10930         and were not ASYNC.
10931
10932 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
10933
10934         * docs/gst/gstreamer-sections.txt:
10935         * gst/gstcaps.h:
10936         * gst/gstinfo.c:
10937         * gst/gstminiobject.h:
10938         * gst/gstobject.h:
10939         * gst/gstutils.h:
10940           more docs and doc style fixes
10941
10942 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
10943
10944         * docs/gst/gstreamer-sections.txt:
10945         * gst/gstelement.c:
10946         * gst/gstminiobject.c:
10947         doc fixes
10948
10949 2005-11-03  Andy Wingo  <wingo@pobox.com>
10950
10951         * check/states/sinks.c (test_livesrc_sink): Add checks that the
10952         state-changed messages actually have the right order and the right
10953         values.
10954
10955 2005-11-03  Wim Taymans  <wim@fluendo.com>
10956
10957         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
10958         Added some more checks. Specifically the case where NO_PREROLL
10959         elements are in the pipeline.
10960
10961         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
10962         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
10963         (gst_base_sink_get_position):
10964         Post READY->PAUSED state change messages too.
10965         Fix bug where VOID was posted as pending state...
10966
10967         * gst/gstbin.c: (gst_bin_recalc_state):
10968         use _element_continue_state() to continue the state change.
10969
10970         * gst/gstelement.c: (gst_element_continue_state),
10971         (gst_element_commit_state), (gst_element_set_state_func),
10972         (gst_element_change_state), (gst_element_change_state_func):
10973         Lots of state change cleanups, assign the STATE_RETURN in
10974         a new continue_state() function that also propagates the
10975         last return value from a state change to the app.
10976         Update some debug statements with proper category.
10977
10978 2005-11-03  Wim Taymans  <wim@fluendo.com>
10979
10980         * docs/design/part-events.txt:
10981         * docs/design/part-gstpipeline.txt:
10982         * docs/design/part-messages.txt:
10983         * docs/design/part-overview.txt:
10984         * docs/design/part-seeking.txt:
10985         * docs/design/part-states.txt:
10986         * docs/design/part-trickmodes.txt:
10987         * docs/manual/advanced-position.xml:
10988         Small docs updates.
10989
10990         * gst/gstobject.h:
10991         People think !! is ugly, this looks better.
10992
10993         * gst/gstpad.c: (gst_pad_set_blocked_async):
10994         Remove !! since it's fixed elsewhere now.
10995
10996 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
10997
10998         * gst/gstminiobject.h:
10999         * gst/gstobject.h:
11000           Add !! to _FLAG_IS_SET macros to make the result boolean.
11001
11002 2005-11-03  Edward Hervey  <edward@fluendo.com>
11003
11004         * gst/gstpad.c: (gst_pad_set_blocked_async):
11005         comparing a flag and a gboolean rarely returns coherent results...
11006         Added two characters (!!) to make that work correctly.
11007         
11008 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
11009
11010         * gst/gstbus.c: (gst_bus_class_init):
11011           Fix some typos.
11012           
11013         * gst/gstqueue.c: (gst_queue_loop):
11014           Don't assume a miniobject that isn't a buffer is an
11015           event (it could be that there is a refcounting
11016           problem somewhere and the pointer is stale and
11017           refers to an already destroyed miniobject).
11018
11019 2005-11-03  Julien MOUTTE  <julien@moutte.net>
11020
11021         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
11022
11023 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
11024
11025         * docs/manual/advanced-position.xml:
11026           Update seek example and explanations to current 0.9 API.
11027
11028         * gst/elements/gsttypefindelement.c:
11029         (gst_type_find_element_activate):
11030           Remove FIXME comment now that the found caps
11031           are unreffed.
11032
11033 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11034
11035         * gst/gstregistryxml.c: (load_feature):
11036           Add another GST_STR_NULL instance
11037
11038 2005-11-02  Edward Hervey  <edward@fluendo.com>
11039
11040         * gst/gstpad.c: (handle_pad_block):
11041         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
11042         
11043 2005-11-02  Wim Taymans  <wim@fluendo.com>
11044
11045         * gst/gstbin.c:
11046         Fix typo in docs.
11047
11048         * gst/gstelement.c: (gst_element_commit_state):
11049         Remove unused value.
11050
11051         * gst/gstiterator.c:
11052         Mention that the returned element is reffed in the docs.
11053
11054 2005-11-02  Wim Taymans  <wim@fluendo.com>
11055
11056         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
11057         (gst_pad_push), (gst_pad_push_event):
11058         Unlock blocked pads when they are flushed.
11059
11060 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11061
11062         * docs/README:
11063         * docs/gst/gstreamer-sections.txt:
11064         * gst/gstbin.c:
11065           doc updates
11066         * gst/gstregistry.c: (gst_registry_scan_path_level):
11067           fix for a nasty little missed situation where an installed plug-in
11068           which was in the cache did not get overridden by an uninstalled one
11069           which was earlier in the plugin path because the newly created plugin
11070           for the uninstalled one (not in the registry) didn't get its
11071           ->registered set to TRUE
11072
11073 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11074
11075         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
11076         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
11077         (gst_collectpads_is_active), (gst_collectpads_collect),
11078         (gst_collectpads_collect_range), (gst_collectpads_start),
11079         (gst_collectpads_stop), (gst_collectpads_peek),
11080         (gst_collectpads_pop), (gst_collectpads_available),
11081         (gst_collectpads_read), (gst_collectpads_flush):
11082           Guard public API with assertions.
11083         
11084         * gst/gstpad.c:
11085           Fix docs for gst_pad_set_link_function().
11086
11087 2005-11-02  Johan Dahlin  <johan@gnome.org>
11088
11089         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
11090         Unref found_caps after we used it.
11091
11092 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11093
11094         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
11095           Don't try to ref NULL.
11096
11097 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11098
11099         * win32/common/config.h.in:
11100           provide a GST_FUNCTION that just gives a string for now
11101
11102 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11103
11104         * win32/common/gstenumtypes.c: (register_gst_object_flags),
11105         (gst_object_flags_get_type), (register_gst_bin_flags),
11106         (gst_bin_flags_get_type), (register_gst_buffer_flag),
11107         (gst_buffer_flag_get_type), (register_gst_bus_flags),
11108         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
11109         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
11110         (gst_clock_return_get_type), (register_gst_clock_entry_type),
11111         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
11112         (gst_clock_flags_get_type), (register_gst_state),
11113         (gst_state_get_type), (register_gst_state_change_return),
11114         (gst_state_change_return_get_type), (register_gst_state_change),
11115         (gst_state_change_get_type), (register_gst_element_flags),
11116         (gst_element_flags_get_type), (register_gst_core_error),
11117         (gst_core_error_get_type), (register_gst_library_error),
11118         (gst_library_error_get_type), (register_gst_resource_error),
11119         (gst_resource_error_get_type), (register_gst_stream_error),
11120         (gst_stream_error_get_type), (register_gst_event_type),
11121         (gst_event_type_get_type), (register_gst_seek_type),
11122         (gst_seek_type_get_type), (register_gst_seek_flags),
11123         (gst_seek_flags_get_type), (register_gst_format),
11124         (gst_format_get_type), (register_gst_index_certainty),
11125         (gst_index_certainty_get_type), (register_gst_index_entry_type),
11126         (gst_index_entry_type_get_type),
11127         (register_gst_index_lookup_method),
11128         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
11129         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
11130         (gst_index_resolver_method_get_type), (register_gst_index_flags),
11131         (gst_index_flags_get_type), (register_gst_debug_level),
11132         (gst_debug_level_get_type), (register_gst_debug_color_flags),
11133         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
11134         (gst_iterator_result_get_type), (register_gst_iterator_item),
11135         (gst_iterator_item_get_type), (register_gst_message_type),
11136         (gst_message_type_get_type), (register_gst_mini_object_flags),
11137         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
11138         (gst_pad_link_return_get_type), (register_gst_flow_return),
11139         (gst_flow_return_get_type), (register_gst_activate_mode),
11140         (gst_activate_mode_get_type), (register_gst_pad_direction),
11141         (gst_pad_direction_get_type), (register_gst_pad_flags),
11142         (gst_pad_flags_get_type), (register_gst_pad_presence),
11143         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
11144         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
11145         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
11146         (gst_plugin_error_get_type), (register_gst_plugin_flags),
11147         (gst_plugin_flags_get_type), (register_gst_rank),
11148         (gst_rank_get_type), (register_gst_query_type),
11149         (gst_query_type_get_type), (register_gst_tag_merge_mode),
11150         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
11151         (gst_tag_flag_get_type), (register_gst_task_state),
11152         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
11153         (gst_alloc_trace_flags_get_type),
11154         (register_gst_type_find_probability),
11155         (gst_type_find_probability_get_type), (register_gst_uri_type),
11156         (gst_uri_type_get_type), (register_gst_parse_error),
11157         (gst_parse_error_get_type):
11158         * win32/common/gstversion.h:
11159           update win32 copies
11160
11161 2005-11-01  Luca Ognibene  <luogni@tin.it>
11162
11163         * gst/gst.c:
11164           fix docs. popt is dead, long live GOption.
11165
11166 2005-10-31  Wim Taymans  <wim@fluendo.com>
11167
11168         * gst/gstbuffer.h:
11169         Small doc fix.
11170
11171 2005-10-31  Andy Wingo  <wingo@pobox.com>
11172
11173         * Boo!
11174
11175         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
11176
11177         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
11178         need to serialize property notifications on GLib 2.8. GLib 2.6 has
11179         the possibility of deadlocks here if code calling notify() or
11180         set() has a lock that can be taken in another notify handler (ABBA
11181         with class lock and e.g. python GIL state lock).
11182
11183 2005-10-28  Julien MOUTTE  <julien@moutte.net>
11184
11185         * gst/gstbus.c: Doc updates.
11186
11187 2005-10-28  Wim Taymans  <wim@fluendo.com>
11188
11189         * docs/design/part-TODO.txt:
11190         * gst/gstiterator.c:
11191         * gst/gstsystemclock.c:
11192         * gst/gstsystemclock.h:
11193         Doc updates.
11194
11195 2005-10-28  Edward Hervey  <edward@fluendo.com>
11196
11197         * docs/gst/gstreamer-docs.sgml:
11198         * docs/gst/gstreamer-sections.txt:
11199         the GstURIType documentation page is private, it only defines GstURIType
11200         which should be defined in the GstURIHandler page
11201         
11202 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11203
11204         * gst/gstbin.c: (gst_bin_class_init):
11205         * gst/gstbin.h:
11206         * gst/gstutils.c:
11207         Documentation updates.
11208
11209 2005-10-28  Wim Taymans  <wim@fluendo.com>
11210
11211         * docs/gst/gstreamer-sections.txt:
11212         * gst/gstclock.c:
11213         * gst/gstclock.h:
11214         Documented the clocks.
11215
11216 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
11217
11218         * docs/gst/gstreamer-sections.txt:
11219           move some macros to private sections
11220         * gst/gstminiobject.c:
11221         * gst/gstminiobject.h:
11222           add descriptions provided by ds and some more
11223         * gst/gstpad.h:
11224           mark macro as to be removed
11225
11226 2005-10-28  Wim Taymans  <wim@fluendo.com>
11227
11228         * docs/design/part-TODO.txt:
11229         Add an item to TODO.
11230
11231         * gst/gstiterator.c: (gst_iterator_fold),
11232         (gst_iterator_find_custom):
11233         * gst/gstiterator.h:
11234         Add iterator docs.
11235
11236 2005-10-28  Wim Taymans  <wim@fluendo.com>
11237
11238         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11239         (gst_base_transform_init):
11240         Don't leak class.
11241
11242         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
11243         An EOS event marks the queue as completely filled.
11244
11245 2005-10-27  Wim Taymans  <wim@fluendo.com>
11246
11247         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11248         (gst_base_sink_do_sync), (gst_base_sink_get_position):
11249         Some more debugging.
11250
11251         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
11252         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
11253         (gst_base_transform_event), (gst_base_transform_getrange),
11254         (gst_base_transform_chain):
11255         * gst/base/gstbasetransform.h:
11256         Fix debugging,
11257         Protect transform and concurrent buffer alloc with a new lock.
11258         Try not to break ABI/API.
11259
11260 2005-10-27  Wim Taymans  <wim@fluendo.com>
11261
11262         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11263         (gst_base_src_init), (gst_base_src_query),
11264         (gst_base_src_default_newsegment),
11265         (gst_base_src_configure_segment), (gst_base_src_do_seek),
11266         (gst_base_src_send_event), (gst_base_src_event_handler),
11267         (gst_base_src_pad_get_range), (gst_base_src_loop),
11268         (gst_base_src_unlock), (gst_base_src_default_negotiate),
11269         (gst_base_src_start), (gst_base_src_deactivate),
11270         (gst_base_src_activate_push), (gst_base_src_change_state):
11271         Move some stuff around and cleanup things.
11272
11273 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
11274
11275         * gst/base/gstbasesrc.c: (gst_base_src_query):
11276           Add missing break statements.
11277
11278 2005-10-27  Wim Taymans  <wim@fluendo.com>
11279
11280         * check/gst/gstbin.c: (GST_START_TEST):
11281         An extra refcount is taken in basesrc.
11282
11283         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
11284         (gst_base_src_get_range), (gst_base_src_pad_get_range),
11285         (gst_base_src_loop):
11286         Small cleanups, check for flushing after being unlocked from the 
11287         LIVE_LOCK. take refcounts correctly (not yet everywhere).
11288         Don't send out EOS when going to READY.
11289
11290 2005-10-27  Wim Taymans  <wim@fluendo.com>
11291
11292         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11293         (gst_base_sink_get_position):
11294         Some more debug.
11295
11296         * gst/gstbin.c: (message_check), (bin_replace_message),
11297         (bin_remove_messages), (is_eos), (gst_bin_add_func),
11298         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
11299         (bin_query_duration_init), (bin_query_duration_fold),
11300         (bin_query_duration_done), (bin_query_generic_fold),
11301         (gst_bin_query):
11302         * tools/gst-launch.c: (main):
11303         Remove old option.
11304
11305 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
11306
11307         * examples/controller/audio-example.c: (main):
11308         * examples/queue/queue.c: (event_loop):
11309         * gst/base/gstbasetransform.h:
11310         * gst/gstelement.c: (gst_element_send_event):
11311         * gst/gstevent.h:
11312         * gst/gstpad.c: (gst_pad_send_event):
11313           fixing examples
11314           fixing docs typos
11315           changing log priority in error situations
11316
11317 2005-10-25  Wim Taymans  <wim@fluendo.com>
11318
11319         * gst/gstbin.c: (message_check), (bin_replace_message),
11320         (bin_remove_messages), (is_eos), (gst_bin_add_func),
11321         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
11322         (bin_query_duration_init), (bin_query_duration_fold),
11323         (bin_query_duration_done), (bin_query_generic_fold),
11324         (gst_bin_query):
11325         Some doc and debug updates.
11326         Cache previously requested query DURATION for speed. invalidate
11327         cached duration if element posts a DURATION message.
11328
11329 2005-10-25  Wim Taymans  <wim@fluendo.com>
11330
11331         * docs/design/part-TODO.txt:
11332         Update TODO.
11333
11334         * gst/gstbin.c: (message_check), (bin_replace_message),
11335         (bin_remove_messages), (is_eos), (gst_bin_add_func),
11336         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
11337         (bin_query_duration_init), (bin_query_duration_fold),
11338         (bin_query_duration_done), (bin_query_generic_fold),
11339         (gst_bin_query):
11340         Handle SEGMENT_START/DONE messages correctly.
11341         More evolved query algorithm that handles duration queries
11342         correctly.
11343
11344         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
11345         (gst_element_get_state_func), (gst_element_abort_state),
11346         (gst_element_commit_state), (gst_element_lost_state):
11347         Some more debugging.
11348
11349         * gst/gstmessage.h:
11350         Added doc.
11351
11352 2005-10-25  Wim Taymans  <wim@fluendo.com>
11353
11354         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
11355         Don't use invalid stream_time.
11356
11357         * gst/gstevent.c: (gst_event_new_newsegment):
11358         stream_time in newsegment cannot be undefined.
11359
11360 2005-10-24  Wim Taymans  <wim@fluendo.com>
11361
11362         * gst/gstbus.c:
11363         Doc fix.
11364
11365         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
11366         (gst_queue_loop):
11367         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
11368
11369 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
11370
11371         * docs/libs/tmpl/gstdparam.sgml:
11372         * docs/libs/tmpl/gstdplinint.sgml:
11373         * docs/libs/tmpl/gstdpman.sgml:
11374         * docs/libs/tmpl/gstdpsmooth.sgml:
11375         * docs/libs/tmpl/gstunitconvert.sgml:
11376           these are obsolete
11377
11378 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11379
11380         * configure.ac:
11381           back to HEAD
11382
11383 === release 0.9.4 ===
11384
11385 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11386
11387         * configure.ac:
11388           releasing 0.9.4, "Tyrannosaurus Rex"
11389
11390 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
11391
11392         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
11393         (gst_file_sink_get_current_offset):
11394           Use fseeko() and ftello() if available. When falling back on
11395           lseek() to get the current offset, fflush() first to make sure
11396           everything is up-to-date and we get the right offset.
11397
11398 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11399
11400         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11401         * gst/base/gstbasesrc.c: (gst_base_src_loop):
11402         * gst/gsterror.c: (_gst_stream_errors_init):
11403         * gst/gsterror.h:
11404         * gst/gstqueue.c: (gst_queue_loop):
11405         * po/POTFILES.in:
11406           remove prematurely added error category and clean up the instances
11407
11408 2005-10-21  Wim Taymans  <wim@fluendo.com>
11409
11410         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
11411         (gst_base_sink_get_position), (gst_base_sink_query),
11412         (gst_base_sink_change_state):
11413         Simply set the right flag when going to playing, that's all
11414         we need to do instead of calling a function inside the object
11415         lock (that could take the lock as well and deadlock)
11416
11417 2005-10-21  Wim Taymans  <wim@fluendo.com>
11418
11419         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
11420         (gst_base_src_loop):
11421         Don't warn, the peer element knows what to do best when
11422         the seek failed, it might try something else.
11423
11424 2005-10-21  Wim Taymans  <wim@fluendo.com>
11425
11426         * gst/base/gstbasesrc.c: (gst_base_src_init),
11427         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
11428         Fix seeking.
11429
11430 2005-10-21  Wim Taymans  <wim@fluendo.com>
11431
11432         * docs/design/part-segments.txt:
11433         More docs.
11434
11435         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
11436         Correctly set caps, even on the subbufer.
11437
11438 2005-10-21  Wim Taymans  <wim@fluendo.com>
11439
11440         * docs/gst/gstreamer-docs.sgml:
11441         * docs/gst/gstreamer-sections.txt:
11442         * gst/gstelement.h:
11443         * gst/gstevent.c:
11444         * gst/gstevent.h:
11445         * gst/gstmessage.h:
11446         * gst/gstpad.h:
11447         * gst/gstparse.h:
11448         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
11449         * gst/gsttask.h:
11450         * gst/gstutils.c:
11451         * gst/gstutils.h:
11452         And 2% more doc coverage.
11453
11454 2005-10-21  Andy Wingo  <wingo@pobox.com>
11455
11456         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
11457         position reporting.
11458
11459 2005-10-20  Wim Taymans  <wim@fluendo.com>
11460
11461         * gst/gsterror.c: (gst_error_get_message):
11462         * gst/gstparse.h:
11463         * gst/gstquery.h:
11464         * gst/gststructure.c:
11465         * gst/gsttrace.c:
11466         * gst/gstutils.c:
11467         More docs.
11468
11469 2005-10-20  Wim Taymans  <wim@fluendo.com>
11470
11471         * gst/gstbuffer.h:
11472         * gst/gstpad.c:
11473         * gst/gstparse.c:
11474         Another 1% more coverage.
11475
11476 2005-10-20  Wim Taymans  <wim@fluendo.com>
11477
11478         * docs/gst/gstreamer-sections.txt:
11479         * gst/gstelement.c: (gst_element_get_state_func),
11480         (gst_element_abort_state), (gst_element_commit_state),
11481         (gst_element_lost_state):
11482         * gst/gstevent.h:
11483         * gst/gstquery.c: (gst_query_set_position),
11484         (gst_query_parse_position), (gst_query_set_duration),
11485         (gst_query_parse_duration), (gst_query_new_convert):
11486         * gst/gstutils.c:
11487         Yay! 1% more docs coverage.
11488
11489 2005-10-20  Wim Taymans  <wim@fluendo.com>
11490
11491         * gst/gstpad.h:
11492         * gst/gstquery.c: (gst_query_set_position),
11493         (gst_query_parse_position), (gst_query_set_duration),
11494         (gst_query_parse_duration), (gst_query_new_convert):
11495         * gst/gstquery.h:
11496         * gst/gstutils.c: (gst_element_query_convert):
11497         * gst/gstutils.h:
11498         Docs and consistency fixes.
11499
11500 2005-10-20  Wim Taymans  <wim@fluendo.com>
11501
11502         * gst/gsttask.c:
11503         * gst/gsttask.h:
11504         More docs.
11505
11506 2005-10-20  Wim Taymans  <wim@fluendo.com>
11507
11508         * gst/gstbin.c: (message_check), (bin_replace_message),
11509         (bin_remove_messages), (is_eos), (gst_bin_add_func),
11510         (update_degree), (gst_bin_sort_iterator_next),
11511         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
11512         Reworked the message handling a bit, cache the messages instead of
11513         only the senders. alows us to do more in the future.
11514
11515 2005-10-20  Wim Taymans  <wim@fluendo.com>
11516
11517         * docs/design/part-TODO.txt:
11518         Update TODO
11519
11520         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
11521         (gst_base_sink_query):
11522         Don't use clock time to report position when in EOS.
11523
11524 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
11525
11526         * tools/gst-inspect.c: (print_interfaces),
11527         (print_element_properties_info), (print_element_info):
11528           Fix interface output with gst-inspect -a; don't print
11529           newlines after double/float properties.
11530
11531 2005-10-20  Wim Taymans  <wim@fluendo.com>
11532
11533         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
11534         (gst_base_sink_query):
11535         Speed up current position calculation.
11536
11537         * gst/base/gstbasesrc.c: (gst_base_src_query),
11538         (gst_base_src_default_newsegment):
11539         Correctly set stream position in newsegment.
11540
11541         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
11542         (update_degree), (gst_bin_sort_iterator_next),
11543         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
11544         * gst/gstmessage.c: (gst_message_new_custom):
11545         Clean up debugging info
11546
11547         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
11548         (gst_queue_loop), (gst_queue_handle_src_query):
11549         Pause task faster.
11550
11551 2005-10-19  Wim Taymans  <wim@fluendo.com>
11552
11553         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
11554         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
11555         Fix query handling again.
11556
11557 2005-10-19  Wim Taymans  <wim@fluendo.com>
11558
11559         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
11560         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
11561         * gst/base/gstbasesrc.c: (gst_base_src_query):
11562         * gst/elements/gstfilesink.c: (gst_file_sink_query):
11563         * gst/elements/gsttypefindelement.c:
11564         (gst_type_find_handle_src_query), (find_element_get_length),
11565         (gst_type_find_element_activate):
11566         API change fix.
11567
11568         * gst/gstquery.c: (gst_query_new_position),
11569         (gst_query_set_position), (gst_query_parse_position),
11570         (gst_query_new_duration), (gst_query_set_duration),
11571         (gst_query_parse_duration), (gst_query_set_segment),
11572         (gst_query_parse_segment):
11573         * gst/gstquery.h:
11574         Bundling query position/duration is not a good idea since duration
11575         does not change much and we don't want to recalculate it for every
11576         position query, so they are separated again..
11577         Base value in segment query is not needed.
11578
11579         * gst/gstqueue.c: (gst_queue_handle_src_query):
11580         * gst/gstutils.c: (gst_element_query_position),
11581         (gst_element_query_duration), (gst_pad_query_position),
11582         (gst_pad_query_duration):
11583         * gst/gstutils.h:
11584         Updates for query API change.
11585         Added some docs here and there.
11586
11587 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11588
11589         * check/gst/gstbin.c: (GST_START_TEST):
11590         * check/gst/gstghostpad.c: (GST_START_TEST):
11591         * check/pipelines/cleanup.c: (GST_START_TEST):
11592           wait on thread to die so we can check refcount correctly
11593
11594 2005-10-18  Wim Taymans  <wim@fluendo.com>
11595
11596         * check/pipelines/stress.c: (GST_START_TEST):
11597         Make check a little more time consuming.
11598
11599 2005-10-18  Wim Taymans  <wim@fluendo.com>
11600
11601         * check/Makefile.am:
11602         * check/pipelines/stress.c: (GST_START_TEST),
11603         (simple_launch_lines_suite), (main):
11604         Small state change torture test.
11605
11606         * docs/design/part-states.txt:
11607         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
11608         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
11609         (gst_base_sink_change_state):
11610         Never take state lock from streaming thread, clean up ugly
11611         hacks. Unfortunatly core does not yet support nice ways to
11612         async commit state.
11613         
11614         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
11615         (bin_bus_handler):
11616         Start state recalc if a STATE_DIRTY message is posted, but only
11617         on the toplevel bin.
11618
11619         * gst/gstelement.c: (gst_element_sync_state_with_parent),
11620         (gst_element_get_state_func), (gst_element_abort_state),
11621         (gst_element_commit_state), (gst_element_lost_state),
11622         (gst_element_set_state_func), (gst_element_change_state):
11623         * gst/gstelement.h:
11624         State variables are now protected with the LOCK, the state
11625         lock is only used to serialize _set_state().
11626
11627 2005-10-18  Wim Taymans  <wim@fluendo.com>
11628
11629         * check/gst/gstbin.c: (GST_START_TEST):
11630         * check/gst/gstmessage.c: (GST_START_TEST):
11631         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
11632         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
11633         (bin_bus_handler):
11634         * gst/gstelement.c: (gst_element_abort_state),
11635         (gst_element_commit_state), (gst_element_lost_state):
11636         * gst/gstmessage.c: (gst_message_new_state_changed),
11637         (gst_message_new_state_dirty), (gst_message_new_segment_start),
11638         (gst_message_new_segment_done), (gst_message_new_duration),
11639         (gst_message_parse_state_changed),
11640         (gst_message_parse_segment_start),
11641         (gst_message_parse_segment_done), (gst_message_parse_duration):
11642         * gst/gstmessage.h:
11643         * tools/gst-launch.c: (event_loop):
11644         Seriously, this is better than a previous commit as we only need
11645         to notify the fact that an element changed state in a streaming
11646         thread, marking the state of the parents dirty, hence the 
11647         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
11648         message.
11649
11650 2005-10-18  Wim Taymans  <wim@fluendo.com>
11651
11652         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
11653         (gst_bin_recalc_func):
11654         * gst/gstelement.c: (gst_element_set_clock),
11655         (gst_element_abort_state), (gst_element_lost_state):
11656         Cleanups, prepare for state change fixes.
11657
11658 2005-10-18  Wim Taymans  <wim@fluendo.com>
11659
11660         * gst/gstbin.h:
11661         * gst/gstelement.c: (gst_element_class_init),
11662         (gst_element_set_state), (gst_element_set_state_func):
11663         * gst/gstelement.h:
11664         Pending ABI changes.
11665         GThreadPool in GstBinClass to monitor async state changes.
11666         state_cookie in GstElement to detect concurrent gst/set state.
11667         set_state is now virtual too in case a very complicated element
11668         has to be constructed.
11669
11670 2005-10-18  Wim Taymans  <wim@fluendo.com>
11671
11672         * check/gst/gstbin.c: (GST_START_TEST):
11673         * check/gst/gstmessage.c: (GST_START_TEST):
11674         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
11675         * gst/gstbin.c: (bin_bus_handler):
11676         * gst/gstelement.c: (gst_element_commit_state),
11677         (gst_element_lost_state):
11678         * gst/gstmessage.c: (gst_message_new_state_changed),
11679         (gst_message_new_segment_start), (gst_message_new_segment_done),
11680         (gst_message_new_duration), (gst_message_parse_state_changed),
11681         (gst_message_parse_segment_start),
11682         (gst_message_parse_segment_done), (gst_message_parse_duration):
11683         * gst/gstmessage.h:
11684         * tools/gst-launch.c: (event_loop):
11685         Make messages future proof.
11686         state-change gets a flag if it was a message comming from the
11687         streaming thread.
11688         segment-start/stop can also be specified in other formats.
11689         A message to notify an app that a pipeline changed playback 
11690         duration.
11691         Also fix a GstMessage leak in -launch
11692
11693 2005-10-18  Andy Wingo  <wingo@pobox.com>
11694
11695         * gst/gstelement.c (gst_element_dispose): More helpful message.
11696
11697 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11698
11699         reviewed by: <delete if not using a buddy>
11700
11701         * common/gtk-doc.mak:
11702
11703 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11704
11705         * gst/gstregistry.c: (gst_registry_scan_path_level):
11706           unref a plug-in we get that was already initialized
11707
11708 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
11709
11710         * docs/gst/gstreamer-sections.txt:
11711         * docs/libs/gstreamer-libs-sections.txt:
11712         * gst/gstelement.h:
11713           add new api entries
11714           hide internal macro
11715
11716 2005-10-17  Andy Wingo  <wingo@pobox.com>
11717
11718         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
11719         cleanup.
11720
11721         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
11722
11723         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
11724
11725         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
11726         (gst_element_get_state_func): Better debug message.
11727         (gst_element_commit_state): s/INFO/DEBUG/.
11728         (gst_element_lost_state, gst_element_change_state): 
11729
11730         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
11731         (gst_message_new_custom): s/INFO/LOG/.
11732
11733 2005-10-17  Michael Smith <msmith@fluendo.com>
11734
11735         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
11736           Check if end time is valid using end time, not start time.
11737
11738 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
11739
11740         * check/gst-libs/controller.c: (GST_START_TEST),
11741         (gst_controller_suite):
11742         * libs/gst/controller/gstcontroller.c:
11743         (gst_controlled_property_set_interpolation_mode):
11744         * libs/gst/controller/gstcontroller.h:
11745         * libs/gst/controller/gstinterpolation.c:
11746         * testsuite/controller/.cvsignore:
11747         * testsuite/controller/Makefile.am:
11748         * testsuite/controller/interpolator.c:
11749           merge controller testsuites
11750           fix broken tests
11751           remove mem-chunk from docs
11752
11753 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11754
11755         * gst/gstmemchunk.c:
11756         * gst/gstmemchunk.h:
11757         * gst/gsttrashstack.c:
11758         * gst/gsttrashstack.h:
11759           out.  get out.  you're fired.  to the Attic !
11760
11761 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
11762
11763         * gst/gstcaps.c: (gst_caps_intersect):
11764           fix signedness issues in a (hopefully) correct way
11765         * gst/gstelement.c: (gst_element_pads_activate):
11766           some debugging
11767         * gst/gstobject.c: (gst_object_set_parent):
11768           some debugging
11769
11770 2005-10-17  Julien MOUTTE  <julien@moutte.net>
11771
11772         * gst/gstvalue.h: Fix prototypes.
11773
11774 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11775
11776         * docs/gst/gstreamer-sections.txt:
11777         * gst/gst.c: (gst_version_string):
11778         * gst/gst.h:
11779         * gst/gstversion.h.in:
11780         * win32/common/libgstreamer.def:
11781           add gst_version_string ()
11782
11783 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11784
11785         * configure.ac:
11786           clean up further
11787         * gst/gst.c: (init_post):
11788         * win32/common/config.h.in:
11789           it's PLUGINDIR now
11790         * gst/gstcaps.c: (gst_caps_intersect):
11791           use gint64, the range could be bigger than a guint
11792
11793 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11794
11795         * gst/gstclock.h:
11796           document potential problem in 2038
11797
11798 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11799
11800         * gst/gstcaps.c: (gst_caps_intersect):
11801           Fix guint j diving under 0
11802
11803 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11804
11805         * configure.ac:
11806         * win32/common/config.h:
11807         * win32/common/config.h.in:
11808           check for process.h, declares getpid() on Windows
11809         * gst/gstinfo.c:
11810           include process.h if we have it
11811         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
11812         * gst/gstmemchunk.h:
11813           fix signedness issues
11814         * win32/common/libgstreamer.def:
11815           fix get_type's
11816
11817 2005-10-16  Julien MOUTTE  <julien@moutte.net>
11818
11819         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
11820         fix. Because of unsigned ints, caps intersection was going nuts and
11821         trying to access structures with G_MAXUINT index. That fixes
11822         videotestsrc ! ffmpegcolorspace ! fakesink
11823         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
11824         consistency.
11825
11826 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11827
11828         * configure.ac:
11829           use the gettext macro
11830         * gst/elements/gstelements.c:
11831         * gst/gst.c:
11832         * gst/indexers/gstindexers.c:
11833           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
11834         * win32/common/config.h:
11835           updated config.h
11836         * win32/common/config.h.in:
11837           add the template to generate config.h
11838         * win32/common/gstenumtypes.c:
11839         * win32/common/gstversion.h:
11840           updated copies
11841
11842 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11843
11844         * gst/gst.c: (gst_version):
11845         * gst/gstversion.h.in:
11846           add the nano
11847
11848 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
11849
11850         * gst/gstevent.h:
11851           Oops, add missing closing bracket.
11852
11853 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11854
11855         * configure.ac:
11856           use common m4's for argument checking
11857
11858 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
11859
11860         * docs/gst/gstreamer-sections.txt:
11861         * gst/gstevent.h:
11862           Add GST_EVENT_TYPE_NAME() macro.
11863
11864 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11865
11866         * gst/gstinfo.c:
11867         * gst/gstpluginfeature.c:
11868         * gst/gsttask.c:
11869           privatize more symbols
11870
11871 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11872
11873         * configure.ac:
11874           add srcdir, builddir includes to GST_ALL_CFLAGS, since
11875           everything that uses GStreamer API should have the includes
11876
11877 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11878
11879         * docs/gst/gstreamer-sections.txt:
11880         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
11881         * gst/gstvalue.h:
11882           give each value a _get_type, removes the DATA exports
11883
11884 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11885
11886         * gst/gst.c:
11887         * gst/gst.h:
11888           remove _gst_registry_auto_load, not used anymore
11889         * gst/gstbin.c: (gst_bin_get_type):
11890         * gst/gstbin.h:
11891         * gst/gstelement.c: (gst_element_get_type):
11892         * gst/gstelement.h:
11893         * gst/gstobject.c: (gst_object_get_type):
11894         * gst/gstobject.h:
11895         * gst/gstpad.c: (gst_pad_get_type):
11896         * gst/gstpad.h:
11897           make _get_type functions similar, fixes data export from library
11898
11899 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11900
11901         * configure.ac:
11902           correctly make conditionals
11903         * gst/elements/Makefile.am:
11904         * gst/elements/gstelements.c:
11905           fix typo causing fdsrc not to build
11906
11907 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11908
11909         * testsuite/Makefile.am:
11910         * testsuite/bytestream/.cvsignore:
11911         * testsuite/bytestream/Makefile.am:
11912         * testsuite/bytestream/filepadsink.c:
11913         * testsuite/bytestream/gstbstest.c:
11914         * testsuite/bytestream/test1.c:
11915         * testsuite/bytestream/testfile1:
11916         * testsuite/caps/normalisation.c:
11917         * testsuite/caps/random.c: (main):
11918         * testsuite/cleanup/.cvsignore:
11919         * testsuite/cleanup/Makefile.am:
11920         * testsuite/cleanup/cleanup1.c:
11921         * testsuite/cleanup/cleanup2.c:
11922         * testsuite/cleanup/cleanup3.c:
11923         * testsuite/cleanup/cleanup4.c:
11924         * testsuite/cleanup/cleanup5.c:
11925         * testsuite/controller/interpolator.c:
11926         * testsuite/debug/printf_extension.c: (main):
11927         * testsuite/elements/tee.c:
11928         * testsuite/negotiation/.cvsignore:
11929         * testsuite/negotiation/Makefile.am:
11930         * testsuite/negotiation/pad_link.c:
11931         * testsuite/pad/Makefile.am:
11932         * testsuite/pad/chainnopull.c:
11933         * testsuite/pad/getnopush.c:
11934         * testsuite/pad/link.c:
11935         * testsuite/refcounting/sched.c: (create_pipeline):
11936         * testsuite/registry/Makefile.am:
11937         * testsuite/registry/gst-print-formats.c:
11938         * testsuite/schedulers/.cvsignore:
11939         * testsuite/schedulers/142183-2.c:
11940         * testsuite/schedulers/142183.c:
11941         * testsuite/schedulers/143777-2.c:
11942         * testsuite/schedulers/143777.c:
11943         * testsuite/schedulers/147713.c:
11944         * testsuite/schedulers/147819.c:
11945         * testsuite/schedulers/147894-2.c:
11946         * testsuite/schedulers/147894.c:
11947         * testsuite/schedulers/Makefile.am:
11948         * testsuite/schedulers/group_link.c:
11949         * testsuite/schedulers/queue_link.c:
11950         * testsuite/schedulers/relink.c:
11951         * testsuite/schedulers/unlink.c:
11952         * testsuite/schedulers/unref.c:
11953         * testsuite/schedulers/useless_iteration.c:
11954         * testsuite/states/bin.c:
11955           clean out/remove some stuff from the testsuite directories
11956
11957 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11958
11959         * configure.ac:
11960           check for some headers
11961         * gst/elements/Makefile.am:
11962         * gst/elements/gstelements.c:
11963           don't compile fdsrc without sys/socket.h
11964         * gst/indexers/Makefile.am:
11965         * gst/indexers/gstindexers.c: (plugin_init):
11966           don't compile fileindex without mmap
11967
11968 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11969
11970         * configure.ac:
11971           reorganize
11972           clean up
11973           document more
11974           remove cruft
11975         * check/Makefile.am:
11976         * docs/gst/Makefile.am:
11977         * examples/helloworld/Makefile.am:
11978         * gst/Makefile.am:
11979         * gst/base/Makefile.am:
11980         * gst/check/Makefile.am:
11981         * gst/elements/Makefile.am:
11982         * gst/indexers/Makefile.am:
11983         * gst/parse/Makefile.am:
11984         * libs/gst/controller/Makefile.am:
11985         * libs/gst/dataprotocol/Makefile.am:
11986         * examples/helloworld/helloworld.c: (event_loop):
11987           compile fixes, though it's not being compiled currently
11988
11989 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
11990
11991         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
11992           Add some simple tests for the new taglist date API.
11993
11994 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
11995
11996         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
11997         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
11998           Beautify 'last-message' output: print 'none' for buffer timestamps
11999           and durations if none is set; improve alignment with next messages.
12000
12001 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
12002
12003         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
12004         * gst/gstpluginfeature.h:
12005         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
12006         * gst/gstregistry.h:
12007         * docs/gst/gstreamer-sections.txt:
12008           Add new API to check plugin feature version requirements.
12009
12010         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
12011           Some basic tests for the above.         
12012
12013 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12014
12015         * gst/gststructure.c: (gst_structure_to_string):
12016           guard against NULL printf - happens when for example
12017           a message structure with GstClock gets serialized
12018
12019 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
12020
12021         * gst/base/gstcollectpads.c: (gst_collectpads_event):
12022           Fix presumable copy'n'pasto.
12023
12024 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12025
12026         * gst/elements/gstfakesrc.h:
12027         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
12028         * gst/elements/gsttypefindelement.c:
12029           fix some signedness
12030         * gst/elements/gstfilesink.c: (gst_file_sink_render):
12031           I wonder if this could actually write +2GB files before
12032
12033 2005-10-13  Andy Wingo  <wingo@pobox.com>
12034
12035         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
12036         Fix Timmeke Waymans bug.
12037         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
12038         string of the proper length to gst_caps_from_string. There's a
12039         potential for, before this fix, that this could cause someone
12040         connecting over the network to cause a segfault if the payload is
12041         not NUL-terminated.
12042
12043 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
12044
12045         * docs/design/draft-push-pull.txt:
12046         * docs/design/part-overview.txt:
12047         * docs/random/TODO-pre-0.9:
12048         * docs/random/old/ChangeLog.gstreamer:
12049         * gst/base/gstpushsrc.c:
12050         * gst/gstclock.c:
12051           fixed typos
12052
12053 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12054
12055         * gst/glib-compat.c: (gst_flags_get_first_value):
12056         * gst/glib-compat.h:
12057         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
12058         (gst_value_compare_double), (gst_value_serialize_flags):
12059           GLib 2.6 g_flags_get_first_value has a bug that triggers an
12060           infinite loop
12061
12062 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12063
12064         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12065         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12066           fix up debugging
12067         * tools/gst-launch.c: (event_loop):
12068           print out clock nicely
12069
12070 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
12071
12072         * docs/gst/gstreamer-sections.txt:
12073         * gst/gsttaglist.h:
12074         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
12075         (gst_tag_list_get_date_index):
12076           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
12077           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
12078
12079 2005-10-13  Julien MOUTTE  <julien@moutte.net>
12080
12081         * gst/base/gstcollectpads.c: (gst_collectpads_event),
12082         (gst_collectpads_chain):
12083         * gst/base/gstcollectpads.h: Handle newsegment and store informations
12084         in CollectData.
12085
12086 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
12087
12088         * docs/gst/gstreamer-sections.txt:
12089         * gst/gst.c:
12090         * gst/gsterror.h:
12091         * tools/gst-inspect.c: (main):
12092         * tools/gst-launch.c: (main):
12093         * tools/gst-run.c: (main):
12094         * tools/gst-xmlinspect.c: (main):
12095           fix GOption context leaks
12096           doc fixes
12097
12098 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
12099
12100         * gst/gstbus.c:
12101           use HAVE_UNISTD_H
12102         * win32/common/config.h:
12103           update config
12104         * win32/vs6/grammar.dsp:
12105         * win32/vs6/libgstelements.dsp:
12106         * win32/vs6/libgstreamer.dsp:
12107           update vs6 files
12108
12109 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12110
12111         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12112         * gst/base/gstbasesrc.c: (gst_base_src_query):
12113           fix more guint64<->gdouble conversions
12114
12115 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12116
12117         * Makefile.am:
12118           add win32-update target
12119         * win32/common/gstconfig.h:
12120         * win32/common/gstenumtypes.c:
12121         * win32/common/gstenumtypes.h:
12122         * win32/common/gstversion.h:
12123           add files that visual studio can't generate
12124
12125 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12126
12127         * Makefile.am:
12128           add a win32-update target
12129         * configure.ac:
12130
12131 2005-10-12  Wim Taymans  <wim@fluendo.com>
12132
12133         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
12134         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
12135         * gst/gstelement.c: (gst_element_commit_state),
12136         (gst_element_set_state):
12137         Protect flags with proper lock.
12138         unref provided cached clock in dispose.
12139
12140 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
12141
12142         * gst/gst.c:
12143         * gst/gstminiobject.h:
12144         * gst/gstpad.h:
12145         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
12146           removed unused flags from miniobject
12147           doc fixes
12148
12149 2005-10-12  Wim Taymans  <wim@fluendo.com>
12150
12151         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
12152         (gst_file_sink_event), (gst_file_sink_render):
12153         Flush before seeking.
12154
12155 2005-10-12  Andy Wingo  <wingo@pobox.com>
12156
12157         * gst/gst.c (gst_init_check): Ignore unknown options, as has
12158         always been the case.
12159
12160 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
12161
12162         * check/gst/gstbin.c: (GST_START_TEST):
12163         * docs/gst/gstreamer-sections.txt:
12164         * gst/base/gstbasesink.c: (gst_base_sink_init):
12165         * gst/base/gstbasesrc.c: (gst_base_src_init),
12166         (gst_base_src_get_range), (gst_base_src_check_get_range),
12167         (gst_base_src_start), (gst_base_src_stop):
12168         * gst/base/gstbasesrc.h:
12169         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
12170         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
12171         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
12172         (bin_bus_handler):
12173         * gst/gstbin.h:
12174         * gst/gstbuffer.h:
12175         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
12176         * gst/gstbus.h:
12177         * gst/gstelement.c: (gst_element_is_locked_state),
12178         (gst_element_set_locked_state), (gst_element_commit_state),
12179         (gst_element_set_state):
12180         * gst/gstelement.h:
12181         * gst/gstindex.c: (gst_index_init):
12182         * gst/gstindex.h:
12183         * gst/gstminiobject.h:
12184         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
12185         (gst_object_set_parent):
12186         * gst/gstobject.h:
12187         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
12188         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
12189         * gst/gstpad.h:
12190         * gst/gstpadtemplate.h:
12191         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
12192         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
12193         * gst/gstpipeline.h:
12194         * gst/indexers/gstfileindex.c: (gst_file_index_load),
12195         (gst_file_index_commit):
12196         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
12197         * testsuite/pad/link.c: (gst_test_src_init),
12198         (gst_test_filter_init), (gst_test_sink_init):
12199         * testsuite/states/locked.c: (main):
12200           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
12201           moved bitshift from macro to enum definition
12202
12203 2005-10-12  Wim Taymans  <wim@fluendo.com>
12204
12205         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
12206         * gst/elements/gstfilesink.c: (gst_file_sink_event),
12207         (gst_file_sink_render):
12208         Some more debugging info.
12209
12210 2005-10-12  Wim Taymans  <wim@fluendo.com>
12211
12212         * docs/design/part-states.txt:
12213         * tools/gst-launch.c: (main):
12214         Some doc updates.
12215         Revert non-intentional change.
12216
12217 2005-10-12  Wim Taymans  <wim@fluendo.com>
12218
12219         * check/gst/gstbin.c: (GST_START_TEST):
12220         * check/gst/gstelement.c: (GST_START_TEST):
12221         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
12222         * check/gst/gstghostpad.c: (GST_START_TEST):
12223         * check/gst/gstpipeline.c: (GST_START_TEST):
12224         * check/pipelines/simple_launch_lines.c: (run_pipeline):
12225         * check/states/sinks.c: (GST_START_TEST):
12226         * gst/elements/gsttypefindelement.c: (stop_typefinding):
12227         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
12228         (gst_bin_remove_func), (gst_bin_get_state_func),
12229         (gst_bin_recalc_state), (gst_bin_change_state_func),
12230         (bin_bus_handler):
12231         * gst/gstelement.c: (gst_element_get_state_func),
12232         (gst_element_get_state), (gst_element_abort_state),
12233         (gst_element_commit_state), (gst_element_set_state),
12234         (gst_element_change_state), (gst_element_change_state_func):
12235         * gst/gstelement.h:
12236         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
12237         (gst_pipeline_provide_clock_func):
12238         * gst/gstutils.c: (gst_element_link_pads_filtered):
12239         * tools/gst-launch.c: (main):
12240         * tools/gst-typefind.c: (main):
12241         Use GstClockTime in _get_state() instead of GTimeVal.
12242         Remove old code in gstutils.c
12243
12244 2005-10-12  Andy Wingo  <wingo@pobox.com>
12245
12246         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
12247         removed.
12248
12249         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
12250         there is no task. Shouldn't affect any code, as nothing in our
12251         plugins checks this return value.
12252         (gst_pad_stop_task): Also take the stream lock if the pad has no
12253         task. Docs updated.
12254
12255 2005-10-12  Wim Taymans  <wim@fluendo.com>
12256
12257         * gst/gstpad.c: (pre_activate), (post_activate),
12258         (gst_pad_activate_pull), (gst_pad_activate_push):
12259         Cleanup activation code. Reset old state if
12260         activation failed.
12261
12262 2005-10-12  Wim Taymans  <wim@fluendo.com>
12263
12264         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12265         (gst_base_sink_change_state):
12266         No need to prerol after receiving EOS.
12267
12268         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
12269         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
12270         * gst/elements/gstidentity.c: (gst_identity_event):
12271         Print events more verbosely.
12272
12273 2005-10-12  Wim Taymans  <wim@fluendo.com>
12274
12275         * check/Makefile.am:
12276         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
12277         * check/states/sinks2.c:
12278         Moved sinks2 testcode in sinks check.
12279
12280         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
12281         (gst_bin_remove_func), (gst_bin_recalc_state),
12282         (gst_bin_change_state_func), (bin_bus_handler):
12283         Fix potential race condition when _get_state() iterated over an
12284         ASYNC element right before it posted a state completion.
12285
12286         * gst/gstclock.h:
12287         Do proper cast here.
12288
12289         * gst/gstevent.c: (gst_event_new_newsegment),
12290         (gst_event_parse_newsegment):
12291         A playback rate of 0.0 is not allowed.
12292
12293 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12294
12295         * win32/common/config.h:
12296         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
12297         (_trewinddir), (_ttelldir), (_tseekdir):
12298         * win32/common/dirent.h:
12299         * win32/common/gtchar.h:
12300         * win32/common/libgstbase.def:
12301         * win32/common/libgstreamer.def:
12302         * win32/vs6/grammar.dsp:
12303         * win32/vs6/gst_inspect.dsp:
12304         * win32/vs6/gst_launch.dsp:
12305         * win32/vs6/gstreamer.dsw:
12306         * win32/vs6/libgstbase.dsp:
12307         * win32/vs6/libgstelements.dsp:
12308         * win32/vs6/libgstreamer.dsp:
12309           Visual Studio 6 project files, and a new common directory.
12310           Phear.
12311
12312 2005-10-11  Wim Taymans  <wim@fluendo.com>
12313
12314         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12315         (gst_base_sink_do_sync), (gst_base_sink_query),
12316         (gst_base_sink_change_state):
12317         * gst/base/gstbasesink.h:
12318         Correctly parse newsegment info.
12319
12320 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12321
12322         * gst/gst.c: (init_post):
12323           split plugin paths correctly
12324
12325 2005-10-11  Wim Taymans  <wim@fluendo.com>
12326
12327         * check/gst/gstevent.c: (GST_START_TEST):
12328         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12329         (gst_base_sink_change_state):
12330         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
12331         * gst/base/gstbasetransform.c: (gst_base_transform_event):
12332         * gst/elements/gstfilesink.c: (gst_file_sink_event):
12333         * gst/gstevent.c: (gst_event_new_newsegment),
12334         (gst_event_parse_newsegment):
12335         * gst/gstevent.h:
12336         Added extra flag to newsegment for future API freeze.
12337         Updated check and base elements.
12338
12339 2005-10-11  Julien MOUTTE  <julien@moutte.net>
12340
12341         * gst/base/gstcollectpads.c: (gst_collectpads_init),
12342         (gst_collectpads_add_pad), (gst_collectpads_pop),
12343         (gst_collectpads_event), (gst_collectpads_chain):
12344         * gst/base/gstcollectpads.h: Handle EOS correctly.
12345
12346 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12347
12348         * tools/gst-launch.c: (main):
12349           more null protecting
12350
12351 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12352
12353         * gst/gst-i18n-lib.h:
12354           check for ENABLE_NLS, not GETTEXT_PACKAGE
12355         * gst/gstregistry.c: (gst_registry_add_plugin),
12356         (gst_registry_scan_path_level),
12357         (_gst_registry_remove_cache_plugins):
12358           protect possibly NULL strings
12359         * gst/parse/types.h:
12360           config.h already included before
12361         * tools/gst-inspect.c: (main):
12362           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
12363           check for ENABLE_NLS, not GETTEXT_PACKAGE
12364         * tools/gst-launch.c: (main):
12365           check for ENABLE_NLS, not GETTEXT_PACKAGE
12366
12367 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12368
12369         * configure.ac:
12370           if we don't have glib, fail before testing 2.8
12371         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
12372           fix a leak, should fix plugins-base testsuite
12373
12374 2005-10-11  Andy Wingo  <wingo@pobox.com>
12375
12376         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
12377         take the mode we're going to as an arg. Go head and set the mode
12378         and flushing flags now, so that if the activate function starts a
12379         thread all the flags will be in the right state.
12380         (post_activate): Renamed also. Just handle making sure streaming
12381         finishes for the deactivation case, and setting the deactivated
12382         mode.
12383         (gst_pad_set_active): Complain loudly if deactivation fails.
12384         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
12385         (gst_pad_activate_push): Adapt to pre/post_activate changes,
12386         remove the terrible hack.
12387
12388 2005-10-11  Wim Taymans  <wim@fluendo.com>
12389
12390         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
12391         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
12392         (gst_bin_recalc_state), (gst_bin_change_state_func),
12393         (gst_bin_dispose), (bin_bus_handler):
12394         * gst/gstbin.h:
12395         Prepare to make current EOS message queue more generic.
12396         Fix some typos.
12397
12398         * gst/gstevent.c: (gst_event_new_newsegment),
12399         (gst_event_parse_newsegment):
12400         * gst/gstevent.h:
12401         Rename base to stream_time.
12402
12403         * gst/gstmessage.h:
12404         Fix typo in docs.
12405
12406 2005-10-11  Wim Taymans  <wim@fluendo.com>
12407
12408         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
12409         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
12410         (gst_bin_change_state_func), (bin_bus_handler):
12411         * gst/gstbin.h:
12412         Work on proper clock selection.
12413
12414 2005-10-11  Edward Hervey  <edward@fluendo.com>
12415
12416         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
12417         * libs/gst/controller/gstcontroller.h:
12418         Added GList* version of _remove_properties() in order to be able to wrap
12419         it in bindings.
12420
12421 2005-10-11  Wim Taymans  <wim@fluendo.com>
12422
12423         * docs/design/part-states.txt:
12424         Some more docs.
12425
12426         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
12427         (gst_bin_change_state_func), (bin_bus_handler):
12428         Doc updates. Don't distribute the same clock over and over again.
12429
12430         * gst/gstclock.c:
12431         * gst/gstclock.h:
12432         Doc updates.
12433
12434         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
12435         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
12436         (gst_pad_send_event):
12437         * gst/gstpad.h:
12438         Make probe emission threadsafe again.
12439         Register quarks and move _get_name() from utils.
12440         Doc updates.
12441
12442         * gst/gstpipeline.c: (gst_pipeline_class_init),
12443         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
12444         Only redistribute the clock of it changed.
12445
12446         * gst/gstsystemclock.h:
12447         Doc updates. 
12448
12449         * gst/gstutils.c:
12450         * gst/gstutils.h:
12451         Moved the _flow_get_name() to GstPad.
12452
12453 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12454
12455         * check/gst-libs/gdp.c: (GST_START_TEST):
12456         * check/gst/gstcaps.c: (GST_START_TEST):
12457         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
12458         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
12459         (gst_dp_packet_from_caps):
12460           fix more valgrind warnings before turning up the heat
12461
12462 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12463
12464         * gst/parse/grammar.y:
12465           some cleanup before the hacking
12466
12467 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12468
12469         * gst/base/gstbasesrc.c: (gst_base_src_query):
12470           use conversions
12471         * gst/gstutils.c: (gst_guint64_to_gdouble),
12472         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
12473         * gst/gstutils.h:
12474           externalize, basesrc uses it
12475           obviously the implementation needs testing
12476
12477 2005-10-10  Wim Taymans  <wim@fluendo.com>
12478
12479         * tests/sched/Makefile.am:
12480         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
12481         (make_pipeline3), (make_pipeline4), (print_elem), (main):
12482
12483 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12484
12485         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
12486           apparently converting from guint64 to double is not implemented
12487           on MSVC
12488
12489 2005-10-10  Wim Taymans  <wim@fluendo.com>
12490
12491         * check/Makefile.am:
12492         * check/generic/states.c: (GST_START_TEST):
12493         * check/gst/gstbin.c: (GST_START_TEST):
12494         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
12495         * check/states/sinks.c: (GST_START_TEST):
12496         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
12497         (main):
12498         Check fixes, use API as stated in design docs, remove hacks.
12499
12500         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12501         (gst_base_sink_change_state):
12502         Catch stopping our task while we're shutting down.
12503
12504         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
12505         (gst_bin_remove_func), (gst_bin_get_state_func),
12506         (gst_bin_recalc_state), (gst_bin_change_state_func),
12507         (bin_bus_handler):
12508         * gst/gstbin.h:
12509         * gst/gstelement.c: (gst_element_init),
12510         (gst_element_get_state_func), (gst_element_abort_state),
12511         (gst_element_commit_state), (gst_element_lost_state),
12512         (gst_element_set_state), (gst_element_change_state),
12513         (gst_element_change_state_func):
12514         * gst/gstelement.h:
12515         New state change algorithm (see #318116)
12516
12517         * gst/gstpipeline.c: (gst_pipeline_class_init),
12518         (gst_pipeline_init), (gst_pipeline_set_property),
12519         (gst_pipeline_get_property), (do_pipeline_seek),
12520         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
12521         * gst/gstpipeline.h:
12522         Remove crude state change hacks.
12523
12524         * gst/gstutils.h:
12525         Remove crude hacks.
12526
12527         * tools/gst-launch.c: (main):
12528         Fixes for state change. Needs some more work to fully use the
12529         new stuff.
12530
12531 2005-10-10  Andy Wingo  <wingo@pobox.com>
12532
12533         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
12534
12535         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
12536         this flag, but it's not even in GLib 2.6. Odd. Hack around the
12537         issue.
12538
12539 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
12540
12541         * gst/gstiterator.c: (gst_iterator_new):
12542           Fix my previous commit: GTypes passed to gst_iterator_new()
12543           can be fundamental types.
12544
12545 2005-10-10  Wim Taymans  <wim@fluendo.com>
12546
12547         * gst/gstelement.c: (gst_element_iterate_pad_list),
12548         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
12549         (gst_element_iterate_sink_pads):
12550         Use src/sink pads lists for the respective iterators instead
12551         of filtering.
12552
12553 2005-10-10  Andy Wingo  <wingo@pobox.com>
12554
12555         Merged in popt removal + GOption addition patch from Ronald, bug
12556         #169772.
12557
12558         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
12559         GstElement macros around, remove popt-related symbols, add goption
12560         stuff.
12561
12562         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
12563         
12564         * docs/gst/Makefile.am:
12565         * docs/libs/Makefile.am: No POPT_CFLAGS.
12566         
12567         * examples/manual/Makefile.am:
12568         * docs/manual/basics-init.xml: Doc updates with an example.
12569         
12570         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
12571         (gst_init), (parse_one_option), (parse_goption_arg):
12572         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
12573         bit of hand merging and debugging to get the GOption stuff working
12574         tho.
12575         
12576         * tests/Makefile.am:
12577         * tools/Makefile.am:
12578         * tools/gst-inspect.c: (main):
12579         * tools/gst-launch.c: (main):
12580         * tools/gst-run.c: (main):
12581         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
12582
12583 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
12584
12585         * gst/gstiterator.c: (gst_iterator_new):
12586           Add assertions to make sure passed GType is likely to really
12587           be a GType (as the compiler won't catch it if the size and
12588           GType arguments get mixed up, see #318447).
12589
12590 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
12591
12592         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12593
12594         * gst/gstbin.c: (gst_bin_iterate_sorted):
12595           Pass GType and size arguments to gst_iterator_new() in the right
12596           order (maybe we should make _new() take the GType as first argument
12597           just like _new_list()?) (#318447).
12598           
12599
12600 2005-10-10  Wim Taymans  <wim@fluendo.com>
12601
12602         * gst/gstelement.c: (gst_element_finalize):
12603         And free the GStaticRecMutex too
12604
12605 2005-10-10  Andy Wingo  <wingo@pobox.com>
12606
12607         * gst/gstelement.c (gst_element_init, gst_element_finalize):
12608         Allocate and free the mutex properly.
12609
12610         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
12611         New macros.
12612         (GstElement): The state_lock is now recursive. Rebuild your
12613         plugins, suckers. Old macros adapted.
12614
12615         * docs/gst/gstreamer-sections.txt: Doc updates.
12616
12617         * gst/gstutils.h:
12618         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
12619         (g_static_rec_cond_wait): Ported from state changes patch, while
12620         we wait on bug #317802 to be solved in a well-distributed GLib.
12621
12622         * gst/gstelement.c (gst_element_change_state_func): Renamed from
12623         gst_element_change_state, variable name changes.
12624         (gst_element_change_state): Split out of gst_element_set_state in
12625         preparation for the state change merge. Doesn't pay attention to
12626         the 'transition' argument.
12627         (gst_element_set_state): Updates, hopefully purely cosmetic.
12628         (gst_element_sync_state_with_parent): MT-safety. Ported from the
12629         state change patch.
12630         (gst_element_get_state_func): Renamed from get_state, cosmetic
12631         changes.
12632
12633 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12634
12635         * gst/elements/gstelements.c:
12636         * win32/GStreamer.vcproj:
12637         * win32/config.h:
12638         * win32/dirent.c: (_tseekdir):
12639         * win32/gst-inspect.vcproj:
12640         * win32/gst-launch.vcproj:
12641         * win32/gstconfig.h:
12642         * win32/gstelements.vcproj:
12643         * win32/gstenumtypes.c: (gst_object_flags_get_type):
12644         * win32/gstreamer.def:
12645         * win32/msvc71.sln:
12646           updates for the win32 build (patch from Sebastien Moutte)
12647
12648 2005-10-10  Andy Wingo  <wingo@pobox.com>
12649
12650         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
12651         gst_bin_get_state, cleaned up (but no logic changes).
12652         (bin_element_is_sink): Comment updates.
12653         (sink_iterator_filter): Remove needless cast.
12654         (gst_bin_iterate_sinks): Doc update.
12655         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
12656         cleaned up (but no logic changes).
12657
12658         * check/states/sinks.c (test_src_sink): Cleanups from the state
12659         change patch.
12660         (test_livesrc_sink): Sync on the state.
12661
12662         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
12663         the state change patch.
12664
12665         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
12666         change patch.
12667
12668         * check/gst/gstbin.c: Merge in some style fixes and additional
12669         checks from Wim's state change patch.
12670
12671 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
12672
12673         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12674         (gst_type_find_helper):
12675           Check whether we have the requested data already in our list of
12676           cached buffers before pulling a new buffer; also make the buffer
12677           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
12678
12679 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12680
12681         * gst/gstcaps.c:
12682         * gst/gstevent.c:
12683           doc updates
12684         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
12685           don't use long long, it's not portable.  Replacing with
12686           gint64 seems to work; let's hope no skeletons fall out of the closet.
12687
12688 2005-10-10  Andy Wingo  <wingo@pobox.com>
12689
12690         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
12691
12692 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
12693
12694         * docs/gst/gstreamer-sections.txt:
12695         * gst/gstevent.c:
12696         * gst/gstevent.h:
12697         * gst/gstinfo.c:
12698         * gst/gstinfo.h:
12699         * gst/gstmessage.c: (gst_message_parse_state_changed):
12700         * gst/gstpad.c:
12701         * gst/gstpad.h:
12702           more docs, fix compilation
12703
12704 2005-10-09  Philippe Khalaf <burger@speedy.org>
12705         * gst/gstmessage.c:
12706           Fixed a few forgotten variables on previous commit
12707
12708 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
12709
12710         * gst/base/gsttypefindhelper.c: (helper_find_peek):
12711           Fix evil typefind crasher: getrange() might return a short
12712           buffer at the end of a file, but gst_type_find_peek() must
12713           either return the full data as requested or NULL, but
12714           never a short buffer.
12715
12716 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12717
12718         * gst/gstmessage.c: (gst_message_new_state_changed),
12719         (gst_message_parse_state_changed):
12720         * gst/gstmessage.h:
12721           don't use "new", it's a C++ keyword
12722
12723 2005-10-08  Wim Taymans  <wim@fluendo.com>
12724
12725         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
12726         * gst/gstelement.c: (gst_element_post_message):
12727         * gst/gstpipeline.c: (gst_pipeline_change_state):
12728         Small docs and debug updates.
12729
12730 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
12731
12732         * docs/gst/gstreamer-sections.txt:
12733         * gst/gstelementfactory.c:
12734         * gst/gstevent.c:
12735         * gst/gsttaglist.c:
12736           more docs
12737
12738 2005-10-08  Wim Taymans  <wim@fluendo.com>
12739
12740         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
12741         (gst_bin_dispose), (bin_bus_handler):
12742         Fix typos, add comments.
12743         Clear EOS list when going to PAUSED from any direction and do it
12744         in a threadsafe way.
12745         Get base time in a threadsafe way too.
12746         Fix confusing debug in the change_state function.
12747         Various other small cleanups.
12748         
12749         * gst/gstelement.c: (gst_element_post_message):
12750         Fix very verbose bus posting code.
12751
12752         * gst/gstpipeline.c: (gst_pipeline_class_init),
12753         (gst_pipeline_set_property), (gst_pipeline_get_property),
12754         (gst_pipeline_change_state):
12755         Small ARG_ -> PROP_ cleanup
12756
12757 2005-10-08  Wim Taymans  <wim@fluendo.com>
12758
12759         * gst/gstbin.c: (is_eos), (bin_bus_handler):
12760         Do a less CPU demanding EOS check because we can.
12761
12762 2005-10-08  Wim Taymans  <wim@fluendo.com>
12763
12764         * libs/gst/dataprotocol/dataprotocol.c:
12765         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
12766         (gst_dp_packet_from_event):
12767         * libs/gst/dataprotocol/dataprotocol.h:
12768         * libs/gst/dataprotocol/dp-private.h:
12769         It's about time we bump the version number.
12770         Since event types don't fit in the guint8 anymore describing
12771         the payload type, make payload type 16 bits wide.
12772
12773 2005-10-08  Wim Taymans  <wim@fluendo.com>
12774
12775         * docs/design/part-TODO.txt:
12776         * docs/design/part-clocks.txt:
12777         * docs/design/part-events.txt:
12778         * docs/design/part-gstbin.txt:
12779         * docs/design/part-gstelement.txt:
12780         * docs/design/part-gstpipeline.txt:
12781         * docs/design/part-live-source.txt:
12782         * docs/design/part-messages.txt:
12783         * docs/design/part-overview.txt:
12784         * docs/design/part-states.txt:
12785         Many doc updates.
12786
12787 2005-10-08  Wim Taymans  <wim@fluendo.com>
12788
12789         * gst/gstevent.c:
12790         * gst/gstevent.h:
12791         Fix event quark registration.
12792         Add some space between events so we can insert them in the
12793         right groups.
12794
12795 2005-10-08  Wim Taymans  <wim@fluendo.com>
12796
12797         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12798         (gst_base_sink_handle_buffer):
12799         Better log message.
12800
12801         * gst/gstbus.h:
12802         * gst/gstelement.h:
12803         More docs.
12804
12805         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
12806         (gst_queue_set_property), (gst_queue_get_property):
12807         * gst/gstqueue.h:
12808         Remove old unused properties.
12809
12810 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
12811         * docs/gst/gstreamer-sections.txt:
12812         * gst/gstmessage.c:
12813         * gst/gstmessage.h:
12814         * gst/gstminiobject.c:
12815         * gst/gstminiobject.h:
12816         * gst/gstobject.h:
12817         * gst/gstpad.h:
12818         * gst/gstutils.h:
12819           lots of new docs and doc fixes
12820
12821 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12822
12823         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
12824         * gst/gstplugin.h:
12825         * gst/gstregistry.c: (gst_registry_lookup_locked),
12826         (gst_registry_scan_path_level):
12827         * gst/gstregistryxml.c: (load_plugin):
12828           Only ever load one plugin for a given plugin basename.
12829           This ensures correct overriding of GST_PLUGIN_PATH over
12830           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
12831           system installed plugins.
12832
12833 2005-10-08  Wim Taymans  <wim@fluendo.com>
12834
12835         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12836         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
12837         Prepare for doing QOS.
12838
12839 2005-10-08  Wim Taymans  <wim@fluendo.com>
12840
12841         * check/gst/gstbin.c: (GST_START_TEST):
12842         * check/pipelines/cleanup.c: (GST_START_TEST):
12843         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
12844         Allow new clock message too.
12845
12846 2005-10-08  Wim Taymans  <wim@fluendo.com>
12847
12848         * gst/gstmessage.c: (gst_message_new_error),
12849         (gst_message_new_warning), (gst_message_new_tag),
12850         (gst_message_new_state_changed), (gst_message_new_clock_provide),
12851         (gst_message_new_clock_lost), (gst_message_new_new_clock),
12852         (gst_message_new_segment_start), (gst_message_new_segment_done),
12853         (gst_message_parse_state_changed),
12854         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
12855         (gst_message_parse_new_clock):
12856         * gst/gstmessage.h:
12857         Also carry the clock in question.
12858
12859 2005-10-08  Wim Taymans  <wim@fluendo.com>
12860
12861         * gst/gstmessage.c: (gst_message_new_custom),
12862         (gst_message_new_eos), (gst_message_new_error),
12863         (gst_message_new_warning), (gst_message_new_tag),
12864         (gst_message_new_state_changed), (gst_message_new_clock_provide),
12865         (gst_message_new_new_clock), (gst_message_new_segment_start),
12866         (gst_message_new_segment_done), (gst_message_parse_state_changed),
12867         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
12868         * gst/gstmessage.h:
12869         Clean up.
12870         Added clock related messages.
12871
12872         * gst/gstpipeline.c: (gst_pipeline_change_state):
12873         Post message when the clock changed.
12874
12875         * tools/gst-launch.c: (event_loop):
12876         Print new clock.
12877
12878 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
12879
12880         * tools/gst-inspect.c: (print_element_properties_info):
12881           Can't pass NULL strings to g_print() on windows.
12882
12883 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12884
12885         * docs/Makefile.am:
12886         * docs/gst/Makefile.am:
12887         * docs/gst/gstreamer-docs.sgml:
12888         * docs/gst/running.xml:
12889         * docs/version.entities.in:
12890           add a chapter on running GStreamer.
12891           document GST_DEBUG and GST_PLUGIN* env vars
12892
12893 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12894
12895         * Makefile.am:
12896           remove include dir
12897         * configure.ac:
12898           remove PLUGINS_BUILDDIR stuff
12899         * gst/gst.c: (init_post):
12900           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
12901         * idiottest.mak:
12902           remove, it was condescending and not needed
12903
12904 2005-10-08  Wim Taymans  <wim@fluendo.com>
12905
12906         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
12907         (gst_base_sink_handle_object), (gst_base_sink_event),
12908         (gst_base_sink_wait), (gst_base_sink_handle_event),
12909         (gst_base_sink_change_state):
12910         * gst/base/gstbasesink.h:
12911         Repost EOS message while going to PLAYING if still EOS.
12912         Make sure that when receiving a FLUSH_START we don't attempt
12913         to sync on the clock anymore.
12914
12915 2005-10-08  Wim Taymans  <wim@fluendo.com>
12916
12917         * tools/gst-launch.c: (event_loop):
12918         Better message printout.
12919
12920 2005-10-08  Wim Taymans  <wim@fluendo.com>
12921
12922         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
12923         (gst_bin_child_proxy_get_children_count):
12924         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
12925         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
12926         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
12927         (gst_child_proxy_set_valist):
12928         * gst/parse/grammar.y:
12929         Make ChildProxy threadsafe and fix mem leaks.
12930
12931 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12932
12933         * gst/gst.c: (init_post):
12934           debug the GST_PLUGIN_ env vars
12935
12936 2005-10-08  Wim Taymans  <wim@fluendo.com>
12937
12938         * check/gst/gstbin.c: (GST_START_TEST):
12939         * check/gst/gstmessage.c: (GST_START_TEST):
12940         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
12941         * gst/gstelement.c: (gst_element_commit_state),
12942         (gst_element_lost_state):
12943         * gst/gstmessage.c: (gst_message_new_state_changed),
12944         (gst_message_parse_state_changed):
12945         * gst/gstmessage.h:
12946         * tools/gst-launch.c: (event_loop):
12947         Added extra field to STATE_CHANGE message with the pending
12948         state, which will be different from the new state soon.
12949
12950 2005-10-08  Wim Taymans  <wim@fluendo.com>
12951
12952         * gst/gstbus.c: (gst_bus_pop):
12953         * gst/gstclock.c:
12954         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
12955         Small cleanups and doc updates.
12956
12957 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12958
12959         * gst/gst.c: (init_pre):
12960         * gst/gstbin.c: (gst_bin_add_func):
12961           log distributing clocks and base time
12962         * gst/gstregistry.c: (gst_registry_add_plugin),
12963         (gst_registry_scan_path_level), (gst_registry_scan_path):
12964           clean up the debugging output a little
12965         * gst/gstutils.c: (gst_element_state_get_name):
12966           warn about a memleak (I've actually seen this be used, though
12967           it was probably a bug)
12968
12969 2005-10-07  Wim Taymans  <wim@fluendo.com>
12970
12971         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
12972         (gst_base_src_init), (gst_base_src_default_newsegment),
12973         (gst_base_src_newsegment), (gst_base_src_do_seek),
12974         (gst_base_src_loop), (gst_base_src_start):
12975         * gst/base/gstbasesrc.h:
12976         Make the newsegment event customizable by subclasses.
12977
12978 2005-10-07  Wim Taymans  <wim@fluendo.com>
12979
12980         * gst/gstevent.c: (gst_event_new_buffersize),
12981         (gst_event_parse_buffersize):
12982         * gst/gstevent.h:
12983         New event for future idea.
12984
12985 2005-10-07  Andy Wingo  <wingo@pobox.com>
12986
12987         * gst/gstelement.c (gst_element_post_message): Doc update.
12988
12989         * docs/gst/gstreamer-sections.txt: Update.
12990
12991         * gst/gstmessage.c (gst_message_new_application): Made into a
12992         function like honest API calls.
12993         (gst_message_new_element): New message type.
12994
12995         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
12996
12997         * check/elements/fakesrc.c (test_no_preroll): New check, checks
12998         that setting a live fakesrc to PAUSED returns NO_PREROLL both
12999         times.
13000
13001         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
13002         NO_PREROLL from gst_element_change_state to fall through.
13003
13004 2005-10-07  Wim Taymans  <wim@fluendo.com>
13005
13006         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
13007         (gst_ghost_pad_do_activate_push):
13008         Activating a ghostpad with no internal pad in push mode
13009         is ok.
13010
13011 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13012
13013         * gst/gstobject.h:
13014           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
13015           Fixes compilation on Windows.
13016
13017 2005-10-07  Michael Smith <msmith@fluendo.com>
13018
13019         * tools/gst-inspect.c:
13020           Print out feature and plugin count at the end when printing out
13021           all features.
13022
13023 2005-10-04  Michael Smith <msmith@fluendo.com>
13024
13025         * gst/gsterror.c: (_gst_stream_errors_init):
13026           Add another error string used in a few existing plugins.
13027
13028         * gst/gstplugin.c:
13029         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
13030         * tools/gst-inspect.c: (print_element_info):
13031           When a feature disappears from a plugin (and the feature exists in
13032           the cached registry file), things went horribly wrong. This isn't a
13033           complete fix, we should actually be removing the 'missing' features
13034           from the features list when we load the actual plugin. That's not
13035           yet implemented. 
13036
13037 2005-10-04  Johan Dahlin  <johan@gnome.org>
13038
13039         * check/gst/gstiterator.c: (GST_START_TEST):
13040         * gst/gstbin.c: (gst_bin_iterate_elements),
13041         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
13042         * gst/gstelement.c: (gst_element_iterate_pads):
13043         * gst/gstformat.c: (gst_format_iterate_definitions):
13044         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
13045         (gst_iterator_new_list), (gst_iterator_filter):
13046         * gst/gstiterator.h:
13047         * gst/gstquery.c: (gst_query_type_iterate_definitions):
13048         Add a GType to GstIterator, update callsites and tests.
13049
13050 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13051
13052         * gst/gstpad.c: (gst_pad_event_default_dispatch):
13053           give events a chance to be handled by event probes when the pad
13054           is not linked
13055
13056 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13057
13058         * gst/gstevent.c: (gst_event_type_get_name),
13059         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
13060         * gst/gstevent.h:
13061           add string representations for event types
13062
13063 2005-10-06  Wim Taymans  <wim@fluendo.com>
13064
13065         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
13066         Don't use NULL pointers.
13067
13068 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13069
13070         * gst/gst_private.h:
13071         * gst/gstbus.c:
13072         * gst/gstelement.c:
13073         * gst/gstinfo.c:
13074         * gst/gstpluginfeature.c:
13075           widen the debug category in output to fit the biggest one we have
13076           add a bus category and use it
13077           play with the colors
13078           fix up some categories
13079
13080 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13081
13082         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
13083           add push activation of sink ghost pads.
13084           Andye, please verify
13085
13086 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13087
13088         * gst/gstutils.c: (gst_element_link_pads):
13089           fix a bug in the case where neither element has a pad
13090         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13091           add a test for that case
13092
13093 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13094
13095         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
13096           emit have-data before checking for peers.  This allows
13097           for probe handlers to connect elements.  This helps autopluggers.
13098         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
13099         (gst_pad_suite):
13100           add six checks, linked/unlinked with no/true/false probe
13101
13102 2005-10-04  Wim Taymans  <wim@fluendo.com>
13103
13104         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
13105         (gst_fake_sink_event), (gst_fake_sink_preroll),
13106         (gst_fake_sink_render), (gst_fake_sink_change_state):
13107         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
13108         (gst_fake_src_get_property), (gst_fake_src_create),
13109         (gst_fake_src_stop):
13110         * gst/elements/gstidentity.c: (gst_identity_stop):
13111         Protect last_message with lock.
13112
13113 2005-10-04  Edward Hervey  <edward@fluendo.com>
13114
13115         * gst/gstformat.h: 
13116         Added precision in the comments for GST_FORMAT_DEFAULT
13117
13118 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
13119
13120         * tools/gst-launch.c: (main):
13121           Don't try to run erroneous pipelines.
13122
13123 2005-10-04  Julien MOUTTE  <julien@moutte.net>
13124
13125         * gst/gstbus.c: We don't need this header.
13126
13127 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13128
13129         * configure.ac:
13130           back to development
13131
13132 === release 0.9.3 ===
13133
13134 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13135
13136         * README:
13137         * configure.ac:
13138           Releasing 0.9.3, "Unregistered"
13139
13140 2005-10-03  Andy Wingo  <wingo@pobox.com>
13141
13142         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
13143         whereby calling a pad's activatepush() function can start a thread
13144         that starts to push or pull before the pad gets the FLUSHING flag
13145         unset. Hack around it by holding the stream lock until the flag is
13146         set. Need to replace this with a proper solution. Together with
13147         the ghost pad fixes, this fixes mp3 playing/tagreading.
13148
13149         * docs/design/part-gstghostpad.txt: Add a note about activation of
13150         proxy pads outside of ghost pads.
13151
13152         * gst/gstghostpad.c: Implement the ghost pad activation design.
13153
13154 2005-10-02  Andy Wingo  <wingo@pobox.com>
13155
13156         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
13157         It is volatile, after all.
13158
13159         * docs/design/part-gstghostpad.txt: Flesh out activation with
13160         ghost pads.
13161
13162         * gst/base/gstbasesrc.c (gst_base_src_init): Use
13163         GST_DEBUG_FUNCPTR.
13164
13165 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
13166
13167         * configure.ac:
13168           Fix (unused) AM_CONDITIONAL tests.
13169
13170 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
13171
13172         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
13173
13174         * gst/gstutils.c: (gst_pad_query_convert):
13175           Add assertion that makes sure src_val is >=0, just like
13176           gst_query_new_convert() has. (#315895)
13177
13178 2005-09-30  Edward Hervey  <edward@fluendo.com>
13179
13180         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
13181         Let's not iterate pads we're not interested in, it avoids getting 
13182         sky-high refcounts on sinkpad.
13183
13184 2005-09-30  Wim Taymans  <wim@fluendo.com>
13185
13186         * gst/gstelement.c: (gst_element_set_state),
13187         (gst_element_change_state):
13188         Small tweak, element in ASYNC remains ASYNC.
13189
13190 2005-09-30  Wim Taymans  <wim@fluendo.com>
13191
13192         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
13193         Only error is an error.
13194
13195         * gst/gstbin.c: (gst_bin_change_state):
13196         Better debugging.
13197
13198         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
13199         Also call pad_block in pad alloc.
13200
13201         * gst/gstutils.c: (gst_flow_get_name):
13202         Better debugging.
13203
13204 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
13205
13206         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13207         (gst_base_src_get_range):
13208           Fix documentation typos. Add some more debug info.
13209
13210 2005-09-29  David Schleef  <ds@schleef.org>
13211
13212         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
13213           more end-user friendly.
13214         * tools/gst-inspect.c: (main): Check if command-line argument is
13215           a file and attempt to load that file as a plugin.
13216
13217 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13218
13219         * check/gst/gstbin.c:
13220         * check/states/sinks.c:
13221           fix tests for the new warning
13222         * check/gst/gstpipeline.c:
13223           add a test for pipeline and bus interaction
13224         * gst/gstelement.c:
13225           elements should be NULL if they get disposed; add a warning if not
13226
13227 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13228
13229         * gst/gstobject.c:
13230           for 2.6 refcounting, make debug log more correct by printing
13231           the actual refcounts at the time of swap (Wim)
13232
13233 2005-09-29  Andy Wingo  <wingo@pobox.com>
13234
13235         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
13236         removes signal watches previously added via
13237         gst_bus_add_signal_watch.
13238         (gst_bus_add_signal_watch): Don't return the source id, just store
13239         it on the bus if there wasn't an id already.
13240
13241         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
13242         add_signal_watch and remove_signal_watch.
13243
13244 2005-09-29  Edward Hervey  <edward@fluendo.com>
13245
13246         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
13247         Better if we actually iterate the list :)
13248
13249 2005-09-29  Wim Taymans  <wim@fluendo.com>
13250
13251         * check/gst/gstbin.c: (GST_START_TEST):
13252         Change for new bus API.
13253
13254         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
13255         (send_messages), (GST_START_TEST), (gstbus_suite):
13256         Change for new bus signal API.
13257
13258         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
13259         (gst_bus_source_prepare), (gst_bus_source_check),
13260         (gst_bus_create_watch), (gst_bus_add_watch_full),
13261         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
13262         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
13263         * gst/gstbus.h:
13264         Remove support for multiple GSources operating on different
13265         message types as it is too complex and unneeded when using
13266         signals.
13267         Added support for receiving signals from the bus.
13268
13269 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
13270
13271         * docs/libs/tmpl/gstdataprotocol.sgml:
13272         * docs/manual/advanced-dataaccess.xml:
13273         * gst/elements/gstcapsfilter.c:
13274         * gst/gstutils.c:
13275           rename filter-caps to caps property
13276
13277 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
13278
13279         * gst/gstvalue.c: (gst_value_deserialize_fraction):
13280           More robust fraction string parsing.
13281
13282         * docs/pwg/appendix-porting.xml:
13283           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
13284
13285 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
13286
13287         * gst/gstcaps.c: (gst_caps_do_simplify):
13288           Thou shalt not free a structure and then continue using it
13289           in the next loop iteration.
13290
13291         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
13292         (gst_caps_suite):
13293           Add test case for caps simplification.
13294
13295 2005-09-29  Wim Taymans  <wim@fluendo.com>
13296
13297         * check/gst/gstbin.c: (GST_START_TEST):
13298         Oops.
13299
13300 2005-09-29  Wim Taymans  <wim@fluendo.com>
13301
13302         * check/gst/gstbin.c: (GST_START_TEST):
13303         Add bus to bin.
13304
13305         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
13306         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
13307         (find_element), (gst_bin_sort_iterator_next),
13308         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
13309         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
13310         (gst_bin_change_state), (gst_bin_dispose):
13311         A bin does not have a bus, it gets the bus from the parent.
13312
13313         * gst/gstelement.c: (gst_element_requires_clock),
13314         (gst_element_provides_clock), (gst_element_is_indexable),
13315         (gst_element_is_locked_state), (gst_element_change_state),
13316         (gst_element_set_bus_func):
13317         Small cleanups.
13318
13319         * gst/gstpipeline.c: (gst_pipeline_class_init),
13320         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
13321         The pipeline provides a bus.
13322
13323 2005-09-28  Johan Dahlin  <johan@gnome.org>
13324
13325         * gst/gstmessage.c (gst_message_parse_state_changed): Use
13326         gst_structure_get_enum instead of gst_structure_get_int
13327
13328         * gst/gststructure.c (gst_structure_get_enum): Impl.
13329
13330         * gst/gststructure.h (gst_structure_get_enum): Add
13331
13332         * docs/gst/gstreamer-sections.txt: Ditto
13333
13334         * gst/gstmessage.c (gst_message_new_state_changed): Use
13335         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
13336         which does introspection.
13337         Reviewed by Christian Schaller
13338
13339 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
13340
13341         * gst/gstinfo.c: (gst_debug_log_default):
13342           don't do dummy g_strdup()s
13343         * libs/gst/controller/gstcontroller.c:
13344         (on_object_controlled_property_changed),
13345         (gst_controlled_property_new), (gst_controller_new_valist),
13346         (gst_controller_new_list),
13347         (gst_controller_remove_properties_valist), (gst_controller_set),
13348         (gst_controller_get), (gst_controller_sync_values),
13349         (gst_controller_get_value_array), (_gst_controller_class_init),
13350         (gst_controller_get_type):
13351         * libs/gst/controller/gstcontroller.h:
13352         * libs/gst/controller/gstinterpolation.c:
13353         (gst_controlled_property_find_timed_value_node):
13354           convert // to /**/ comments
13355
13356 2005-09-28  Wim Taymans  <wim@fluendo.com>
13357
13358         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
13359         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
13360         (gst_bus_sync_signal_handler):
13361         * gst/gstbus.h:
13362         Added async-message and sync-message signals to the bus.
13363         Added helper BusFunc to emit signals for all posted messages.
13364
13365         * gst/gstmessage.c: (gst_message_type_get_name),
13366         (gst_message_type_to_quark), (gst_message_get_type):
13367         * gst/gstmessage.h:
13368         Register quarks for message names.
13369
13370 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
13371
13372         * docs/libs/gstreamer-libs-sections.txt:
13373         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
13374         (gst_controller_new_list):
13375         * libs/gst/controller/gstcontroller.h:
13376           added another constructor for language bindings
13377
13378 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13379
13380         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
13381           add another check
13382         * gst/gstbus.c:
13383           add some doc
13384         * gst/gstinfo.c: (_gst_debug_init):
13385           slightly more readable color for refcount debugging
13386
13387 2005-09-28  Wim Taymans  <wim@fluendo.com>
13388
13389         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
13390         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
13391         (find_element), (gst_bin_sort_iterator_next),
13392         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
13393         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
13394         (gst_bin_change_state), (gst_bin_dispose):
13395         Small doc fixes. get_clock -> provide_clock.
13396
13397         * gst/gstelement.c: (gst_element_class_init),
13398         (gst_element_provides_clock), (gst_element_provide_clock),
13399         (gst_element_get_clock), (gst_element_commit_state),
13400         (gst_element_lost_state):
13401         * gst/gstelement.h:
13402         Make get/set_clock() symetric. Add provide_clock vmethod since
13403         that is actually what this function does.
13404
13405         * gst/gstpipeline.c: (gst_pipeline_class_init),
13406         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
13407         (gst_pipeline_get_clock):
13408         get_clock -> provide_clock.
13409
13410 2005-09-28  Andy Wingo  <wingo@pobox.com>
13411
13412         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
13413         lieu of real docs...
13414
13415         * gst/elements/gstfdsrc.c: Cleaned up a bit.
13416
13417 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
13418
13419         * gst/elements/gstcapsfilter.c:
13420         * gst/elements/gstfakesink.c:
13421         * gst/elements/gstfakesrc.c:
13422         * gst/elements/gstfdsink.c:
13423         * gst/elements/gstfdsrc.c:
13424         * gst/elements/gstfilesink.c:
13425         * gst/elements/gstfilesrc.c:
13426         * gst/elements/gstidentity.c:
13427         * gst/elements/gsttee.c:
13428         * gst/elements/gsttypefindelement.c:
13429           Make element details static.
13430
13431 2005-09-28  Wim Taymans  <wim@fluendo.com>
13432
13433         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
13434         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
13435         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
13436         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
13437         (gst_bin_change_state), (gst_bin_dispose):
13438         Some documentation updates.
13439         Clean up dispose handlers.
13440
13441         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
13442         * gst/gstpad.c: (gst_pad_dispose):
13443         Clean up dispose handler.
13444
13445         * gst/gstpipeline.c: (gst_pipeline_change_state):
13446         Removed spurious UNLOCK.
13447
13448 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
13449
13450         * docs/gst/gstreamer-sections.txt:
13451         * gst/base/gstbasesrc.h:
13452         * gst/gstelement.h:
13453         * gst/gstevent.h:
13454         * gst/gstobject.h:
13455         * gst/gstpad.h:
13456         * gst/gstpipeline.c:
13457         * gst/gstpipeline.h:
13458         * gst/gstutils.h:
13459         * gst/gstxml.h:
13460           added two new functions to the docs
13461                 documents all undocumented GstXXXFlags
13462                 completed some incomplete docs 
13463
13464 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
13465
13466         * gst/gstbin.c: (gst_bin_dispose):
13467         * gst/gstelement.c: (gst_element_dispose):
13468           remove now useless and leaky resurrection code in dispose
13469         * gst/base/gstbasesrc.c: (gst_base_src_init):
13470         * gst/gstelementfactory.c: (gst_element_factory_create):
13471         * gst/gstobject.c: (gst_object_set_parent):
13472           add some debugging
13473
13474 2005-09-27  Wim Taymans  <wim@fluendo.com>
13475
13476         * docs/design/part-TODO.txt:
13477         Update TODO.
13478
13479         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
13480         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
13481         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
13482         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
13483         (gst_bin_change_state):
13484         * gst/gstelement.h:
13485         Remove element variable, we keep element info in the iterator now.
13486
13487 2005-09-27  Andy Wingo  <wingo@pobox.com>
13488
13489         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
13490         values.
13491
13492 2005-09-27  Wim Taymans  <wim@fluendo.com>
13493
13494         * check/gst/gstbin.c: (GST_START_TEST):
13495         Enable check that works now.
13496
13497         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
13498         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
13499         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
13500         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
13501         (gst_bin_change_state):
13502         * gst/gstbin.h:
13503         Redid the state change algorithm using a topological sort algo.
13504         Handles all cases correctly.
13505         Exposed iterator for state change order.
13506
13507         * gst/gstelement.h:
13508         Temp storage for state changes. Need to get rid of this soon.
13509
13510 2005-09-27  Wim Taymans  <wim@fluendo.com>
13511
13512         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
13513         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
13514         (link_fold_func), (gst_pad_proxy_setcaps):
13515         Leak fixes, the fold functions need to unref the passed object and
13516         _get_parent_*() returns ref to parent.
13517
13518 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
13519
13520         * check/gst/gstbuffer.c: (test_make_writable):
13521           Plug leak in test case and fix 'make check-valgrind'
13522
13523 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
13524
13525         * gst/gstbuffer.c: (gst_subbuffer_init):
13526           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
13527           works correctly in all circumstances (we could have just copied
13528           the parent buffer's readonly flag, but conceptually it seems
13529           cleaner to mark all subbuffers as read-only). (based on patch
13530           by Alessandro Decina, #314710).
13531         
13532         * check/gst/gstbuffer.c: (create_read_only_buffer),
13533         (test_make_writable), (test_subbuffer_make_writable),
13534         (gst_test_suite):
13535           Add some tests for gst_buffer_make_writable().
13536
13537 2005-09-27  Wim Taymans  <wim@fluendo.com>
13538
13539         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
13540         use gst_object_has_ancestor().
13541
13542         * gst/gstobject.c: (gst_object_has_ancestor):
13543         * gst/gstobject.h:
13544         gst_object_has_ancestor() copied from gstbin.c as it is a
13545         useful function.
13546
13547         * tests/instantiate/create.c: (create_all_elements):
13548         * tests/lat.c: (handoff_src), (handoff_sink):
13549         * tests/sched/runxml.c: (main):
13550         * tests/seeking/seeking1.c: (main):
13551         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
13552         (main):
13553         Fix compilation of some tests.
13554
13555 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
13556
13557         * gst/gsterror.h:
13558           Remove comment. GST_TYPE_G_ERROR is here to stay,
13559           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
13560           (#316961, #300610).
13561
13562 2005-09-26  Wim Taymans  <wim@fluendo.com>
13563
13564         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13565         Added check that shows error in state change order.
13566
13567 2005-09-26  Wim Taymans  <wim@fluendo.com>
13568
13569         * gst/gstbin.c: (gst_bin_change_state):
13570         Make state change function use 3 queues again, we were
13571         adding elements in the wrong order.
13572
13573         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
13574         Some debug info,
13575
13576         * gst/gstpad.c: (gst_pad_dispose):
13577         Added some debug info first.
13578
13579 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
13580
13581         * docs/design/draft-push-pull.txt:
13582         * docs/design/part-events.txt:
13583         * docs/design/part-overview.txt:
13584         * docs/design/part-scheduling.txt:
13585           Replace all _pull_region() with _pull_range()
13586           
13587 2005-09-26  Andy Wingo  <wingo@pobox.com>
13588
13589         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
13590
13591         * check/gst-libs/controller.c: Update for controller api change.
13592
13593         * configure.ac: 
13594         * tests/Makefile.am:
13595         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
13596         over by GLib bug 118439.
13597         
13598         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
13599         routines to a function.
13600
13601         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
13602
13603         * libs/gst/controller/gsthelper.c:
13604         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
13605         (gst_object_sync_values): Renamed from sink_values. Ugh.
13606
13607         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
13608
13609         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
13610         Renamed from controller_key, as it is exported.
13611
13612         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
13613
13614 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
13615
13616         * gst/Makefile.am:
13617         * gst/gst.h:
13618         * gst/gstpad.h:
13619         * gst/gstpadtemplate.h:
13620         * gst/gstquery.c:
13621         * gst/gstquery.h:
13622         * gst/gstqueryutils.c:
13623         * gst/gstqueryutils.h:
13624           remove queryutils headers after moving the two used functions
13625           to gstquery.  also fixes build problem for gstsiddec
13626
13627 2005-09-26  Michael Smith <msmith@fluendo.com>
13628
13629         * tools/gst-launch.1.in:
13630         Correct documentation in manpage of debug syntax
13631
13632 2005-09-26  Wim Taymans  <wim@fluendo.com>
13633
13634         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
13635         (gst_base_src_is_seekable), (gst_base_src_change_state):
13636         Some more debugging info.
13637
13638 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
13639
13640         * docs/gst/gstreamer-sections.txt:
13641         * gst/base/gstbasetransform.h:
13642         * gst/gstindex.h:
13643           added more docs
13644
13645 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
13646
13647         * docs/gst/.cvsignore:
13648         * docs/gst/tmpl/.cvsignore:
13649         * docs/gst/tmpl/gstpipeline.sgml:
13650         * docs/gst/tmpl/gstplugin.sgml:
13651         * gst/gstpipeline.c:
13652         * gst/gstplugin.c:
13653         * gst/gstplugin.h:
13654           inlined the last two docs files
13655           removed the tmpl directory from cvs (no more conflicts here!)
13656
13657 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
13658
13659         * docs/gst/gstreamer-sections.txt:
13660         * docs/gst/tmpl/.cvsignore:
13661         * docs/gst/tmpl/gstpad.sgml:
13662         * docs/gst/tmpl/gstpadtemplate.sgml:
13663         * gst/Makefile.am:
13664         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
13665         (gst_pad_finalize), (gst_pad_set_pad_template):
13666         * gst/gstpad.h:
13667         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
13668         (gst_pad_template_class_init), (gst_pad_template_init),
13669         (gst_pad_template_dispose), (name_is_valid),
13670         (gst_static_pad_template_get), (gst_pad_template_new),
13671         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
13672         (gst_pad_template_pad_created):
13673         * gst/gstpadtemplate.h:
13674           inlined two more docs
13675           factored gstpadtemplate out of gstpad
13676
13677 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
13678
13679         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
13680         (test_children_state_change_order_semi_sink):
13681           Fix test case: we can't rely on a fixed state change order when
13682           going from READY => PAUSED because the sink might commit its 
13683           new state first when the first buffer created by the source 
13684           reaches the sink before the source has finished its change state.
13685           (Test case still fails at times, see #316856, comment 5 onwards)
13686
13687 2005-09-24  Wim Taymans  <wim@fluendo.com>
13688
13689         * docs/design/part-events.txt:
13690         * docs/design/part-gstbus.txt:
13691         * docs/design/part-gstpipeline.txt:
13692         * docs/design/part-messages.txt:
13693         * docs/design/part-overview.txt:
13694         * docs/design/part-segments.txt:
13695         * gst/gstbin.c:
13696         * gst/gstbuffer.c:
13697         * gst/gstclock.c:
13698         * gst/gstelement.c:
13699         * gst/gstevent.c:
13700         * gst/gstfilter.c:
13701         * gst/gstiterator.c:
13702         Various documentation updates.
13703
13704 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13705
13706         * gst/gstclock.h:
13707           Well, that's embarassing.  Luckily we weren't using
13708           GST_CLOCK_DIFF anywhere.
13709
13710 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13711
13712         * common/gtk-doc.mak:
13713           don't fail on building XML, FC4 slave shows a bunch of doc
13714           missing bits that I don't get
13715         * gst/gstpad.c:
13716         * gst/gstpipeline.c:
13717         * gst/gststructure.c:
13718           some doc updates
13719
13720 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
13721
13722         * docs/design/part-gstbin.txt:
13723         * docs/design/part-gstbus.txt:
13724         * gst/gstbus.c:
13725           Add blurb about how the bus goes into flushing mode and
13726           drops all messages when its bin goes from READY into NULL 
13727           state.
13728
13729 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13730
13731         * docs/gst/gstreamer-sections.txt:
13732         * gst/gststructure.c: (gst_structure_get_clock_time):
13733         * gst/gststructure.h:
13734           add a method to get a GstClockTime out of a structure
13735
13736 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
13737
13738         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
13739         (test_children_state_change_order_semi_sink), (gst_bin_suite):
13740           Added test to check state change order in bins (can still be made
13741           to fail here under heavy disk load; bails out with 'Push on pad
13742           fakesink:sink0, but it was not activated in push mode').
13743
13744         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
13745           Fix state change order when there is only a semi sink (#316856)
13746
13747         * gst/gstbus.c: (gst_bus_class_init):
13748           Use _class_peek_parent(), not _class_ref(); fix docs to say
13749           'default main context' instead of 'mainloop' where that is
13750           what's meant.
13751
13752         * gst/gstelement.c: (gst_element_commit_state),
13753         (gst_element_set_state):
13754           Fix typos in debug messages
13755
13756 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13757
13758         * docs/README:
13759         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
13760         * gst/gstpluginfeature.c:
13761         * gst/gstutils.c:
13762           various doc updates
13763         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13764           change an assert into an error until it gets fixed properly
13765
13766 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
13767
13768         * docs/gst/gstreamer-sections.txt:
13769         * docs/gst/tmpl/.cvsignore:
13770         * docs/gst/tmpl/gstelement.sgml:
13771         * docs/gst/tmpl/gstinfo.sgml:
13772         * docs/gst/tmpl/gstobject.sgml:
13773         * gst/gstelement.c:
13774         * gst/gstelement.h:
13775         * gst/gstinfo.c:
13776         * gst/gstinfo.h:
13777         * gst/gstobject.c: (gst_object_class_init):
13778         * gst/gstobject.h:
13779           inlined 3 more biiiig doc files and added some missing docs on the fly
13780
13781 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13782
13783         * check/gst/.cvsignore:
13784         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
13785         * gst/gstregistryxml.c: (load_plugin),
13786         (gst_registry_xml_save_plugin):
13787           put back source in registry.  add checks for find_plugin.
13788         * testsuite/states/bin.c: (assert_state), (empty_bin),
13789         (test_adding_one_element), (main):
13790         * testsuite/states/locked.c: (main):
13791           some compile/run fixes
13792
13793 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
13794
13795         * check/gst/gstvalue.c: (GST_START_TEST):
13796           fix leaks in the test itself
13797
13798 2005-09-22  Wim Taymans  <wim@fluendo.com>
13799
13800         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
13801         (gst_base_sink_send_event), (gst_base_sink_peer_query),
13802         (gst_base_sink_query):
13803         Prepare for more accurate position reporting and query
13804         handling.
13805
13806         * gst/gstelement.c: (gst_element_send_event),
13807         (gst_element_set_state):
13808         Add some comment.
13809
13810 2005-09-22  Wim Taymans  <wim@fluendo.com>
13811
13812         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
13813         (gst_query_parse_segment):
13814         * gst/gstquery.h:
13815         More documentation.
13816         Add segment query for future use.
13817
13818 2005-09-22  Wim Taymans  <wim@fluendo.com>
13819
13820         * gst/gstbin.c: (gst_bin_add_func):
13821         Some more debug info.
13822
13823         * gst/gstelement.c: (gst_element_send_event):
13824         Simplify send_event
13825
13826         * gst/gstelement.h:
13827         Don't know how flags got broken.
13828
13829         * gst/gstquery.h:
13830         Added new query.
13831
13832 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
13833
13834         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
13835           Add simplistic test suite for GST_TYPE_DATE serialisation and
13836           deserialisation.
13837
13838 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
13839
13840         * docs/gst/gstreamer-sections.txt:
13841         * gst/gststructure.c: (gst_structure_set_valist),
13842         (gst_structure_get_date):
13843         * gst/gststructure.h:
13844         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
13845         (gst_date_copy), (gst_value_compare_date),
13846         (gst_value_serialize_date), (gst_value_deserialize_date),
13847         (gst_value_transform_date_string),
13848         (gst_value_transform_string_date), (_gst_value_initialize):
13849         * gst/gstvalue.h:
13850           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
13851           bunch of utility functions along with a hack that checks that
13852           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
13853           is required. Part of the grand scheme in #170777.
13854
13855 2005-09-22  Andy Wingo  <wingo@pobox.com>
13856
13857         * gst/gstconfig.h.in: Psych out gtk-doc.
13858
13859         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
13860
13861         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
13862
13863         * tools/gst-inspect.c (print_element_list): Plug some
13864         inconsequential leaks.
13865
13866         * gst/gstregistry.c (gst_registry_get_default): Doc.
13867
13868         * check/gst/gstplugin.c: 
13869         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
13870         * gst/gstelementfactory.c (gst_element_factory_create): 
13871         * gst/gstindexfactory.c (gst_index_factory_create): Update for
13872         refcount changes.
13873
13874         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
13875         (gst_plugin_feature_load): Doc, don't eat refs.
13876
13877         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
13878         (gst_plugin_list_free): Doc.
13879         (gst_plugin_load_file): Doc updates.
13880
13881         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
13882         accessors returning refcounted objects, return a ref.
13883
13884         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
13885         accessor for caps. IDEMPOTENCE. Oh yes.
13886
13887 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
13888
13889         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
13890
13891         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
13892         (_gst_debug_register_funcptr):
13893           Add mutex to serialise access to the hash table with
13894           the function pointer => function name string mapping;
13895           make that hash table static scope (#316809).
13896
13897         * gst/registries/.cvsignore:
13898           Remove left-over file.
13899
13900 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
13901
13902         * docs/pwg/appendix-porting.xml:
13903           And something about newsegment events and caps-on-buffers to
13904           the porting guide (feel free to improve).
13905
13906 2005-09-21  Andy Wingo  <wingo@pobox.com>
13907
13908         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
13909         data and event probes on the same pad.
13910         (test_buffer_probe_once): Test that removing probes from within
13911         the probe functions works.
13912
13913 2005-09-21  Andy Wingo  <wingo@pobox.com>
13914
13915         * check/gst/gstutils.c: New file.
13916         (test_buffer_probe_n_times): A simple buffer probe test. More to
13917         come, foolios.
13918
13919         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
13920         have-data::buffer, not have-data.
13921         (gst_pad_add_event_probe): Likewise for have-data::event.
13922         (gst_pad_add_data_probe): More docs. The part about 'resolving the
13923         peer' isn't quite right yet though.
13924         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
13925         (gst_pad_remove_data_probe): Change to take the guint handler_id
13926         as their arg, not the function+data, which is more glib-like.
13927
13928         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
13929         the signal emission to indicate if the data is a buffer or an
13930         event.
13931         (gst_pad_get_type): Initialize buffer and event quarks.
13932         (gst_pad_class_init): have-data is now a detailed signal, yes it
13933         is.
13934
13935 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
13936
13937         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
13938         * gst/gstutils.c: (gst_util_set_value_from_string),
13939         (gst_util_set_object_arg):
13940           Don't put functional code in g_return_if_fail() or
13941           g_return_val_if_fail() statements, otherwise things will 
13942           break when G_DISABLE_CHECKS is defined during compilation.
13943
13944 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
13945
13946         * docs/gst/tmpl/.cvsignore:
13947         * docs/gst/tmpl/gstvalue.sgml:
13948         * gst/gstvalue.c:
13949         * gst/gstvalue.h:
13950           inlied another one and added  some obvious docs
13951
13952 2005-09-21  Wim Taymans  <wim@fluendo.com>
13953
13954         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
13955         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
13956         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
13957         (gst_fdsrc_get_property), (gst_fdsrc_create):
13958         * gst/elements/gstfdsrc.h:
13959         Properly implement fdsrc. Removed signal and timeout,
13960         better implemented somewhere else.
13961
13962 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
13963
13964         * docs/gst/tmpl/.cvsignore:
13965         * docs/gst/tmpl/gstimplementsinterface.sgml:
13966         * gst/gstinterface.c:
13967           inlined more docs
13968
13969 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
13970
13971         * docs/gst/gstreamer-sections.txt:
13972         * docs/gst/tmpl/.cvsignore:
13973         * docs/gst/tmpl/gstenumtypes.sgml:
13974           remove obsolete doc file
13975
13976 2005-09-21  David Schleef  <ds@schleef.org>
13977
13978         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
13979         little beer, fix a little leak.
13980
13981 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
13982
13983         * docs/gst/gstreamer-docs.sgml:
13984         * docs/gst/gstreamer-sections.txt:
13985         * docs/gst/tmpl/.cvsignore:
13986         * gst/Makefile.am:
13987         * gst/gst.h:
13988         * gst/gstbin.c:
13989         * gst/gstelement.h:
13990         * gst/gstindex.c: (gst_index_class_init):
13991         * gst/gstindex.h:
13992         * gst/gstindexfactory.c: (gst_index_factory_get_type),
13993         (gst_index_factory_class_init), (gst_index_factory_init),
13994         (gst_index_factory_finalize), (gst_index_factory_new),
13995         (gst_index_factory_destroy), (gst_index_factory_find),
13996         (gst_index_factory_create), (gst_index_factory_make):
13997         * gst/gstindexfactory.h:
13998         * gst/gstpluginfeature.c:
13999         * gst/gstpluginfeature.h:
14000         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
14001           more docs inlined, splitted gstindex.{c,h}
14002
14003 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14004
14005         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
14006           fix a leak
14007
14008 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
14009
14010         * gst/elements/gstfilesink.c: (gst_file_sink_init):
14011           Set sync to FALSE by default.
14012
14013 2005-09-20  Wim Taymans  <wim@fluendo.com>
14014
14015         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
14016         (gst_base_sink_init):
14017         Make sync property settable from subclass.
14018
14019         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
14020         (gst_fake_sink_change_state):
14021         Set sync to FALSE by default.
14022
14023 2005-09-20  Wim Taymans  <wim@fluendo.com>
14024
14025         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
14026         * tools/gst-launch.c: (main):
14027         The timeout handler should have lower priority than the source
14028         so we don't timeout before popping a message with 0 timeout.
14029         Dump error messages after failed state change.
14030
14031 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
14032
14033         * tools/gst-inspect.c: (print_element_properties_info):
14034           Fix two typos.
14035
14036 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14037
14038         * check/gst/gstevent.c:
14039         * gst/elements/gstfakesink.c:
14040         * gst/elements/gstfakesink.h:
14041           remove the sync property from fakesink.
14042           has the side effect of setting sync TRUE
14043           for fakesink, which is a change.  Anyone who knows how
14044           to fix this nicely in a GObject-y way, feel free.
14045
14046 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
14047
14048         * docs/gst/gstreamer-docs.sgml:
14049           remove probe refsection
14050
14051 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
14052
14053         * check/Makefile.am:
14054           disable valgrinding the controller test again
14055         * docs/gst/gstreamer-sections.txt:
14056           update for api-changes
14057
14058 2005-09-20  Wim Taymans  <wim@fluendo.com>
14059
14060         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
14061         (gst_base_sink_set_property), (gst_base_sink_get_property),
14062         (gst_base_sink_do_sync):
14063         * gst/base/gstbasesink.h:
14064         Added sync property to basesink to disable clock sync.
14065
14066 2005-09-20  Andy Wingo  <wingo@pobox.com>
14067
14068         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
14069         eating the caller's refcount.
14070
14071         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
14072         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
14073         refcount.
14074
14075         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
14076         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
14077         of GLib 2.8 public, so we can know which refcount to check in
14078         tests.
14079
14080         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
14081         (gst_object_init): Only set the gst refcount if we're going ahead
14082         with the refcount hack.
14083
14084 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
14085
14086         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
14087         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
14088           more leaks plumbed, added more debug-logging
14089         * gst/gstmacros.h:
14090           whitespace fix
14091
14092 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14093
14094         * gst/gstmessage.c:
14095           remove include of gstmemchunk.h
14096
14097 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14098
14099         * gst/gstclock.c: (_gst_clock_id_free):
14100           Commit from the Political Party For More Atomic CVS Commits,
14101           so that people don't waste too much of their day fishing
14102           out obvious leaks out of massive commits.
14103           Oh, and fix a pretty damn obvious leak in the memchunk
14104           removal code.
14105
14106 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
14107
14108         * check/Makefile.am:
14109         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
14110           plug mem-leak, re-add to valgrindable tests
14111
14112 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14113
14114         * gst/gstplugin.h:
14115           unbreak the build for those who have chronic arthritis
14116           and typing "make check" is just too taxing on the hands
14117
14118 2005-09-20  Andy Wingo  <wingo@pobox.com>
14119
14120         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
14121         really want it out, you should fix plugins at the same time.
14122
14123 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
14124
14125         * configure.ac:
14126         * docs/gst/gstreamer-sections.txt:
14127         * gst/gstobject.c:
14128           added missing symbols to api docs
14129           disable ref-count hack if we have glib >= 2.8
14130
14131 2005-09-19  David Schleef  <ds@schleef.org>
14132
14133         * docs/gst/Makefile.am: Ignore a few more internal headers
14134         * docs/gst/gstreamer-docs.sgml: Remove old sections
14135         * docs/gst/gstreamer-sections.txt: Remove old sections
14136         * docs/gst/tmpl/gstobject.sgml: update
14137         * docs/gst/tmpl/gstplugin.sgml: update
14138         * docs/gst/tmpl/gstpluginfeature.sgml: update
14139         * docs/random/ds/0.9-suggested-changes: update.
14140         * gst/Makefile.am: remove memchunk and trashstack, since they're
14141           not used.
14142         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
14143         * gst/gst.h: don't include some headers
14144         * gst/gstchildproxy.c: add gstmarshal.h
14145         * gst/gstclock.c: Don't use memchunks
14146         * gst/gstminiobject.c: Add some docs
14147         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
14148         * gst/gstobject.h: same
14149         * gst/gstplugin.c: include gstmacros.h
14150         * gst/gstplugin.h: don't include gstmacros.h, since it's private
14151         * gst/gstquery.c: don't use memchunks
14152         * gst/gstregistry.c: rename gst_registry_deinit()
14153         * gst/gstregistry.h: same
14154
14155 2005-09-19  David Schleef  <ds@schleef.org>
14156
14157         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
14158         * docs/libs/gstreamer-libs-sections.txt:
14159         * docs/libs/tmpl/gstgetbits.sgml:
14160         * docs/libs/tmpl/gstputbits.sgml:
14161
14162 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
14163
14164         * win32/gstenumtypes.c:
14165         * win32/gstenumtypes.h:
14166           Update.
14167
14168 2005-09-19  Wim Taymans  <wim@fluendo.com>
14169
14170         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
14171         Automatically PAUSE and RESUME a pipeline when a flushing seek
14172         is performed.
14173
14174 2005-09-19  Andy Wingo  <wingo@pobox.com>
14175
14176         * gst/gstregistry.h: Spacing fixen.
14177
14178 2005-09-19  Wim Taymans  <wim@fluendo.com>
14179
14180         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
14181         Handle state change failure more correctly.
14182
14183 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14184
14185         * check/Makefile.am:
14186         * check/pipelines/cleanup.c: (run_pipeline):
14187         * check/pipelines/simple_launch_lines.c: (run_pipeline),
14188         (GST_START_TEST):
14189           enable cleanup again after fixing the leak
14190         * docs/README:
14191           some more info on docs
14192
14193 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14194
14195         * check/Makefile.am:
14196           re-enable tests now that leaks are plugged
14197         * check/gst/gst.c:
14198         * check/gst/gstbin.c:
14199         * check/gst/gstpipeline.c:
14200           add some more tests while fixing leaks
14201         * common/check.mak:
14202           make sure binaries are uptodate when valgrinding/gdbing
14203         * gst/gst.c:
14204         * gst/gstelementfactory.c:
14205           remove a ref too many, and add a FIXME for when we get
14206           round to disposing of classes
14207         * gst/gstplugin.c:
14208           fix the refcounting when loading a plugin from a file and
14209           the code pretends that the pointer is the same even though
14210           of course it can change
14211         * gst/gstpluginfeature.c:
14212           unref plugins marked cached (a bit confusing as a name)
14213           as the docs state should be done
14214           various doc additions to explain refcounting
14215         * gst/gstregistry.c:
14216         * gst/gstregistryxml.c:
14217           debugging
14218
14219 2005-09-19  Wim Taymans  <wim@fluendo.com>
14220
14221         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
14222         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
14223         (send_messages), (GST_START_TEST), (gstbus_suite):
14224         * check/gst/gstpipeline.c: (GST_START_TEST):
14225         * check/pipelines/cleanup.c: (run_pipeline):
14226         * check/pipelines/simple_launch_lines.c: (run_pipeline),
14227         (GST_START_TEST):
14228         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
14229         (gst_bus_source_check), (gst_bus_source_dispatch),
14230         (gst_bus_create_watch), (gst_bus_add_watch_full),
14231         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
14232         * gst/gstbus.h:
14233         * tools/gst-launch.c: (event_loop):
14234         * tools/gst-md5sum.c: (event_loop):
14235         GstBusHandler -> GstBusFunc, return value has the same meaning as
14236         any other GSource (FALSE == remove source).
14237         _add_watch() and _add_watch_full() now take a MessageType mask to
14238         only handle specific types of messages.
14239         _poll() returns the GstMessage instead of the message type to avoid
14240         race conditions.
14241         _have_pending() takes a MessageType mask now too.
14242         Added testsuite for multiple bus watches.
14243         Fix testsuites and applications for new bus API.
14244
14245 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14246
14247         * check/Makefile.am:
14248           mark a bunch of the tests as to fix until we fix them
14249
14250 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
14251
14252         * common/check.mak:
14253           use GST_PLUGIN settings for valgrind tests as well, so we're
14254           valgrinding the correct thing
14255         * gst/gst.c: (init_post):
14256           plug another leak
14257
14258 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
14259
14260         * gst/gst.c: (init_post), (gst_deinit):
14261         * gst/gstelementfactory.c: (gst_element_factory_class_init),
14262         (gst_element_factory_finalize), (gst_element_factory_cleanup):
14263         * gst/gstindex.c: (gst_index_factory_class_init),
14264         (gst_index_factory_finalize):
14265         * gst/gstobject.c: (gst_object_dispose):
14266         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
14267         (gst_plugin_load_file), (gst_plugin_desc_free):
14268         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
14269         (gst_plugin_feature_finalize):
14270         * gst/gstregistry.c: (gst_registry_class_init),
14271         (gst_registry_init), (gst_registry_finalize),
14272         (gst_registry_get_default), (gst_registry_deinit):
14273         * gst/gstregistry.h:
14274         * gst/gstregistryxml.c: (load_feature), (load_plugin):
14275           various cleanups and memleak plugging.  make valgrind is happy now.
14276
14277 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
14278
14279         * common/check.mak:
14280           add a check-valgrind target
14281
14282 2005-09-18  David Schleef  <ds@schleef.org>
14283
14284         * tools/gst-inspect.c: Revert the GOption code.
14285
14286 2005-09-17  David Schleef  <ds@schleef.org>
14287
14288         * check/Makefile.am: Fix environment variables.
14289         * check/gst/gstplugin.c: Fix for API changes.
14290         * tools/gst-inspect.c: Fix for API changes.
14291         * tools/gst-xmlinspect.c: Fix for API changes.
14292         * gst/gstelementfactory.c:
14293         * gst/gstplugin.c:
14294         * gst/gstplugin.h:
14295         * gst/gstpluginfeature.c:
14296         * gst/gstpluginfeature.h:
14297         * gst/gstregistry.c:
14298         * gst/gstregistry.h:
14299         * gst/gstregistryxml.c:
14300         * gst/gsttypefind.c:
14301         * gst/gsttypefindfactory.c:
14302         * gst/indexers/gstfileindex.c:
14303         * gst/indexers/gstmemindex.c:
14304         * gst/schedulers/Makefile.am:
14305           Change registry to keep track of both plugins and features,
14306           removing the feature tracking from plugins themselves.
14307
14308 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14309
14310         * check/Makefile.am:
14311         * tools/gst-register.1.in:
14312           remove gst-register
14313
14314 2005-09-15  David Schleef  <ds@schleef.org>
14315
14316         * check/gst/gstplugin.c:
14317         * gst/gstelementfactory.c:
14318         * gst/gstplugin.c:
14319         * gst/gstpluginfeature.c:
14320         * gst/gstregistry.c:
14321           Getting tired of debugging.  Disabled all the unreffing of
14322           plugins and features, which fixes the segfaults, but of
14323           course leaks like crazy.  At least playbin works.
14324
14325 2005-09-15  David Schleef  <ds@schleef.org>
14326
14327         * check/gst/gstplugin.c: (register_check_elements),
14328         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
14329         More testing
14330         * gst/elements/gsttypefindelement.c: Fix refcounting.
14331         * gst/gsttypefind.c:
14332         * gst/gsttypefindfactory.c:
14333         * gst/gsttypefindfactory.h:
14334
14335 2005-09-15  David Schleef  <ds@schleef.org>
14336
14337         * gst/gstindex.c: get refcounting correct.
14338         * gst/gstregistry.c: Handle the case where a feature/plugin is
14339           not found.
14340
14341 2005-09-15  David Schleef  <ds@schleef.org>
14342
14343         * check/Makefile.am:
14344         * check/gst/gstplugin.c: Add test
14345         * gst/gstplugin.c: Fix problems noticed by testsuite
14346         * gst/gstplugin.h:
14347         * gst/gstregistry.c: 
14348         * gst/gstregistry.h:
14349
14350 2005-09-15  David Schleef  <ds@schleef.org>
14351
14352         * gst/gstplugin.c: Implement semi-decent recounting and locking
14353           in plugins and plugin features.
14354         * gst/gstplugin.h:
14355         * gst/gstpluginfeature.c:
14356         * gst/gstpluginfeature.h:
14357         * gst/gstregistry.c:
14358
14359 2005-09-15  Michael Smith <msmith@fluendo.com>
14360
14361         * gst/gstregistry.c: (gst_registry_get_feature_list):
14362           Implement this. Makes oggdemux work; decodebin still broken.
14363
14364 2005-09-14  David Schleef  <ds@schleef.org>
14365
14366         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
14367           #316076)
14368         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
14369         * gst/check/Makefile.am:
14370         * libs/gst/controller/Makefile.am:
14371         * libs/gst/dataprotocol/Makefile.am:
14372
14373 2005-09-14  David Schleef  <ds@schleef.org>
14374
14375         * configure.ac: Remove getbits library.  Nothing uses it, and
14376           it should be in something like liboil if someone did want
14377           to use it.
14378         * libs/gst/Makefile.am:
14379         * libs/gst/getbits/Makefile.am:
14380         * libs/gst/getbits/gbtest.c:
14381         * libs/gst/getbits/getbits.c:
14382         * libs/gst/getbits/getbits.h:
14383         * libs/gst/getbits/gstgetbits_generic.c:
14384         * libs/gst/getbits/gstgetbits_i386.s:
14385         * libs/gst/getbits/gstgetbits_inl.h:
14386
14387 2005-09-14  David Schleef  <ds@schleef.org>
14388
14389         * gst/Makefile.am: Dist glib-compat.h
14390
14391 2005-09-14  David Schleef  <ds@schleef.org>
14392
14393         * configure.ac: Remove gst/registries, since it's no longer used.
14394         * gst/registries/Makefile.am:
14395         * gst/registries/gstlibxmlregistry.c:
14396         * gst/registries/gstlibxmlregistry.h:
14397         * gst/registries/gstxmlregistry.c:
14398         * gst/registries/gstxmlregistry.h:
14399         * gst/registries/registrytest.c:
14400
14401 2005-09-14  David Schleef  <ds@schleef.org>
14402
14403         * gst/glib-compat.h:
14404         * gst/gstregistryxml.c:
14405           Convergence is near.  Seriously.
14406
14407 2005-09-14  David Schleef  <ds@schleef.org>
14408
14409         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
14410         * gst/glib-compat.h:
14411           Attempt #4 to appease the buildbots.
14412
14413 2005-09-14  David Schleef  <ds@schleef.org>
14414
14415         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
14416           Attempt #3.
14417
14418 2005-09-14  David Schleef  <ds@schleef.org>
14419
14420         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
14421         Attempt #2.
14422
14423 2005-09-14  David Schleef  <ds@schleef.org>
14424
14425         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
14426           the new functions.
14427
14428 2005-09-14  David Schleef  <ds@schleef.org>
14429
14430         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
14431         * gst/glib-compat.h: Add some functions that are in newer versions
14432           of glib than we care to require.
14433         * gst/gstregistryxml.c: Use them.
14434
14435 2005-09-14  David Schleef  <ds@schleef.org>
14436
14437         * po/POTFILES.in: remove gst-register.c
14438
14439 2005-09-14  David Schleef  <ds@schleef.org>
14440
14441         * docs/gst/gstreamer-docs.sgml:
14442         * docs/gst/gstreamer-sections.txt:
14443         * docs/gst/gstreamer.types:
14444         * docs/gst/tmpl/gstelement.sgml:
14445         * docs/gst/tmpl/gstplugin.sgml:
14446         * docs/gst/tmpl/gstpluginfeature.sgml:
14447           Documentation updates for registry changes.
14448
14449 2005-09-14  David Schleef  <ds@schleef.org>
14450
14451         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
14452           because we don't require glib-2.8.
14453
14454 2005-09-14  David Schleef  <ds@schleef.org>
14455
14456         * gst/gstregistryxml.c: Added.  Essentially moved out of the
14457           registries directory.
14458
14459 2005-09-14  David Schleef  <ds@schleef.org>
14460
14461         * check/Makefile.am:
14462         * check/generic/states.c:
14463         * gst/Makefile.am:
14464         * gst/gst.c:
14465         * gst/gst.h:
14466         * gst/gst_private.h:
14467         * gst/gstelementfactory.c:
14468         * gst/gstindex.c:
14469         * gst/gstinfo.c:
14470         * gst/gstplugin.c:
14471         * gst/gstplugin.h:
14472         * gst/gstpluginfeature.c:
14473         * gst/gstpluginfeature.h:
14474         * gst/gstregistry.c:
14475         * gst/gstregistry.h:
14476         * gst/gstregistrypool.c: remove
14477         * gst/gstregistrypool.h: remove
14478         * gst/gsttypefind.c:
14479         * gst/gsttypefindfactory.c:
14480         * gst/gsturi.c:
14481         * tools/Makefile.am:
14482         * tools/gst-compprep.c:
14483         * tools/gst-inspect.c:
14484         * tools/gst-register.c: remove
14485         * tools/gst-xmlinspect.c:
14486           Registry rewrite.  Changes registry from being a file created
14487           by a tool into a simple cache file created automatically by 
14488           libgstreamer.  Removed gst-register (because it's no longer
14489           needed).  Remove registry pools, because we only have one
14490           registry implementation (XML).  Fix up other subsystems as
14491           necessary.
14492
14493 2005-09-13  Michael Smith <msmith@fluendo.com>
14494
14495         * gst/gstconfig.h.in:
14496           Don't Use windows linking attributes for MinGW. Fixes #316157
14497
14498 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14499
14500         * gst/gstutils.c: (set_state_async_thread_func),
14501         (gst_element_set_state_async):
14502           Apparently people think it's better if this function doesn't
14503           try to set the state to whatever state was asked for on the first
14504           call to this function for any object.  Seriously.
14505
14506 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14507
14508         * check/gst/gstpipeline.c: (GST_START_TEST):
14509         * docs/gst/gstreamer-sections.txt:
14510         * gst/gstutils.c: (set_state_async_thread_func),
14511         (gst_element_set_state_async):
14512         * gst/gstutils.h:
14513           add a "gst_element_set_state_async" method that
14514           sets the state and starts a thread to make sure the state
14515           change completes as best as it can
14516
14517 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14518
14519         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
14520           codify design+behaviour in testsuite after discussion
14521
14522 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14523
14524         * docs/gst/tmpl/gstelement.sgml:
14525         * docs/manual/appendix-quotes.xml:
14526           add a quote
14527         * gst/gstelement.c: (gst_element_set_state):
14528           add some debug
14529
14530 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
14531
14532         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
14533         (gst_base_transform_prepare_output_buf),
14534         (gst_base_transform_handle_buffer):
14535         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
14536         (gst_capsfilter_prepare_buf):
14537           Remove the requirement for sub-classes to call the parent
14538           implementation of prepare_output_buffer with a wrapper function.
14539           
14540         * gst/gsttaglist.h:
14541         * gst/gsttagsetter.h:
14542           Fix #define wrapper
14543
14544 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
14545
14546         * docs/gst/gstreamer-sections.txt:
14547           more doc cleanups
14548
14549 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14550
14551         * docs/gst/gstreamer-sections.txt:
14552         * docs/gst/tmpl/gstelement.sgml:
14553         * docs/gst/tmpl/gstplugin.sgml:
14554         * gst/gstminiobject.c:
14555         * gst/gstvalue.h:
14556           docs now stop throwing warnings
14557
14558 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14559
14560         * docs/gst/gstreamer-sections.txt:
14561         * docs/gst/gstreamer.types:
14562         * docs/gst/tmpl/gstpad.sgml:
14563         * docs/gst/tmpl/gsttypes.sgml:
14564         * gst/base/gstadapter.h:
14565         * gst/base/gstbasesink.h:
14566         * gst/base/gstbasesrc.h:
14567         * gst/gstbin.h:
14568         * gst/gstbuffer.h:
14569         * gst/gstbus.h:
14570         * gst/gstcaps.h:
14571         * gst/gstclock.h:
14572         * gst/gstelement.h:
14573         * gst/gstevent.h:
14574         * gst/gstmessage.h:
14575         * gst/gstpad.h:
14576         * gst/gststructure.c:
14577         * gst/registries/gstlibxmlregistry.h:
14578           various documentation fixes
14579
14580 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14581
14582         * docs/gst/gstreamer-sections.txt:
14583         * docs/gst/tmpl/gstvalue.sgml:
14584           rearrange gstvalue section
14585         * gst/gstutils.c: (gst_element_state_get_name):
14586           NONE -> VOID
14587         * gst/gstvalue.c: (_gst_value_initialize):
14588         * gst/gstvalue.h:
14589           doc updates
14590
14591 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
14592
14593         * check/gst-libs/controller.c:
14594           Header include fix.
14595         * gst/base/gstbasetransform.c:
14596         (gst_base_transform_default_prepare_buf),
14597         (gst_base_transform_handle_buffer):
14598         * gst/base/gstbasetransform.h:
14599           Some more basetransform changes and fixes to enable sub-classes
14600           that modify buffer metadata only.
14601         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
14602         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
14603         (gst_capsfilter_prepare_buf):
14604           If the output pad has fixed allowed caps and input buffers 
14605           don't have any, set the fixed caps on outgoing buffers.
14606
14607 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
14608         * check/elements/identity.c: (GST_START_TEST):
14609           Make the error a little clearer when the test fails because
14610           identity made a copy of the buffer.
14611         * docs/gst/gstreamer-sections.txt:
14612           New symbols in gstbasetransform.h
14613         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
14614         (gst_base_transform_init), (gst_base_transform_transform_size),
14615         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
14616         (gst_base_transform_default_prepare_buf),
14617         (gst_base_transform_get_unit_size),
14618         (gst_base_transform_buffer_alloc),
14619         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
14620         (gst_base_transform_change_state),
14621         (gst_base_transform_set_passthrough),
14622         (gst_base_transform_set_in_place),
14623         (gst_base_transform_is_in_place):
14624         * gst/base/gstbasetransform.h:
14625           Change BaseTransform to separate in_place operate from same_caps
14626           output. in_place implies that the element can perform the transform
14627           on incoming buffers in-place, even if the caps on the output are
14628           different.
14629           Sub-class elements can now implement special buffer allocation
14630           methods for outgoing buffers if they wish to.
14631           Big documentation addition.
14632         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
14633         * gst/elements/gstelements.c:
14634           Changes for basetransform modifications.
14635         * gst/elements/Makefile.am:
14636         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
14637           Compile fix. Extra debug output.
14638
14639 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14640
14641         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
14642         (gst_pad_suite):
14643           add tests for valid pad naming
14644         * gst/check/gstcheck.c: (gst_check_log_message_func),
14645         (gst_check_log_critical_func):
14646           add ASSERT_WARNING
14647           remove printing of code, it is fragile when the code contains
14648           % and the line number is enough info
14649         * gst/check/gstcheck.h:
14650         * gst/gstpad.c: (gst_pad_template_new):
14651           fix memleaks
14652
14653 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14654
14655         * configure.ac:
14656           say what CHECK flags we use
14657         * docs/libs/gstreamer-libs.types:
14658         * libs/gst/controller/Makefile.am:
14659         * libs/gst/controller/gst-controller.c:
14660         * libs/gst/controller/gst-controller.h:
14661         * libs/gst/controller/gst-helper.c:
14662         * libs/gst/controller/gst-interpolation.c:
14663         * libs/gst/controller/gstcontroller.c:
14664         * libs/gst/controller/gsthelper.c:
14665         * libs/gst/controller/gstinterpolation.c:
14666         * tools/gst-inspect.c: (print_plugin_info):
14667           we don't use dashes in header names
14668
14669 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14670
14671         * check/Makefile.am:
14672         * check/gst/.cvsignore:
14673         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
14674         (gst_pipeline_suite), (main):
14675           adding a test for pipelines and state changes
14676         * gst/gstutils.c: (get_state_func):
14677           add some debugging
14678         * gstreamer.spec.in:
14679           fix up spec file
14680
14681 2005-09-08  Michael Smith <msmith@fluendo.com>
14682
14683         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
14684         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
14685         (gst_file_src_is_seekable), (gst_file_src_get_size),
14686         (gst_file_src_start):
14687         * gst/elements/gstfilesrc.h:
14688           Various fixes for unseekable, unmmapable, and non-normal files, so
14689           that fallback to read() rather than mmap() works.
14690         * gst/gstevent.c: (gst_event_new_newsegment):
14691           Allow newsegment events with segment_start == segment_end, as will
14692           correctly happen if you use filesrc on a zero-size file, for
14693           example.
14694
14695 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
14696
14697         * gst/gstplugin.c: (gst_plugin_load_file):
14698           Call g_module_close when we don't load the module
14699
14700         * gst/registries/gstlibxmlregistry.c:
14701         (gst_xml_registry_get_property):
14702           Port leak fix from 0.8
14703
14704 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
14705
14706         * docs/gst/gstreamer-docs.sgml:
14707         * docs/gst/tmpl/.cvsignore:
14708         * docs/gst/tmpl/gsttrace.sgml:
14709         * docs/gst/tmpl/gsttrashstack.sgml:
14710         * gst/Makefile.am:
14711         * gst/gst.h:
14712         * gst/gstelement.h:
14713         * gst/gstevent.h:
14714         * gst/gstmessage.c:
14715         * gst/gstmessage.h:
14716         * gst/gsttag.c:
14717         * gst/gsttag.h:
14718         * gst/gsttaginterface.c:
14719         * gst/gsttaginterface.h:
14720         * gst/gsttaglist.c:
14721         * gst/gsttaglist.h:
14722         * gst/gsttagsetter.c:
14723         * gst/gsttagsetter.h:
14724         * gst/gsttrace.c:
14725         * gst/gsttrace.h:
14726         * gst/gsttrashstack.c:
14727           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
14728           inlined docs for gsttrace, gsttrashstack
14729
14730 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
14731
14732         * gst/Makefile.am:
14733         * gst/elements/gstbufferstore.h:
14734         * gst/elements/gsttypefindelement.c:
14735         * gst/elements/gsttypefindelement.h:
14736         * gst/gst.h:
14737         * gst/gsttypefind.c:
14738         * gst/gsttypefind.h:
14739         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
14740         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
14741         (gst_type_find_factory_dispose),
14742         (gst_type_find_factory_unload_thyself),
14743         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
14744         (gst_type_find_factory_get_caps),
14745         (gst_type_find_factory_get_extensions),
14746         (gst_type_find_factory_call_function):
14747         * gst/gsttypefindfactory.h:
14748         * gst/registries/gstlibxmlregistry.c:
14749         * gst/registries/gstxmlregistry.c:
14750           splitted gsttypefind into gsttypefind, gsttypefindfactory
14751
14752 2005-09-07  Andy Wingo  <wingo@pobox.com>
14753
14754         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
14755         condition whereby the pad's task function is entered before the
14756         pad_mode variable was set.
14757
14758 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
14759
14760         * gst/gstpad.c: (gst_pad_alloc_buffer):
14761           Catch misbehaving pad_alloc functions that don't
14762           set up caps and do it for them.
14763
14764 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
14765
14766         * check/pipelines/simple_launch_lines.c: (run_pipeline):
14767           test for pipe!=NULL
14768         * docs/gst/tmpl/.cvsignore:
14769         * docs/gst/tmpl/gstmemchunk.sgml:
14770         * docs/gst/tmpl/gstparse.sgml:
14771         * docs/gst/tmpl/gsttaglist.sgml:
14772         * docs/gst/tmpl/gsttagsetter.sgml:
14773         * docs/gst/tmpl/gsttypefind.sgml:
14774         * docs/gst/tmpl/gsttypefindfactory.sgml:
14775         * gst/gstmemchunk.c:
14776         * gst/gstparse.c:
14777         * gst/gsttag.c:
14778         * gst/gsttaginterface.c:
14779         * gst/gsttypefind.c:
14780         * gst/gsttypefind.h:
14781           inlined more docs
14782
14783 === release 0.9.2 ===
14784
14785 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14786
14787         * NEWS:
14788         * RELEASE:
14789         * configure.ac:
14790           releasing 0.9.2, "South"
14791
14792 2005-09-05  Andy Wingo  <wingo@pobox.com>
14793
14794         * gst/registries/gstxmlregistry.h:
14795         * gst/registries/gstxmlregistry.c: Um... resurrect...
14796         
14797         * gst/registries/gstxmlregistry.h:
14798         * gst/registries/gstxmlregistry.c: and update to newer API.
14799         Incidentally they should be a bit faster now that they don't have
14800         to parse the caps.
14801         
14802 2005-09-05  Andy Wingo  <wingo@pobox.com>
14803
14804         * gst/registries/gstxmlregistry.h:
14805         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
14806         replaced by the libxml registry a while back
14807
14808 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14809
14810         * docs/gst/tmpl/gstplugin.sgml:
14811         * gst/elements/gstelements.c:
14812         * gst/gst.c:
14813         * gst/gstplugin.c: (gst_plugin_register_func),
14814         (gst_plugin_desc_copy), (gst_plugin_desc_free),
14815         (gst_plugin_get_source):
14816         * gst/gstplugin.h:
14817         * gst/registries/gstlibxmlregistry.c: (load_plugin),
14818         (gst_xml_registry_save_plugin):
14819         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
14820         (gst_xml_registry_save_plugin):
14821         * tools/gst-inspect.c: (print_plugin_info):
14822           add a "source" plugin description field, to represent the source
14823           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
14824           will set it to PACKAGE, which is automake's idea of the name of
14825           the source project.
14826
14827 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
14828
14829         * Makefile.am:
14830         * autogen.sh:
14831         * configure.ac:
14832         * docs/Makefile.am:
14833         * docs/faq/Makefile.am:
14834         * docs/gst/tmpl/gstelement.sgml:
14835         * docs/gst/tmpl/gsttypes.sgml:
14836         * docs/htmlinstall.mak:
14837         * docs/manual/Makefile.am:
14838         * docs/pwg/Makefile.am:
14839           reorganize doc build a little
14840           split out docbook and gtk-doc stuff
14841           have two separate --enable's and enable them through autogen
14842           but disable by default in configure (to be similar to other
14843           projects)
14844         * gstreamer.spec.in:
14845           clean up docs install
14846         * po/af.po:
14847         * po/az.po:
14848         * po/ca.po:
14849         * po/cs.po:
14850         * po/de.po:
14851         * po/en_GB.po:
14852         * po/fr.po:
14853         * po/it.po:
14854         * po/nb.po:
14855         * po/nl.po:
14856         * po/ru.po:
14857         * po/sq.po:
14858         * po/sr.po:
14859         * po/sv.po:
14860         * po/tr.po:
14861         * po/uk.po:
14862         * po/vi.po:
14863           translation updates
14864
14865 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
14866
14867         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
14868           Add comment.
14869           
14870         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
14871         (gst_fake_sink_change_state):
14872           Make state change function thread-safe.
14873           
14874         * gst/gstpad.c: (gst_pad_alloc_buffer):
14875           Set offset on generic buffer allocated by fallback.
14876
14877 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
14878
14879         * docs/gst/gstreamer-sections.txt:
14880         * docs/gst/tmpl/gstelement.sgml:
14881         * gst/gstpad.c:
14882         * libs/gst/controller/gst-controller.c:
14883         (gst_controlled_property_set_interpolation_mode),
14884         (gst_controlled_property_new),
14885         (gst_controller_find_controlled_property):
14886          run the wingo-magic script against the docs
14887
14888 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
14889
14890         * docs/gst/gstreamer-docs.sgml:
14891         * docs/gst/gstreamer-sections.txt:
14892         * docs/gst/tmpl/.cvsignore:
14893         * docs/gst/tmpl/gstelementdetails.sgml:
14894         * docs/gst/tmpl/gstelementfactory.sgml:
14895         * gst/gst.c:
14896         * gst/gstbus.c:
14897         * gst/gstelementfactory.c:
14898         * gst/gstelementfactory.h:
14899           merged elementdetails docs into elementfactory docs
14900           inlined both
14901
14902 2005-09-02  Andy Wingo  <wingo@pobox.com>
14903
14904         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
14905         consider this enum an enum and not a flags.
14906
14907 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
14908
14909         * docs/gst/gstreamer-docs.sgml:
14910         * docs/gst/tmpl/.cvsignore:
14911         * docs/gst/tmpl/gstghostpad.sgml:
14912         * docs/gst/tmpl/gstiterator.sgml:
14913         * docs/gst/tmpl/gstmacros.sgml:
14914         * docs/gst/tmpl/gstrealpad.sgml:
14915         * docs/gst/tmpl/gstregistry.sgml:
14916         * docs/gst/tmpl/gstregistrypool.sgml:
14917         * docs/gst/tmpl/gststructure.sgml:
14918         * docs/gst/tmpl/gstsystemclock.sgml:
14919         * docs/gst/tmpl/gsttrace.sgml:
14920         * gst/gstghostpad.c:
14921         * gst/gstmacros.h:
14922         * gst/gstmemchunk.c:
14923         * gst/gstmemchunk.h:
14924         * gst/gstqueue.c:
14925         * gst/gstregistry.c:
14926         * gst/gstregistrypool.c:
14927         * gst/gststructure.c:
14928         * gst/gstsystemclock.c:
14929           more docs inlined
14930
14931 2005-09-02  Andy Wingo  <wingo@pobox.com>
14932
14933         * gst/gstelement.h (GstState): Renamed from GstElementState,
14934         changed to be a normal enum instead of flags.
14935         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
14936         munged to be GST_STATE_CHANGE_*.
14937         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
14938         work with the new state representation.
14939         (GstStateChange): New enumeration of possible state transitions.
14940         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
14941         (GstElementClass::change_state): Pass the GstStateChange along as
14942         an argument. Helps language bindings, so they don't have to use
14943         tricky lock-needing macros like GST_STATE_CHANGE ().
14944
14945         * scripts/update-states (file): New script. Run it on a file to
14946         update it for state naming and API changes. Updates files in
14947         place.
14948
14949         * All files updated for the new API.
14950
14951 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14952
14953         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
14954         * gst/gstutils.c: (gst_util_set_value_from_string),
14955         (gst_util_set_object_arg):
14956           fix a bunch of unchecked return values
14957         * tools/gst-complete.c: (main):
14958         * gstreamer.spec.in:
14959           clean up a little
14960
14961 2005-09-01  Wim Taymans  <wim@fluendo.com>
14962
14963         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14964         (gst_base_sink_event), (gst_base_sink_do_sync),
14965         (gst_base_sink_handle_event):
14966         * gst/base/gstbasesink.h:
14967         Handle newsegments more correctly.
14968
14969         * gst/gstbus.c:
14970         Fix docs.
14971
14972         * gst/gstevent.c: (gst_event_new_newsegment):
14973         A newsegment cannot have a start_time of -1
14974
14975 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
14976
14977         * win32/gstenumtypes.c:
14978         * win32/gstenumtypes.h:
14979           Update
14980
14981 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
14982
14983         * libs/gst/controller/gst-controller.c:
14984         (gst_controlled_property_set_interpolation_mode),
14985         (gst_controlled_property_new):
14986          fixed boolean again
14987
14988 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
14989
14990         * docs/faq/gst-uninstalled:
14991           add -good
14992         * gst/gstevent.c:
14993         * gst/gstevent.h:
14994           remove wrong docs
14995         * gst/gstutils.c: (gst_element_link_filtered):
14996         * gst/gstutils.h:
14997           add gst_element_link_filtered
14998
14999 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
15000
15001         * docs/gst/gstreamer-docs.sgml:
15002         * docs/gst/gstreamer-sections.txt:
15003         * docs/gst/tmpl/.cvsignore:
15004         * docs/gst/tmpl/gsterror.sgml:
15005         * docs/gst/tmpl/gstfilter.sgml:
15006         * docs/gst/tmpl/gsturihandler.sgml:
15007         * docs/gst/tmpl/gsturitype.sgml:
15008         * docs/gst/tmpl/gstutils.sgml:
15009         * docs/gst/tmpl/gstxml.sgml:
15010         * gst/gsterror.c:
15011         * gst/gsterror.h:
15012         * gst/gstfilter.c:
15013         * gst/gsturi.c:
15014         * gst/gsturitype.c:
15015         * gst/gstutils.c:
15016         * gst/gstxml.c:
15017           inlined more docs, fixed double id-ref
15018
15019 2005-08-31  Wim Taymans  <wim@fluendo.com>
15020
15021         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
15022         (gst_base_transform_handle_buffer):
15023         Passthrough elements don't need the caps as they don't care.
15024
15025 2005-08-31  Wim Taymans  <wim@fluendo.com>
15026
15027         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
15028         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
15029         Don't leak refcounts on buffers.
15030
15031 2005-08-31  Wim Taymans  <wim@fluendo.com>
15032
15033         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
15034         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
15035         (gst_base_transform_chain), (gst_base_transform_change_state):
15036         * gst/base/gstbasetransform.h:
15037         Handle the case where we are not negotiated more gracefully.
15038
15039 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
15040
15041         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
15042         (gst_file_src_map_region):
15043           Set READONLY flag on mmap'ed buffers, otherwise
15044           gst_buffer_make_writable() won't work properly (#314708).
15045
15046 2005-08-31  Wim Taymans  <wim@fluendo.com>
15047
15048         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
15049         passthrough elements can even do inplace on non writable
15050         buffers (as they don't touch them).
15051
15052 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
15053
15054         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
15055         (gst_test_mono_source_set_property),
15056         (gst_test_mono_source_class_init), (GST_START_TEST),
15057         (gst_controller_suite):
15058           more tests (hehe I have the most)
15059         * gst/gstbus.c:
15060           describe popping messages whenusing mulltiple sources
15061         * libs/gst/controller/gst-controller.c:
15062         (gst_controlled_property_set_interpolation_mode),
15063         (gst_controlled_property_new):
15064         * libs/gst/controller/gst-controller.h:
15065         * libs/gst/controller/gst-interpolation.c:
15066           implement boolean properties
15067
15068 2005-08-31  Wim Taymans  <wim@fluendo.com>
15069
15070         * gst/gstminiobject.c: (gst_mini_object_ref):
15071         Cannot assert that the refcount has to be positive
15072         since a disposed object can be resurrected.
15073
15074 2005-08-31  Wim Taymans  <wim@fluendo.com>
15075
15076         * gst/gstpad.c: (gst_pad_init):
15077         Revert change, need to first fix badly behaving 
15078         apps.
15079
15080 2005-08-30  Wim Taymans  <wim@fluendo.com>
15081
15082         * check/elements/fakesrc.c: (setup_fakesrc):
15083         * check/elements/identity.c: (setup_identity):
15084         Activate pads before using them.
15085
15086 2005-08-30  Wim Taymans  <wim@fluendo.com>
15087
15088         * gst/base/gstadapter.c: (gst_adapter_flush):
15089         Flushing out 0 bytes is ok for this function.
15090
15091         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15092         no newsegment gives a warning and sets the start/stop to 
15093         invalid.
15094
15095         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
15096         (gst_base_transform_set_passthrough):
15097         Some debug info.
15098
15099         * gst/gstminiobject.c: (gst_mini_object_ref):
15100         Check refcount here too.
15101
15102         * gst/gstpad.c: (gst_pad_init):
15103         Pads are initially flushing and refusing data.
15104
15105         * gst/gstutils.c: (gst_element_link_pads_filtered):
15106         When adding a capsfilter element make sure it has the
15107         same state as the parent bin.
15108
15109 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
15110
15111         * docs/gst/tmpl/.cvsignore:
15112         * docs/gst/tmpl/gstformat.sgml:
15113         * docs/gst/tmpl/gstversion.sgml:
15114         * gst/gstbus.h:
15115         * gst/gstformat.c:
15116         * gst/gstformat.h:
15117         * gst/gstversion.h.in:
15118           more docs and two more inlined
15119
15120 2005-08-30  Wim Taymans  <wim@fluendo.com>
15121
15122         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
15123         Don't sync to clock.
15124
15125 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
15126
15127         * docs/gst/gstreamer-sections.txt:
15128           ultral33t func10ns deserve to appear in the docs actually
15129         * docs/gst/tmpl/.cvsignore:
15130         * docs/gst/tmpl/gstcompat.sgml:
15131         * docs/gst/tmpl/gstconfig.sgml:
15132         * gst/check/gstcheck.c:
15133         * gst/gstcompat.h:
15134         * gst/gstconfig.h.in:
15135           inlined more docs
15136
15137 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
15138
15139         * docs/gst/tmpl/.cvsignore:
15140         * docs/gst/tmpl/gstquery.sgml:
15141         * docs/gst/tmpl/gstutils.sgml:
15142         * gst/gstquery.c:
15143         * gst/gstquery.h:
15144           inlined and extended docs
15145
15146 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
15147
15148         * check/gst-libs/controller.c: (GST_START_TEST),
15149         (gst_controller_suite):
15150           more tests
15151         * docs/gst/tmpl/gstutils.sgml:
15152         * docs/libs/gstreamer-libs-sections.txt:
15153         * docs/libs/tmpl/gstdataprotocol.sgml:
15154           include path fixes
15155         * examples/controller/audio-example.c: (main):
15156           controller example works now
15157         * gst/gstclock.h:
15158           doc fixes
15159         * tools/gst-inspect.c: (print_element_properties_info):
15160           show param spec flags
15161
15162 2005-08-29  Andy Wingo  <wingo@pobox.com>
15163
15164         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
15165
15166 2005-08-28  Andy Wingo  <wingo@pobox.com>
15167
15168         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
15169         as having two arguments instead of just one. Allows superclasses
15170         to access information on subclasses -- see the terrible for() loop
15171         in gtype.c:g_type_create_instance for the reason why. All callers
15172         changed.
15173
15174 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
15175
15176         * docs/design/part-messages.txt:
15177           update info
15178         * docs/gst/tmpl/.cvsignore:
15179         * docs/gst/tmpl/gstcaps.sgml:
15180         * docs/gst/tmpl/gstclock.sgml:
15181         * gst/gstbus.c:
15182         * gst/gstcaps.c:
15183         * gst/gstcaps.h:
15184         * gst/gstclock.c:
15185         * gst/gstclock.h:
15186         * gst/gstmessage.c:
15187           added descriptions for bus and message
15188           inline caps and clock docs
15189
15190 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
15191
15192         * gst/gstmessage.c:
15193         * gst/gstmessage.h:
15194           doc fixes
15195
15196 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
15197
15198         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
15199           fix div-by-zero
15200
15201 2005-08-26  Andy Wingo  <wingo@pobox.com>
15202
15203         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
15204         element_set_state's return val.
15205         (test_2_elements): Add test that's been disabled for months.
15206
15207         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
15208         can-activate-pull properties.
15209
15210         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
15211         can-activate-pull properties. Implement is_seekable so fakesrc can
15212         operate in pull mode.
15213
15214         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
15215         properties.
15216         (gst_base_sink_activate, gst_base_sink_activate_pull)
15217         (gst_base_sink_activate_push): Make activation mode choosing work.
15218         Cleanups.
15219         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
15220         is right. Make pull mode work. Post an eos before pausing in pull
15221         mode.
15222         (gst_base_sink_change_state): Pay attention to the core's
15223         change_state() return val.
15224         
15225         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
15226         has-getrange properties. Cleanups.
15227         
15228         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
15229         has_getrange and replace with can_activate_pull and
15230         can_activate_push.
15231
15232         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
15233         locking comments. Remove has_loop, has_chain and replace with
15234         can_activate_pull and can_activate_push.
15235
15236 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
15237
15238         * configure.ac:
15239         * examples/Makefile.am:
15240         * examples/metadata/Makefile.am:
15241         * examples/metadata/read-metadata.c: (message_loop),
15242         (have_pad_handler), (make_pipeline), (print_tag), (main):
15243           Add metadata reading example that loops over a list of filenames,
15244           dumping any tags found.
15245
15246         * gst/gstbus.c: (gst_bus_dispose):
15247         * gst/gstelement.c: (gst_element_dispose):
15248           Release a few potentially-held references in dispose.
15249
15250 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
15251
15252         * docs/gst/tmpl/gstminiobject.sgml:
15253           do *not* add tmpl/*.sgml files to CVS!
15254
15255 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
15256
15257         * libs/gst/bytestream/.cvsignore:
15258         * libs/gst/bytestream/Makefile.am:
15259         * libs/gst/bytestream/adapter.c:
15260         * libs/gst/bytestream/adapter.h:
15261         * libs/gst/bytestream/bytestream.c:
15262         * libs/gst/bytestream/bytestream.h:
15263         * libs/gst/bytestream/filepad.c:
15264         * libs/gst/bytestream/filepad.h:
15265           removing obsolete files
15266
15267 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
15268
15269         * docs/gst/gstreamer-docs.sgml:
15270         * docs/libs/gstreamer-libs-docs.sgml:
15271           disabed additional index entries again, as this makes docs-gen just
15272           slow and they aren't useful yet
15273         * docs/libs/gstreamer-libs-sections.txt:
15274           little -section.txt cleanup for libs
15275
15276 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
15277
15278         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15279         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
15280           fix up some debugging
15281         (gst_base_transform_get_unit_size),
15282         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
15283         (gst_base_transform_handle_buffer):
15284         * gst/base/gstbasetransform.h:
15285           handle and store timed NEWSEGMENT events so that subclasses that
15286           calculate time by counting samples have a segment_start time they
15287           need to add to their timestamps - see audioresample
15288
15289 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
15290
15291         * gst/gstbin.h:
15292           removed ';' from the end of macro defs
15293         * docs/gst/gstreamer-docs.sgml:
15294         * docs/gst/gstreamer-sections.txt:
15295         * docs/gst/tmpl/.cvsignore:
15296         * gst/gstbus.h:
15297         * gst/gstelement.c: (gst_element_class_init),
15298         (gst_element_set_state), (activate_pads),
15299         (gst_element_save_thyself):
15300         * gst/gstevent.c: (gst_event_new_newsegment):
15301         * gst/gstevent.h:
15302         * gst/gstiterator.c:
15303         * gst/gstiterator.h:
15304         * gst/gstpad.c:
15305         * gst/gstprobe.h:
15306         * gst/gstutils.c: (gst_pad_query_convert):
15307         * gst/gstutils.h:
15308           fixed parameter name mismatches between source, header and docs
15309           added some more docs, resolved the last batch of unused elements in
15310           docs (now someone needs to doc them)
15311
15312 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
15313
15314         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
15315         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
15316           don't walk through the plugins backwards.  Where is all this
15317           reversed logic coming from ?
15318
15319 2005-08-25  Wim Taymans  <wim@fluendo.com>
15320
15321         * gst/base/gstbasetransform.c: (gst_base_transform_init),
15322         (gst_base_transform_transform_size),
15323         (gst_base_transform_configure_caps),
15324         (gst_base_transform_get_unit_size),
15325         (gst_base_transform_buffer_alloc),
15326         (gst_base_transform_change_state):
15327         * gst/base/gstbasetransform.h:
15328         Cache caps unit_size.
15329         Make sure we cannot negotiate up and downstream at the
15330         same time.
15331
15332 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
15333
15334         * gst/gst.c: (init_pre), (init_post):
15335           register the installed plugin path after the env var
15336         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
15337         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
15338           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
15339           directories, so the tests can prefer uninstalled over installed
15340
15341 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
15342
15343         * gst/base/gstbasetransform.h:
15344           comment
15345         * gst/gstpad.c:
15346           add to docs
15347
15348 2005-08-25  Wim Taymans  <wim@fluendo.com>
15349
15350         * gst/gstbin.c: (bin_bus_handler):
15351         Be a bit more conservative about the posted message.
15352         
15353         * gst/gstbus.c: (gst_bus_post):
15354         Some cleanups, warn wrong return values.
15355
15356 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
15357
15358         * check/gst/gstbin.c: (GST_START_TEST):
15359         * gst/gstbin.c: (bin_bus_handler):
15360         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
15361         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
15362         (gst_message_new_warning), (gst_message_new_tag),
15363         (gst_message_new_state_changed), (gst_message_new_segment_start),
15364         (gst_message_new_segment_done), (gst_message_new_custom):
15365         * gst/gstmessage.h:
15366         * tools/gst-launch.c: (event_loop):
15367         * tools/gst-md5sum.c: (event_loop):
15368           Revert unpopular change for GST_MESSAGE_SRC to GObject.
15369
15370 2005-08-25  Wim Taymans  <wim@fluendo.com>
15371
15372         * check/generic/states.c: (GST_START_TEST):
15373         Cleanup can be done at the end.
15374
15375         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
15376         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
15377         (gst_task_get_state), (gst_task_start), (gst_task_pause):
15378         Oh boy.. Thanks for finding this, Thomas. 
15379
15380 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
15381
15382         * docs/gst/gstreamer.types:
15383           added missing types
15384
15385 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
15386
15387         * docs/gst/gstreamer-docs.sgml:
15388         * docs/gst/gstreamer-sections.txt:
15389         * docs/gst/tmpl/.cvsignore:
15390         * gst/gstbin.c:
15391         * gst/gstiterator.c:
15392         * gst/gstutils.c:
15393         * gst/registries/gstxmlregistry.h:
15394           added missing classes and symbols (123 more to go)
15395           removed removed symbols from section file
15396           fixed many doc-comments
15397
15398 2005-08-24  Wim Taymans  <wim@fluendo.com>
15399
15400         * check/generic/states.c: (GST_START_TEST):
15401         Make sure all tasks are stopped.
15402
15403         * check/gst/gstbin.c: (GST_START_TEST):
15404         Unref after usage for proper valgrinding.
15405
15406         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
15407         Really wait for the task to stop before destroying the
15408         mutex.
15409
15410         * gst/gstqueue.c: (gst_queue_sink_activate_push),
15411         (gst_queue_src_activate_push):
15412         Small cleanups. Don't stop the task when we did not start
15413         it.
15414
15415         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
15416         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
15417         (gst_task_get_state), (gst_task_start), (gst_task_pause),
15418         (gst_task_join):
15419         * gst/gsttask.h:
15420         Protect the stream lock with the object lock.
15421         Disallow setting the stream lock when running.
15422         Add cleanup_all to wait for the threadpool to finish.
15423         Remove code to autoallocate a mutex if none was provided.
15424         Add _join() to wait for a task to stop.
15425         Protect the thread pool with a global lock.
15426
15427 2005-08-24  Wim Taymans  <wim@fluendo.com>
15428
15429         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15430         (gst_base_sink_get_times), (gst_base_sink_do_sync),
15431         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
15432         * gst/base/gstbasesink.h:
15433         Handle newsegment events correctly.
15434         Drop buffers out of the segment range.
15435
15436 2005-08-22  Andy Wingo  <wingo@pobox.com>
15437
15438         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
15439         macro, implements an interface and gstimplementsinterface for a
15440         new type.
15441
15442 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15443
15444         * check/Makefile.am:
15445         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
15446           add a test that does a bunch of state changes on elements
15447           needs some fixing for valgrind
15448         * check/states/sinks.c: (gst_object_suite):
15449           whitespace
15450         * gst/gstcaps.h:
15451           add prototype for gst_caps_is_equal_fixed
15452         * gst/gstplugin.c:
15453         * gst/gstregistrypool.c:
15454           doc fixes
15455
15456 2005-08-24  Andy Wingo  <wingo@pobox.com>
15457
15458         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
15459         convert a negative value. Doesn't make much sense. Mostly this is
15460         here to force callers to ensure -1 maps to -1.
15461
15462 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
15463
15464         * docs/pwg/advanced-types.xml:
15465           Well done to Michael for catching my deliberate introduction
15466           of this spelling mistake. 
15467         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
15468         * gst/gstelement.h:
15469           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
15470           unlink pads before removing the element from the bin.
15471
15472 2005-08-24  Andy Wingo  <wingo@pobox.com>
15473
15474         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
15475         the same thing as GST_DEBUG=*:4.
15476         (parse_debug_level, parse_debug_category): New helper parsers.
15477
15478 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15479
15480         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
15481         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
15482         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
15483         (gst_base_transform_buffer_alloc),
15484         (gst_base_transform_handle_buffer):
15485           use gboolean return values and pointers to size so we can use the
15486           full GST_BUFFER_SIZE range (guint) for buffer sizes
15487           use GstPadDirection for transform_caps
15488         * gst/base/gstbasetransform.h:
15489           rename get_size to get_unit_size since that's what it is
15490         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
15491           use GstPadDirection for transform_caps
15492         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
15493         * gst/gstutils.h:
15494           cleanup and debugging
15495
15496 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
15497
15498         * gst/gstelement.c: (gst_element_class_init),
15499         (gst_element_set_state), (activate_pads),
15500         (gst_element_save_thyself):
15501         * tools/gst-compprep.c: (main):
15502         * tools/gst-inspect.c: (print_element_properties_info):
15503         * tools/gst-xmlinspect.c: (print_element_properties):
15504           Fixed long standing mem-leak
15505
15506 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
15507
15508         * check/gst/gstbin.c: (GST_START_TEST):
15509         * gst/gstbin.c: (bin_bus_handler):
15510         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
15511         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
15512         (gst_message_new_warning), (gst_message_new_tag),
15513         (gst_message_new_state_changed), (gst_message_new_segment_start),
15514         (gst_message_new_segment_done), (gst_message_new_custom):
15515         * gst/gstmessage.h:
15516         * tools/gst-launch.c: (event_loop):
15517         * tools/gst-md5sum.c: (event_loop):
15518           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
15519           that applications can sensibly post custom messages with references
15520           to their own objects.
15521
15522 2005-08-24  Andy Wingo  <wingo@pobox.com>
15523
15524         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
15525         already.
15526
15527 2005-08-24  Wim Taymans  <wim@fluendo.com>
15528
15529         * gst/base/gstbasetransform.c: (gst_base_transform_init),
15530         (gst_base_transform_transform_caps),
15531         (gst_base_transform_transform_size),
15532         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
15533         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
15534         (gst_base_transform_handle_buffer):
15535         * gst/base/gstbasetransform.h:
15536         Many fixes and new features added by Thomas. Can now also do
15537         transforms with variable sizes and a custom fixate_caps function.
15538
15539 2005-08-24  Wim Taymans  <wim@fluendo.com>
15540
15541         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
15542         Some debugging.
15543
15544         * gst/gstclock.h:
15545         Cast to ClockTime before formatting to time.
15546
15547         * gst/gstutils.h:
15548         Cleanups.
15549
15550 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
15551
15552         * check/gst-libs/controller.c: (GST_START_TEST),
15553         (gst_controller_suite):
15554         * docs/gst/tmpl/gstcaps.sgml:
15555         * docs/gst/tmpl/gstghostpad.sgml:
15556         * docs/gst/tmpl/gstquery.sgml:
15557         * docs/gst/tmpl/gstutils.sgml:
15558         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
15559         (gst_object_sink_values), (gst_object_get_value_arrays),
15560         (gst_object_get_value_array):
15561           gracefully handle helper method calls to objects that are not beeing
15562           controlled, added test case for that          
15563
15564 2005-08-23  Wim Taymans  <wim@fluendo.com>
15565
15566         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
15567         (gst_event_new_newsegment), (gst_event_parse_newsegment),
15568         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
15569         (gst_event_parse_qos), (gst_event_new_seek),
15570         (gst_event_parse_seek):
15571         * gst/gstevent.h:
15572         Some more debugging output and doc cleanups.
15573
15574         * gst/gstqueue.c: (gst_queue_handle_sink_event):
15575         Fix possible deadlock.
15576
15577 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
15578
15579         * docs/gst/gstreamer-docs.sgml:
15580         * docs/gst/gstreamer-sections.txt:
15581         * docs/gst/gstreamer.types:
15582         * docs/gst/tmpl/.cvsignore:
15583         * gst/gstbin.h:
15584         * gst/gstbus.c:
15585         * gst/gstelement.c:
15586         * gst/gstevent.h:
15587           added 100 symbols from gstreamer-unused.txt to the right sections
15588           fixed more broken comments
15589           added GstBus to docs
15590
15591 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
15592
15593         * docs/gst/gstreamer-sections.txt:
15594         * docs/gst/tmpl/.cvsignore:
15595         * docs/gst/tmpl/gstbin.sgml:
15596         * docs/gst/tmpl/gstbuffer.sgml:
15597         * gst/base/gstbasesrc.c:
15598         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
15599         * gst/gstbuffer.c:
15600         * gst/gstbuffer.h:
15601         * tools/gst-launch.1.in:
15602           inlined more doc comments, added missing comments and fixed comments
15603           fixed typos
15604
15605 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15606
15607         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
15608           some debugging
15609         * gst/gstcaps.h:
15610           whitespace fixes
15611         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
15612           more debugging
15613         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
15614         * gst/gststructure.h:
15615           add a fixate function for booleans; add a FIXME that these func
15616           names should probably be gst_structure_fixate_*
15617
15618 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
15619
15620         * docs/gst/gstreamer-docs.sgml:
15621         * docs/gst/gstreamer-sections.txt:
15622         * gst/Makefile.am:
15623         * gst/gstbin.c: (gst_bin_get_type),
15624         (gst_bin_child_proxy_get_child_by_index),
15625         (gst_bin_child_proxy_get_children_count),
15626         (gst_bin_child_proxy_init):
15627         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
15628         (gst_child_proxy_get_child_by_index),
15629         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
15630         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
15631         (gst_child_proxy_get), (gst_child_proxy_set_property),
15632         (gst_child_proxy_set_valist), (gst_child_proxy_set),
15633         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
15634         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
15635         * gst/gstchildproxy.h:
15636         * gst/parse/grammar.y:
15637         * tools/gst-inspect.c: (print_interfaces),
15638         (print_element_properties_info), (print_element_info):
15639           ported gstchildproxy over from 0.8
15640           ported gst-inspect fixes and enhancements over from 0.8
15641
15642 2005-08-22  Wim Taymans  <wim@fluendo.com>
15643
15644         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
15645         (gst_base_transform_handle_buffer):
15646         Also call the transform function if we have ANY caps.
15647
15648         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
15649         Fix debug info.
15650
15651 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
15652
15653         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
15654           Don't pretend to handle seek events if the source is not seekable
15655
15656 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
15657
15658         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15659           Remove extra parameter to debug output
15660
15661         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
15662         (gst_base_src_do_seek), (gst_base_src_activate_push):
15663           Fix seek event handling.
15664
15665         * gst/gstpipeline.c: (gst_pipeline_change_state):
15666         * gst/gstqueue.c: (gst_queue_handle_sink_event),
15667         (gst_queue_src_activate_push):
15668           Don't start the src pad task on FLUSH_STOP if the pad
15669           isn't linked.
15670           Debug changes.
15671
15672 2005-08-22  Wim Taymans  <wim@fluendo.com>
15673
15674         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
15675         Added check for gst_static_caps_get() refcounting.
15676
15677 2005-08-22  Wim Taymans  <wim@fluendo.com>
15678
15679         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
15680         Make _static_caps_get() refcounting sane.
15681         
15682         * gst/gstelement.c: (gst_element_set_state):
15683         Add g_return_val_if_fail() to protect against segfaults.
15684
15685 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
15686
15687         * docs/gst/tmpl/gstevent.sgml:
15688         * gst/gstevent.c:
15689         * gst/gstevent.h:
15690           inlined remaining docs, added missing doc comments
15691
15692 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15693
15694         * check/gst/gstbin.c: (GST_START_TEST):
15695           since we don't know when preroll is done, use refcount range
15696           check for the sink
15697         * gst/check/gstcheck.h:
15698           add macro for checking refcount range
15699
15700 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15701
15702         * check/Makefile.am:
15703           clean up environment for when registry gets built versus
15704           when actual tests are run; valgrind seems to not report
15705           leaks if GST_PLUGIN_PATH is set to some specific values
15706         * check/gst/gstbin.c: (GST_START_TEST):
15707           add more refcounting checks; maybe this exposes a
15708           preroll lock bug ?
15709         * common/check.mak:
15710         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15711         * gst/check/gstcheck.h:
15712         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
15713         (gst_bin_change_state):
15714         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
15715           add/fix debugging/whitespace
15716
15717 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
15718
15719         * check/gst/gstevent.c: (event_probe), (test_event),
15720         (GST_START_TEST):
15721          Er, don't call gst_bin_watch_for_state_change you idiot.
15722
15723 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
15724
15725         * check/Makefile.am:
15726           Use CHECK_CFLAGS and CHECK_LIBS
15727         * check/gst/gstevent.c: (event_probe), (test_event),
15728         (GST_START_TEST):
15729           Don't leak events.
15730         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
15731         (gst_base_src_start), (gst_base_src_stop),
15732         (gst_base_src_activate_push), (gst_base_src_activate_pull),
15733         (gst_base_src_change_state):
15734           Sprinkle gst_base_src_stop liberally around error paths to fix
15735           problems reusing a source after failed state changes.
15736         * gst/base/gsttypefindhelper.c: (helper_find_peek),
15737         (helper_find_suggest), (gst_type_find_helper):
15738           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
15739         * gst/gstevent.h:
15740         * docs/gst/tmpl/gstevent.sgml:
15741           Migrate part of the docs from the SGML file. Wait for ensonic to
15742           tell me how I did it wrong ;)
15743         * tools/gst-typefind.c: (main):
15744           Extra robustness to state changes between files.
15745
15746 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15747
15748         * check/Makefile.am:
15749           don't valgrind the controller test - it's leaking - Stefan, HELP
15750         * gst/check/gstcheck.c: (gst_check_message_error),
15751         (gst_check_chain_func), (gst_check_setup_element),
15752         (gst_check_teardown_element), (gst_check_setup_src_pad),
15753         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
15754         (gst_check_teardown_sink_pad):
15755         * gst/check/gstcheck.h:
15756           add a bunch of methods to set up elements, and src and sink pads
15757         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
15758         * check/elements/identity.c: (setup_identity), (cleanup_identity),
15759         (GST_START_TEST):
15760           use them
15761         * gst/gstmessage.c:
15762         * gst/gsttag.h:
15763           whitespace/doc fixes
15764
15765 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15766
15767         * gst/gstelement.h:
15768           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
15769           be handled by the application and not always printed as well
15770
15771 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15772
15773         * check/Makefile.am:
15774           set GST_TOOLS_DIR
15775         * gst/check/gstcheck.c: (gst_check_message_error):
15776         * gst/check/gstcheck.h:
15777           add a fail_unless_equals_int
15778           add fail_unless for error messages
15779
15780 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15781
15782         * check/Makefile.am:
15783         * check/gst.supp:
15784         * common/Makefile.am:
15785         * common/check.mak:
15786         * common/gst.supp:
15787           factor out some of the common stuff so we can use it
15788
15789 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15790
15791         * check/Makefile.am:
15792         * check/gst/gstiterator.c: (GST_START_TEST):
15793         * check/gst/gstsystemclock.c: (GST_START_TEST),
15794         (gst_systemclock_suite):
15795         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
15796         * gst/gstclock.c:
15797           valgrind more tests
15798
15799 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15800
15801         * check/elements/.cvsignore:
15802         * check/elements/gstfakesrc.c:
15803           rename to name of element
15804         * check/elements/identity.c: (chain_func), (event_func),
15805         (setup_identity), (cleanup_identity), (GST_START_TEST),
15806         (identity_suite), (main):
15807           add a test for identity
15808         * check/Makefile.am:
15809         * pkgconfig/Makefile.am:
15810         * pkgconfig/gstreamer-check.pc.in:
15811         * pkgconfig/gstreamer-check-uninstalled.pc.in:
15812         * gst/check:
15813         * gst/Makefile.am:
15814         * configure.ac:
15815           move the check stuff to a library that gets installed
15816         * check/gst-libs/controller.c: (GST_START_TEST):
15817         * check/gst-libs/gdp.c:
15818         * check/gst/gst.c: (GST_START_TEST):
15819         * check/gst/gstbin.c:
15820         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
15821         * check/gst/gstbus.c:
15822         * check/gst/gstcaps.c: (GST_START_TEST):
15823         * check/gst/gstelement.c:
15824         * check/gst/gstghostpad.c:
15825         * check/gst/gstiterator.c:
15826         * check/gst/gstmessage.c:
15827         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
15828         * check/gst/gstobject.c:
15829         * check/gst/gstpad.c: (GST_START_TEST):
15830         * check/gst/gststructure.c: (GST_START_TEST):
15831         * check/gst/gstsystemclock.c: (GST_START_TEST),
15832         (gst_systemclock_suite):
15833         * check/gst/gsttag.c: (gst_tag_suite):
15834         * check/gst/gstvalue.c:
15835         * check/pipelines/cleanup.c:
15836         * check/pipelines/simple_launch_lines.c:
15837         * check/states/sinks.c:
15838           change include statement
15839
15840         * docs/gst/gstreamer-sections.txt:
15841         * docs/gst/tmpl/gstpad.sgml:
15842           document more pad stuff
15843         * gst/gstminiobject.c: (gst_mini_object_ref),
15844         (gst_mini_object_unref):
15845           debug refcounting
15846
15847 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
15848
15849         * docs/gst/tmpl/gst.sgml:
15850         * gst/gst.c:
15851           eliminate another tmpl file, fix spelling in the long-description
15852
15853 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
15854
15855         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
15856         (test_event), (timediff), (gstevents_suite):
15857           Should fix build on 64-bit arch's
15858
15859 2005-08-18  Andy Wingo  <wingo@pobox.com>
15860
15861         Make sure that when a pipeline goes to PLAYING, that data has
15862         actually hit the sink.
15863
15864         * check/states/sinks.c (test_sink): A sink that doesn't get any
15865         data shouldn't return SUCCESS for going to either PLAYING or
15866         PAUSED. Test also the return values on the way back down.
15867
15868         * gst/gstelement.c (gst_element_set_state): When changing the
15869         state of an element currently changing state asynchronously, go to
15870         lost-state after commiting the pending state. Makes future calls
15871         to get_state continue to return ASYNC.
15872
15873         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
15874         ASYNC when going to PLAYING if we still don't have preroll, as can
15875         happen with live sources.
15876
15877 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
15878
15879         * docs/pwg/advanced-types.xml:
15880           Hack long paragraph into 2 chunks as a workaround for buggy
15881           jadetex version in sid and breezy that loops infinitely and
15882           eats all RAM.
15883
15884 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
15885
15886         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
15887         (test_event), (timediff), (gstevents_suite):
15888           Provide more error margin in clock measurements to allow for 
15889           g_get_current_time inaccuracies.
15890
15891 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
15892
15893         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
15894         (test_event), (timediff), (gstevents_suite):
15895            Fix error message output so I might be able to tell why the
15896            test works here but fails on the build farm.
15897
15898 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
15899
15900         * check/Makefile.am:
15901         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
15902         (test_event), (timediff), (gstevents_suite), (main):
15903           I wrote a test!
15904
15905         * docs/design/part-seeking.txt:
15906           Spelling correction
15907
15908         * docs/gst/tmpl/gstevent.sgml:
15909         * docs/gst/tmpl/gstfakesrc.sgml:
15910           Docs updates.
15911
15912         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15913           Treat a buffer-without-newsegment the same as a receiving 
15914           a newsegment not in time format, and disable syncing to the clock
15915           with a warning.
15916
15917         * gst/gstbus.c: (gst_bus_set_sync_handler):
15918           Assert if anyone tries to replace the existing sync_handler for bus, 
15919           as only the owner should be setting it.
15920
15921         * gst/gstevent.h:
15922           Have a fixed set of custom event enums with events identified by
15923           their structure name (as in 0.8), rather than a free-for-all
15924           allowing collisions between enum values from different plugins.
15925
15926         * gst/gstpad.c: (gst_pad_class_init):
15927           Docs change.
15928           
15929         * gst/gstqueue.c: (gst_queue_handle_sink_event):
15930           Handle out-of-band downstream events from the sending thread.
15931
15932 2005-08-17  Andy Wingo  <wingo@pobox.com>
15933
15934         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
15935         play-timeout==0 to mean no timeout at all. In that case, don't
15936         bother with a get_state or a warning, just return directly, even
15937         if it's ASYNC.
15938
15939         * gst/base/gstbasetransform.c: Debug changes.
15940
15941         * gst/gstutils.h:
15942         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
15943         ensure bins post state change messages. A bit of a hack but I can't
15944         think of a way to avoid it.
15945
15946         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
15947
15948 2005-08-16  Andy Wingo  <wingo@pobox.com>
15949
15950         * gst/base/gstadapter.h:
15951         * gst/base/gstadapter.c (gst_adapter_take): New function, like
15952         peek() but you own the data. Not terribly efficient atm.
15953
15954 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15955
15956         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
15957         (gst_element_found_tags):
15958         * gst/gstutils.h:
15959           Add two utility functions for tag handling.
15960
15961 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15962
15963         * docs/manual/advanced-dataaccess.xml:
15964         * docs/manual/basics-helloworld.xml:
15965           Fix docs to use _bin_add() before _link(), which fixes the examples
15966           with recent core versions (reported by Madhan Raj M
15967           <raj_madan@rediffmail.com>, #313199).
15968
15969 2005-08-16  Wim Taymans  <wim@fluendo.com>
15970
15971         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15972         Added subtract checks.
15973
15974         * docs/design/part-events.txt:
15975         Some more docs about newsegment
15976
15977         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
15978         Fix FIXME
15979
15980         * gst/gstcaps.c: (gst_caps_to_string):
15981         Add comments, cleanups.
15982         
15983         * gst/gstelement.c: (gst_element_save_thyself):
15984         cleanups
15985         
15986         * gst/gstvalue.c: (gst_value_collect_int_range),
15987         (gst_string_unwrap), (gst_value_union_int_int_range),
15988         (gst_value_union_int_range_int_range),
15989         (gst_value_intersect_int_int_range),
15990         (gst_value_intersect_int_range_int_range),
15991         (gst_value_intersect_double_double_range),
15992         (gst_value_intersect_double_range_double_range),
15993         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
15994         (gst_value_subtract_int_range_int),
15995         (gst_value_subtract_double_range_double),
15996         (gst_value_subtract_double_range_double_range),
15997         (gst_value_subtract_from_list), (gst_value_subtract_list),
15998         (gst_value_can_compare), (gst_value_compare_fraction):
15999         Cleanups, add comments, remove unneeded asserts.
16000
16001 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16002
16003         * tools/gst-launch.c: (event_loop):
16004           don't convert NULL structures to strings
16005
16006 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
16007
16008         * docs/gst/gstreamer-sections.txt:
16009           made some defines private
16010         * docs/gst/tmpl/gstconfig.sgml:
16011         * docs/gst/tmpl/gstqueue.sgml:
16012         * docs/gst/tmpl/gsttaglist.sgml:
16013         * docs/gst/tmpl/gsttypes.sgml:
16014         * docs/gst/tmpl/gstutils.sgml:
16015         * docs/pwg/appendix-porting.xml:
16016         * gst/base/gstbasesink.h:
16017         * gst/base/gstbasesrc.c:
16018         * gst/base/gstbasesrc.h:
16019         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
16020         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
16021         * gst/gstelement.c: (gst_element_class_init):
16022         * gst/gstpad.c: (gst_pad_class_init):
16023         * gst/gstqueue.c: (gst_queue_class_init):
16024         * gst/gstxml.c: (gst_xml_class_init):
16025           documented all undocumented signal inline
16026         * libs/gst/controller/gst-controller.h:
16027           added padding
16028
16029 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16030
16031         * docs/pwg/appendix-porting.xml:
16032           Document _set_link_function -> _set_setcaps_function.
16033
16034 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
16035
16036         * check/Makefile.am:
16037           add a .check target for running the check
16038         * check/gst-libs/controller.c: (GST_START_TEST):
16039           cosmetic fixups
16040         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
16041           complete checks for gstbuffer; would be nice if I could get the
16042           gcov stuff to work so I can see if I actually completed gstbuffer.c
16043         * check/gstcheck.h:
16044           add ASSERT_BUFFER_REFCOUNT
16045
16046 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
16047
16048         * docs/gst/gstreamer-sections.txt:
16049         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
16050         * gst/gsttag.h:
16051           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
16052           spew out a warning if a tag that is already registered
16053           is re-registered, unless it is re-registered with a 
16054           different type (#308438).
16055
16056 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
16057
16058         * docs/pwg/appendix-porting.xml:
16059         * docs/pwg/building-state.xml:
16060           Add some paragraphs about state changes in 0.9 to the PWG
16061           and the porting guide, in particular about the new meaning
16062           of GST_STATE_PAUSED and how to write state change functions
16063           with concurrent access by multiple threads in mind.
16064
16065 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
16066
16067         * docs/gst/gstreamer-docs.sgml:
16068         * docs/libs/gstreamer-libs-docs.sgml:
16069           added deprecation and since indexes
16070         * libs/gst/controller/gst-controller.c:
16071         * libs/gst/controller/gst-helper.c:
16072           added since tags
16073
16074
16075 2005-08-11  Wim Taymans  <wim@fluendo.com>
16076
16077         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
16078         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
16079         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
16080         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
16081         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
16082         (gst_ghost_pad_set_target):
16083         Actually implement (re)setting the target on a ghostpad
16084         as described in the docs.
16085
16086 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
16087
16088         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
16089           Check whether GST_DEBUG_NO_COLOR environment variable is
16090           set and disable coloured debug output if that is the case.
16091
16092 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
16093
16094         * gst/base/gsttypefindhelper.c: (helper_find_peek),
16095         (gst_type_find_helper):
16096           The memory returned by gst_type_find_peek() needs to
16097           stay valid until the end of a typefind function, and
16098           typefind functions may keep results from different 
16099           offsets around, so we can't just unref the buffer from
16100           the previous _peek(), but have to save all buffers 
16101           returned by _peek() until typefinding is done and only
16102           free them then.
16103
16104 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
16105
16106         * docs/gst/gstreamer-sections.txt:
16107         * gst/gstutils.h:
16108           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
16109
16110 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16111
16112         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
16113           Fix a pretty good memleak.
16114
16115 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
16116
16117         * gst/gstiterator.h:
16118           Fix wrong include and 'make distcheck'.
16119
16120 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16121
16122         * gst/gstbin.c: (bin_bus_handler):
16123           Use gst_element_post_message() instead.
16124
16125 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
16126
16127         * gst/base/gstadapter.h:
16128         * gst/base/gstbasesink.h:
16129         * gst/base/gstbasesrc.h:
16130         * gst/base/gstbasetransform.h:
16131         * gst/base/gstcollectpads.h:
16132         * gst/base/gstpushsrc.h:
16133         * gst/gstiterator.h:
16134           Add padding to our base elements' class and instance structs and
16135           to GstIterator (you will need to rebuild all plugins and apps!)
16136
16137 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16138
16139         * gst/gstbin.c: (bin_bus_handler):
16140           Make default message forwarding from child->bus to bin->bus
16141           threadsafe and make it not emit warnings if the parent has no bus.
16142
16143 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16144
16145         * gst/gstelement.c: (activate_pads):
16146           On paused->ready, set pad->caps to NULL, as is the documented
16147           behaviour in this state change. Fixes playback of series of
16148           media files when visualization is enabled in Totem.
16149
16150 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16151
16152         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
16153           Allow NULL as filter-caps (which means "any").
16154
16155 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
16156
16157         * docs/libs/gstreamer-libs-sections.txt:
16158         * libs/gst/controller/gst-controller.c:
16159         * libs/gst/controller/gst-controller.h:
16160         * libs/gst/controller/gst-helper.c:
16161           adding more entries to the docs and fix small doc-bugs
16162
16163 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
16164
16165         * docs/gst/gstreamer-docs.sgml:
16166         * docs/gst/gstreamer-sections.txt:
16167         * docs/gst/gstreamer.types:
16168         * docs/gst/tmpl/gstbasesink.sgml:
16169         * docs/gst/tmpl/gstbasesrc.sgml:
16170         * docs/gst/tmpl/gstbasetransform.sgml:
16171         * docs/gst/tmpl/gstfakesrc.sgml:
16172         * gst/base/gstcollectpads.c:
16173         * gst/base/gstcollectpads.h:
16174         * libs/gst/controller/gst-controller.c:
16175         * libs/gst/controller/gst-controller.h:
16176         * libs/gst/controller/gst-helper.c:
16177         * libs/gst/controller/gst-interpolation.c:
16178         * libs/gst/controller/lib.c:
16179           added long/short desc for controller docs
16180           added collectpads base class docs
16181           added correct includes to base-class docs
16182
16183 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
16184
16185         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
16186         (gst_test_mono_source_set_property),
16187         (gst_test_mono_source_class_init), (GST_START_TEST),
16188         (gst_controller_suite):
16189         * docs/gst/gstreamer-docs.sgml:
16190         * docs/gst/gstreamer-sections.txt:
16191         * docs/gst/gstreamer.types:
16192         * docs/libs/gstreamer-libs-docs.sgml:
16193         * docs/libs/gstreamer-libs-sections.txt:
16194         * gst/base/gstadapter.c:
16195         * libs/gst/controller/gst-controller.c:
16196         (gst_controlled_property_new), (gst_controlled_property_free),
16197         (gst_controller_new_valist),
16198         (gst_controller_remove_properties_valist),
16199         (gst_controller_sink_values), (_gst_controller_finalize):
16200         * libs/gst/controller/gst-controller.h:
16201         * libs/gst/controller/gst-helper.c:
16202         (gst_object_control_properties), (gst_object_uncontrol_properties),
16203         (gst_object_get_controller), (gst_object_set_controller),
16204         (gst_object_sink_values), (gst_object_get_value_arrays),
16205         (gst_object_get_value_array):
16206           more tests (and fixes) for the controller
16207           more docs for the controller
16208           integrated companies docs for the adapter 
16209
16210 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
16211
16212         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
16213         (GST_START_TEST), (fakesrc_suite):
16214           add tests for sizetype
16215
16216 2005-08-04  Andy Wingo  <wingo@pobox.com>
16217
16218         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
16219         fixes buffer_alloc proxying among other things.
16220
16221         * gst/base/gstbasetransform.c:
16222         * gst/base/gstbasetransform.h:
16223         Revert patch to gstbasetransform from 7-28 removing
16224         delay_configure.
16225
16226         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
16227         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
16228         Semantics changed, should return not the size of the output buffer
16229         but the byte size of a buffer with a given caps.
16230
16231         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
16232         debug object.
16233         (gst_base_transform_configure_caps): Don't set out_size here: (in,
16234         out) are not the pad caps until setcaps finishes.
16235         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
16236         not-in-place case as well. Deal with changing from in-place to
16237         not-in-place within calling pad_alloc_buffer. Still a bit
16238         concerned about the overhead here...
16239
16240 2005-08-03  Andy Wingo  <wingo@pobox.com>
16241
16242         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
16243         fixating is an error.
16244
16245 2005-08-04  Edward Hervey  <edward@fluendo.com>
16246
16247         * gst/base/gstadapter.h: 
16248         Added gst_adapter_get_type() to the header
16249
16250 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
16251
16252         * check/Makefile.am:
16253         * check/gst-libs/controller.c:
16254         * libs/gst/controller/gst-controller.c:
16255         (gst_controller_new_valist):
16256           added check test suite for the controller
16257         * gst/base/gstpushsrc.c:
16258           fixed a doc typo
16259
16260 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
16261
16262         * docs/gst/Makefile.am:
16263         * docs/gst/gstreamer-docs.sgml:
16264         * docs/gst/gstreamer-sections.txt:
16265         * docs/gst/gstreamer.types:
16266         * docs/gst/tmpl/gstfakesrc.sgml:
16267         * gst/base/README:
16268         * gst/base/gstbasesink.c:
16269         * gst/base/gstbasesink.h:
16270         * gst/base/gstbasesrc.c:
16271         * gst/base/gstbasesrc.h:
16272         * gst/base/gstbasetransform.c:
16273         * gst/base/gstpushsrc.c:
16274         * gst/base/gstpushsrc.h:
16275           add short/long description docs to base classes
16276           add pushsrc to the docs
16277           remove consolidated doc fragments
16278
16279 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
16280
16281         * configure.ac:
16282         * docs/libs/Makefile.am:
16283         * docs/libs/gstreamer-libs-docs.sgml:
16284         * docs/libs/gstreamer-libs-sections.txt:
16285         * docs/libs/gstreamer-libs.types:
16286         * examples/Makefile.am:
16287         * examples/controller/.cvsignore:
16288         * examples/controller/Makefile.am:
16289         * examples/controller/audio-example.c: (main):
16290         * libs/gst/Makefile.am:
16291         * libs/gst/controller/.cvsignore:
16292         * libs/gst/controller/Makefile.am:
16293         * libs/gst/controller/gst-controller.c:
16294         (on_object_controlled_property_changed), (gst_timed_value_compare),
16295         (gst_timed_value_find),
16296         (gst_controlled_property_set_interpolation_mode),
16297         (gst_controlled_property_new), (gst_controlled_property_free),
16298         (gst_controller_find_controlled_property),
16299         (gst_controller_new_valist), (gst_controller_new),
16300         (gst_controller_remove_properties_valist),
16301         (gst_controller_remove_properties), (gst_controller_set),
16302         (gst_controller_set_from_list), (gst_controller_unset),
16303         (gst_controller_get), (gst_controller_get_all),
16304         (gst_controller_sink_values), (gst_controller_get_value_arrays),
16305         (gst_controller_get_value_array),
16306         (gst_controller_set_interpolation_mode),
16307         (_gst_controller_finalize), (_gst_controller_init),
16308         (_gst_controller_class_init), (gst_controller_get_type):
16309         * libs/gst/controller/gst-controller.h:
16310         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
16311         (g_object_uncontrol_properties), (g_object_get_controller),
16312         (g_object_set_controller), (g_object_sink_values),
16313         (g_object_get_value_arrays), (g_object_get_value_array):
16314         * libs/gst/controller/gst-interpolation.c:
16315         (gst_controlled_property_find_timed_value_node),
16316         (interpolate_none_get), (interpolate_trigger_get),
16317         (interpolate_trigger_get_value_array):
16318         * libs/gst/controller/lib.c: (gst_controller_init):
16319         * pkgconfig/Makefile.am:
16320         * pkgconfig/gstreamer-control-uninstalled.pc.in:
16321         * pkgconfig/gstreamer-control.pc.in:
16322         * testsuite/Makefile.am:
16323         * testsuite/controller/.cvsignore:
16324         * testsuite/controller/Makefile.am:
16325         * testsuite/controller/interpolator.c: (main):
16326           added controller code
16327           removed dparam pc files
16328
16329 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
16330         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
16331         (gst_collectpads_stop):
16332           Broadcast the condition when shutting down, to make sure we wake all
16333           threads up. Shut down pads on finalize, for safety.
16334
16335 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
16336         * gst/base/gstbasetransform.c: (gst_base_transform_init),
16337         (gst_base_transform_handle_buffer),
16338         (gst_base_transform_change_state):
16339           Handle PAUSED->READY->PAUSED transition after negotiation
16340           occurred already.
16341         * gst/gstmessage.c: (gst_message_init):
16342           Extra piece of debug for new messages.
16343
16344 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
16345
16346         * configure.ac:
16347         * docs/gst/tmpl/gstbasesrc.sgml:
16348         * docs/gst/tmpl/gstelement.sgml:
16349         * docs/gst/tmpl/gstevent.sgml:
16350         * docs/gst/tmpl/gstfakesrc.sgml:
16351         * docs/gst/tmpl/gstformat.sgml:
16352         * docs/gst/tmpl/gstghostpad.sgml:
16353         * docs/gst/tmpl/gstpad.sgml:
16354         * docs/gst/tmpl/gstquery.sgml:
16355         * docs/gst/tmpl/gststructure.sgml:
16356         * docs/gst/tmpl/gsttaglist.sgml:
16357         * docs/gst/tmpl/gstvalue.sgml:
16358         * docs/libs/gstreamer-libs-docs.sgml:
16359         * docs/libs/gstreamer-libs-sections.txt:
16360         * docs/libs/gstreamer-libs.types:
16361         * libs/gst/Makefile.am:
16362         * libs/gst/control/.cvsignore:
16363         * libs/gst/control/Makefile.am:
16364         * libs/gst/control/control.c:
16365         * libs/gst/control/control.h:
16366         * libs/gst/control/dparam.c:
16367         * libs/gst/control/dparam.h:
16368         * libs/gst/control/dparam_smooth.c:
16369         * libs/gst/control/dparam_smooth.h:
16370         * libs/gst/control/dparamcommon.h:
16371         * libs/gst/control/dparammanager.c:
16372         * libs/gst/control/dparammanager.h:
16373         * libs/gst/control/dplinearinterp.c:
16374         * libs/gst/control/dplinearinterp.h:
16375         * libs/gst/control/unitconvert.c:
16376         * libs/gst/control/unitconvert.h:
16377         * testsuite/Makefile.am:
16378         * testsuite/dynparams/.cvsignore:
16379         * testsuite/dynparams/Makefile.am:
16380         * testsuite/dynparams/dparamstest.c:
16381         * tools/Makefile.am:
16382         * tools/gst-inspect.c: (print_element_info), (main):
16383         * tools/gst-xmlinspect.c: (print_element_info), (main):
16384           deactivate and remove dparams (libgstcontrol)
16385
16386 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
16387
16388         * gst/elements/gsttypefindelement.c:
16389         (gst_type_find_element_have_type), (gst_type_find_element_init),
16390         (stop_typefinding), (gst_type_find_element_handle_event),
16391         (gst_type_find_element_chain), (gst_type_find_element_getrange):
16392         * gst/elements/gsttypefindelement.h:
16393           Set caps on all outgoing buffers, not just the first one.
16394
16395 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
16396
16397         * gst/elements/gsttypefindelement.c:
16398         (gst_type_find_element_have_type),
16399         (gst_type_find_element_check_set_buffer_caps),
16400         (gst_type_find_element_init), (stop_typefinding),
16401         (gst_type_find_element_handle_event),
16402         (gst_type_find_element_chain), (gst_type_find_element_getrange):
16403         * gst/elements/gsttypefindelement.h:
16404           Set caps on first outgoing buffer when we've found the type.
16405
16406 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
16407
16408         * docs/gst/gstreamer-docs.sgml:
16409         * docs/gst/gstreamer-sections.txt:
16410         * docs/gst/tmpl/gstscheduler.sgml:
16411         * docs/gst/tmpl/gstschedulerfactory.sgml:
16412           Remove some old cruft from docs.
16413
16414 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
16415
16416         * gst/gstpad.h:
16417           Fix inline docs for GstPadLinkReturn.
16418           
16419         * gst/gststructure.c: (gst_structure_has_name):
16420         * gst/gststructure.h:
16421         * docs/gst/gstreamer-sections.txt:
16422           New API: gst_structure_has_name().
16423
16424 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
16425
16426         * configure.ac:
16427           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
16428           and _LARGEFILE_SOURCE in config.h as required. Do not 
16429           export those flags in our .pc files any longer (#142209).
16430
16431           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
16432
16433         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
16434         (gst_file_sink_do_seek), (gst_file_sink_event),
16435         (gst_file_sink_get_current_offset), (gst_file_sink_render):
16436           Redo seek/tell calls with large file support in mind; add some
16437           debugging messages; add log message that tells us when large
16438           file support is unavailable or not enabled for some reason.
16439
16440         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
16441           Add log message that tells us when large file support 
16442           is unavailable or not enabled for some reason.
16443
16444 2005-07-29  Wim Taymans  <wim@fluendo.com>
16445
16446         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
16447         Added test for removing an element with ghostpad from a bin.
16448         Fixed test as current implementation does the right thing.
16449
16450         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
16451         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
16452         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
16453         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
16454         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
16455         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
16456         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
16457         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
16458         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
16459         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
16460         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
16461         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
16462         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
16463         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
16464         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
16465         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
16466         * gst/gstghostpad.h:
16467         Clean up ghostpads, remove properties for internal stuff.
16468         Make threadsafe.
16469         Fix refcounting.
16470         Prepare for switching targets, not all use cases work yet.
16471
16472 2005-07-29  Wim Taymans  <wim@fluendo.com>
16473
16474         * docs/design/part-gstghostpad.txt:
16475         Small update.
16476
16477         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
16478         (gst_bin_remove_func):
16479         Unlinking pads while holding the bin LOCK is not a good
16480         idea.
16481
16482         * gst/gstpad.c: (gst_pad_class_init),
16483         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
16484         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
16485         No prob setting template after creating the pad.
16486
16487 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
16488
16489         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
16490         (gst_bus_peek), (gst_bus_source_dispatch),
16491         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
16492         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
16493           gst_bus_poll may be called from other threads. Handle
16494           this nicely by not making poll_data disappear off the
16495           stack once gst_bus_poll returns.
16496           gst_bus_peek now increments the refcount on the returned
16497           message.
16498
16499 2005-07-29  Wim Taymans  <wim@fluendo.com>
16500
16501         * docs/design/part-gstghostpad.txt:
16502         Overview of current GhostPad datastructures and use
16503         cases for changing the target.
16504
16505 2005-07-28  Wim Taymans  <wim@fluendo.com>
16506
16507         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
16508         Added checks for hierarchy consistency whan adding linked
16509         elements to bins.
16510
16511         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
16512         Added check to test element scheduling without bin/pipeline.
16513
16514         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
16515         First add elements to bin, then link.
16516         
16517         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
16518         (gst_bin_remove_func):
16519         Unlink pads from elements added/removed from bin to maintain
16520         hierarchy consistency.
16521
16522 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16523
16524         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
16525         (gst_base_transform_handle_buffer):
16526         * gst/base/gstbasetransform.h:
16527           Remove broken delay_configure (fixes renegotiation of software
16528           scaling pipelines); remove some leftover printf()s.
16529
16530 2005-07-28  Wim Taymans  <wim@fluendo.com>
16531
16532         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
16533         Added some more tests for wrong hierarchy
16534
16535         * docs/design/part-overview.txt:
16536         Some updates.
16537
16538         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
16539         Cleanups.
16540
16541         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
16542         (gst_element_dispose):
16543         Some more cleanups.
16544
16545         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
16546         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
16547         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
16548         (gst_pad_set_caps), (gst_pad_send_event):
16549         Check for correct hierarchy when linking pads. Moving to
16550         strict requirement for ghostpads when linking elements in
16551         different bins.
16552
16553         * gst/gstpad.h:
16554         Clean ups. Added WRONG_HIERARCHY return value.
16555
16556 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16557
16558         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
16559           Better debug if no transform is possible.
16560
16561 2005-07-27  Wim Taymans  <wim@fluendo.com>
16562
16563         * docs/random/wtay/network-transp:
16564         Some old doc I had.
16565
16566 2005-07-27  Wim Taymans  <wim@fluendo.com>
16567
16568         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
16569         (gst_dp_event_from_packet):
16570         Fix serialization of seek events.
16571
16572 2005-07-27  Wim Taymans  <wim@fluendo.com>
16573
16574         * check/gst-libs/gdp.c: (GST_START_TEST):
16575         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
16576         Fix compilation and fix event serialization.
16577
16578 2005-07-27  Wim Taymans  <wim@fluendo.com>
16579
16580         * CHANGES-0.9:
16581         * docs/design/part-TODO.txt:
16582         * docs/design/part-events.txt:
16583         Some docs updates
16584
16585         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16586         (gst_base_sink_event), (gst_base_sink_do_sync),
16587         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
16588         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
16589         (gst_base_src_do_seek), (gst_base_src_event_handler),
16590         (gst_base_src_loop):
16591         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
16592         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
16593         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
16594         (gst_base_transform_event), (gst_base_transform_handle_buffer),
16595         (gst_base_transform_set_passthrough),
16596         (gst_base_transform_is_passthrough):
16597         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
16598         * gst/elements/gstfilesink.c: (gst_file_sink_event):
16599         Event updates.
16600
16601         * gst/gstbuffer.h:
16602         Use faster casts.
16603
16604         * gst/gstelement.c: (gst_element_seek):
16605         * gst/gstelement.h:
16606         Update gst_element_seek.
16607
16608         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
16609         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
16610         (gst_event_new_flush_start), (gst_event_new_flush_stop),
16611         (gst_event_new_eos), (gst_event_new_newsegment),
16612         (gst_event_parse_newsegment), (gst_event_new_tag),
16613         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
16614         (gst_event_parse_qos), (gst_event_new_seek),
16615         (gst_event_parse_seek), (gst_event_new_navigation):
16616         * gst/gstevent.h:
16617         Make GstEvent use GstStructure. Add parsing code, make sure the
16618         API is sufficiently generic.
16619         Mark possible directions of events and serialization.
16620
16621         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
16622         (_gst_message_copy), (gst_message_new_segment_start),
16623         (gst_message_new_segment_done), (gst_message_new_custom),
16624         (gst_message_parse_segment_start),
16625         (gst_message_parse_segment_done):
16626         Small cleanups.
16627
16628         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
16629         (gst_pad_set_caps), (gst_pad_send_event):
16630         Update for new events. 
16631         Catch events sent in wrong directions.
16632
16633         * gst/gstqueue.c: (gst_queue_link_src),
16634         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
16635         (gst_queue_handle_src_query):
16636         Event updates.
16637
16638         * gst/gsttag.c:
16639         * gst/gsttag.h:
16640         Remove event code from this file.
16641
16642         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
16643         (gst_dp_event_from_packet):
16644         Event updates.
16645
16646 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16647
16648         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
16649         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
16650         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
16651           Make debugging actually useful.
16652
16653 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16654
16655         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
16656         (gst_pad_fixate_caps):
16657           Implement default fixation once again, so that gst_pad_fixate()
16658           actually does anything at all. This probably needs to be some
16659           sort of a last resort, and use profile-based fixation first, but
16660           since that doesn't exist yet, this is the best we have. Fixes
16661           visualization in Totem.
16662
16663 2005-07-22  Wim Taymans  <wim@fluendo.com>
16664
16665         * docs/design/part-events.txt:
16666         Small update.
16667
16668         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16669         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
16670         (gst_base_sink_activate_pull):
16671         Some more comments.
16672
16673         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
16674         (gst_fake_src_create):
16675         Fix handoff marshall.
16676
16677         * gst/elements/gstidentity.c: (gst_identity_class_init),
16678         (gst_identity_transform_ip):
16679         We're a real inplace element.
16680
16681         * gst/gstbus.c: (gst_bus_post):
16682         Added some comments.
16683
16684         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
16685         * tests/muxing/case1.c: (main):
16686         * tests/sched/dynamic-pipeline.c: (main):
16687         * tests/sched/interrupt1.c: (main):
16688         * tests/sched/interrupt2.c: (main):
16689         * tests/sched/interrupt3.c: (main):
16690         * tests/sched/runxml.c: (main):
16691         * tests/sched/sched-stress.c: (main):
16692         * tests/seeking/seeking1.c: (event_received), (main):
16693         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
16694         (main):
16695         * tests/threadstate/threadstate3.c: (main):
16696         * tests/threadstate/threadstate4.c: (main):
16697         * tests/threadstate/threadstate5.c: (main):
16698         Fix the tests.
16699
16700 2005-07-21  Wim Taymans  <wim@fluendo.com>
16701
16702         * docs/design/part-seeking.txt:
16703         Some small additions.
16704
16705         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16706         (gst_base_sink_get_times), (gst_base_sink_do_sync),
16707         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
16708         * gst/base/gstbasesink.h:
16709         discont values are gint64, handle the math correctly.
16710
16711         * gst/base/gstbasesrc.c: (gst_base_src_loop):
16712         Make the basesrc report error if the source pad is not linked.
16713
16714         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
16715         (gst_queue_loop), (gst_queue_handle_src_query),
16716         (gst_queue_src_activate_push):
16717         Make queue collect data even if the srcpad is not linked.
16718         Start pushing out data as soon as it is linked.
16719
16720         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
16721         * gst/gstutils.h:
16722         Added gst_flow_get_name() to ease error reporting.
16723
16724 2005-07-20  Wim Taymans  <wim@fluendo.com>
16725
16726         * gst/gstmessage.c: (gst_message_new_segment_start),
16727         (gst_message_new_segment_done), (gst_message_parse_segment_start),
16728         (gst_message_parse_segment_done):
16729         * gst/gstmessage.h:
16730         Added a bunch of messages for advanced seeking.
16731
16732         * gst/parse/grammar.y:
16733         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
16734         (gst_dpman_state_changed):
16735         Fix some new-pad -> pad-added signals
16736
16737 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16738
16739         * docs/manual/appendix-porting.xml:
16740         * docs/pwg/appendix-porting.xml:
16741           Document new-pad/state-change signal renames and the FixedList
16742           type rename.
16743
16744 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16745
16746         * docs/manual/advanced-autoplugging.xml:
16747         * docs/manual/basics-helloworld.xml:
16748         * docs/manual/basics-pads.xml:
16749         * docs/random/ds/0.9-suggested-changes:
16750         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
16751         * gst/gstelement.h:
16752         * gst/gstevent.h:
16753         * gst/gstformat.h:
16754         * gst/gstquery.h:
16755         * gst/gststructure.c: (gst_structure_value_get_generic_type),
16756         (gst_structure_parse_array), (gst_structure_parse_value):
16757         * gst/gstvalue.c: (gst_type_is_fixed),
16758         (gst_value_list_prepend_value), (gst_value_list_append_value),
16759         (gst_value_list_get_size), (gst_value_list_get_value),
16760         (gst_value_transform_array_string), (gst_value_serialize_array),
16761         (gst_value_deserialize_array), (gst_value_intersect_array),
16762         (gst_value_is_fixed), (_gst_value_initialize):
16763         * gst/gstvalue.h:
16764           GstElement::new-pad -> pad-added, GstElement::state-change ->
16765           state-changed, GstValueFixedList -> GstValueArray, add format and
16766           flags as their own arguments in gst_element_seek() (should improve
16767           "bindeability"), remove function generators since they don't work
16768           under a whole bunch of compilers (they were deprecated already
16769           anyway).
16770
16771 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16772
16773         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
16774         (_gst_debug_register_funcptr):
16775         * gst/gstinfo.h:
16776           Fix illegal cast on some platforms (#309253).
16777
16778 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16779
16780         * gst/gstmessage.c: (gst_message_new_custom):
16781         * gst/gstmessage.h:
16782           Add _new_custom, make _new_application a macro to _new_custom.
16783
16784 2005-07-20  Wim Taymans  <wim@fluendo.com>
16785
16786         * gst/base/gstbasesrc.c: (gst_base_src_init),
16787         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
16788         * gst/base/gstbasesrc.h:
16789         Add a gboolean to decide when to push out a discont.
16790
16791         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
16792         (gst_queue_loop), (gst_queue_handle_src_query),
16793         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
16794         (gst_queue_set_property), (gst_queue_get_property):
16795         Some cleanups.
16796
16797         * tests/threadstate/threadstate1.c: (main):
16798         Make a thread test compile and run... very silly..
16799
16800
16801 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16802
16803         * docs/manual/appendix-porting.xml:
16804           Mention removal of libgstgconf-0.9.la and existence of gconf
16805           elements.
16806
16807 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16808
16809         * docs/pwg/advanced-clock.xml:
16810         * docs/pwg/appendix-porting.xml:
16811         * docs/pwg/intro-preface.xml:
16812         * docs/pwg/other-base.xml:
16813         * docs/pwg/other-manager.xml:
16814         * docs/pwg/other-nton.xml:
16815         * docs/pwg/other-ntoone.xml:
16816         * docs/pwg/other-oneton.xml:
16817         * docs/pwg/pwg.xml:
16818           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
16819           demuxer), remove n-to-n (was never written), fix some code examples
16820           and links and update the porting section to include all this.
16821
16822 2005-07-19  Wim Taymans  <wim@fluendo.com>
16823
16824         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
16825         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
16826         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
16827         (gst_queue_src_activate_push), (gst_queue_change_state),
16828         (gst_queue_get_property):
16829         * gst/gstqueue.h:
16830         Propagate GstFlowReturn more intelligently upstream and output
16831         an ERROR/EOS when streaming stopped due to fatal error.
16832
16833 2005-07-19  Wim Taymans  <wim@fluendo.com>
16834
16835         * tools/gst-launch.c: (check_intr), (event_loop), (main):
16836         Don't block forever for the state change to complete, the
16837         pipeline already did with a sensible timeout.
16838
16839 2005-07-19  Wim Taymans  <wim@fluendo.com>
16840
16841         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
16842         Make sure we never call the create function is we
16843         got deactivated.
16844
16845 2005-07-19  Andy Wingo  <wingo@pobox.com>
16846
16847         * gst/parse/parse.l: Attempt to solve bug #172815.
16848
16849 2005-07-19  Wim Taymans  <wim@fluendo.com>
16850
16851         * docs/design/part-clocks.txt:
16852         * docs/design/part-events.txt:
16853         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
16854         Small docs updates.
16855         Only update the seeking values when we are not
16856         busy streaming.
16857
16858 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
16859
16860         * gst/base/gstbasesrc.c: (gst_base_src_loop):
16861           Oops, ignore the result of gst_pad_push_event here.
16862
16863 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
16864
16865         * gst/base/gstbasesrc.c: (gst_base_src_loop),
16866         (gst_base_src_activate_push):
16867           Send discont event from the loop function, as pads
16868           aren't activated yet in the activate_push handler.
16869
16870         * gst/gstbin.c: (bin_bus_handler):
16871           Don't leak element name.
16872
16873 2005-07-18  Andy Wingo  <wingo@pobox.com>
16874
16875         * configure.ac: Use AS_LIBTOOL_TAGS.
16876
16877 2005-07-18  Wim Taymans  <wim@fluendo.com>
16878
16879         * docs/gst/gstreamer.types:
16880         Remove deleted types.
16881
16882 2005-07-18  Wim Taymans  <wim@fluendo.com>
16883
16884         * check/elements/gstfakesrc.c: (GST_START_TEST):
16885         * configure.ac:
16886         * gst/Makefile.am:
16887         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
16888         (init_popt_callback):
16889         * gst/gst.h:
16890         * gst/gst_private.h:
16891         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
16892         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
16893         * gst/gstbin.h:
16894         * gst/gstbus.h:
16895         * gst/gstconfig.h.in:
16896         * gst/gstelement.c: (gst_element_class_init),
16897         (gst_element_set_base_time), (gst_element_get_base_time),
16898         (iterator_fold_with_resync), (gst_element_change_state),
16899         (gst_element_dispose), (gst_element_get_bus):
16900         * gst/gstelement.h:
16901         * gst/gstelementfactory.h:
16902         * gst/gsterror.c: (_gst_core_errors_init):
16903         * gst/gsterror.h:
16904         * gst/gstevent.h:
16905         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
16906         * gst/gstindex.c:
16907         * gst/gstinfo.c: (_gst_debug_init):
16908         * gst/gstmessage.c: (_gst_message_copy):
16909         * gst/gstmessage.h:
16910         * gst/gstminiobject.h:
16911         * gst/gstobject.c:
16912         * gst/gstobject.h:
16913         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
16914         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
16915         * gst/gstpad.h:
16916         * gst/gstparse.h:
16917         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
16918         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
16919         (gst_pipeline_get_last_stream_time):
16920         * gst/gstpipeline.h:
16921         * gst/gstpluginfeature.h:
16922         * gst/gstquery.h:
16923         * gst/gstscheduler.c:
16924         * gst/gstscheduler.h:
16925         * gst/gststructure.h:
16926         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
16927         (gst_task_finalize), (gst_task_func), (gst_task_create),
16928         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
16929         (gst_task_stop), (gst_task_pause):
16930         * gst/gsttask.h:
16931         * gst/gsttypefind.h:
16932         * gst/gsttypes.h:
16933         * gst/registries/gstlibxmlregistry.c: (load_feature),
16934         (gst_xml_registry_load), (gst_xml_registry_save_feature):
16935         * gst/registries/gstxmlregistry.c:
16936         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
16937         * gst/schedulers/threadscheduler.c:
16938         * libs/gst/control/dparammanager.h:
16939         * tools/gst-inspect.c: (print_element_list),
16940         (print_plugin_features), (print_element_features):
16941         * tools/gst-xmlinspect.c: (print_element_list),
16942         (print_plugin_info), (main):
16943         Removed plugable schedulers.
16944         Removed Scheduler/Manager from elements.
16945         Removed gsttypes.h, rearranged includes.
16946         Removed dependency pad<->element, element<>pipeline, and
16947         various others,  fix includes.
16948         implement gst_pad_get_parent() with gst_object_get_parent()
16949         Make GstTask sefcontained.
16950         Fix _get_state() on GstBin, it did not return ASYNC with a 0
16951         timeout.
16952         Fix endless loop in iterator_fold_with_resync.
16953
16954
16955 2005-07-18  Wim Taymans  <wim@fluendo.com>
16956
16957         * gst/Makefile.am:
16958         * gst/gstarch.h:
16959         Remove old file.
16960
16961 2005-07-18  Wim Taymans  <wim@fluendo.com>
16962
16963         * gst/Makefile.am:
16964         No more cothreads.h
16965
16966 2005-07-18  Wim Taymans  <wim@fluendo.com>
16967
16968         * gst/cothreads.c:
16969         * gst/cothreads.h:
16970         Let's remove these.
16971
16972 2005-07-18  Wim Taymans  <wim@fluendo.com>
16973
16974         * docs/design/part-dynamic.txt:
16975         * docs/design/part-events.txt:
16976         * docs/design/part-seeking.txt:
16977         Some more docs in the works.
16978
16979         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
16980         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
16981         (gst_base_transform_setcaps), (gst_base_transform_get_size),
16982         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
16983         (gst_base_transform_handle_buffer),
16984         (gst_base_transform_sink_activate_push),
16985         (gst_base_transform_src_activate_pull),
16986         (gst_base_transform_set_passthrough),
16987         (gst_base_transform_is_passthrough):
16988         Refcounting fixes.
16989
16990         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
16991         Cleanups.
16992
16993         * gst/gstevent.c: (gst_event_finalize):
16994         Set SRC to NULL.
16995
16996         * gst/gstutils.c: (gst_element_unlink),
16997         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
16998         (gst_pad_proxy_setcaps):
16999         * gst/gstutils.h:
17000         Add _get_parent_element() to get a pads parent as an element.
17001
17002 2005-07-18  Wim Taymans  <wim@fluendo.com>
17003
17004         * check/gst/gstbin.c: (GST_START_TEST):
17005         Remove bogus test.
17006
17007 2005-07-18  Wim Taymans  <wim@fluendo.com>
17008
17009         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
17010         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
17011         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
17012         (gst_base_sink_event), (gst_base_sink_do_sync),
17013         (gst_base_sink_chain), (gst_base_sink_loop),
17014         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
17015         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
17016         Refcounting fixes.
17017         Fix logic for returning ASYNC when not prerolled.
17018
17019 2005-07-18  Wim Taymans  <wim@fluendo.com>
17020
17021         * gst/gstqueue.c: (gst_queue_handle_sink_event):
17022         Fix nasty refcount bug.
17023
17024 2005-07-16 Philippe Khalaf <burger@speedy.org>
17025
17026         * gst/elements/gstfdsrc.c:
17027         * gst/elements/gstfdsrc.h:
17028         * gst/elements/gstelements.c:
17029         * gst/elements/Makefile.am:
17030         Ported fdsrc to 0.9.
17031
17032 2005-07-16  Wim Taymans  <wim@fluendo.com>
17033
17034         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17035         (gst_base_sink_do_sync):
17036         Fix compile error.
17037
17038 2005-07-16  Wim Taymans  <wim@fluendo.com>
17039
17040         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17041         (gst_base_sink_event), (gst_base_sink_get_times),
17042         (gst_base_sink_do_sync), (gst_base_sink_change_state):
17043         * gst/base/gstbasesink.h:
17044         Store and use discont values when syncing buffers as described
17045         in design docs.
17046         
17047         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17048         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
17049         (gst_base_src_activate_push):
17050         Push discont event when starting.
17051
17052         * gst/elements/gstidentity.c: (gst_identity_transform):
17053         Small cleanups.
17054
17055         * gst/gstbin.c: (gst_bin_change_state):
17056         Small cleanups in base_time  distribution.
17057
17058         * gst/gstelement.c: (gst_element_set_base_time),
17059         (gst_element_get_base_time), (gst_element_change_state):
17060         * gst/gstelement.h:
17061         Added methods for the base_time of the element.
17062         Some MT fixes.
17063
17064         * gst/gstpipeline.c: (gst_pipeline_send_event),
17065         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
17066         (gst_pipeline_get_last_stream_time):
17067         * gst/gstpipeline.h:
17068         MT fixes.
17069         Handle seeking as described in design doc, remove stream_time
17070         hack.
17071         Cleanups clock and stream_time selection code. Added accessors
17072         for the stream_time.
17073         
17074
17075 2005-07-16  Andy Wingo  <wingo@pobox.com>
17076
17077         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
17078         (#305291).
17079
17080 2005-07-16  Wim Taymans  <wim@fluendo.com>
17081
17082         * check/gst/gstbin.c: (GST_START_TEST):
17083         Make elements silent as the deep_notify refs the
17084         parent, which might make the test fail.
17085
17086         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
17087         Don't hold the lock for too long.
17088
17089 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
17090
17091         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
17092           Don't unref the caps we passed to gst_caps_make_writable() after
17093           passing them. gst_caps_make_writable() will do that for us.
17094
17095 2005-07-15  Andy Wingo  <wingo@pobox.com>
17096
17097         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
17098         (#157311).
17099
17100         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
17101         own marshalling function for the handoff signal. Properly type the
17102         buffer as a buffer. Fixes some warnings. Should do a more general
17103         solution.
17104         (gst_identity_class_init): Plug into the right marshaller.
17105
17106 2005-07-15  Wim Taymans  <wim@fluendo.com>
17107
17108         * docs/design/part-TODO.txt:
17109         * docs/design/part-clocks.txt:
17110         * docs/design/part-element-sink.txt:
17111         * docs/design/part-events.txt:
17112         * docs/design/part-gstpipeline.txt:
17113         Updated docs, mostly DISCONT related.
17114
17115 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
17116
17117         * docs/pwg/building-pads.xml:
17118           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
17119
17120 2005-07-15  Andy Wingo  <wingo@pobox.com>
17121
17122         * tools/gst-typefind.c: Update, add copyright block.
17123
17124         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
17125         Normalize and truncate caps before fixation.
17126
17127         * gst/gstcaps.h:
17128         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
17129         discards all but the first structure from its argument.
17130
17131 2005-07-15  Wim Taymans  <wim@fluendo.com>
17132
17133         * gst/base/gstbasetransform.c: (gst_base_transform_init),
17134         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
17135         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
17136         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
17137         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
17138         (gst_base_transform_chain), (gst_base_transform_change_state),
17139         (gst_base_transform_set_passthrough),
17140         (gst_base_transform_is_passthrough):
17141         * gst/base/gstbasetransform.h:
17142         Make passthrough work using the bufferpools.
17143         Changed API a bit, subclasses have to write into a buffer
17144         provided by the base class.
17145         More debug info in nego functions.
17146         
17147         * gst/elements/gstidentity.c: (gst_identity_init),
17148         (gst_identity_transform):
17149         Port to new base class.
17150
17151 2005-07-15  Wim Taymans  <wim@fluendo.com>
17152
17153         * gst/gstmessage.c: (gst_message_new_state_changed):
17154         * tools/gst-launch.c: (event_loop), (main):
17155         Totally dump messages in -launch with the -m option.
17156         Fix message name for State messages,
17157
17158 2005-07-14  Wim Taymans  <wim@fluendo.com>
17159
17160         * gst/base/gstbasesrc.c: (gst_base_src_loop):
17161         Post error messages on errors.
17162
17163 2005-07-14  Wim Taymans  <wim@fluendo.com>
17164
17165         * gst/gstcaps.c: (gst_caps_do_simplify):
17166         Remove debug info.
17167
17168         * gst/gsterror.h:
17169         Define error for stream stopped.
17170
17171         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
17172         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
17173         Do proper return values.
17174
17175         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
17176         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
17177         (gst_pad_get_range):
17178         Better return values.
17179
17180         * gst/gstpad.h:
17181         Reorganise return values, add macro to check for fatal errors.
17182
17183         * gst/gstqueue.c: (gst_queue_chain):
17184         Return proper GstFlowReturn values,
17185
17186 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
17187
17188         * docs/gst/gstreamer-sections.txt:
17189         * docs/gst/gstreamer.types:
17190         * docs/gst/tmpl/gst.sgml:
17191         * docs/gst/tmpl/gstbasesink.sgml:
17192         * docs/gst/tmpl/gstbasesrc.sgml:
17193         * docs/gst/tmpl/gstbasetransform.sgml:
17194         * docs/gst/tmpl/gstbin.sgml:
17195         * docs/gst/tmpl/gstbuffer.sgml:
17196         * docs/gst/tmpl/gstcaps.sgml:
17197         * docs/gst/tmpl/gstclock.sgml:
17198         * docs/gst/tmpl/gstcompat.sgml:
17199         * docs/gst/tmpl/gstconfig.sgml:
17200         * docs/gst/tmpl/gstelement.sgml:
17201         * docs/gst/tmpl/gstelementdetails.sgml:
17202         * docs/gst/tmpl/gstelementfactory.sgml:
17203         * docs/gst/tmpl/gstenumtypes.sgml:
17204         * docs/gst/tmpl/gsterror.sgml:
17205         * docs/gst/tmpl/gstevent.sgml:
17206         * docs/gst/tmpl/gstfakesink.sgml:
17207         * docs/gst/tmpl/gstfakesrc.sgml:
17208         * docs/gst/tmpl/gstfilesink.sgml:
17209         * docs/gst/tmpl/gstfilesrc.sgml:
17210         * docs/gst/tmpl/gstfilter.sgml:
17211         * docs/gst/tmpl/gstformat.sgml:
17212         * docs/gst/tmpl/gstghostpad.sgml:
17213         * docs/gst/tmpl/gstimplementsinterface.sgml:
17214         * docs/gst/tmpl/gstindex.sgml:
17215         * docs/gst/tmpl/gstindexfactory.sgml:
17216         * docs/gst/tmpl/gstinfo.sgml:
17217         * docs/gst/tmpl/gstiterator.sgml:
17218         * docs/gst/tmpl/gstmacros.sgml:
17219         * docs/gst/tmpl/gstmemchunk.sgml:
17220         * docs/gst/tmpl/gstminiobject.sgml:
17221         * docs/gst/tmpl/gstobject.sgml:
17222         * docs/gst/tmpl/gstpad.sgml:
17223         * docs/gst/tmpl/gstpadtemplate.sgml:
17224         * docs/gst/tmpl/gstparse.sgml:
17225         * docs/gst/tmpl/gstpipeline.sgml:
17226         * docs/gst/tmpl/gstplugin.sgml:
17227         * docs/gst/tmpl/gstpluginfeature.sgml:
17228         * docs/gst/tmpl/gstquery.sgml:
17229         * docs/gst/tmpl/gstqueue.sgml:
17230         * docs/gst/tmpl/gstregistry.sgml:
17231         * docs/gst/tmpl/gstregistrypool.sgml:
17232         * docs/gst/tmpl/gstscheduler.sgml:
17233         * docs/gst/tmpl/gstschedulerfactory.sgml:
17234         * docs/gst/tmpl/gststructure.sgml:
17235         * docs/gst/tmpl/gstsystemclock.sgml:
17236         * docs/gst/tmpl/gsttaglist.sgml:
17237         * docs/gst/tmpl/gsttagsetter.sgml:
17238         * docs/gst/tmpl/gsttrace.sgml:
17239         * docs/gst/tmpl/gsttrashstack.sgml:
17240         * docs/gst/tmpl/gsttypefind.sgml:
17241         * docs/gst/tmpl/gsttypefindfactory.sgml:
17242         * docs/gst/tmpl/gsttypes.sgml:
17243         * docs/gst/tmpl/gsturihandler.sgml:
17244         * docs/gst/tmpl/gsturitype.sgml:
17245         * docs/gst/tmpl/gstutils.sgml:
17246         * docs/gst/tmpl/gstvalue.sgml:
17247         * docs/gst/tmpl/gstversion.sgml:
17248         * docs/gst/tmpl/gstxml.sgml:
17249         * docs/libs/tmpl/gstcontrol.sgml:
17250         * docs/libs/tmpl/gstdataprotocol.sgml:
17251         * docs/libs/tmpl/gstdparam.sgml:
17252         * docs/libs/tmpl/gstdplinint.sgml:
17253         * docs/libs/tmpl/gstdpman.sgml:
17254         * docs/libs/tmpl/gstdpsmooth.sgml:
17255         * docs/libs/tmpl/gstgetbits.sgml:
17256         * docs/libs/tmpl/gstunitconvert.sgml:
17257         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
17258         (gst_push_src_base_init), (gst_push_src_class_init),
17259         (gst_push_src_init), (gst_push_src_create):
17260         * gst/base/gstpushsrc.h:
17261         * gst/elements/gstelements.c:
17262         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
17263         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
17264         (gst_fake_sink_init), (gst_fake_sink_set_property),
17265         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
17266         (gst_fake_sink_event), (gst_fake_sink_preroll),
17267         (gst_fake_sink_render), (gst_fake_sink_change_state):
17268         * gst/elements/gstfakesink.h:
17269         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
17270         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
17271         (gst_fake_src_base_init), (gst_fake_src_class_init),
17272         (gst_fake_src_init), (gst_fake_src_event_handler),
17273         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
17274         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
17275         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
17276         (gst_fake_src_create_buffer), (gst_fake_src_create),
17277         (gst_fake_src_start), (gst_fake_src_stop):
17278         * gst/elements/gstfakesrc.h:
17279         * gst/elements/gstfilesink.c: (_do_init),
17280         (gst_file_sink_base_init), (gst_file_sink_class_init),
17281         (gst_file_sink_init), (gst_file_sink_dispose),
17282         (gst_file_sink_set_location), (gst_file_sink_set_property),
17283         (gst_file_sink_get_property), (gst_file_sink_open_file),
17284         (gst_file_sink_close_file), (gst_file_sink_query),
17285         (gst_file_sink_event), (gst_file_sink_render),
17286         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
17287         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
17288         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
17289         * gst/elements/gstfilesink.h:
17290         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
17291         (gst_file_src_class_init), (gst_file_src_init),
17292         (gst_file_src_finalize), (gst_file_src_set_location),
17293         (gst_file_src_set_property), (gst_file_src_get_property),
17294         (gst_file_src_map_region), (gst_file_src_map_small_region),
17295         (gst_file_src_create_mmap), (gst_file_src_create_read),
17296         (gst_file_src_create), (gst_file_src_is_seekable),
17297         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
17298         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
17299         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
17300         (gst_file_src_uri_handler_init):
17301         * gst/elements/gstfilesrc.h:
17302           more autistic cleanliness in functions/names/defines
17303
17304 2005-07-13  Andy Wingo  <wingo@pobox.com>
17305
17306         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
17307         source couldn't negotiate.
17308
17309         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
17310         connections again.
17311
17312         * gst/gstutils.h:
17313         * gst/gstutils.c (gst_element_link_pads_filtered): New old
17314         function. I am channeling Hades. Put your boots on suckers!!!
17315
17316 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17317
17318         * testsuite/caps/Makefile.am:
17319         * testsuite/caps/value_compare.c:
17320         * testsuite/caps/value_intersect.c:
17321         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
17322           move two testsuite apps over to the check dir
17323
17324 2005-07-12  Wim Taymans  <wim@fluendo.com>
17325
17326         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
17327         Added more debug info in the negotiate process.
17328
17329         * gst/gstmessage.h:
17330         Prepare for segment playback.
17331
17332         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
17333         Better debugging.
17334
17335         * gst/gstutils.c:
17336         Some more docs.
17337
17338         * tools/gst-launch.c: (main):
17339         NULL pipeline on errors.
17340
17341 2005-07-12  Andy Wingo  <wingo@pobox.com>
17342
17343         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
17344         not it comes from a malloc region. Make sure our copy gets freed.
17345
17346 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17347
17348         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
17349         * check/gst/gstmessage.c: (GST_START_TEST):
17350         * check/gst/gststructure.c: (GST_START_TEST),
17351         (gst_structure_suite), (main):
17352           more testing
17353         * gst/gstelement.c: (gst_element_message_full):
17354           clean up GError and debug string now that they get copied
17355         * gst/gstmessage.c: (gst_message_new_error),
17356         (gst_message_new_warning), (gst_message_parse_error),
17357         (gst_message_parse_warning):
17358           use GST_TYPE_G_ERROR for structure_new, and take copies of
17359           arguments, so that we don't mess up refcounting
17360
17361 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17362
17363         * check/Makefile.am:
17364           add per-test valgrind targets
17365         * check/gst-libs/gdp.c: (GST_START_TEST),
17366         (gst_data_protocol_suite), (main):
17367           clean up
17368
17369 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
17370
17371         * check/Makefile.am:
17372           instate more valgrindable tests
17373         * check/elements/gstfakesrc.c: (chain_func), (event_func),
17374         (GST_START_TEST), (fakesrc_suite):
17375         * check/gst/gstpad.c: (GST_START_TEST):
17376         * check/gst/gststructure.c: (GST_START_TEST):
17377           fix test leaks
17378         * docs/gst/tmpl/gstminiobject.sgml:
17379         * gst/gstpad.c: (gst_pad_finalize):
17380           fix the static mutex leak
17381
17382 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17383
17384         * check/Makefile.am:
17385           add two more tests for valgrinding
17386         * check/gst/gstvalue.c: (GST_START_TEST):
17387           test refcount of deserialized buffer, found a leak
17388         * docs/gst/gstreamer-docs.sgml:
17389         * docs/gst/gstreamer-sections.txt:
17390         * docs/gst/gstreamer.types:
17391         * docs/gst/tmpl/gstminiobject.sgml:
17392           add miniobject to docs
17393         * gst/gstminiobject.c:
17394           add some docs
17395         * gst/gstvalue.c: (gst_value_deserialize_buffer),
17396         (gst_string_unwrap):
17397           fix a hard-to-find invalid write for one of the tests
17398           fix a leak for deserialized buffers
17399
17400 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17401
17402         * docs/pwg/advanced-events.xml:
17403         * docs/pwg/advanced-request.xml:
17404         * docs/pwg/advanced-scheduling.xml:
17405         * docs/pwg/appendix-porting.xml:
17406         * docs/pwg/building-boiler.xml:
17407         * docs/pwg/intro-preface.xml:
17408         * docs/pwg/other-ntoone.xml:
17409           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
17410           of example code and explanation for pad activation, loop() and
17411           getrange() functions and a bit more. Remove old comments pointing
17412           to loop-functions.
17413         * examples/pwg/Makefile.am:
17414           Add loop/getrange examples.
17415
17416 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17417
17418         * configure.ac:
17419           check for valgrind binary + some fixes
17420         * check/gst.supp:
17421           valgrind suppressions for the tests
17422         * check/Makefile.am:
17423           add a valgrind: target that valgrinds the unit tests
17424         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
17425         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
17426         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17427         * check/gst/gstghostpad.c:
17428           added some cleanup
17429         * check/gst/gstdata.c:
17430           removed
17431         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
17432         (thread_unref), (gst_mini_object_suite), (main):
17433           added
17434         * gst/gst.c: (gst_deinit):
17435         * gst/gst.h:
17436           add a method to clean up.
17437         * gst/gstsystemclock.c: (gst_system_clock_dispose),
17438         (gst_system_clock_obtain):
17439           allow for disposing the system clock.
17440         * tools/gst-launch.c: (main):
17441           deinit
17442
17443 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17444
17445         * docs/gst/tmpl/gstbasesrc.sgml:
17446         * docs/gst/tmpl/gstfakesrc.sgml:
17447         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
17448         (gst_base_src_init), (gst_base_src_set_property),
17449         (gst_base_src_get_property), (gst_base_src_get_range),
17450         (gst_base_src_start):
17451         * gst/base/gstbasesrc.h:
17452           add num-buffers property
17453         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17454         (gst_fakesrc_init), (gst_fakesrc_set_property),
17455         (gst_fakesrc_get_property), (gst_fakesrc_create),
17456         (gst_fakesrc_start):
17457           remove num-buffers property
17458
17459 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17460
17461         * docs/gst/gstreamer-sections.txt:
17462         * docs/gst/tmpl/gstbasesink.sgml:
17463         * docs/gst/tmpl/gstbasesrc.sgml:
17464         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
17465         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
17466         (gst_base_sink_finalize), (gst_base_sink_set_clock),
17467         (gst_base_sink_set_property), (gst_base_sink_get_property),
17468         (gst_base_sink_handle_object), (gst_base_sink_event),
17469         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17470         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
17471         (gst_base_sink_loop), (gst_base_sink_deactivate),
17472         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
17473         (gst_base_sink_change_state):
17474         * gst/base/gstbasesink.h:
17475         * gst/base/gstbasesrc.h:
17476         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
17477         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
17478         (gst_filesink_init):
17479           more macro splitting
17480
17481 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17482
17483         * gst/gstelement.c: (gst_element_get_bus):
17484           add debug
17485         * tools/gst-launch.c: (check_intr), (event_loop):
17486           fix bus leaks
17487
17488 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17489
17490         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
17491           fix a caps leak
17492
17493 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17494
17495         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
17496         (gst_base_src_finalize):
17497           add finalize method and clean up properly
17498         * gst/gstpipeline.c: (gst_pipeline_dispose):
17499           add debug
17500
17501 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17502
17503         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
17504         (gst_bin_suite):
17505           add more things to check
17506         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
17507         * gst/gstelement.c:
17508           more debug
17509
17510 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17511
17512         * check/elements/gstfakesrc.c: (chain_func), (event_func),
17513         (GST_START_TEST), (fakesrc_suite):
17514         * check/gst-libs/gdp.c: (GST_START_TEST):
17515         * check/gst/gst.c: (GST_START_TEST):
17516         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
17517         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17518         * check/gst/gstbus.c: (GST_START_TEST):
17519         * check/gst/gstcaps.c: (GST_START_TEST):
17520         * check/gst/gstdata.c: (GST_START_TEST):
17521         * check/gst/gstelement.c: (GST_START_TEST):
17522         * check/gst/gstghostpad.c: (GST_START_TEST):
17523         * check/gst/gstiterator.c: (GST_START_TEST):
17524         * check/gst/gstmessage.c: (GST_START_TEST):
17525         * check/gst/gstobject.c: (GST_START_TEST):
17526         * check/gst/gstpad.c: (GST_START_TEST):
17527         * check/gst/gststructure.c: (GST_START_TEST):
17528         * check/gst/gstsystemclock.c: (GST_START_TEST),
17529         (gst_systemclock_suite):
17530         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
17531         * check/gst/gstvalue.c: (GST_START_TEST):
17532         * check/pipelines/cleanup.c: (GST_START_TEST):
17533         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
17534         * check/states/sinks.c: (GST_START_TEST):
17535         * check/gstcheck.c: (gst_check_init):
17536         * check/gstcheck.h:
17537           add debugging category
17538           use GST_START_TEST now, so we add a debug line
17539
17540 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
17541
17542         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
17543           add test for state change message on a bin
17544         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
17545           add another test
17546         * gst/gstbin.c: (gst_bin_init):
17547         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
17548         * gst/gstelement.c: (gst_element_post_message),
17549         (gst_element_set_state):
17550         * gst/gstelementfactory.c: (gst_element_factory_create):
17551         * gst/gstmessage.c: (gst_message_new):
17552         * gst/gstscheduler.c:
17553           various debugging additions and cleanups
17554
17555 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17556
17557         * check/Makefile.am:
17558         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
17559         (main):
17560           adding tests for elements
17561         * gst/gstelement.c: (gst_element_dispose):
17562
17563 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17564
17565         * gst/registries/gstlibxmlregistry.c: (load_feature):
17566           plug more leaks.  A simple gst_init() now is leakfree, yay.
17567
17568 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17569
17570         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
17571         (gst_xml_registry_load):
17572           plug another memleak
17573
17574 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17575
17576         * configure.ac:
17577           use GST_SET_ERROR_CFLAGS
17578         * docs/faq/cvs.xml:
17579           change to ERROR_CFLAGS
17580
17581 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
17582
17583         * configure.ac:
17584           make GST_ERROR_CFLAGS overridable and re-enable Werror
17585         * docs/faq/cvs.xml:
17586           add a note about error CFLAGS
17587         * docs/gst/tmpl/gstfakesrc.sgml:
17588         * gst/elements/gstfakesrc.c:
17589           comment out some unused code
17590         * gst/gst.c: (split_and_iterate):
17591         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
17592         (load_feature):
17593           plug some memleaks
17594
17595 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
17596
17597         * common/Makefile.am:
17598         * common/gtk-doc.mak:
17599         * docs/gst/Makefile.am:
17600           factor out gtk-doc.mak
17601
17602 2005-07-07  Wim Taymans  <wim@fluendo.com>
17603
17604         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
17605         (gst_thread_scheduler_dispose):
17606         Unlock the STREAM_LOCK completely.
17607
17608 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
17609
17610         * check/Makefile.am:
17611         * check/elements/.cvsignore:
17612         * check/elements/gstfakesrc.c: (chain_func), (event_func),
17613         (START_TEST), (fakesrc_suite), (main):
17614         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17615         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
17616         (gst_fakesrc_create), (gst_fakesrc_start):
17617         * gst/elements/gstfakesrc.h:
17618           adding a first element test
17619
17620 2005-07-07  Andy Wingo  <wingo@pobox.com>
17621
17622         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
17623         debug message.
17624
17625 2005-07-07  Wim Taymans  <wim@fluendo.com>
17626
17627         * gst/gstquery.c:
17628         * gst/gstquery.h:
17629         Remove old types
17630
17631 2005-07-07  Wim Taymans  <wim@fluendo.com>
17632
17633         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
17634         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
17635         Allow subclasses to implement their own negotiation.
17636
17637 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
17638
17639         * docs/design/part-gstbin.txt:
17640         * docs/design/part-gstpipeline.txt:
17641           Update design notes to reflect the movement of
17642           responsibility for bus handling from GstPipeline to
17643           GstBin
17644
17645 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
17646
17647         * configure.ac:
17648           Remove unnecessary queue2/3/4 examples.
17649
17650 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
17651
17652         * examples/Makefile.am:
17653         * examples/helloworld/helloworld.c: (event_loop), (main):
17654         * examples/queue/queue.c: (event_loop), (main):
17655         * examples/queue2/queue2.c: (main):
17656           Update a couple of the examples to work again.
17657
17658         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
17659         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
17660          Spelling corrections and extra debug.
17661         
17662         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
17663         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
17664         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
17665         * gst/gstbin.h:
17666         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
17667         (gst_pipeline_change_state):
17668         * gst/gstpipeline.h:
17669           Move the bus handler for children to the GstBin, and create a
17670           separate bus for receiving messages from children to the one the
17671           bus sends 'upwards' on.
17672
17673 2005-07-06  Wim Taymans  <wim@fluendo.com>
17674
17675         * gst/base/README:
17676         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
17677         (gst_base_sink_handle_object), (gst_base_sink_loop),
17678         (gst_base_sink_change_state):
17679         * gst/base/gstbasesink.h:
17680         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
17681         (gst_base_src_init), (gst_base_src_setcaps),
17682         (gst_base_src_getcaps), (gst_base_src_loop),
17683         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
17684         (gst_base_src_start), (gst_base_src_change_state):
17685         * gst/base/gstbasesrc.h:
17686         Make basesrc negotiate.
17687         Handle the case where preroll fails in basesink.
17688         Update README.
17689
17690 2005-07-06  Wim Taymans  <wim@fluendo.com>
17691
17692         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
17693         Implement the fixate function.
17694         Clean up acceptcaps.
17695
17696 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17697
17698         * docs/pwg/building-filterfactory.xml:
17699         * docs/pwg/pwg.xml:
17700           Remove never-written filter-factory chapter; I'll add the various
17701           base classes to part 4 ("other element types") later on.
17702
17703 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17704
17705         * docs/pwg/advanced-negotiation.xml:
17706         * docs/pwg/building-boiler.xml:
17707         * docs/pwg/building-pads.xml:
17708         * docs/pwg/pwg.xml:
17709         * examples/pwg/Makefile.am:
17710           Add a chapter on caps negotiation, simplify the original code
17711           samples a bit w.r.t. caps negotiation, add link to the advanced
17712           section. Add a bunch of examples showing different use cases of
17713           different types of caps negotiation. Upstream renegotiation isn't
17714           fully documented yet since nobody knows how that works.
17715
17716 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
17717
17718         * check/gst/gstpad.c:
17719         * check/gstcheck.c:
17720         * gst/gstpad.c: (gst_pad_get_internal_links_default):
17721           if pad has no parent, return NULL as list of internal links
17722
17723 2005-07-05  Andy Wingo  <wingo@pobox.com>
17724
17725         * gst/elements/gstfilesrc.c:
17726         * gst/elements/gstfakesrc.c: 
17727         * gst/base/gstpushsrc.c:
17728         * gst/base/gstbasesrc.h: 
17729         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
17730         
17731 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
17732
17733         * Makefile.am:
17734           better report generation target (lcov needs a patch)
17735
17736 2005-07-05  Andy Wingo  <wingo@pobox.com>
17737
17738         * gst/elements, testsuite: Null if we got it...
17739
17740 2005-07-05  Wim Taymans  <wim@fluendo.com>
17741
17742         * configure.ac:
17743         * libs/gst/dataprotocol/Makefile.am:
17744         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
17745         * libs/gst/dataprotocol/dataprotocol.h:
17746         * pkgconfig/Makefile.am:
17747         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
17748         * pkgconfig/gstreamer-dataprotocol.pc.in:
17749         Ported dataprotol to 0.9. 
17750         Added pkgconfig files.
17751
17752 2005-07-05  Andy Wingo  <wingo@pobox.com>
17753
17754         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
17755         Default to returning TRUE for the case when tranform_caps returns
17756         a fixed caps, like for identity or volume.
17757
17758         * check/gst/gstbus.c (pound_bus_with_messages): 
17759         * check/gst/gstmessage.c (START_TEST): 
17760         * check/pipelines/simple_launch_lines.c (got_handoff): Application
17761         message API change.
17762
17763         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
17764         logic weaks here: always run transform_caps, trying passthrough
17765         operation only if the original caps intersects with the transform.
17766
17767         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
17768         source and sink caps.
17769
17770         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
17771         Intersect the peer caps with the pad template before going into
17772         transform_caps.
17773         (gst_base_transform_transform_caps): More debugging.
17774
17775         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
17776         src argument.
17777
17778 2005-07-04  Edward Hervey  <edward@fluendo.com>
17779
17780         * gst/gstutils.c:
17781         * gst/gstutils.h:
17782         (gst_pad_add_*_probe): now returns the signal id for better wrapping
17783         in bindings.
17784
17785 2005-07-04  Andy Wingo  <wingo@pobox.com>
17786
17787         * check/gst/gstpad.c: Only set explicit caps on pads.
17788
17789 2005-07-01  Andy Wingo  <wingo@pobox.com>
17790
17791         * tests/network-clock.scm: Commentary update.
17792
17793         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
17794         Didn't really make sense, not implementable with basetransform,
17795         etc.
17796         (gst_identity_transform): Unref inbuf via make_writable. Feeble
17797         attempt at implementing the sync property, needs an unlock method.
17798
17799         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
17800         New func, by default returns the same caps (the identity
17801         transformation).
17802         (gst_base_transform_getcaps): Uses transform_caps to return
17803         something sensible.
17804         (gst_base_transform_setcaps): Complicated logic to get caps on
17805         both pads, even if they are different, and to call set_caps once
17806         for every time both pads get their caps set.
17807         (gst_base_transform_handle_buffer): Give the ref to the transform
17808         function. Allows in-place modification of the buffer.
17809
17810         * gst/base/gstbasetransform.h (transform_caps): New class method.
17811         Given caps on one side, what can I do on the other.
17812         (set_caps): Take two caps, one for each side of the element.
17813
17814         * gst/gstpad.h:
17815         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
17816         caps in place. This is safe because we can check the mutability of
17817         the caps, and a good idea because fixate functions are just called
17818         as a matter of last resort. (Not actually implemented.)
17819         (gst_pad_set_caps): If the caps we're setting is actually the same
17820         as the existing pad caps, just update the pointer without calling
17821         setcaps. Assert that caps is either NULL or fixed, as per the
17822         docs.
17823
17824         * gst/gstghostpad.c: Update for fixate changes.
17825
17826 2005-07-02  Andy Wingo  <wingo@pobox.com>
17827
17828         * gst/gstcaps.c:
17829         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
17830         two refcounts makes it immutable, which is enough. Doc more.
17831
17832 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
17833
17834         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
17835           Put the mini_object into GValue as a mini_object,
17836           not a gpointer, since that's how we declared
17837           the signal.
17838
17839 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17840
17841         * examples/pwg/Makefile.am:
17842           Fix buildbot again.
17843
17844 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17845
17846         * docs/pwg/building-testapp.xml:
17847           Add extra check.
17848         * examples/pwg/Makefile.am:
17849           Fix buildbot.
17850
17851 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17852
17853         * configure.ac:
17854         * examples/Makefile.am:
17855         * examples/pwg/Makefile.am:
17856         * examples/pwg/extract.pl:
17857           Enable building the PWG examples.
17858         * docs/pwg/advanced-interfaces.xml:
17859           Add URI interface stub.
17860         * docs/pwg/advanced-types.xml:
17861         * docs/pwg/other-autoplugger.xml:
17862         * docs/pwg/appendix-porting.xml:
17863         * docs/pwg/pwg.xml:
17864           Add porting guide (mostly stubs), remove autoplugging (see ADM).
17865         * docs/pwg/building-boiler.xml:
17866         * docs/pwg/building-chainfn.xml:
17867         * docs/pwg/building-pads.xml:
17868         * docs/pwg/building-props.xml:
17869         * docs/pwg/building-state.xml:
17870         * docs/pwg/building-testapp.xml:
17871           Update the building-*.xml parts for 0.9 changes. All examples
17872           code blocks compile in examples/pwg/*.
17873
17874 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17875
17876         * docs/manual/advanced-autoplugging.xml:
17877         * docs/manual/appendix-checklist.xml:
17878         * docs/manual/appendix-integration.xml:
17879         * docs/manual/highlevel-components.xml:
17880           Fix playbin/decodebin examples, update docs a bit, mention bus
17881           instead of signals in various places, mention kmplayer and
17882           kaffeine since they have a working GStreamer backend in the KDE
17883           section.
17884
17885 2005-06-30  Wim Taymans  <wim@fluendo.com>
17886
17887         * CHANGES-0.9:
17888         * docs/design/draft-ghostpads.txt:
17889         * docs/design/draft-push-pull.txt:
17890         * docs/design/draft-query.txt:
17891         * docs/design/part-TODO.txt:
17892         * docs/design/part-query.txt:
17893         Added CHANGES-0.9 doc, updated status of other docs.
17894         
17895         * gst/gstquery.h:
17896         Remove "hmm" macro
17897
17898 2005-06-30  Wim Taymans  <wim@fluendo.com>
17899
17900         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
17901         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
17902         (gst_base_sink_change_state):
17903         * gst/base/gstbasesink.h:
17904         Some tweaks, only EOS and a buffer complete a preroll.
17905
17906 2005-06-30  Andy Wingo  <wingo@pobox.com>
17907
17908         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
17909         activate_push down to the internal pad as well.
17910
17911 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
17912
17913         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17914
17915         * gst/gsttaginterface.c:
17916           Some documentation fixes (#307394 and #307397).
17917
17918 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
17919
17920         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17921
17922         * gst/gstvalue.c: (gst_value_intersect_list):
17923           Fix memleak (#309125).
17924
17925 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17926
17927         * docs/manual/advanced-dataaccess.xml:
17928           Fix fakesrc example to compile; doesn't work, bug somewhere...?
17929         * docs/manual/basics-pads.xml:
17930           Add reference for filtered caps to above chapter.
17931
17932 2005-06-30  Wim Taymans  <wim@fluendo.com>
17933
17934         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
17935         (gst_bin_change_state):
17936         Probes are gone.
17937         Lame attempt at making the state change function a bit
17938         more readable.
17939
17940 2005-06-30  Wim Taymans  <wim@fluendo.com>
17941
17942         * docs/design/part-clocks.txt:
17943         * docs/design/part-element-sink.txt:
17944         * docs/design/part-events.txt:
17945         * docs/design/part-preroll.txt:
17946         * docs/design/part-states.txt:
17947         Some more tweeks and additions to the docs.
17948
17949 2005-06-30  Wim Taymans  <wim@fluendo.com>
17950
17951         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
17952         (default_have_data), (gst_pad_class_init), (gst_pad_init),
17953         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
17954         (gst_pad_check_pull_range), (gst_pad_get_range),
17955         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
17956         * gst/gstpad.h:
17957         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
17958         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17959         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17960         (gst_pad_remove_buffer_probe):
17961         Removed atomic operations, use existing LOCK.
17962         Move exception handling out of main code path.
17963
17964 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17965
17966         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
17967         (silly_return_true_function), (gst_pad_class_init),
17968         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
17969         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
17970         (gst_pad_send_event):
17971           Fix accumulator, add default value by using _emitv() instead
17972           of _emit() for signal emission.
17973
17974 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17975
17976         * docs/manual/advanced-dataaccess.xml:
17977         * examples/manual/Makefile.am:
17978           Add probe example.
17979         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
17980           Make work (??).
17981
17982 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
17983
17984         * gst/elements/gstfilesink.c: (gst_filesink_render):
17985           Simplify code so that we don't have to handle short
17986           writes and return GST_FLOW_ERROR if an error occured.
17987
17988 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17989
17990         * docs/gst/gstreamer-docs.sgml:
17991           Remove probes more.
17992
17993 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17994
17995         * docs/gst/gstreamer-sections.txt:
17996         * docs/gst/tmpl/gstpad.sgml:
17997         * docs/gst/tmpl/gstprobe.sgml:
17998         * gst/Makefile.am:
17999         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
18000         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
18001         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
18002         (gst_pad_push_event), (gst_pad_send_event):
18003         * gst/gstpad.h:
18004         * gst/gstutils.c: (gst_pad_add_data_probe),
18005         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
18006         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
18007         (gst_pad_remove_buffer_probe):
18008         * gst/gstutils.h:
18009           Remove old probes, add new g-signal-based probes and some utility
18010           functions.
18011
18012 2005-06-29  Edward Hervey  <edward@fluendo.com>
18013
18014         * gst/gstelementfactory.c:
18015         * gst/gstutils.h:
18016         * gst/gstutils.c:
18017         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
18018         the definition to the header file.
18019
18020 2005-06-29  Andy Wingo  <wingo@pobox.com>
18021
18022         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
18023         plugins from the source directory.
18024
18025 2005-06-29  Wim Taymans  <wim@fluendo.com>
18026
18027         * docs/gst/tmpl/gstbuffer.sgml:
18028         * docs/gst/tmpl/gstclock.sgml:
18029         Some fixings for blantently wrong text.
18030
18031 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
18032
18033         * check/Makefile.am:
18034         * gst/gst.c: (add_path_func), (init_pre):
18035         * gst/gstregistry.c: (gst_registry_add_path):
18036           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
18037           only scan the GST_PLUGIN_PATH locations, and not add
18038           system locations
18039
18040 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
18041
18042         * docs/gst/gstreamer-sections.txt:
18043         * docs/gst/tmpl/gstbasesrc.sgml:
18044         * gst/gstelement.c:
18045         * gst/gstelement.h:
18046         * gst/gstevent.c:
18047         * gst/gstutils.c:
18048           doc fixes
18049
18050 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18051
18052         * docs/manual/advanced-autoplugging.xml:
18053           Fix autoplugging example.
18054
18055 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18056
18057         * docs/manual/advanced-autoplugging.xml:
18058         * docs/manual/mime-world.fig:
18059           Try to get autoplugging working, fix type detection. Fix text
18060           in hello-world image.
18061
18062 2005-06-29  Wim Taymans  <wim@fluendo.com>
18063
18064         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18065         (gst_base_sink_change_state):
18066         Small debug line.
18067
18068         * gst/gstclock.h:
18069         map SIGNAL and BROADCAST to the right function.
18070
18071         * gst/gstobject.h:
18072         Remove redundant braces.
18073
18074         * gst/gstpad.c: (gst_pad_set_caps):
18075         Don't call setcaps function when reseting caps to NULL.
18076
18077         * gst/gstsystemclock.c: (gst_system_clock_dispose),
18078         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
18079         (gst_system_clock_id_unschedule):
18080         Use BROADCAST as this is what we do.
18081
18082 2005-06-29  Wim Taymans  <wim@fluendo.com>
18083
18084         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18085         We are actually prerolling before commiting the state
18086         change. 
18087
18088 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18089
18090         * docs/manual/advanced-clocks.xml:
18091         * docs/manual/advanced-interfaces.xml:
18092         * docs/manual/advanced-metadata.xml:
18093         * docs/manual/advanced-position.xml:
18094         * docs/manual/advanced-schedulers.xml:
18095         * docs/manual/advanced-threads.xml:
18096         * docs/manual/appendix-porting.xml:
18097         * docs/manual/basics-bins.xml:
18098         * docs/manual/basics-bus.xml:
18099         * docs/manual/basics-elements.xml:
18100         * docs/manual/basics-helloworld.xml:
18101         * docs/manual/basics-pads.xml:
18102         * docs/manual/highlevel-components.xml:
18103         * docs/manual/manual.xml:
18104         * docs/manual/thread.fig:
18105           Update (until threads/scheduling) Application Development Manual;
18106           remove GstThread, add GstBus, add simple porting checklist, add
18107           documentation for tag writing, clocks, make all examples until this
18108           part compile and run.
18109         * examples/manual/Makefile.am:
18110           Update from changes to Application Development Manual; add bus
18111           example, remove thread example.
18112
18113 2005-06-28  Wim Taymans  <wim@fluendo.com>
18114
18115         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
18116         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
18117         (gst_bus_source_dispatch):
18118         Add debugging messages.
18119         Make internal methods static.
18120         Handle the case where the bus is flushed in the handler.
18121         
18122         * gst/gstelement.c: (gst_element_get_bus):
18123         Fix refcount in _get_bus();
18124
18125         * gst/gstpipeline.c: (gst_pipeline_change_state),
18126         (gst_pipeline_get_clock_func):
18127         Clock refcounting fixes.
18128         Handle the case where preroll timed out more gracefully.
18129         
18130         * gst/gstsystemclock.c: (gst_system_clock_dispose):
18131         Clean up the internal thread in dispose. This is needed
18132         for subclasses that actually get disposed.
18133         
18134         * gst/schedulers/threadscheduler.c:
18135         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
18136         (gst_thread_scheduler_dispose):
18137         Free thread pool in dispose.
18138
18139 2005-06-28  Andy Wingo  <wingo@pobox.com>
18140
18141         * tests/network-clock-utils.scm (debug, print-event): New utils.
18142
18143         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
18144         (*packet-loss*): Unified loss probability.
18145         (network-time): Report out-of-band events.
18146
18147         * tests/plot-data: Add support for out-of-band events. Hack it
18148         into this script instead of passing it down the pipe; should fix
18149         this later.
18150
18151 2005-06-28  Wim Taymans  <wim@fluendo.com>
18152
18153         * docs/gst/gstreamer.types:
18154         * docs/gst/tmpl/gstbasesrc.sgml:
18155         * docs/gst/tmpl/gstpad.sgml:
18156         Docs fixes.
18157
18158 2005-06-28  Wim Taymans  <wim@fluendo.com>
18159
18160         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
18161         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
18162         (gst_proxy_pad_do_fixatecaps):
18163         Correctly proxy the check_pull_range function.
18164
18165 2005-06-28  Andy Wingo  <wingo@pobox.com>
18166
18167         * tests/network-clock.scm: Removed need for slib.
18168         
18169 2005-06-28  Wim Taymans  <wim@fluendo.com>
18170
18171         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
18172         (gst_basesink_preroll_queue_flush):
18173         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
18174         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
18175         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
18176         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
18177         (gst_proxy_pad_set_property):
18178         * gst/gstpad.c:
18179         * gst/gstpad.h:
18180         * gst/gstqueue.c: (gst_queue_init):
18181         The deprecated pad loop function is removed now.
18182
18183 2005-06-28  Andy Wingo  <wingo@pobox.com>
18184
18185         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
18186         New parameters, simulate network packet loss.
18187
18188         * tests/network-clock-utils.scm: Initialize the RNG.
18189
18190 2005-06-28  Wim Taymans  <wim@fluendo.com>
18191
18192         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
18193         (gst_basesink_event), (gst_basesink_deactivate):
18194         Flushing the preroll queue always needs to unlock the waiters.
18195
18196 2005-06-28  Edward Hervey  <edward@fluendo.com>
18197
18198         * gst/gstpipeline.c: (gst_pipeline_send_event): 
18199         Wheen a seek was successful on a pipeline, set the stream_time to the
18200         seek offset in order to have a synchronized stream_time.
18201
18202 2005-06-28  Wim Taymans  <wim@fluendo.com>
18203
18204         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
18205         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
18206         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
18207         (gst_proxy_pad_do_fixatecaps):
18208         Call wrapper function instead of just calling the function
18209         pointers. This takes care of any locking and whatmore.
18210
18211 2005-06-28  Wim Taymans  <wim@fluendo.com>
18212
18213         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
18214         (gst_pad_pull_range):
18215         * gst/gstpad.h:
18216         CONNECTED -> LINKED.
18217
18218 2005-06-28  Andy Wingo  <wingo@pobox.com>
18219
18220         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
18221         source-munging commit!!!
18222
18223         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
18224         (gst_object_sink): Take gpointer arguments, not GstObject --
18225         avoids casts. Like GLib.
18226
18227         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
18228         activate.
18229
18230 2005-06-27  Andy Wingo  <wingo@pobox.com>
18231
18232         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
18233         remaining buffer.
18234
18235         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
18236         returns a sorted copy of the trace list.
18237         (gst_alloc_trace_print_live): New API, only prints traces with
18238         live objects. Sort the list.
18239         (gst_alloc_trace_print_all): Sort the list.
18240         (gst_alloc_trace_print): Align columns.
18241
18242         * gst/elements/gstttypefindelement.c:
18243         * gst/elements/gsttee.c:
18244         * gst/base/gstbasesrc.c:
18245         * gst/base/gstbasesink.c:
18246         * gst/base/gstbasetransform.c:
18247         * gst/gstqueue.c: Adapt for pad activation changes.
18248
18249         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
18250         sched.
18251         (gst_pipeline_dispose): Drop ref on sched.
18252
18253         * gst/gstpad.c (gst_pad_init): Set the default activate func.
18254         (gst_pad_activate_default): Push mode by default.
18255         (pre_activate_switch, post_activate_switch): New stubs, things to
18256         do before and after switching activation modes on pads.
18257         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
18258         the pad's activate function to choose which mode to activate.
18259         Shortcut on deactivation and call the right function directly.
18260         (gst_pad_activate_pull): New API, (de)activates a pad in pull
18261         mode.
18262         (gst_pad_activate_push): New API, same for push mode.
18263         (gst_pad_set_activate_function) 
18264         (gst_pad_set_activatepull_function) 
18265         (gst_pad_set_activatepush_function): Setters for new API.
18266
18267         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
18268         Trace all miniobjects.
18269         (gst_mini_object_make_writable): Unref the arg if we copy, like
18270         gst_caps_make_writable.
18271
18272         * gst/gstmessage.c (_gst_message_initialize): No trace init.
18273
18274         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
18275         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
18276         Adapt for new pad API.
18277
18278         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
18279
18280         * gst/gstelement.h:
18281         * gst/gstelement.c (gst_element_iterate_src_pads) 
18282         (gst_element_iterate_sink_pads): New API functions.
18283         
18284         * gst/gstelement.c (iterator_fold_with_resync): New utility,
18285         should fold into gstiterator.c in some form.
18286         (gst_element_pads_activate): Simplified via use of fold and
18287         delegation of decisions to gstpad->activate.
18288
18289         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
18290         help in debugging.
18291
18292         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
18293         class once in init, like gstmessage. Didn't run into this issue
18294         but it seems correct. Don't initialize a trace, gstminiobject does
18295         that.
18296
18297         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
18298         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
18299         to the bus.
18300         (assert_live_count): New util function, uses alloc traces to check
18301         cleanup.
18302
18303         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
18304         To be modified when unlink drops the internal pad.
18305
18306 2005-06-27  Wim Taymans  <wim@fluendo.com>
18307
18308         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
18309         (gst_bin_change_state):
18310         Cleanup the get_state() function a little, make sure it
18311         iterates the same set of elements.
18312         Added stub iterate_state_order().
18313
18314 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
18315
18316         * docs/gst/gstreamer-docs.sgml:
18317         * docs/gst/gstreamer-sections.txt:
18318         * docs/gst/gstreamer.types:
18319         * docs/gst/tmpl/gstbasesink.sgml:
18320         * docs/gst/tmpl/gstbasesrc.sgml:
18321         * docs/gst/tmpl/gstbasetransform.sgml:
18322         * docs/gst/tmpl/gstelement.sgml:
18323         * docs/gst/tmpl/gstiterator.sgml:
18324         * gst/base/gstbasesrc.c:
18325         * gst/base/gstbasesrc.h:
18326         * gst/base/gstbasetransform.h:
18327         * gst/gstelement.c:
18328         * gst/gstiterator.h:
18329           adding basetransform and iterator docs
18330
18331 2005-06-27  Andy Wingo  <wingo@pobox.com>
18332
18333         * docs/design/part-activation.txt: Notes on how activation should
18334         work -- not quite implemented yet.
18335
18336 2005-06-25  Wim Taymans  <wim@fluendo.com>
18337
18338         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
18339         At least get the chain function correct, needs more
18340         fixing.
18341
18342 2005-06-25  Wim Taymans  <wim@fluendo.com>
18343
18344         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
18345         (gst_basesink_handle_object), (gst_basesink_event),
18346         (gst_basesink_do_sync), (gst_basesink_handle_event),
18347         (gst_basesink_change_state):
18348         * gst/gsttask.h:
18349         Right, two problems here: ghostpads don't take locks and
18350         glib _rec_mutex_lock_full() with depth==0 still locks.
18351         Catch illegal locking and g_warn them.
18352
18353 2005-06-25  Wim Taymans  <wim@fluendo.com>
18354
18355         * check/states/sinks.c: (START_TEST), (gst_object_suite):
18356         Have to check for completion now...
18357
18358 2005-06-25  Wim Taymans  <wim@fluendo.com>
18359
18360         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
18361         (gst_basesink_handle_object), (gst_basesink_event),
18362         (gst_basesink_do_sync), (gst_basesink_handle_event),
18363         (gst_basesink_change_state):
18364         * gst/gstpad.h:
18365         Unlock STREAM_LOCK whatever the recursion was.
18366
18367 2005-06-25  Wim Taymans  <wim@fluendo.com>
18368
18369         * gst/base/gstbasesink.c: (gst_basesink_set_property),
18370         (gst_basesink_preroll_queue_empty),
18371         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
18372         (gst_basesink_event), (gst_basesink_do_sync),
18373         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
18374         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
18375         (gst_basesink_change_state):
18376         Reworked the base sink, handle event and buffer serialisation
18377         correctly and removed possible deadlock.
18378         Handle EOS correctly.
18379
18380 2005-06-25  Wim Taymans  <wim@fluendo.com>
18381
18382         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
18383         (gst_pipeline_change_state):
18384         * tools/gst-launch.c: (check_intr), (event_loop), (main):
18385         Allow elements to post EOS in the state change function.
18386         Fix up -launch, make it exit the poll loop when the
18387         pipeline actually changed state.
18388         Fix up warning parsing in -launch.
18389
18390 2005-06-25  Wim Taymans  <wim@fluendo.com>
18391
18392         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
18393         (gst_tee_sink_activate):
18394         Core takes STREAM_LOCK for us now.
18395
18396 2005-06-25  Wim Taymans  <wim@fluendo.com>
18397
18398         * gst/gstelement.c: (gst_element_get_state_func),
18399         (gst_element_set_state):
18400         * gst/gstelement.h:
18401         * gst/gstmessage.c: (gst_message_parse_error),
18402         (gst_message_parse_warning):
18403         Keep track of current target state while performing a state
18404         change so that subclasses can do something interesting.
18405         Fix parsing of warning/error messages when GError is NULL.
18406
18407 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18408
18409         * docs/gst/Makefile.am:
18410         * docs/gst/gstreamer-docs.sgml:
18411         * docs/gst/gstreamer-sections.txt:
18412         * docs/gst/gstreamer.types:
18413         * docs/gst/tmpl/gstbasesink.sgml:
18414         * docs/gst/tmpl/gstbasesrc.sgml:
18415         * docs/gst/tmpl/gstbin.sgml:
18416         * docs/gst/tmpl/gstcompat.sgml:
18417         * docs/gst/tmpl/gstfakesink.sgml:
18418         * docs/gst/tmpl/gstfakesrc.sgml:
18419         * docs/gst/tmpl/gstfilesink.sgml:
18420         * docs/gst/tmpl/gstfilesrc.sgml:
18421         * docs/gst/tmpl/gstindex.sgml:
18422         * docs/manual/appendix-quotes.xml:
18423         * gst/base/gstbasesrc.h:
18424         * gst/elements/gstfakesrc.h:
18425         * gst/gstmessage.h:
18426           start pulling in base classes and elements in our docs
18427
18428 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
18429
18430         * docs/gst/Makefile.am:
18431         * docs/libs/Makefile.am:
18432           fixed make distcheck with gtk-doc 1.3
18433
18434 2005-06-23  Wim Taymans  <wim@fluendo.com>
18435
18436         * gst/gstelement.c: (gst_element_get_state_func),
18437         (gst_element_set_state), (gst_element_change_state):
18438         When the state did not change, also report NO_PREROLL
18439         when it matters.
18440
18441 2005-06-23  Wim Taymans  <wim@fluendo.com>
18442
18443         * gst/gstpad.c: (gst_pad_event_default):
18444         * gst/gstqueue.c: (gst_queue_loop):
18445         No unsafe task pausing please.
18446
18447 2005-06-23  Wim Taymans  <wim@fluendo.com>
18448
18449         * gst/schedulers/threadscheduler.c:
18450         (gst_thread_scheduler_task_start),
18451         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
18452         Ref the task before pushing it on the threadpool. This
18453         makes sure that we have a ref when the threadfunction is
18454         actually called.
18455
18456 2005-06-23  Andy Wingo  <wingo@pobox.com>
18457
18458         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
18459         offset is greater than the file's size.
18460
18461         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
18462         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
18463         * gst/gstobject.c (gst_object_class_init): Make the class lock
18464         recursive. Wim won't let me drop deep_notify. Decodebin works
18465         again, whoopdy doo.
18466
18467         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
18468         internal pad, and hacks accordingly. Doesn't do it on the target
18469         pad because we change its caps. Probably catches all cases of
18470         interest tho.
18471         (gst_ghost_pad_set_property): Connect to notify::caps as
18472         appropritate.
18473
18474         * tests/network-clock.scm (plot-simulation): Pipe data to the
18475         elite python skript.
18476
18477         * tests/network-clock-utils.scm (define-parameter): New macro,
18478         defines a parameter that can be set via the command line.
18479         (set-parameter!, parse-parameter-arguments): Command line args
18480         parser.
18481
18482         * tests/plot-data: Simple matplotlib-based plotter, takes input on
18483         stdin.
18484
18485 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
18486
18487         * gst/elements/gsttypefindelement.c:
18488         (gst_type_find_element_handle_event):
18489           Don't restart typefinding on a discont.
18490         * gst/gstelement.c: (gst_element_set_state):
18491           Debug spelling fix.
18492         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
18493           Allow changing mode of an active pad.
18494           Debug output fixes.
18495         * gst/registries/gstlibxmlregistry.c: (load_feature):
18496           Don't cast a static pad template to a normal pad template.
18497
18498 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18499
18500         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
18501         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
18502           remove gst_strtoll completely, since it didn't actually do
18503           anything more than what g_ascii_strtoull already does.
18504           check for range errors when deserializing
18505           do a cast for the unsigned cases; but further fixing needs
18506           a decision on what the interpretation of "(int)" and
18507           deserialization should be for values that fall outside the
18508           type's boundaries (ie, refuse, or interpret as casting)
18509
18510 2005-06-23  Wim Taymans  <wim@fluendo.com>
18511
18512         * check/Makefile.am:
18513         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
18514         * docs/design/part-live-source.txt:
18515         * docs/design/part-states.txt:
18516         * gst/base/gstbasesrc.c: (gst_basesrc_init),
18517         (gst_basesrc_set_live), (gst_basesrc_is_live),
18518         (gst_basesrc_get_range), (gst_basesrc_activate),
18519         (gst_basesrc_change_state):
18520         * gst/base/gstbasesrc.h:
18521         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
18522         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
18523         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
18524         * gst/gstelement.c: (gst_element_get_state_func),
18525         (gst_element_set_state):
18526         * gst/gstelement.h:
18527         * gst/gsttypes.h:
18528         * tools/gst-launch.c: (event_loop), (main):
18529         Added support for live sources and other elements that
18530         cannot do preroll.
18531         Updated design docs, added live-source design doc.
18532         Implemented live source functionality in basesrc
18533         Fix error condition in _bin_get_state()
18534         Implement live source handling in -launch.
18535         Added check for live sources.
18536         Fixed case in GstBin where elements were changed state
18537         multiple times.
18538
18539
18540 2005-06-23  Andy Wingo  <wingo@pobox.com>
18541
18542         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
18543         borken refcounting.
18544
18545         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
18546         gst_caps_replace takes care of this for us.
18547
18548         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
18549         gst_pad_set_caps on the target, not just its setcaps() function.
18550
18551         * tests/network-clock.scm: 
18552         * tests/network-clock-utils.scm: A network clock simulator.
18553         Something of an algorithmic testbed before doing something in C.
18554
18555 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18556
18557         * check/Makefile.am:
18558         * check/gst/capslist.h:
18559           copy over from 0.8, and add two with bitmasks specified with
18560           (int) 0xFF...
18561         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
18562           add test to parse everything from capslist.h
18563         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
18564         (main):
18565           add test for structure deserialization
18566         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
18567           add tests for deserialization of strings to int types
18568         * gst/gststructure.c: (gst_structure_nth_field_name):
18569         * gst/gststructure.h:
18570           add a way to get the name of a field referenced by index
18571         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
18572           instead of checking if the resulting long long lies between
18573           min and max, we check if the long long would fit into
18574           a number of bytes for the final type.
18575           This fixes cases where a string represents 2^32 - 1, which
18576           when cast to int would be the (valid) -1, but is bigger than
18577           G_MAXINT
18578
18579 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18580
18581         * gst/parse/grammar.y:
18582           add a log line for type deserialization
18583
18584 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18585
18586         * check/gst/gstvalue.c: (START_TEST):
18587         * gst/gstvalue.c: (gst_value_deserialize):
18588           return long long, not int, so gint64 deserialization actually
18589           works.  Is there any flag that makes the compiler check this ?
18590           Fixes #308559
18591
18592 2005-06-22  Wim Taymans  <wim@fluendo.com>
18593
18594         * gst/gstbuffer.h:
18595         Added convenience macros for setting buffers in GValue.
18596
18597 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
18598
18599         * check/gst/.cvsignore:
18600         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
18601           add a test deserializing int64, and comment part out because
18602           it fails, yay !
18603
18604 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
18605
18606         * check/Makefile.am:
18607         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
18608         * testsuite/Makefile.am:
18609         * testsuite/caps/Makefile.am:
18610         * testsuite/caps/value_serialize.c:
18611         * testsuite/test_gst_init.c:
18612           move a value_serialize test over
18613
18614 2005-06-20  Wim Taymans  <wim@fluendo.com>
18615
18616         * gst/gstpad.c:
18617         Small doc updates.
18618         
18619         * gst/gstvalue.c: (gst_value_compare_buffer),
18620         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
18621         (gst_value_compare_flags), (gst_value_serialize_flags),
18622         (gst_value_deserialize_flags), (_gst_value_initialize):
18623         Fix serialisation of buffers, they are not boxed types anymore
18624
18625 2005-06-20  Wim Taymans  <wim@fluendo.com>
18626
18627         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
18628         Testcase to show error in buffer-on-caps serialisation.
18629
18630 2005-06-20  Andy Wingo  <wingo@pobox.com>
18631
18632         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
18633         will be adding to later.
18634
18635         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
18636         if its socks fill with rocks.
18637         (gst_system_clock_obtain): Set the name on object construction.
18638         Avoid double-checked locking.
18639
18640 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
18641
18642         * gst/gsturi.c: (gst_element_make_from_uri):
18643           Fix potential endless loop.
18644
18645 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
18646
18647         * check/Makefile.am:
18648           add gsttag
18649         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
18650         (main):
18651           move over from testsuite dir and clean up
18652         * configure.ac:
18653         * gst/gsttag.c:
18654         * testsuite/Makefile.am:
18655         * testsuite/tags/.cvsignore:
18656         * testsuite/tags/Makefile.am:
18657         * testsuite/tags/merge.c:
18658           remove testsuite/tags
18659
18660 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
18661
18662         * docs/gst/gstreamer-sections.txt:
18663         * docs/gst/tmpl/gstenumtypes.sgml:
18664         * win32/gstenumtypes.c:
18665           clean up documentation build a little
18666
18667 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
18668
18669         * check/gstcheck.h:
18670           add macros for checking refcounts on objects and caps
18671         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
18672           add some more unit tests
18673         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
18674         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
18675           fix leaked refcounts (I hope :)) so unittest works
18676         * gst/gstpad.h:
18677           whitespace removal
18678
18679 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
18680
18681         * configure.ac: back to HEAD
18682
18683 === release 0.9.1 ===
18684
18685 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
18686
18687         * NEWS:
18688         * RELEASE:
18689           updated
18690
18691 2005-06-17  Andy Wingo  <wingo@pobox.com>
18692
18693         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
18694         assert; it's always possible that the pad gets deactivated in
18695         between the checks in gstpad.c and the implementation. Rely on
18696         finish_preroll() to return a FLUSHING or similar instead of on the
18697         assert.
18698         
18699         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
18700         clock and post an EOS message if we come out of finish_preroll in
18701         the playing state.
18702
18703 2005-06-16  David Schleef  <ds@schleef.org>
18704
18705         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
18706         (gst_capsfilter_set_property): Allow NULL as possible value
18707         for filter_caps property, indicating GST_CAPS_ANY.
18708
18709 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
18710
18711         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
18712           fix debug output
18713         * gst/schedulers/Makefile.am:
18714           use libgst prefix
18715         * gstreamer.spec.in:
18716           fix spec for it
18717
18718 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
18719
18720         * gstreamer.spec.in:
18721           clean up
18722
18723 2005-06-08  Andy Wingo  <wingo@pobox.com>
18724
18725         * gst/gstutils.c: RPAD fixes all around.
18726         (gst_element_link_pads): Refcounting fixes.
18727
18728         * tools/gst-inspect.c:
18729         * tools/gst-xmlinspect.c:
18730         * parse/grammar.y:
18731         * gst/base/gsttypefindhelper.c:
18732         * gst/base/gstbasesink.c:
18733         * gst/gstqueue.c: RPAD fixes.
18734
18735         * gst/gstghostpad.h:
18736         * gst/gstghostpad.c: New ghost pad implementation as full proxy
18737         pads. The tricky thing is they provide both source and sink
18738         interfaces, since they proxy the internal pad for the external
18739         pad, and vice versa. Implement with lower-level ProxyPad objects,
18740         with the interior proxy pad as a child of the exterior ghost pad.
18741         Should write a doc on this.
18742         
18743         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
18744         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
18745         gst_object API.
18746         
18747         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
18748         pads are real pads. No ghost pads in this file. Not documenting
18749         the myriad s/RPAD/PAD/ and REALIZE fixes.
18750         (gst_pad_class_init): Add properties for "direction" and
18751         "template". Both are construct-only, so they can't change during
18752         the life of the pad. Fixes properly deriving from GstPad.
18753         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
18754         derived objects, just set properties when creating the objects via
18755         g_object_new.
18756         (gst_pad_get_parent): Implement as a function, return NULL if the
18757         parent is not an element.
18758         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
18759         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
18760         
18761         * gst/gstobject.c (gst_object_class_init): Make name a construct
18762         property. Don't set it in the object init.
18763
18764         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
18765         with UNKNOWN direction.
18766         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
18767         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
18768         (gst_element_remove_pad): Remove ghost-pad special cases.
18769         (gst_element_pads_activate): Remove rpad cruft.
18770
18771         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
18772         catch the pad's-parent-not-an-element case.
18773
18774         * gst/gst.h: Include gstghostpad.h.
18775
18776         * gst/gst.c (init_post): No more real, ghost pads.
18777
18778         * gst/Makefile.am: Add gstghostpad.[ch].
18779
18780         * check/Makefile.am:
18781         * check/gst/gstbin.c:
18782         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
18783         into a bin creates ghost pads, and that the refcounts are right.
18784         Partly moved from gstbin.c.
18785
18786 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
18787
18788         * check/gst-libs/.cvsignore:
18789         * check/gst/.cvsignore:
18790         * check/pipelines/.cvsignore:
18791           ignore more
18792         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
18793         (START_TEST), (cleanup_suite), (main):
18794           add some tests related to cleanup after running pipelines
18795
18796 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
18797
18798         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
18799           add a testsuite for GstBuffer
18800
18801 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
18802
18803         * gst/gstminiobject.h:
18804           add defines for accessing the refcount
18805
18806 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
18807
18808         * Makefile.am: added support for html unit test coverage reports
18809
18810 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
18811
18812         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
18813           Free existing caps if the capsfilter changes. Add a FIXME about
18814           setting those caps on the pads.
18815
18816         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
18817           Before adding a ghost pad to a parent bin, check that there isn't
18818           already one for the element on the bin. Prevents infinite recursion
18819           when using decodebin in parse pipelines. Andy says he'll rewrite the
18820           way this works anyway, so ignore the hack.
18821
18822 2005-06-02  Andy Wingo  <wingo@pobox.com>
18823
18824         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
18825         file size, pass it on to the type find helper.
18826
18827         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
18828         segment_start and segment_end properly according to the seek
18829         method. Segment_end is still a bit flaky because offset can be
18830         negative for CUR and END cases, but it takes -1 as an "unset"
18831         value.
18832
18833 2005-06-02  Wim Taymans  <wim@fluendo.com>
18834
18835         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
18836         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
18837         (gst_basesink_activate):
18838         * gst/base/gstbasesink.h:
18839         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
18840         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
18841         (gst_pad_query), (gst_pad_start_task):
18842         * gst/gstpad.h:
18843         * gst/gstqueue.c: (gst_queue_bufferalloc),
18844         (gst_queue_handle_sink_event), (gst_queue_chain):
18845         Bufferalloc: return GstFlowReturn to more accuratly report
18846         why allocation failed.
18847
18848 2005-06-02  Wim Taymans  <wim@fluendo.com>
18849
18850         * gst/gstpipeline.c: (gst_pipeline_send_event):
18851         Take snapshot of state without blocking.
18852
18853 2005-06-02  Wim Taymans  <wim@fluendo.com>
18854
18855         * docs/design/part-TODO.txt:
18856         * docs/design/part-caps.txt:
18857         * docs/design/part-clocks.txt:
18858         * docs/design/part-negotiation.txt:
18859         * docs/design/part-preroll.txt:
18860         Small doc updates 
18861
18862 2005-05-30  Wim Taymans  <wim@fluendo.com>
18863
18864         * gst/elements/gstidentity.c: (gst_identity_event),
18865         (gst_identity_transform), (gst_identity_get_property):
18866         Protect last_message property as it is accessed from
18867         multiple threads.
18868
18869 2005-05-30  Wim Taymans  <wim@fluendo.com>
18870
18871         * gst/gstelement.c: (gst_element_init),
18872         (gst_element_pads_activate), (gst_element_change_state):
18873         Slicker pad activation code.
18874
18875 2005-05-30  Wim Taymans  <wim@fluendo.com>
18876
18877         * gst/Makefile.am:
18878         * gst/gstelement.h:
18879         * gst/gstelementfactory.h:
18880         * gst/gsttypes.h:
18881         Move elementfactory methods to separate .h file.
18882
18883 2005-05-30  Wim Taymans  <wim@fluendo.com>
18884
18885         * docs/design/part-overview.txt:
18886         * gst/gstsystemclock.h:
18887         Small typo fixes, doc updates.
18888
18889 2005-05-30  Wim Taymans  <wim@fluendo.com>
18890
18891         * gst/gst.c: (gst_init_get_popt_table), (init_post),
18892         (init_popt_callback):
18893         Remove cpu-opt flag.
18894
18895 2005-05-30  Wim Taymans  <wim@fluendo.com>
18896
18897         * gst/gstbuffer.c: (gst_subbuffer_finalize),
18898         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
18899         * gst/gstbuffer.h:
18900         Avoid typechecking in places where not needed.
18901         Added accessor for malloc_data.
18902
18903 2005-05-30  Wim Taymans  <wim@fluendo.com>
18904
18905         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
18906         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
18907         (gst_pad_configure_sink), (gst_pad_configure_src),
18908         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
18909         (gst_pad_start_task):
18910         Propagate errors from _set_caps() in configure_src/sink
18911         functions instead of returning TRUE.
18912         FLUSH events can travel up and downstream
18913
18914
18915 2005-05-30  Wim Taymans  <wim@fluendo.com>
18916
18917         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
18918         (gst_basesink_activate):
18919         Handle EOS in preroll.
18920
18921 2005-05-30  Wim Taymans  <wim@fluendo.com>
18922
18923         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18924         (gst_queue_loop), (gst_queue_handle_src_event):
18925         Remove old pieces of code
18926         Flushing the queue in an upstream event is a very bad idea.
18927
18928 2005-05-26  Andy Wingo  <wingo@pobox.com>
18929
18930         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
18931         gst_value_set_mini_object so as to add a ref on the object (which
18932         will be removed when the value is unset).
18933
18934         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
18935         arg type in ::handoff.
18936
18937         * gst/gstelement.c (gst_element_change_state): Also deactivate
18938         pads in READY->NULL, just in case the element didn't make it to
18939         PAUSED. Wingo tested, Wim approved.
18940
18941 2005-05-26  Wim Taymans  <wim@fluendo.com>
18942
18943         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
18944         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
18945         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
18946         A flushing pad cannot be used to alloc_buffer from.
18947
18948 2005-05-26  Wim Taymans  <wim@fluendo.com>
18949
18950         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
18951         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
18952         (gst_bus_source_dispatch), (gst_bus_source_finalize),
18953         (gst_bus_create_watch), (gst_bus_add_watch_full):
18954         * gst/gstbus.h:
18955         Implement a real GSource and use g_main_context_wakeup() to
18956         signal new messages instead of the socketpair.
18957
18958 2005-05-25  Wim Taymans  <wim@fluendo.com>
18959
18960         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
18961         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
18962         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
18963         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
18964         (gst_pad_send_event), (gst_pad_start_task):
18965         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
18966         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
18967         (gst_queue_sink_activate), (gst_queue_src_activate),
18968         (gst_queue_change_state):
18969         * gst/gstqueue.h:
18970         Fix state changes for non sinks. We now change sinks, then elements
18971         with unconnected srcpads, then the rest.
18972         More efficient queue unlocking in flush and state changes.
18973         Set the pad activate mode even if it does not have an activate
18974         function.
18975
18976 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18977
18978         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
18979           Don't go in pull mode for non-seekable sources.
18980         * gst/elements/gsttypefindelement.h:
18981         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
18982         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
18983         (free_entry), (stop_typefinding),
18984         (gst_type_find_element_handle_event), (find_peek),
18985         (gst_type_find_element_chain), (do_pull_typefind),
18986         (gst_type_find_element_change_state):
18987           Allow typefinding (w/o seeking) in push-mode, simplified version
18988           of what was in 0.8.
18989         * gst/gstutils.c: (gst_buffer_join):
18990         * gst/gstutils.h:
18991           gst_buffer_join() from 0.8.
18992
18993 2005-05-25  Wim Taymans  <wim@fluendo.com>
18994
18995         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
18996         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
18997         (gst_pad_send_event), (gst_pad_start_task):
18998         Disable attempt at mode switching until it is figured out.
18999
19000 2005-05-25  Wim Taymans  <wim@fluendo.com>
19001
19002         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
19003         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
19004         (gst_basesink_finish_preroll), (gst_basesink_chain),
19005         (gst_basesink_loop), (gst_basesink_activate),
19006         (gst_basesink_change_state):
19007         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
19008         (gst_basesrc_get_range), (gst_basesrc_loop),
19009         (gst_basesrc_activate):
19010         * gst/elements/gsttee.c: (gst_tee_sink_activate):
19011         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
19012         (gst_real_pad_init), (gst_real_pad_set_property),
19013         (gst_real_pad_get_property), (gst_pad_set_active),
19014         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
19015         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
19016         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
19017         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
19018         (gst_pad_event_default_dispatch), (gst_pad_event_default),
19019         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
19020         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
19021         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
19022         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
19023         (gst_pad_stop_task):
19024         * gst/gstpad.h:
19025         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
19026         (gst_queue_loop), (gst_queue_src_activate):
19027         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
19028         (gst_task_get_state):
19029         * gst/gsttask.h:
19030         * gst/schedulers/threadscheduler.c:
19031         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
19032         Implement gst_pad_pause/start/stop_task(), take STREAM lock
19033         in task function.
19034         Remove ACTIVE pad flag, use FLUSHING everywhere
19035         Added _pad_chain(), _pad_get_range() to call chain/getrange 
19036         functions.
19037         Add locks around IS_FLUSHING when reading.
19038         Take STREAM lock in chain(), get_range() functions so plugins
19039         don't need to take it anymore.
19040         
19041
19042
19043 2005-05-25  Wim Taymans  <wim@fluendo.com>
19044
19045         * tools/gst-launch.c: (event_loop):
19046         Unref message after using its contents instead of
19047         before.
19048
19049 2005-05-24  Wim Taymans  <wim@fluendo.com>
19050
19051         * docs/design/draft-ghostpads.txt:
19052         * docs/design/draft-push-pull.txt:
19053         * docs/design/draft-query.txt:
19054         * docs/design/part-overview.txt:
19055         Docs updates, added general overview doc.
19056
19057 2005-05-21  David Schleef  <ds@schleef.org>
19058
19059         * docs/gst/tmpl/old/GstBin.sgml:
19060         * docs/gst/tmpl/old/GstBuffer.sgml:
19061         * docs/gst/tmpl/old/GstCaps.sgml:
19062         * docs/gst/tmpl/old/GstClock.sgml:
19063         * docs/gst/tmpl/old/GstCompat.sgml:
19064         * docs/gst/tmpl/old/GstData.sgml:
19065         * docs/gst/tmpl/old/GstElement.sgml:
19066         * docs/gst/tmpl/old/GstEvent.sgml:
19067         * docs/gst/tmpl/old/GstIndex.sgml:
19068         * docs/gst/tmpl/old/GstStructure.sgml:
19069         * docs/gst/tmpl/old/GstTag.sgml:
19070         * docs/gst/tmpl/old/cothreads.sgml:
19071         * docs/gst/tmpl/old/cothreads_compat.sgml:
19072         * docs/gst/tmpl/old/gettext.sgml:
19073         * docs/gst/tmpl/old/gobject2gtk.sgml:
19074         * docs/gst/tmpl/old/grammar.tab.sgml:
19075         * docs/gst/tmpl/old/gst-i18n-app.sgml:
19076         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
19077         * docs/gst/tmpl/old/gst_private.sgml:
19078         * docs/gst/tmpl/old/gstaggregator.sgml:
19079         * docs/gst/tmpl/old/gstarch.sgml:
19080         * docs/gst/tmpl/old/gstatomic_impl.sgml:
19081         * docs/gst/tmpl/old/gstbufferstore.sgml:
19082         * docs/gst/tmpl/old/gstdata_private.sgml:
19083         * docs/gst/tmpl/old/gstdisksink.sgml:
19084         * docs/gst/tmpl/old/gstdisksrc.sgml:
19085         * docs/gst/tmpl/old/gstelementfactory.sgml:
19086         * docs/gst/tmpl/old/gstextratypes.sgml:
19087         * docs/gst/tmpl/old/gstfakesink.sgml:
19088         * docs/gst/tmpl/old/gstfakesrc.sgml:
19089         * docs/gst/tmpl/old/gstfdsink.sgml:
19090         * docs/gst/tmpl/old/gstfdsrc.sgml:
19091         * docs/gst/tmpl/old/gstfilesink.sgml:
19092         * docs/gst/tmpl/old/gstfilesrc.sgml:
19093         * docs/gst/tmpl/old/gsthttpsrc.sgml:
19094         * docs/gst/tmpl/old/gstidentity.sgml:
19095         * docs/gst/tmpl/old/gstindexfactory.sgml:
19096         * docs/gst/tmpl/old/gstmarshal.sgml:
19097         * docs/gst/tmpl/old/gstmd5sink.sgml:
19098         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
19099         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
19100         * docs/gst/tmpl/old/gstpadtemplate.sgml:
19101         * docs/gst/tmpl/old/gstpipefilter.sgml:
19102         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
19103         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
19104         * docs/gst/tmpl/old/gstshaper.sgml:
19105         * docs/gst/tmpl/old/gstspider.sgml:
19106         * docs/gst/tmpl/old/gstspideridentity.sgml:
19107         * docs/gst/tmpl/old/gststatistics.sgml:
19108         * docs/gst/tmpl/old/gsttee.sgml:
19109         * docs/gst/tmpl/old/gsttimecache.sgml:
19110         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
19111         * docs/gst/tmpl/old/gstxmlregistry.sgml:
19112         * docs/gst/tmpl/old/gthread-cothreads.sgml:
19113         * docs/gst/tmpl/old/types.sgml:
19114           I didn't intend to add these or check them in.
19115
19116 2005-05-19  David Schleef  <ds@schleef.org>
19117
19118         * configure.ac: Use -no-common everywhere.  In a sane world, it
19119           would be the default in libtool, because without it, you can't
19120           build DLLs on Windows.
19121         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
19122         * docs/gst/gstreamer-sections.txt:
19123         * docs/gst/tmpl/gstcpu.sgml:
19124         * docs/gst/tmpl/gstdata.sgml:
19125         * docs/gst/tmpl/gstthread.sgml:
19126
19127 2005-05-19  David Schleef  <ds@schleef.org>
19128
19129         * gst/gstminiobject.c: (gst_value_set_mini_object),
19130         (gst_value_take_mini_object), (gst_value_get_mini_object):
19131         * gst/gstminiobject.h: Add GValue set/get functions.
19132
19133 2005-05-19  Wim Taymans  <wim@fluendo.com>
19134
19135         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
19136         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
19137         (gst_subbuffer_init), (gst_buffer_is_span_fast):
19138         * gst/gstbuffer.h:
19139         * gst/gstbus.c: (gst_bus_post):
19140         * gst/gstelement.c: (gst_element_get_random_pad):
19141         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
19142         Make subbufer unref the parent in finalize.
19143         some more debugging info.
19144
19145
19146 2005-05-19  Wim Taymans  <wim@fluendo.com>
19147
19148         * gst/base/gstbasesink.c: (gst_basesink_class_init),
19149         (gst_basesink_init), (gst_basesink_finalize),
19150         (gst_basesink_activate), (gst_basesink_change_state):
19151         Don't free preroll queue too early.
19152
19153 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19154
19155         * gst/Makefile.am:
19156         * gst/ROADMAP:
19157           Hi, I'm outdated. Please shoot me.
19158
19159 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19160
19161         * gst/gstpipeline.c: (gst_pipeline_send_event):
19162           Do not access variables after they have been deleted.
19163
19164 2005-05-19  Wim Taymans  <wim@fluendo.com>
19165
19166         * tools/gst-inspect.c: (print_plugin_features):
19167         A plugin feature does unfortunatly not use the
19168         object name yet...
19169
19170 2005-05-18  Wim Taymans  <wim@fluendo.com>
19171
19172         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
19173         Port _span() functions to new subbuffers.
19174
19175 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19176
19177         * gst/gstbin.c: (gst_bin_add_func):
19178           Fix clock settery in bins when adding kids after the clock has
19179           been selected.
19180
19181 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19182
19183         * gst/elements/gstidentity.c: (gst_identity_class_init):
19184           Workaround until signals support GstMiniObject.
19185
19186 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
19187
19188         * gst/gstbuffer.c:
19189         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
19190
19191 2005-05-18  Wim Taymans  <wim@fluendo.com>
19192
19193         * gst/base/Makefile.am:
19194         * gst/base/gstadapter.c: (gst_adapter_base_init),
19195         (gst_adapter_class_init), (gst_adapter_init),
19196         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
19197         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
19198         (gst_adapter_flush), (gst_adapter_available),
19199         (gst_adapter_available_fast):
19200         * gst/base/gstadapter.h:
19201         Ported and added adapter to the base classes.
19202
19203 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19204
19205         * gst/gst.c:
19206         * gst/gstmessage.c:
19207           Make sure the class is reffed/unreffed once before threads can be
19208           used.  Fixes #304551.
19209
19210 2005-05-17  Wim Taymans  <wim@fluendo.com>
19211
19212         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
19213         (gst_basesink_chain_unlocked), (gst_basesink_activate):
19214         * gst/gstminiobject.c: (gst_mini_object_get_type),
19215         (gst_mini_object_free):
19216         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
19217         (gst_pad_push), (gst_pad_push_event):
19218         * gst/gstqueue.c: (gst_queue_change_state):
19219         Don't queue buffers in basesink when we are flushing.
19220         Unref buffer when flushing in basesink.
19221         Flush queue when going to READY
19222         Unref buffer when _push() returns an error.
19223         Don't free MiniObject instance when refcount is incremented
19224         in _finalize() so that we can recover objects.
19225
19226 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
19227
19228         * docs/manual/advanced-schedulers.xml:
19229         * docs/manual/appendix-checklist.xml:
19230         * docs/pwg/advanced-clock.xml:
19231         * docs/pwg/advanced-interfaces.xml:
19232         * docs/pwg/advanced-request.xml:
19233         * docs/pwg/advanced-types.xml:
19234         * docs/pwg/intro-preface.xml:
19235         * examples/plugins/example.c: (gst_example_get_type),
19236         (gst_example_class_init), (gst_example_chain),
19237         (gst_example_set_property), (gst_example_get_property),
19238         (gst_example_change_state), (plugin_init):
19239         * examples/plugins/example.h:
19240           small doc fixes
19241
19242 2005-05-17  Wim Taymans  <wim@fluendo.com>
19243
19244         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
19245         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
19246         * gst/gstqueue.c: (gst_queue_change_state):
19247         Clear queue when going to READY.
19248         Remove IN_SETCAPS flag too.
19249
19250 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
19251
19252         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
19253           Remove implicit cast from gboolean to GstElementStateReturn;
19254           make sure we still return failure in paused => ready case if
19255           the parent class fails to change state and our own stop 
19256           vfunc succeeds.
19257
19258 2005-05-17  Wim Taymans  <wim@fluendo.com>
19259
19260         * tools/gst-launch.c: (event_loop):
19261         Message was unreffed too soon.
19262
19263 2005-05-16  Andy Wingo  <wingo@pobox.com>
19264
19265         * gst/gstbin.c (sink_iterator_filter): Err... um...
19266
19267         * check/gst/gstbin.c (test_ghost_pads): New test for the
19268         ghosting-if-elements-not-in-same-bin behavior.
19269
19270 2005-05-16  David Schleef  <ds@schleef.org>
19271
19272         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
19273         accessing refcount directly.
19274
19275 2005-05-15  David Schleef  <ds@schleef.org>
19276
19277         * check/Makefile.am: remove GstData checks
19278         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
19279         * gst/Makefile.am: add miniobject, remove data
19280         * gst/gst.h: add miniobject, remove data
19281         * gst/gstdata.c: remove
19282         * gst/gstdata.h: remove
19283         * gst/gstdata_private.h: remove
19284         * gst/gsttypes.h: remove GstEvent and GstMessage
19285         * gst/gstelement.c: (gst_element_post_message): fix for API changes
19286         * gst/gstmarshal.list: change BOXED -> OBJECT
19287
19288         Implement GstMiniObject.
19289         * gst/gstminiobject.c:
19290         * gst/gstminiobject.h:
19291
19292         Modify to be subclasses of GstMiniObject.
19293         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
19294         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
19295         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
19296         (gst_subbuffer_get_type), (gst_subbuffer_init),
19297         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
19298         (gst_buffer_span):
19299         * gst/gstbuffer.h:
19300         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
19301         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
19302         (_gst_event_copy), (gst_event_new):
19303         * gst/gstevent.h:
19304         * gst/gstmessage.c: (_gst_message_initialize),
19305         (gst_message_get_type), (gst_message_class_init),
19306         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
19307         (gst_message_new), (gst_message_new_error),
19308         (gst_message_new_warning), (gst_message_new_tag),
19309         (gst_message_new_state_changed), (gst_message_new_application):
19310         * gst/gstmessage.h:
19311         * gst/gstprobe.c: (gst_probe_perform),
19312         (gst_probe_dispatcher_dispatch):
19313         * gst/gstprobe.h:
19314         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
19315         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
19316         (_gst_query_copy), (gst_query_new):
19317
19318         Update elements for GstData -> GstMiniObject changes
19319         * gst/gstquery.h:
19320         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
19321         (gst_queue_chain), (gst_queue_loop):
19322         * gst/elements/gstbufferstore.c:
19323         (gst_buffer_store_add_buffer_func),
19324         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
19325         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
19326         (gst_fakesink_render):
19327         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
19328         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
19329         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
19330         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
19331         (gst_filesrc_create_read):
19332         * gst/elements/gstidentity.c: (gst_identity_class_init):
19333         * gst/elements/gsttypefindelement.c:
19334         (gst_type_find_element_src_event), (free_entry_buffers),
19335         (gst_type_find_element_handle_event):
19336         * libs/gst/dataprotocol/dataprotocol.c:
19337         (gst_dp_header_from_buffer):
19338         * libs/gst/dataprotocol/dataprotocol.h:
19339         * libs/gst/dataprotocol/dp-private.h:
19340
19341 2005-05-15  David Schleef  <ds@schleef.org>
19342
19343         * gst/elements/gstelements.c: Don't include headers that were
19344         just removed.
19345
19346 2005-05-15  David Schleef  <ds@schleef.org>
19347
19348         * gst/elements/Makefile.am: Remove some elements that don't
19349         need to be in the core (or even exist at all).
19350         * gst/elements/gstaggregator.c:
19351         * gst/elements/gstaggregator.h:
19352         * gst/elements/gstmd5sink.c:
19353         * gst/elements/gstmd5sink.h:
19354         * gst/elements/gstmultifilesrc.c:
19355         * gst/elements/gstmultifilesrc.h:
19356         * gst/elements/gstpipefilter.c:
19357         * gst/elements/gstpipefilter.h:
19358         * gst/elements/gstshaper.c:
19359         * gst/elements/gstshaper.h:
19360         * gst/elements/gststatistics.c:
19361         * gst/elements/gststatistics.h:
19362         * po/POTFILES.in: Remove above files.
19363
19364 2005-05-14  Andy Wingo  <wingo@pobox.com>
19365
19366         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
19367         so as to get the refs right.
19368         (sink_iterator_filter): New function, wraps bin_element_is_sink,
19369         unreffing objects that don't pass the filter.
19370
19371         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
19372         gst_element_set_bus.
19373         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
19374         normal cases, this will destroy the bus.
19375
19376         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
19377         object.
19378
19379         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
19380         has no sinks.
19381
19382 2005-05-13  Andy Wingo  <wingo@pobox.com>
19383
19384         * gst/gstutils.c (gst_element_link_pads): Instead of calling
19385         gst_pad_link, call pad_link_maybe_ghosting,
19386         (pad_link_maybe_ghosting): Links pads, making sure that the
19387         elements being linked are in the same bin.
19388         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
19389         Helpers for pad_link_maybe_ghosting.
19390
19391 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
19392
19393         * configure.ac:
19394           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
19395
19396 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
19397
19398         * docs/design/part-element-source.txt:
19399           Mention GstPushSrc
19400
19401 2005-05-12  Wim Taymans  <wim@fluendo.com>
19402
19403         * gst/base/gstbasesink.c: (gst_basesink_init),
19404         (gst_basesink_activate):
19405         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
19406         (gst_basesrc_is_seekable):
19407         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
19408         (bin_element_is_sink), (gst_bin_change_state):
19409         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
19410         * gst/gstelement.h:
19411         Identify sinks by their flag to avoid overly complicated
19412         checks (fow now).
19413         Do state changes even for elements not reachable from the
19414         sinks.
19415         BaseSink is a sink now :)
19416         Some more debugging info in the basesrc.
19417
19418
19419 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19420
19421         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
19422           Implement _query on a bin, similar to _send_event.
19423
19424 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
19425
19426         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
19427           Discont event offset format should be GST_FORMAT_BYTES,
19428           not GST_FORMAT_TIME.
19429
19430 2005-05-12  Wim Taymans  <wim@fluendo.com>
19431
19432         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
19433         Same fix as Ronald's but without the signal. 
19434
19435 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19436
19437         * gst/gstutils.c: (gst_element_query_position):
19438           No, an element is not a pad.
19439
19440 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19441
19442         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
19443         (gst_bin_get_state):
19444           If a child is removed from a bin while we remove the child from
19445           the bin and while we're retrieving its state, signal this to the
19446           get_state function so we abort the wait (instead of waiting for
19447           a timeout) and can immediately re-iterate over all other elements.
19448
19449 2005-05-12  Wim Taymans  <wim@fluendo.com>
19450
19451         * gst/base/Makefile.am:
19452         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
19453         (gst_basesrc_start):
19454         * gst/base/gstbasesrc.h:
19455         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
19456         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
19457         (gst_pushsrc_init), (gst_pushsrc_create):
19458         * gst/base/gstpushsrc.h:
19459         Added is_seekable to BaseSrc
19460         Added simple PushSrc.
19461
19462 2005-05-11  Wim Taymans  <wim@fluendo.com>
19463
19464         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
19465         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
19466         (gst_element_link_pads), (gst_element_query_position),
19467         (gst_element_query_convert), (intersect_caps_func),
19468         (gst_pad_query_position), (gst_pad_query_convert):
19469         Fix refcounting in utils function.
19470         No point in trying to activate a pad when it's added, it could
19471         be added from the state change function and then we deadlock, the
19472         element has to decide what to do.
19473
19474 2005-05-10  Andy Wingo  <wingo@pobox.com>
19475
19476         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
19477         *all* the arguments.
19478
19479         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
19480         stream lock if it's a FLUSH_DONE; normal flushes don't get the
19481         lock (according to the docs -- if this is wrong change the docs).
19482
19483         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
19484         flush messages in the NULL state.
19485
19486         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
19487         message immediately and return.
19488         (gst_bus_set_flushing): New function. If a bus is flushing, it
19489         flushes out any queued messages and immediately unrefs new
19490         messages. This is so when an element goes to NULL, all of the
19491         unhandled messages coming from it can be freed, and their
19492         references to the element dropped. In other words: message source
19493         ref considered harmful :P
19494
19495         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
19496         we're finished with it.
19497
19498         * gst/gstmessage.c (gst_message_new_state_changed): 
19499
19500 2005-05-10  Wim Taymans  <wim@fluendo.com>
19501
19502         * gst/gstvalue.c: (gst_value_compare_flags),
19503         (gst_value_serialize_flags), (gst_value_deserialize_flags),
19504         (_gst_value_initialize):
19505         Added flags serialize/deserialize/compare code.
19506
19507 2005-05-09  Andy Wingo  <wingo@pobox.com>
19508
19509         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
19510         Intersect the peer's caps with our caps.
19511
19512 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19513
19514         * gst/base/gsttypefindhelper.c: (helper_find_peek):
19515         * gst/elements/gsttypefindelement.c: (find_peek):
19516           Handle negative offsets better. Fixes decodebin.
19517
19518 2005-05-09  Wim Taymans  <wim@fluendo.com>
19519
19520         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
19521         (gst_base_transform_event):
19522         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
19523         Implement accept_caps.
19524         Fix silly lock/unlock mismatch in base class.
19525
19526 2005-05-09  Wim Taymans  <wim@fluendo.com>
19527
19528         * docs/design/draft-push-pull.txt:
19529         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
19530         * gst/elements/gstfilesink.c: (gst_filesink_init),
19531         (gst_filesink_query):
19532         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
19533         (gst_type_find_handle_src_query), (find_element_get_length):
19534         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
19535         * gst/gstelement.h:
19536         * gst/gstmessage.c:
19537         * gst/gstmessage.h:
19538         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
19539         (gst_real_pad_get_caps_unlocked),
19540         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
19541         (gst_pad_event_default_dispatch), (gst_pad_event_default),
19542         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
19543         (gst_real_pad_dispose), (gst_real_pad_finalize),
19544         (gst_pad_load_and_link), (gst_pad_save_thyself),
19545         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
19546         (gst_pad_check_pull_range), (gst_pad_pull_range),
19547         (gst_pad_template_get_type), (gst_pad_template_class_init),
19548         (gst_pad_template_init), (gst_pad_template_dispose),
19549         (name_is_valid), (gst_static_pad_template_get),
19550         (gst_pad_template_new), (gst_static_pad_template_get_caps),
19551         (gst_pad_template_get_caps), (gst_pad_set_element_private),
19552         (gst_pad_get_element_private), (gst_pad_start_task),
19553         (gst_pad_pause_task), (gst_pad_stop_task),
19554         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
19555         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
19556         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
19557         (gst_ghost_pad_new):
19558         * gst/gstpad.h:
19559         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
19560         (gst_query_new_position), (gst_query_set_position),
19561         (gst_query_parse_position), (gst_query_new_convert),
19562         (gst_query_set_convert), (gst_query_parse_convert):
19563         * gst/gstquery.h:
19564         * gst/gstqueryutils.c:
19565         * gst/gstqueryutils.h:
19566         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
19567         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
19568         (gst_queue_handle_src_query):
19569         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
19570         (gst_element_query_position), (gst_element_query_convert),
19571         (intersect_caps_func), (gst_pad_query_position),
19572         (gst_pad_query_convert):
19573         * gst/gstutils.h:
19574         * tools/gst-inspect.c: (print_pad_info):
19575         * tools/gst-xmlinspect.c: (print_element_info):
19576         Remove old query functions. Ported old code.
19577         Added position/convert helper functions to gstutils.
19578         Reordered gstpad.c code, grouping relevant things.
19579         Remove gst_message_new(), always need to speficy a specific
19580         message.
19581
19582
19583 2005-05-09  Andy Wingo  <wingo@pobox.com>
19584
19585         * gst/gstiterator.h: Add some includes.
19586
19587         * gst/gstqueryutils.h: Include more headers.
19588
19589         * gst/gstpad.h:
19590         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
19591         some uses of gst_pad_query.
19592
19593         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
19594         NULL out parameters.
19595         (gst_query_new_position): New proc, allocates a new position
19596         query.
19597
19598         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
19599         gstqueryutils.c to the build.
19600
19601         * gst/gststructure.c (gst_structure_set_valist): Implement with
19602         the generic G_VALUE_COLLECT.
19603         
19604 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
19605
19606         * gst/Makefile.am: (gst_headers):
19607         Added gstqueryutils.h to the list of headers to install, that was
19608         a 'nachty' move wingo :)
19609
19610 2005-05-06  Andy Wingo  <wingo@pobox.com>
19611
19612         * gst/gstquery.h
19613         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
19614         GstData, init a memchunk.
19615         (standard_definitions): Add a few query types, deprecate a few.
19616         (gst_query_get_type): New proc.
19617         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
19618         implementation.
19619         (gst_query_new_application, gst_query_get_structure): New public
19620         procs.
19621
19622         * docs/design/draft-query.txt: Removed LINKS from the query types,
19623         because all the rest can be dispatched to other pads -- seemed
19624         ugly to have a query that couldn't be dispatched. internal_links
19625         is fine as a pad method.
19626
19627         * gst/gstpad.h: Add query2 as a pad method, add the new functions
19628         in gstpad.c, but maintain binary compatibility for the moment.
19629         Will fix before 0.9 is out.
19630
19631         * gst/gstqueryutils.c: 
19632         * gst/gstqueryutils.h: New files, implement 3 methods for each
19633         query type: parse_query, parse_response, and set. Probably need an
19634         allocator as well.
19635
19636         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
19637
19638         * gst/elements/gstfilesink.c (gst_filesink_query2):
19639         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
19640         query_types, and formats methods.
19641
19642         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
19643         (gst_pad_set_query2_function): New functions.
19644         (gst_real_pad_init): Set query2_default as the default query2
19645         function. Basically just dispatches to internally linked pads.
19646
19647         Needs review!
19648         
19649         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
19650         without using the atomic operations. Only one thread can possibly
19651         be accessing the data at this point. Changed so as to avoid
19652         gst_atomic operations.
19653
19654 2005-05-06  Wim Taymans  <wim@fluendo.com>
19655
19656         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
19657         Also set caps if we use the fallback buffer alloc.
19658
19659 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
19660
19661         * docs/gst/Makefile.am:
19662         * docs/gst/gstreamer-docs.sgml:
19663         * docs/gst/gstreamer-sections.txt:
19664         * docs/gst/tmpl/gstatomic.sgml:
19665         * docs/gst/tmpl/gstmemchunk.sgml:
19666         * testsuite/elements/struct_i386.h:
19667         * win32/GStreamer.vcproj:
19668         * win32/Makefile:
19669           Purge GstAtomic stuff from docs and win32 makefiles as well
19670
19671 2005-05-06  Wim Taymans  <wim@fluendo.com>
19672
19673         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
19674         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
19675         * gst/gstpad.c: (gst_pad_peer_get_caps):
19676         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
19677         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
19678         (gst_queue_src_activate), (gst_queue_change_state):
19679         * gst/gstqueue.h:
19680         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
19681         (intersect_caps_func):
19682         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
19683         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
19684         Some fixes for the peer_get_caps() change.
19685
19686 2005-05-06  Wim Taymans  <wim@fluendo.com>
19687
19688         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
19689         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
19690         (gst_basesink_activate):
19691         Actually do something with error codes returned from the push
19692         functions.
19693
19694 2005-05-06  Wim Taymans  <wim@fluendo.com>
19695
19696         * docs/design/part-element-sink.txt:
19697         * docs/design/part-element-source.txt:
19698         * gst/base/gstbasesink.c: (gst_basesink_class_init),
19699         (gst_basesink_event), (gst_basesink_activate):
19700         * gst/base/gstbasesink.h:
19701         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
19702         (gst_basesrc_activate):
19703         * gst/base/gstbasesrc.h:
19704         * gst/gstelement.c: (gst_element_pads_activate):
19705         Some more documentation.
19706         Fixed scheduling decision in _pads_activate().
19707
19708 2005-05-05  Andy Wingo  <wingo@pobox.com>
19709
19710         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
19711         the test suite.
19712
19713 2005-05-05  Wim Taymans  <wim@fluendo.com>
19714
19715         * gst/base/Makefile.am:
19716         * gst/base/gstbasesink.h:
19717         * gst/base/gstbasesrc.c: (gst_basesrc_init),
19718         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
19719         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
19720         (gst_collectpads_class_init), (gst_collectpads_init),
19721         (gst_collectpads_finalize), (gst_collectpads_new),
19722         (gst_collectpads_set_function), (gst_collectpads_add_pad),
19723         (find_pad), (gst_collectpads_remove_pad),
19724         (gst_collectpads_is_active), (gst_collectpads_collect),
19725         (gst_collectpads_collect_range), (gst_collectpads_start),
19726         (gst_collectpads_stop), (gst_collectpads_peek),
19727         (gst_collectpads_pop), (gst_collectpads_available),
19728         (gst_collectpads_read), (gst_collectpads_flush),
19729         (gst_collectpads_chain):
19730         * gst/base/gstcollectpads.h:
19731         * gst/elements/Makefile.am:
19732         * gst/elements/gstelements.c:
19733         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
19734         (gst_fakesink_get_times), (gst_fakesink_event),
19735         (gst_fakesink_preroll), (gst_fakesink_render):
19736         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
19737         (gst_filesink_init), (gst_filesink_set_location),
19738         (gst_filesink_open_file), (gst_filesink_close_file),
19739         (gst_filesink_pad_query), (gst_filesink_event),
19740         (gst_filesink_render), (gst_filesink_change_state):
19741         * gst/elements/gstfilesink.h:
19742         Added object to help in making collect pad based elements.
19743         Ported filesink.
19744         Make event function in sink baseclass return gboolean.
19745
19746 2005-05-05  Wim Taymans  <wim@fluendo.com>
19747
19748         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
19749         (gst_bin_get_by_name):
19750         * gst/gstbuffer.h:
19751         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
19752         (gst_clock_finalize):
19753         * gst/gstdata.c: (gst_data_replace):
19754         * gst/gstdata.h:
19755         * gst/gstelement.c: (gst_element_request_pad),
19756         (gst_element_pads_activate):
19757         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
19758         (gst_object_unref):
19759         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19760         (gst_pad_set_checkgetrange_function),
19761         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
19762         (gst_pad_check_pull_range), (gst_pad_pull_range),
19763         (gst_static_pad_template_get_caps), (gst_pad_start_task),
19764         (gst_pad_pause_task), (gst_pad_stop_task):
19765         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
19766         (gst_element_request_pad), (gst_pad_proxy_getcaps):
19767         Fix name lookup in GstBin.
19768         Added _data_replace() function and _buffer_replace()
19769         Use finalize method to clean up clock.
19770         Fix refcounting on request pads.
19771         Fix pad schedule mode error.
19772         Some more object refcounting debug info,
19773
19774
19775 2005-05-04  Andy Wingo <wingo@pobox.com>
19776
19777         * check/Makefile.am:
19778         * docs/gst/tmpl/gstatomic.sgml:
19779         * docs/gst/tmpl/gstplugin.sgml:
19780         * gst/base/gstbasesink.c: (gst_basesink_activate):
19781         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
19782         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
19783         (gst_basesrc_query), (gst_basesrc_set_property),
19784         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
19785         (gst_basesrc_activate):
19786         * gst/base/gstbasesrc.h:
19787         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
19788         (gst_base_transform_src_activate):
19789         * gst/elements/gstelements.c:
19790         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19791         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
19792         * gst/elements/gsttee.c: (gst_tee_sink_activate):
19793         * gst/elements/gsttypefindelement.c: (find_element_get_length),
19794         (gst_type_find_element_checkgetrange),
19795         (gst_type_find_element_activate):
19796         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
19797         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
19798         (gst_caps_load_thyself):
19799         * gst/gstelement.c: (gst_element_pads_activate),
19800         (gst_element_save_thyself), (gst_element_restore_thyself):
19801         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
19802         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
19803         * gst/gstpad.h:
19804         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
19805         (gst_xml_parse_file), (gst_xml_parse_memory),
19806         (gst_xml_get_element), (gst_xml_make_element):
19807         * gst/indexers/gstfileindex.c: (gst_file_index_load),
19808         (_file_index_id_save_xml), (gst_file_index_commit):
19809         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
19810         (read_enum), (load_pad_template), (load_feature), (load_plugin),
19811         (load_paths):
19812         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
19813         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
19814         * tools/gst-complete.c: (main):
19815         * tools/gst-compprep.c: (main):
19816         * tools/gst-inspect.c: (print_element_properties_info):
19817         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
19818         * tools/gst-xmlinspect.c: (print_element_properties):
19819         GCC 4 fixen.
19820         
19821 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
19822
19823         * gst/gstplugin.c: (gst_plugin_check_module),
19824         (gst_plugin_check_file), (gst_plugin_load_file):
19825             apply patch from #172526 to make register work on MacOSX
19826
19827 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19828
19829         * docs/gst/tmpl/gstconfig.sgml:
19830         * gst/gstconfig.h.in:
19831           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
19832         * testsuite/debug/printf_extension.c: (main):
19833           Do not use GST_PTR_FORMAT on pointers to types with
19834           sizeof < sizeof(gpointer).  Fixes test on 64-bit
19835         * testsuite/elements/property.h:
19836           use correct printf format
19837
19838 2005-05-02  Wim Taymans  <wim@fluendo.com>
19839
19840         * docs/design/draft-push-pull.txt:
19841         * docs/design/draft-query.txt:
19842         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
19843         (gst_basesrc_start):
19844         Added draft for new query API.
19845         Added draft for better selecting scheduling methods.
19846         Make basesrc ignore length if the subclass does not support
19847         it.
19848
19849 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19850
19851         * gst/Makefile.am:
19852           possible fixes for automake-1.5 - _LIBADD is reserved
19853
19854 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
19855
19856         * docs/faq/Makefile.am:
19857         * docs/manual/Makefile.am:
19858         * docs/manuals.mak:
19859         * docs/pwg/Makefile.am:
19860         * gst/Makefile.am:
19861           possible fixes for automake-1.5
19862
19863 2005-04-28  Wim Taymans  <wim@fluendo.com>
19864
19865         * gst/base/gstbasesink.c: (gst_basesink_base_init),
19866         (gst_basesink_pad_getcaps), (gst_basesink_init),
19867         (gst_basesink_do_sync):
19868         * gst/gstclock.c: (gst_clock_entry_new):
19869         * gst/gstevent.c: (gst_event_discont_get_value):
19870         * gst/gstpipeline.c: (pipeline_bus_handler),
19871         (gst_pipeline_change_state):
19872         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
19873         Better debugging of clocking info.
19874         Allow NULL values when getting discont values.
19875
19876 2005-04-27  Wim Taymans  <wim@fluendo.com>
19877
19878         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
19879         * check/gst/gstpad.c: (gst_pad_suite):
19880         Increase timeout for checks.
19881
19882 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19883
19884         * check/Makefile.am:
19885           fix the broken rule for cleanup.  Apparently this rule is
19886           only needed on FC2, so maybe this warrants further autotool
19887           inspection.
19888
19889 2005-04-26  Wim Taymans  <wim@fluendo.com>
19890
19891         * gst/gsttrashstack.h:
19892         Ooohh. a nasty one! After having a failed pop() from the stack,
19893         it's possible that the stack is empty. In that case, don't
19894         follow the NULL pointer.
19895
19896 2005-04-25  Wim Taymans  <wim@fluendo.com>
19897
19898         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19899         (gst_pad_set_checkgetrange_function),
19900         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
19901         (gst_pad_check_pull_range), (gst_pad_pull_range),
19902         (gst_static_pad_template_get_caps), (gst_pad_start_task),
19903         (gst_pad_pause_task), (gst_pad_stop_task):
19904         * gst/gstplugin.c: (gst_plugin_load):
19905         * gst/gstplugin.h:
19906         Remove gst_library_load as it does more harm than good with
19907         the new g_module flags.
19908         Revert bogus caps template check in pad linking, pad caps
19909         are important when linking not the template, which is more
19910         general than the current caps.
19911
19912 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19913
19914         * gst/autoplug/.cvsignore:
19915         * gst/autoplug/Makefile.am:
19916         * gst/autoplug/gstsearchfuncs.c:
19917         * gst/autoplug/gstsearchfuncs.h:
19918         * gst/autoplug/gstspider.c:
19919         * gst/autoplug/gstspider.h:
19920         * gst/autoplug/gstspideridentity.c:
19921         * gst/autoplug/gstspideridentity.h:
19922         * gst/autoplug/spidertest.c:
19923           Die, spider, die.
19924
19925 2005-04-25  Wim Taymans  <wim@fluendo.com>
19926
19927         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
19928         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
19929         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
19930         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
19931         * gst/gstpad.h:
19932         Added stubs for unimplemented functions. 
19933
19934 2005-04-24  David Schleef  <ds@schleef.org>
19935
19936         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
19937         please fix.
19938
19939 2005-04-24  David Schleef  <ds@schleef.org>
19940
19941         Convert everything from GstAtomicInt to g_atomic_int_*, and
19942         remove gstatomic.
19943         * gst/Makefile.am:
19944         * gst/gstatomic.c:
19945         * gst/gstatomic.h:
19946         * gst/gstatomic_impl.h:
19947         * gst/gstbuffer.c:
19948         * gst/gstcaps.c:
19949         * gst/gstcaps.h:
19950         * gst/gstclock.c:
19951         * gst/gstclock.h:
19952         * gst/gstdata.c:
19953         * gst/gstdata.h:
19954         * gst/gstdata_private.h:
19955         * gst/gstevent.c:
19956         * gst/gstinfo.c:
19957         * gst/gstinfo.h:
19958         * gst/gstmessage.c:
19959         * gst/gstobject.c:
19960         * gst/gstobject.h:
19961         * gst/gststructure.c:
19962         * gst/gststructure.h:
19963         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
19964         * gst/gstutils.h:
19965
19966 2005-04-24  David Schleef  <ds@schleef.org>
19967
19968         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
19969         make the regressions tests work.  Remove some code that is no
19970         longer true.
19971         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
19972         Disable warning for pads without templates.
19973
19974 2005-04-24  David Schleef  <ds@schleef.org>
19975
19976         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
19977         functions that handle filtered links.
19978         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
19979         removed functions.
19980         * gst/gstutils.c: Fix/remove utility functions that handle
19981         filtered caps.
19982         * gst/gstutils.h:
19983         * gst/gstvalue.c: Add serialization/deserialization of caps
19984         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
19985         requires fixing so that the filter caps notation creates
19986         a capsfilter element and sets the filter_caps property.  I
19987         think everyone probably wants to keep the shorthand notation.
19988         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
19989         * docs/gst/tmpl/gstpad.sgml:
19990
19991         * gst/elements/gstelements.c: Register capsfilter element.
19992         * gst/Makefile.am: fix spacing
19993         * docs/random/ds/0.9-suggested-changes: random
19994
19995 2005-04-23  David Schleef  <ds@schleef.org>
19996
19997         * gst/elements/Makefile.am:
19998         * gst/elements/gstcapsfilter.c: New element that acts like an
19999         identity, but filters caps.  Will eventually replace filtered
20000         caps in pad linking.
20001         * gst/gstutils.c: (gst_element_create_all_pads): New function
20002         to create all the ALWAYS pads that are registered with an
20003         element class.  This functionality should eventually be
20004         merged in with GstElement initialization.
20005         * gst/gstutils.h:
20006         * testsuite/trigger/README: part of trigger test code that should
20007         have been checked in a long time ago.
20008
20009 2005-04-23  David Schleef  <ds@schleef.org>
20010
20011         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
20012         needed with new versions of libtool (nobody will confirm this),
20013         and hard to carry around.
20014         * gst/autoplug/Makefile.am:
20015         * gst/base/Makefile.am:
20016         * gst/elements/Makefile.am:
20017         * gst/indexers/Makefile.am:
20018         * gst/schedulers/Makefile.am:
20019         * libs/gst/bytestream/Makefile.am:
20020         * libs/gst/control/Makefile.am:
20021         * libs/gst/dataprotocol/Makefile.am:
20022         * libs/gst/getbits/Makefile.am:
20023
20024 2005-04-21  Wim Taymans  <wim@fluendo.com>
20025
20026         * docs/design/draft-push-pull.txt:
20027         * docs/design/part-MT-refcounting.txt:
20028         * docs/design/part-TODO.txt:
20029         * docs/design/part-caps.txt:
20030         * docs/design/part-events.txt:
20031         * docs/design/part-gstbus.txt:
20032         * docs/design/part-gstpipeline.txt:
20033         * docs/design/part-messages.txt:
20034         * docs/design/part-push-pull.txt:
20035         * docs/design/part-query.txt:
20036         Some more docs.
20037
20038 2005-04-21  Wim Taymans  <wim@fluendo.com>
20039
20040         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
20041         (gst_message_new), (gst_message_new_error),
20042         (gst_message_new_warning), (gst_message_new_tag),
20043         (gst_message_new_state_changed), (gst_message_new_application),
20044         (gst_message_get_structure):
20045         * gst/gstmessage.h:
20046         * gst/gststructure.c: (gst_structure_set_parent_refcount),
20047         (gst_structure_copy_conditional):
20048         Use parent refcount in GstMessage to ensure GstStructure
20049         consistency.
20050         Cleaned up headers a bit.
20051         
20052
20053 2005-04-20  Wim Taymans  <wim@fluendo.com>
20054
20055         * gst/base/gstbasesink.c: (gst_basesink_base_init),
20056         (gst_basesink_pad_getcaps), (gst_basesink_init),
20057         (gst_basesink_chain_unlocked):
20058         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
20059         (gst_type_find_helper):
20060         * gst/elements/gsttypefindelement.c:
20061         (gst_type_find_element_have_type), (gst_type_find_element_init),
20062         (stop_typefinding), (gst_type_find_element_handle_event),
20063         (find_suggest), (gst_type_find_element_chain),
20064         (gst_type_find_element_checkgetrange),
20065         (gst_type_find_element_getrange), (do_typefind),
20066         (gst_type_find_element_activate):
20067         * gst/gstbuffer.c: (_gst_buffer_sub_free),
20068         (gst_buffer_default_free), (gst_buffer_default_copy),
20069         (gst_buffer_set_caps):
20070         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
20071         (gst_caps_replace):
20072         * gst/gstmessage.c: (gst_message_new),
20073         (gst_message_new_state_changed):
20074         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
20075         (gst_pad_set_checkgetrange_function),
20076         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
20077         (gst_pad_set_caps), (gst_pad_check_pull_range),
20078         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
20079         * gst/gstpad.h:
20080         * gst/gsttypefind.c: (gst_type_find_register):
20081         Make gst_caps_replace() work like other _replace() functions.
20082         Use _caps_replace() where possible.
20083         Make sure _message_new() initialises its field.
20084         Add gst_static_pad_template_get_caps()
20085
20086
20087 2005-04-18  Andy Wingo  <wingo@pobox.com>
20088
20089         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
20090         on the peer, not the pad. I think that was a typo. Pass an extra
20091         arg to see if random access is possible. Activate the pads as
20092         PULL_RANGE if possible.
20093
20094         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
20095
20096         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
20097         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
20098         to PROP_....
20099
20100 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20101
20102         * docs/faq/using.xml:
20103           Add note on gstreamer-properties (#154996).
20104
20105 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20106
20107         * docs/random/bbb/optional-properties:
20108           Some analysis on optional properties.
20109
20110 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20111
20112         * docs/gst/tmpl/gstelementfactory.sgml:
20113         * gst/gstelement.h:
20114         * gst/gstelementfactory.c: (gst_element_factory_init),
20115         (gst_element_factory_cleanup), (gst_element_register),
20116         (__gst_element_factory_add_static_pad_template),
20117         (gst_element_factory_get_static_pad_templates),
20118         (gst_element_factory_can_src_caps),
20119         (gst_element_factory_can_sink_caps):
20120         * gst/registries/Makefile.am:
20121         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
20122         (gst_xml_registry_class_init), (gst_xml_registry_init),
20123         (gst_xml_registry_new), (gst_xml_registry_set_property),
20124         (gst_xml_registry_get_property), (get_time), (make_dir),
20125         (gst_xml_registry_get_perms_func),
20126         (plugin_times_older_than_recurse), (plugin_times_older_than),
20127         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
20128         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
20129         (add_to_char_array), (read_string), (read_uint), (read_enum),
20130         (load_pad_template), (load_feature), (load_plugin), (load_paths),
20131         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
20132         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
20133         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
20134         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
20135         (gst_xml_registry_rebuild):
20136         * gst/registries/gstlibxmlregistry.h:
20137         * tools/gst-compprep.c: (main):
20138         * tools/gst-inspect.c: (print_pad_templates_info):
20139         * tools/gst-xmlinspect.c: (print_element_info):
20140           Use libxml2 for registry parsing, use staticpadtemplates in
20141           elementfactories. Makes gst_init() +/- 10x faster.
20142
20143 2005-04-12  Wim Taymans  <wim@fluendo.com>
20144
20145         * gst/base/Makefile.am:
20146         * gst/base/gstbasesink.c: (gst_basesink_base_init),
20147         (gst_basesink_pad_getcaps), (gst_basesink_init),
20148         (gst_basesink_event), (gst_basesink_change_state):
20149         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
20150         (gst_basesrc_init), (gst_basesrc_query),
20151         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
20152         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
20153         (gst_basesrc_check_get_range), (gst_basesrc_loop),
20154         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
20155         (gst_basesrc_stop), (gst_basesrc_activate),
20156         (gst_basesrc_change_state):
20157         * gst/base/gsttypefindhelper.c: (helper_find_peek),
20158         (helper_find_suggest), (gst_type_find_helper):
20159         * gst/base/gsttypefindhelper.h:
20160         * gst/elements/Makefile.am:
20161         * gst/elements/gstelements.c:
20162         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
20163         (gst_fakesink_get_times), (gst_fakesink_event),
20164         (gst_fakesink_preroll), (gst_fakesink_render):
20165         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
20166         (gst_fakesrc_init), (gst_fakesrc_event_handler),
20167         (gst_fakesrc_get_property), (gst_fakesrc_create),
20168         (gst_fakesrc_start), (gst_fakesrc_stop):
20169         * gst/elements/gstfakesrc.h:
20170         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
20171         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
20172         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
20173         (gst_filesrc_create_read), (gst_filesrc_create),
20174         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
20175         (gst_filesrc_start):
20176         * gst/elements/gsttypefindelement.c:
20177         (gst_type_find_element_have_type), (gst_type_find_element_init),
20178         (start_typefinding), (stop_typefinding), (push_buffer_store),
20179         (gst_type_find_element_handle_event),
20180         (gst_type_find_element_chain),
20181         (gst_type_find_element_checkgetrange),
20182         (gst_type_find_element_getrange), (do_typefind),
20183         (gst_type_find_element_activate),
20184         (gst_type_find_element_change_state):
20185         * gst/elements/gsttypefindelement.h:
20186         * gst/gstpipeline.c: (pipeline_bus_handler):
20187         Added typefind helper.
20188         Small preroll fix in the base sink.
20189         Disable typefind code in basesrc.
20190         Crude port of typefindelement.
20191         Fakesrc cleanups.
20192
20193
20194 2005-04-11  Wim Taymans  <wim@fluendo.com>
20195
20196         * check/gst/gstbus.c: (gstbus_suite):
20197         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
20198         * check/gstcheck.h:
20199           Fix up the timeout so that the test does not fail.
20200
20201 2005-04-06  Wim Taymans  <wim@fluendo.com>
20202
20203         * gst/base/README:
20204         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
20205         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
20206         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
20207         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
20208         (gst_basesrc_check_get_range), (gst_basesrc_loop),
20209         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
20210         (gst_basesrc_stop), (gst_basesrc_activate),
20211         (gst_basesrc_change_state), (basesrc_find_peek),
20212         (basesrc_find_suggest), (gst_basesrc_type_find):
20213         * gst/base/gstbasesrc.h:
20214         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
20215         (gst_filesrc_class_init), (gst_filesrc_init),
20216         (gst_filesrc_finalize), (gst_filesrc_set_location),
20217         (gst_filesrc_set_property), (gst_filesrc_get_property),
20218         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
20219         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
20220         (gst_filesrc_create_read), (gst_filesrc_create),
20221         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
20222         * gst/elements/gstfilesrc.h:
20223         * gst/gstelement.c: (gst_element_get_state_func),
20224         (gst_element_lost_state), (gst_element_pads_activate):
20225         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
20226         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
20227         (gst_pad_pull_range):
20228         * gst/gstpad.h:
20229         More work on the generic source base class, implement seeking,
20230         query.
20231         Make filesrc extend the base source class.
20232         Added gst_pad_set_checkgetrange_function to GstPad.
20233
20234 2005-04-06  Andy Wingo  <wingo@pobox.com>
20235
20236         * pkgconfig/gstreamer-base.pc.in:
20237         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
20238
20239         * pkgconfig/Makefile.am:
20240         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
20241
20242 2005-04-04  Wim Taymans  <wim@fluendo.com>
20243
20244         * gst/base/Makefile.am:
20245         * gst/base/README:
20246         * gst/base/gstbasesink.c: (gst_basesink_base_init),
20247         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
20248         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
20249         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
20250         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
20251         (gst_basesrc_base_init), (gst_basesrc_class_init),
20252         (gst_basesrc_init), (gst_basesrc_get_formats),
20253         (gst_basesrc_get_query_types), (gst_basesrc_query),
20254         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
20255         (gst_basesrc_set_property), (gst_basesrc_get_property),
20256         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
20257         (gst_basesrc_loop), (gst_basesrc_activate),
20258         (gst_basesrc_change_state):
20259         * gst/base/gstbasesrc.h:
20260         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
20261         (gst_fakesrc_class_init), (gst_fakesrc_init),
20262         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
20263         (gst_fakesrc_get_property), (gst_fakesrc_create):
20264         * gst/elements/gstfakesrc.h:
20265         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
20266         (gst_filesrc_open_file), (gst_filesrc_loop),
20267         (gst_filesrc_activate), (filesrc_find_peek),
20268         (gst_filesrc_type_find):
20269         Made base source class, make fakesrc extend it.
20270         Add comments to basesink class.
20271         Some filesrc cleanup.
20272
20273 2005-03-31  David Schleef  <ds@schleef.org>
20274
20275         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
20276         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
20277         expected to link against libgstreamer.
20278         * gst/base/Makefile.am: link against libgstreamer
20279         * gst/elements/Makefile.am: same
20280
20281 2005-03-31  Andy Wingo  <wingo@pobox.com>
20282
20283         * tests/instantiate/Makefile.am:
20284         * tests/instantiate/caps.c: Add test to test speed of caps copy
20285         and free.
20286
20287         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
20288         GMemChunk to be fair.
20289
20290         * gst/gsttrashstack.h: Remove warning about using the fallback
20291         trash stack implementation, it's still faster than malloc.
20292
20293 2005-03-30  Andy Wingo  <wingo@pobox.com>
20294
20295         * tests/complexity.c: Add a copyright.
20296
20297 2005-03-31  Wim Taymans  <wim@fluendo.com>
20298
20299         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
20300         (gst_base_transform_class_init), (gst_base_transform_init),
20301         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
20302         (gst_base_transform_get_property),
20303         (gst_base_transform_sink_activate),
20304         (gst_base_transform_src_activate),
20305         (gst_base_transform_change_state):
20306         * gst/base/gstbasetransform.h:
20307         * gst/elements/gstidentity.c: (gst_identity_class_init),
20308         (gst_identity_event), (gst_identity_check_perfect),
20309         (gst_identity_transform), (gst_identity_start),
20310         (gst_identity_stop):
20311         Added start/stop methods to transform base class so subclasses 
20312         don't need to deal with state changes even.
20313
20314 2005-03-31  Wim Taymans  <wim@fluendo.com>
20315
20316         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
20317         (gst_event_new_discontinuous), (gst_event_discont_get_value):
20318         * gst/gstevent.h:
20319         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
20320         (gst_pad_pull_range):
20321         Added rate to the discont event to prepare for variable speed
20322         and reverse playback.
20323
20324 2005-03-29  David Schleef  <ds@schleef.org>
20325
20326         * configure.ac:
20327         * testsuite/trigger/Makefile.am:
20328         * testsuite/trigger/trigger.c: A little example program to show
20329         how trigger-based elements can work.
20330
20331 2005-03-29  Wim Taymans  <wim@fluendo.com>
20332
20333         * gst/base/Makefile.am:
20334         * gst/base/README:
20335         * gst/base/gstbasesink.c: (gst_basesink_get_type),
20336         (gst_basesink_base_init), (gst_basesink_class_init),
20337         (gst_basesink_pad_getcaps), (gst_basesink_init),
20338         (gst_basesink_activate), (gst_basesink_change_state):
20339         * gst/base/gstbasesink.h:
20340         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
20341         (gst_base_transform_base_init), (gst_base_transform_finalize),
20342         (gst_base_transform_class_init), (gst_base_transform_init),
20343         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
20344         (gst_base_transform_event), (gst_base_transform_getrange),
20345         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
20346         (gst_base_transform_set_property),
20347         (gst_base_transform_get_property),
20348         (gst_base_transform_sink_activate),
20349         (gst_base_transform_src_activate),
20350         (gst_base_transform_change_state):
20351         * gst/base/gstbasetransform.h:
20352         * gst/elements/gstidentity.c: (gst_identity_finalize),
20353         (gst_identity_class_init), (gst_identity_init),
20354         (gst_identity_event), (gst_identity_check_perfect),
20355         (gst_identity_transform), (gst_identity_set_property),
20356         (gst_identity_get_property), (gst_identity_change_state):
20357         * gst/elements/gstidentity.h:
20358         * gst/gstelement.c: (gst_element_get_state_func),
20359         (gst_element_lost_state), (gst_element_pads_activate):
20360         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
20361         (gst_pad_check_pull_range), (gst_pad_pull_range):
20362         * gst/gstpad.h:
20363         Simplify pad activation.
20364         Added function to check if pull_range can be performed.
20365         Error out when pulling inactive or flushing pads.
20366         Removed const from refcounted types as it does not make sense.
20367         Simplify pad templates in basesink
20368         Added base class for simple 1-to-1 transforms.
20369         Make identity subclass the base transform.
20370
20371 2005-03-29  Andy Wingo  <wingo@pobox.com>
20372
20373         * docs/libs/gstreamer-libs-overrides.txt: 
20374         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
20375         really don't understand what's going on, but like whatever. I want
20376         green buildbot!
20377
20378         * docs/gst/Makefile.am:
20379         * docs/libs/Makefile.am: Dist the overrides files.
20380
20381         * check/Makefile.am (clean-local): Remove .libs directories.
20382
20383         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
20384         elements to EXTRA_DIST, so po/ files are happy.
20385
20386         * po/POTFILES.in: Er, remove it here.
20387
20388         * po/POTFILES: Remove gstspider.c.
20389
20390         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
20391
20392         * docs/libs/gstreamer-libs-docs.sgml: 
20393         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
20394         bytestream.
20395
20396         * tests/complexity.c (main): Set the length of the preroll queue
20397         on the sinks to prevent a lockup.
20398
20399         * libs/gst/dataprotocol/Makefile.am: 
20400         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
20401         the same as the one in check/gst-libs/gdp.c.
20402
20403         * po/, docs/gst/: Commit automatic changes to docs and po files.
20404
20405         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
20406         the versioned libgstbase.
20407
20408         * check/Makefile.am: Depend on an unversioned gst-register, seems
20409         to make autoconf happier.
20410
20411         * gst/base/Makefile.am: Make libgstbase a versioned lib.
20412
20413 2005-03-28  Wim Taymans  <wim@fluendo.com>
20414
20415         * configure.ac:
20416         * docs/design/part-gstelement.txt:
20417         * docs/design/part-negotiation.txt:
20418         * docs/design/part-preroll.txt:
20419         * docs/design/part-scheduling.txt:
20420         * docs/design/part-states.txt:
20421         * gst/Makefile.am:
20422         * gst/base/Makefile.am:
20423         * gst/base/README:
20424         * gst/base/gstbasesink.c: (gst_basesink_get_template),
20425         (gst_basesink_base_init), (gst_basesink_class_init),
20426         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
20427         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
20428         (gst_basesink_set_pad_functions),
20429         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
20430         (gst_basesink_set_property), (gst_basesink_get_property),
20431         (gst_base_sink_get_template), (gst_base_sink_get_caps),
20432         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
20433         (gst_basesink_preroll_queue_push),
20434         (gst_basesink_preroll_queue_empty),
20435         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
20436         (gst_basesink_event), (gst_basesink_get_times),
20437         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
20438         (gst_basesink_chain_unlocked), (gst_basesink_chain),
20439         (gst_basesink_loop), (gst_basesink_activate),
20440         (gst_basesink_change_state):
20441         * gst/base/gstbasesink.h:
20442         * gst/elements/Makefile.am:
20443         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
20444         (gst_fakesink_class_init), (gst_fakesink_init),
20445         (gst_fakesink_set_property), (gst_fakesink_get_property),
20446         (gst_fakesink_get_times), (gst_fakesink_event),
20447         (gst_fakesink_preroll), (gst_fakesink_render),
20448         (gst_fakesink_change_state):
20449         * gst/elements/gstfakesink.h:
20450         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
20451         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
20452         * gst/gstelement.c: (gst_element_add_pad),
20453         (gst_element_get_state_func), (gst_element_abort_state),
20454         (gst_element_commit_state), (gst_element_lost_state),
20455         (gst_element_set_state), (gst_element_pads_activate):
20456         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
20457         * gst/gstpipeline.c: (gst_pipeline_send_event),
20458         (gst_pipeline_change_state):
20459         Added state change code.
20460         Added/updated docs.
20461         Added sink base class, make fakesink extend the base class.
20462         Small cleanups in GstPipeline.
20463
20464 2005-03-26  David Schleef  <ds@schleef.org>
20465
20466         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
20467         is broken and should be implemented in a different library.
20468         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
20469         * gst/gst.h: remove gstcpu.h
20470         * gst/gstcpu.c: remove
20471         * gst/gstcpu.h: remove
20472         * gst/Makefile.am.future: Remove this file.  It's ancient.
20473
20474 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20475
20476         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
20477         (gst_bin_send_event):
20478           Add default event/set_manager handlers. The set_manager handler
20479           takes care that the manager is distributed over kids that were
20480           already in the bin before the manager was set. The event handler
20481           is a utility virtual function that sends the event over all sinks,
20482           so that gst_element_send_event (bin, event); has the expected
20483           behaviour.
20484         * gst/gstpad.c: (gst_pad_event_default):
20485           Re-install default event handling for discontinuities, so that
20486           seeking works without requiring hacks in applications or extra
20487           code in sinks.
20488         * gst/gstpipeline.c: (gst_pipeline_class_init),
20489         (gst_pipeline_send_event):
20490           Half hack, half utility: set a pipeline to PAUSED for seek events,
20491           since that is the only way we can guarantee a/v sync. Means that
20492           you can do gst_element_seek (pipeline, method, pos); on a pipeline
20493           and it "just works".
20494
20495 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20496
20497         * gst/gstpipeline.c: (gst_pipeline_use_clock):
20498           Lock/unlock mismatch.
20499
20500 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
20501
20502         * docs/faq/gst-uninstalled:
20503           add gst-plugins-base
20504         * docs/gst/Makefile.am:
20505           don't error out until docs are fixed
20506         * docs/gst/gstreamer.types:
20507           remove thread
20508
20509 2005-03-22  Wim Taymans  <wim@fluendo.com>
20510
20511         * check/Makefile.am:
20512         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
20513         * gst/gststructure.c: (gst_structure_set_valist),
20514         (gst_structure_copy_conditional):
20515         Activated more tests.
20516         Added message test.
20517         Added G_TYPE_POINTER to GstStructure.
20518         
20519
20520 2005-03-22  Wim Taymans  <wim@fluendo.com>
20521
20522         * docs/design/part-TODO.txt:
20523         * docs/design/part-events.txt:
20524         * docs/design/part-gstbin.txt:
20525         * docs/design/part-gstbus.txt:
20526         * docs/design/part-gstpipeline.txt:
20527         * docs/design/part-messages.txt:
20528         * gst/gstbus.c:
20529         * gst/gstmessage.c:
20530         Docs updates
20531
20532 2005-03-21  Wim Taymans  <wim@fluendo.com>
20533
20534         * gst/gstbus.c: (gst_bus_post):
20535         Fix copy-and-paste error.
20536
20537 2005-03-21  Wim Taymans  <wim@fluendo.com>
20538
20539         * check/Makefile.am:
20540         * gst/Makefile.am:
20541         * gst/elements/Makefile.am:
20542         * gst/elements/gstelements.c:
20543         * gst/elements/gstfakesink.c: (gst_fakesink_init),
20544         (gst_fakesink_event), (gst_fakesink_chain):
20545         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
20546         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
20547         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
20548         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
20549         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
20550         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
20551         (gst_fakesrc_loop), (gst_fakesrc_activate),
20552         (gst_fakesrc_change_state):
20553         * gst/elements/gstfakesrc.h:
20554         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
20555         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
20556         (gst_filesrc_open_file), (gst_filesrc_loop),
20557         (gst_filesrc_activate), (gst_filesrc_change_state),
20558         (filesrc_find_peek), (filesrc_find_suggest),
20559         (gst_filesrc_type_find):
20560         * gst/elements/gstidentity.c: (gst_identity_finalize),
20561         (gst_identity_class_init), (gst_identity_init),
20562         (gst_identity_proxy_getcaps), (identity_queue_push),
20563         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
20564         (gst_identity_getrange), (gst_identity_chain),
20565         (gst_identity_sink_loop), (gst_identity_src_loop),
20566         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
20567         (gst_identity_set_property), (gst_identity_get_property),
20568         (gst_identity_change_state):
20569         * gst/elements/gstidentity.h:
20570         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
20571         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
20572         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
20573         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
20574         (gst_tee_sink_activate):
20575         * gst/elements/gsttee.h:
20576         * gst/gst.c: (gst_register_core_elements), (init_post):
20577         * gst/gst.h:
20578         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
20579         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
20580         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
20581         (gst_bin_change_state):
20582         * gst/gstbin.h:
20583         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
20584         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
20585         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
20586         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
20587         (gst_bus_set_sync_handler), (gst_bus_create_watch),
20588         (bus_watch_callback), (bus_watch_destroy),
20589         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
20590         (poll_timeout), (gst_bus_poll):
20591         * gst/gstbus.h:
20592         * gst/gstcaps.h:
20593         * gst/gstdata.h:
20594         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
20595         (gst_element_post_message), (gst_element_message_full),
20596         (gst_element_get_state_func), (gst_element_get_state),
20597         (gst_element_abort_state), (gst_element_commit_state),
20598         (gst_element_lost_state), (gst_element_set_state),
20599         (gst_element_pads_activate), (gst_element_change_state),
20600         (gst_element_dispose), (gst_element_set_manager_func),
20601         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
20602         (gst_element_set_manager), (gst_element_get_manager),
20603         (gst_element_set_bus), (gst_element_get_bus),
20604         (gst_element_set_scheduler), (gst_element_get_scheduler):
20605         * gst/gstelement.h:
20606         * gst/gstevent.c: (gst_event_new_segment_seek),
20607         (gst_event_new_flush):
20608         * gst/gstevent.h:
20609         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
20610         (_gst_message_free), (gst_message_get_type), (gst_message_new),
20611         (gst_message_new_eos), (gst_message_new_error),
20612         (gst_message_new_warning), (gst_message_new_tag),
20613         (gst_message_new_state_changed), (gst_message_new_application),
20614         (gst_message_get_structure), (gst_message_parse_tag),
20615         (gst_message_parse_state_changed), (gst_message_parse_error),
20616         (gst_message_parse_warning):
20617         * gst/gstmessage.h:
20618         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
20619         (gst_real_pad_set_property), (gst_pad_set_active),
20620         (gst_pad_is_active), (gst_pad_set_blocked_async),
20621         (gst_pad_set_blocked), (gst_pad_is_blocked),
20622         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
20623         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
20624         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
20625         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
20626         (gst_pad_link_filtered), (gst_pad_relink_filtered),
20627         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
20628         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
20629         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
20630         (gst_pad_set_caps), (gst_pad_configure_sink),
20631         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
20632         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
20633         (gst_real_pad_dispose), (gst_real_pad_finalize),
20634         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
20635         (gst_pad_event_default_dispatch), (gst_pad_event_default),
20636         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
20637         * gst/gstpad.h:
20638         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
20639         (pipeline_bus_handler), (gst_pipeline_change_state),
20640         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
20641         * gst/gstpipeline.h:
20642         * gst/gstprobe.h:
20643         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
20644         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
20645         (gst_queue_link_src), (gst_queue_bufferalloc),
20646         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
20647         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
20648         (gst_queue_loop), (gst_queue_handle_src_event),
20649         (gst_queue_handle_src_query), (gst_queue_src_activate),
20650         (gst_queue_change_state):
20651         * gst/gstqueue.h:
20652         * gst/gstscheduler.c: (gst_scheduler_init),
20653         (gst_scheduler_dispose), (gst_scheduler_create_task),
20654         (gst_scheduler_factory_create):
20655         * gst/gstscheduler.h:
20656         * gst/gststructure.c: (gst_structure_get_type),
20657         (gst_structure_copy_conditional):
20658         * gst/gststructure.h:
20659         * gst/gsttaginterface.h:
20660         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
20661         (gst_task_init), (gst_task_dispose), (gst_task_create),
20662         (gst_task_get_state), (gst_task_start), (gst_task_stop),
20663         (gst_task_pause):
20664         * gst/gsttask.h:
20665         * gst/gstthread.c:
20666         * gst/gstthread.h:
20667         * gst/gsttypes.h:
20668         * gst/schedulers/Makefile.am:
20669         * gst/schedulers/cothreads_compat.h:
20670         * gst/schedulers/entryscheduler.c:
20671         * gst/schedulers/faircothreads.c:
20672         * gst/schedulers/faircothreads.h:
20673         * gst/schedulers/fairscheduler.c:
20674         * gst/schedulers/gstbasicscheduler.c:
20675         * gst/schedulers/gstoptimalscheduler.c:
20676         * gst/schedulers/gthread-cothreads.h:
20677         * gst/schedulers/threadscheduler.c:
20678         (gst_thread_scheduler_task_get_type),
20679         (gst_thread_scheduler_task_class_init),
20680         (gst_thread_scheduler_task_init),
20681         (gst_thread_scheduler_task_start),
20682         (gst_thread_scheduler_task_stop),
20683         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
20684         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
20685         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
20686         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
20687         (plugin_init):
20688         * libs/gst/Makefile.am:
20689         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
20690         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
20691         (gst_file_pad_parent_set):
20692         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
20693         (gst_dp_event_from_packet):
20694         * tests/complexity.c: (main):
20695         * tests/mass_elements.c: (main):
20696         * testsuite/states/locked.c: (message_received), (main):
20697         * testsuite/states/parent.c: (main):
20698         * tools/gst-inspect.c: (print_element_flag_info),
20699         (print_implementation_info), (print_pad_info):
20700         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
20701         (main):
20702         * tools/gst-md5sum.c: (event_loop), (main):
20703         * tools/gst-typefind.c: (main):
20704         * tools/gst-xmlinspect.c: (print_element_info):
20705         Next big merge.
20706         Added GstBus for mainloop integration.
20707         Added GstMessage for sending notifications on the bus.
20708         Added GstTask as an abstraction for pipeline entry points.
20709         Removed GstThread.
20710         Removed Schedulers.
20711         Simplified GstQueue for multithreaded core.
20712         Made _link threadsafe, removed old capsnego.
20713         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
20714         Added pad blocking functions.
20715         Reworked scheduling functions in GstPad to prepare for
20716         scheduling updates soon.
20717         Moved events out of data stream.
20718         Simplified GstEvent types.
20719         Added return values to push/pull.
20720         Removed clocking from GstElement.
20721         Added prototypes for state change function for next merge.
20722         Removed iterate from bins and state change management.
20723         Fixed some elements, disabled others for now.
20724         Fixed -inspect and -launch.
20725         Added check for GstBus.
20726
20727 2005-03-10  Wim Taymans  <wim@fluendo.com>
20728
20729         * docs/design/part-MT-refcounting.txt:
20730         * docs/design/part-clocks.txt:
20731         * docs/design/part-gstelement.txt:
20732         * docs/design/part-gstobject.txt:
20733         * docs/design/part-standards.txt:
20734         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
20735         (gst_bin_remove_func), (gst_bin_remove):
20736         * gst/gstbin.h:
20737         * gst/gstbuffer.c:
20738         * gst/gstcaps.h:
20739         * testsuite/clock/clock1.c: (main):
20740         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
20741         (main):
20742         * testsuite/dlopen/loadgst.c: (do_test):
20743         * testsuite/refcounting/bin.c: (add_remove_test1),
20744         (add_remove_test2), (main):
20745         * testsuite/refcounting/element.c: (main):
20746         * testsuite/refcounting/element_pad.c: (main):
20747         * testsuite/refcounting/pad.c: (main):
20748         * tools/gst-launch.c: (sigint_handler_sighandler):
20749         * tools/gst-typefind.c: (main):
20750         Doc updates.
20751         Added doc about clock.
20752         removed gst_bin_iterate_recurse_up(), marked methods
20753         for removal.
20754         Fix more testsuites.
20755
20756 2005-03-09  Wim Taymans  <wim@fluendo.com>
20757
20758         * gst/gstpad.c: (gst_pad_get_direction),
20759         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
20760         (gst_pad_collect_valist):
20761         * testsuite/bins/interface.c: (main):
20762         * testsuite/caps/audioscale.c: (test_caps):
20763         * testsuite/caps/caps.c: (test1), (test2), (test3):
20764         * testsuite/caps/deserialize.c: (main):
20765         * testsuite/caps/enumcaps.c: (main):
20766         * testsuite/caps/filtercaps.c: (main):
20767         * testsuite/caps/intersect2.c: (main):
20768         * testsuite/caps/random.c: (main):
20769         * testsuite/caps/renegotiate.c: (my_fixate), (main):
20770         * testsuite/caps/sets.c: (check_caps):
20771         * testsuite/caps/simplify.c: (check_caps), (main):
20772         * testsuite/caps/subtract.c: (check_caps):
20773         Fix _pad_get_direction wrt ghostpads.
20774         Fix caps testsuite.
20775
20776 2005-03-09  Wim Taymans  <wim@fluendo.com>
20777
20778         * check/Makefile.am:
20779         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
20780         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
20781         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
20782         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
20783         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
20784         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
20785         (gst_bin_remove), (gst_bin_iterate_recurse_up),
20786         (bin_element_is_sink), (gst_bin_iterate_sinks),
20787         (gst_bin_iterate_all_by_interface):
20788         * gst/gstbin.h:
20789         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
20790         (gst_element_change_state), (gst_element_dispose),
20791         (gst_element_finalize), (gst_element_set_loop_function):
20792         * gst/gstelement.h:
20793         * gst/gstiterator.c: (find_custom_fold_func):
20794         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
20795         (gst_pad_collectv), (gst_pad_collect_valist),
20796         (gst_pad_template_new):
20797         * gst/gstpipeline.c: (gst_pipeline_class_init),
20798         (gst_pipeline_dispose), (gst_pipeline_set_property),
20799         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
20800         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
20801         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
20802         * gst/gstutils.h:
20803         * gst/schedulers/entryscheduler.c:
20804         * gst/schedulers/gstbasicscheduler.c:
20805         (gst_basic_scheduler_cothreaded_chain),
20806         (gst_basic_scheduler_chain_add_element):
20807         * testsuite/bins/interface.c: (main):
20808         Added GstBin test.
20809         Added GstSystemClock test.
20810         Implemented clock distribution code in GstBin.
20811         Implemented iterate sinks method for future use.
20812         Rearranged gstelement.h
20813         Fix GstIterator comparison bug.
20814         Moved some code to GstPipeline, mostly clocking related.
20815
20816 2005-03-09  Wim Taymans  <wim@fluendo.com>
20817
20818         * configure.ac:
20819         * gst/gst_private.h:
20820         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
20821         (gst_bin_remove_func), (gst_bin_remove),
20822         (gst_bin_get_by_name_recurse_up):
20823         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
20824         (gst_clock_id_compare_func), (gst_clock_id_wait),
20825         (gst_clock_id_wait_async), (gst_clock_init),
20826         (gst_clock_adjust_unlocked), (gst_clock_get_time):
20827         * gst/gstelement.h:
20828         * gst/gstinfo.c: (_gst_debug_init):
20829         * gst/gstobject.h:
20830         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
20831         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
20832         * gst/gstpad.h:
20833         Bump version number, we're now 0.9.0
20834         Add future debugging category.
20835         Fix NULL _unref() in _get_by_name_recurse_up
20836         Rearrange gstpad.h.
20837         Update some docs.
20838
20839 2005-03-08  Wim Taymans  <wim@fluendo.com>
20840
20841         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
20842         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
20843         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
20844         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
20845         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
20846         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
20847         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
20848         * gst/elements/gstidentity.c: (gst_identity_class_init):
20849         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
20850         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
20851         * gst/elements/gstshaper.c: (gst_shaper_class_init):
20852         * gst/elements/gststatistics.c: (gst_statistics_class_init):
20853         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
20854         (gst_tee_link):
20855         * gst/gstelement.c: (gst_element_class_init),
20856         (gst_element_base_class_init), (gst_element_init),
20857         (gst_element_get_random_pad), (gst_element_wait_state_change),
20858         (gst_element_change_state), (gst_element_dispose),
20859         (gst_element_finalize), (gst_element_set_loop_function):
20860         * gst/gstelement.h:
20861         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
20862         * gst/gstthread.c: (gst_thread_class_init),
20863         (gst_thread_release_children_locks), (gst_thread_change_state):
20864         * gst/schedulers/gstbasicscheduler.c:
20865         (gst_basic_scheduler_loopfunc_wrapper),
20866         (gst_basic_scheduler_chain_wrapper),
20867         (gst_basic_scheduler_src_wrapper),
20868         (gst_basic_scheduler_remove_element):
20869         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
20870         Remove threadsafe properties. Fix elements because GObject
20871         complains when installing a property before declaring a
20872         set/get_property handler.
20873         Rearrange gstelement.h file, use STATE macros for state locks.
20874         Free mutexes in the finalize method instead of dispose.
20875
20876 2005-03-08  Wim Taymans  <wim@fluendo.com>
20877
20878         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
20879         * gst/gstthread.c: (gst_thread_release_children_locks):
20880         Added parentage check.
20881         Fix build og GstThread again.
20882
20883 2005-03-08  Wim Taymans  <wim@fluendo.com>
20884
20885         * docs/design/part-MT-refcounting.txt:
20886         * docs/design/part-conventions.txt:
20887         * docs/design/part-gstobject.txt:
20888         * docs/design/part-relations.txt:
20889         * docs/design/part-standards.txt:
20890         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
20891         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
20892         (gst_bin_get_by_name), (gst_bin_get_by_interface),
20893         (gst_bin_iterate_all_by_interface):
20894         * gst/gstbuffer.h:
20895         * gst/gstclock.h:
20896         * gst/gstelement.c: (gst_element_class_init),
20897         (gst_element_change_state), (gst_element_set_loop_function):
20898         * gst/gstelement.h:
20899         * gst/gstiterator.c:
20900         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
20901         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
20902         (gst_object_dispatch_properties_changed), (gst_object_set_name),
20903         (gst_object_set_parent), (gst_object_unparent),
20904         (gst_object_check_uniqueness):
20905         * gst/gstobject.h:
20906         Docs updates, clean up some headers.
20907
20908 2005-03-07  Wim Taymans  <wim@fluendo.com>
20909
20910         * check/.cvsignore:
20911         * check/Makefile.am:
20912         * check/gst-libs/.cvsignore:
20913         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
20914         * check/gst/.cvsignore:
20915         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
20916         (START_TEST), (gstbus_suite), (main):
20917         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
20918         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
20919         (gst_data_suite), (main):
20920         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
20921         (add_fold_func), (gstiterator_suite), (main):
20922         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
20923         (thread_name_object), (thread_name_object_default),
20924         (gst_object_name_compare), (gst_object_suite), (main):
20925         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
20926         (gst_pad_suite), (main):
20927         * check/gstcheck.c: (gst_check_log_message_func),
20928         (gst_check_log_critical_func), (gst_check_init):
20929         * check/gstcheck.h:
20930         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
20931         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
20932         Added checks.
20933
20934 2005-03-07  Wim Taymans  <wim@fluendo.com>
20935
20936         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
20937         (gst_list_iterator_next), (gst_list_iterator_resync),
20938         (gst_list_iterator_free), (gst_iterator_new_list),
20939         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
20940         (gst_iterator_free), (gst_iterator_push), (filter_next),
20941         (filter_resync), (filter_uninit), (filter_free),
20942         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
20943         (gst_iterator_foreach), (find_custom_fold_func),
20944         (gst_iterator_find_custom):
20945         * gst/gstiterator.h:
20946         Added missing files.
20947
20948 2005-03-07  Wim Taymans  <wim@fluendo.com>
20949
20950         * Makefile.am:
20951         * configure.ac:
20952         * docs/design/part-MT-refcounting.txt:
20953         * docs/design/part-conventions.txt:
20954         * docs/design/part-gstobject.txt:
20955         * docs/design/part-relations.txt:
20956         * examples/mixer/mixer.c: (main):
20957         * examples/thread/thread.c: (eos), (main):
20958         * gst/Makefile.am:
20959         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
20960         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
20961         (gst_spider_plug_from_srcpad):
20962         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
20963         (gst_spider_identity_change_state),
20964         (gst_spider_identity_sink_loop_type_finding):
20965         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
20966         * gst/elements/gstidentity.c: (gst_identity_init):
20967         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
20968         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
20969         * gst/elements/gsttypefindelement.c: (free_entry):
20970         * gst/gst.c:
20971         * gst/gst.h:
20972         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
20973         (gst_bin_set_clock_func), (gst_bin_auto_clock),
20974         (gst_bin_set_index), (gst_bin_set_element_sched),
20975         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
20976         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
20977         (gst_bin_iterate_elements), (iterate_child_recurse),
20978         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
20979         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
20980         (compare_interface), (gst_bin_get_by_interface),
20981         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
20982         * gst/gstbin.h:
20983         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
20984         (gst_buffer_default_free), (gst_buffer_default_copy),
20985         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
20986         (gst_buffer_create_sub):
20987         * gst/gstbuffer.h:
20988         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
20989         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
20990         (gst_caps_unref), (gst_static_caps_get),
20991         (gst_caps_remove_and_get_structure), (gst_caps_append),
20992         (gst_caps_append_structure), (gst_caps_remove_structure),
20993         (gst_caps_copy_nth), (gst_caps_set_simple),
20994         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
20995         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
20996         (gst_caps_structure_intersect_field), (gst_caps_intersect),
20997         (gst_caps_structure_subtract_field), (gst_caps_subtract),
20998         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
20999         (gst_caps_structure_figure_out_union),
21000         (gst_caps_switch_structures), (gst_caps_do_simplify),
21001         (gst_caps_replace), (gst_caps_from_string),
21002         (gst_caps_copy_conditional):
21003         * gst/gstcaps.h:
21004         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
21005         (_gst_clock_id_free), (gst_clock_id_unref),
21006         (gst_clock_id_compare_func), (gst_clock_id_wait),
21007         (gst_clock_id_wait_async), (gst_clock_class_init),
21008         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
21009         (gst_clock_get_time), (gst_clock_set_time_adjust),
21010         (gst_clock_set_property), (gst_clock_get_property):
21011         * gst/gstclock.h:
21012         * gst/gstcompat.h:
21013         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
21014         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
21015         * gst/gstdata.h:
21016         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
21017         (gst_element_requires_clock), (gst_element_provides_clock),
21018         (gst_element_set_clock), (gst_element_clock_wait),
21019         (gst_element_wait), (gst_element_set_time_delay),
21020         (gst_element_is_indexable), (gst_element_add_pad),
21021         (gst_element_add_ghost_pad), (gst_element_remove_pad),
21022         (pad_compare_name), (gst_element_get_static_pad),
21023         (gst_element_request_pad), (gst_element_get_request_pad),
21024         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
21025         (gst_element_class_get_pad_template_list),
21026         (gst_element_class_get_pad_template), (gst_element_error_func),
21027         (gst_element_get_random_pad), (gst_element_get_event_masks),
21028         (gst_element_send_event), (gst_element_seek),
21029         (gst_element_get_query_types), (gst_element_query),
21030         (gst_element_get_formats), (gst_element_convert),
21031         (gst_element_is_locked_state), (gst_element_set_locked_state),
21032         (gst_element_sync_state_with_parent), (gst_element_change_state),
21033         (gst_element_finalize), (gst_element_yield),
21034         (gst_element_interrupt), (gst_element_set_scheduler),
21035         (gst_element_get_scheduler), (gst_element_set_loop_function):
21036         * gst/gstelement.h:
21037         * gst/gstevent.h:
21038         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
21039         (gst_format_get_by_nick), (gst_format_get_details),
21040         (gst_format_iterate_definitions):
21041         * gst/gstformat.h:
21042         * gst/gstindex.c: (gst_index_gtype_resolver):
21043         * gst/gstinfo.c:
21044         * gst/gstinfo.h:
21045         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
21046         (gst_mem_chunk_free):
21047         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21048         (gst_object_ref), (gst_object_unref), (gst_object_sink),
21049         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
21050         (gst_object_dispatch_properties_changed),
21051         (gst_object_set_name_default), (gst_object_set_name),
21052         (gst_object_get_name), (gst_object_set_name_prefix),
21053         (gst_object_get_name_prefix), (gst_object_set_parent),
21054         (gst_object_get_parent), (gst_object_unparent),
21055         (gst_object_check_uniqueness), (gst_object_save_thyself),
21056         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
21057         (gst_object_set_property), (gst_object_get_property),
21058         (gst_object_get_path_string):
21059         * gst/gstobject.h:
21060         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
21061         (gst_real_pad_init), (gst_real_pad_get_property),
21062         (gst_pad_custom_new), (gst_pad_get_direction),
21063         (gst_pad_set_active), (gst_pad_is_active),
21064         (gst_pad_set_event_function), (gst_pad_is_linked),
21065         (gst_pad_link_free), (gst_pad_link_intersect),
21066         (gst_pad_link_fixate), (gst_pad_set_caps),
21067         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
21068         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
21069         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
21070         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
21071         (gst_pad_get_caps), (gst_pad_peer_get_caps),
21072         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
21073         (gst_pad_realize), (gst_pad_get_allowed_caps),
21074         (gst_real_pad_dispose), (gst_real_pad_finalize),
21075         (gst_pad_collectv), (gst_pad_collect_valist),
21076         (gst_pad_template_dispose), (gst_pad_template_new),
21077         (gst_pad_get_internal_links):
21078         * gst/gstpad.h:
21079         * gst/gstpipeline.c: (gst_pipeline_dispose),
21080         (gst_pipeline_change_state):
21081         * gst/gstpipeline.h:
21082         * gst/gstplugin.c:
21083         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
21084         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
21085         * gst/gstpluginfeature.h:
21086         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
21087         * gst/gstquery.c: (_gst_query_type_initialize),
21088         (gst_query_type_register), (gst_query_type_get_by_nick),
21089         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
21090         * gst/gstquery.h:
21091         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
21092         * gst/gstscheduler.c: (gst_scheduler_add_element),
21093         (gst_scheduler_factory_create):
21094         * gst/gststructure.c: (gst_structure_set_parent_refcount),
21095         (gst_structure_free), (gst_structure_set_name),
21096         (gst_structure_id_set_value), (gst_structure_set_value),
21097         (gst_structure_set_valist), (gst_structure_remove_field),
21098         (gst_structure_remove_fields),
21099         (gst_structure_remove_fields_valist),
21100         (gst_structure_remove_all_fields), (gst_structure_foreach),
21101         (gst_structure_map_in_place),
21102         (gst_caps_structure_fixate_field_nearest_int),
21103         (gst_caps_structure_fixate_field_nearest_double):
21104         * gst/gststructure.h:
21105         * gst/gstsystemclock.c: (gst_system_clock_class_init),
21106         (gst_system_clock_init), (gst_system_clock_dispose),
21107         (gst_system_clock_async_thread),
21108         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
21109         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
21110         * gst/gstsystemclock.h:
21111         * gst/gsttag.c: (gst_tag_list_add_value_internal),
21112         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
21113         * gst/gsttaginterface.c:
21114         * gst/gstthread.c: (gst_thread_dispose),
21115         (gst_thread_release_children_locks), (gst_thread_change_state),
21116         (gst_thread_main_loop):
21117         * gst/gsttrashstack.h:
21118         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
21119         * gst/gsttypes.h:
21120         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21121         (gst_element_request_pad), (gst_element_get_pad_from_template),
21122         (gst_element_request_compatible_pad),
21123         (gst_element_get_compatible_pad_filtered),
21124         (gst_element_get_compatible_pad), (gst_element_state_get_name),
21125         (gst_element_link_pads_filtered), (gst_element_link_filtered),
21126         (gst_element_link_many), (gst_element_link),
21127         (gst_element_link_pads), (gst_element_unlink_pads),
21128         (gst_element_unlink_many), (gst_element_unlink),
21129         (gst_pad_can_link_filtered), (gst_pad_can_link),
21130         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
21131         (gst_object_default_error), (gst_bin_add_many),
21132         (gst_bin_remove_many), (gst_element_populate_std_props),
21133         (gst_element_class_install_std_props), (gst_buffer_merge),
21134         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
21135         (link_fold_func), (gst_pad_proxy_setcaps):
21136         * gst/gstutils.h:
21137         * gst/gstvalue.c: (gst_value_deserialize_string):
21138         * gst/parse/grammar.y:
21139         * gst/schedulers/gstbasicscheduler.c:
21140         (gst_basic_scheduler_cothreaded_chain),
21141         (gst_basic_scheduler_chain_recursive_add),
21142         (gst_basic_scheduler_pad_link):
21143         * gst/schedulers/gstoptimalscheduler.c:
21144         (get_group_schedule_function),
21145         (gst_opt_scheduler_state_transition),
21146         (gst_opt_scheduler_add_element), (element_get_reachables_func):
21147         * libs/gst/bytestream/bytestream.c:
21148         * libs/gst/dataprotocol/dataprotocol.c:
21149         (gst_dp_header_from_buffer):
21150         * po/nb.po:
21151         * po/ru.po:
21152         * tests/threadstate/threadstate2.c: (eos):
21153         * tools/gst-compprep.c: (main):
21154         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
21155         (print_pad_info), (print_children_info):
21156         * tools/gst-launch.c: (idle_func), (main):
21157         * tools/gst-md5sum.c: (idle_func), (main):
21158         * tools/gst-xmlinspect.c: (print_element_info):
21159         First THREADED backport attempt, focusing on adding locks and
21160         making sure the API is threadsafe. Needs more work. More docs
21161         follow this week.
21162
21163 2005-02-24  Andy Wingo  <wingo@pobox.com>
21164
21165         * tests/bench-complexity.scm:
21166         * tests/complexity.gnuplot: New files, good for running complexity
21167         benchmarks.
21168
21169         * tests/Makefile.am:
21170         * tests/complexity.c: New test, sets up N elements, at each level
21171         teeing into M streams per element. Eeeenteresting.
21172
21173         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
21174         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
21175         running bench-mass_elements.scm.
21176
21177         * tests/bench-mass_elements.scm: New script, runs mass_elements
21178         for various numbers of identities, outputting the results to a
21179         file. Requires guile 1.6. Just for testing.
21180
21181 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
21182
21183         * gst/schedulers/fairscheduler.c:
21184           compile with debug disabled
21185
21186 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
21187
21188         * configure.ac:
21189           hunting season on 0.9 is now OPEN