6b6c8bb978a9ccbf019966da22dad6c632df09ef
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
2
3         * gst/gstpad.c: (gst_pad_set_event_function),
4         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
5         (gst_pad_set_getcaps_function)
6         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
7                 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
8                 So now, we can use --gst-debug-level=5 on Windows
9         * win32/common/libgstcontroller.def:
10           Added export of gst_controller_init
11         * win32/vs6/libgstcontroller.dsp:
12           Fixed Release post build configuration
13
14 2006-02-17  Wim Taymans  <wim@fluendo.com>
15
16         * tests/check/gst/gstquery.c: (GST_START_TEST):
17         Added another check.
18
19 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
20
21         * plugins/elements/gsttypefindelement.c: (find_peek):
22           We can do peeks at non-zero offsets, as long as they
23           fall within the buffer we have.
24
25 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
26
27         * tests/check/Makefile.am:
28         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
29         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
30         (parse_suite), (main):
31           Add testsuite for parse launch syntax
32
33 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
34
35         * plugins/elements/gsttypefindelement.c:
36         (gst_type_find_element_chain):
37           When typefinding is unsuccessful in the chain function, don't
38           error out immediately. Only error out with NO_CAPS_FOUND if
39           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
40           otherwise simply wait for more data so we can try typefinding
41           again with more data later. Also, don't attempt to typefind
42           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
43           this should improve typefinding from network sources where the
44           size of the first buffer can be somewhat random.
45
46 2006-02-14  Wim Taymans  <wim@fluendo.com>
47
48         * docs/gst/gstreamer-sections.txt:
49         * gst/gstpadtemplate.c:
50         * gst/gstpadtemplate.h:
51         Fix padtemplate docs, fixes #328805.
52
53 2006-02-14  Wim Taymans  <wim@fluendo.com>
54
55         * tools/gst-launch.c: (main):
56         NO_PREROLL is not an ERROR so don't send confusing messages
57         to the user.
58
59 2006-02-14  Wim Taymans  <wim@fluendo.com>
60
61         * gst/gstregistry.c: (gst_registry_get_default),
62         (_gst_registry_cleanup):
63         Protect default registry with lock and ref/sink it.
64         Fixes #324818, patch by Torsten Schoenfeld.
65
66 2006-02-14  Wim Taymans  <wim@fluendo.com>
67
68         * gst/gstbuffer.c:
69         * gst/gstquery.c: (gst_query_list_add_format),
70         (gst_query_set_formatsv), (gst_query_parse_formats_length),
71         (gst_query_parse_formats_nth):
72         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
73         Docs fixes.
74
75 2006-02-14  Wim Taymans  <wim@fluendo.com>
76
77         * docs/gst/gstreamer-sections.txt:
78         Reworked query docs.
79
80         * gst/gstquery.c: (gst_query_new_formats),
81         (gst_query_list_add_format), (gst_query_set_formats),
82         (gst_query_set_formatsv), (gst_query_parse_formats_length),
83         (gst_query_parse_formats_nth):
84         * gst/gstquery.h:
85         Flesh out formats query, added some new methods.
86         Fix part of #324398.
87
88         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
89         Added query creation tests.
90
91 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
92
93         * gst/gstpad.c: (fixate_value):
94         Add a default fixation for fraction lists.
95
96 2006-02-13  Wim Taymans  <wim@fluendo.com>
97
98         * gst/gsttask.c: (gst_task_init), (gst_task_func),
99         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
100         (gst_task_join):
101         * gst/gsttask.h:
102         Detect and warn for obvious deadlocks. fixes #320340
103         Fix error case where lock was not released.
104
105         * tests/check/Makefile.am:
106         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
107         (task_func), (gst_element_suite), (main):
108         Add task check.
109
110 2006-02-13  Wim Taymans  <wim@fluendo.com>
111
112         * docs/gst/gstreamer-sections.txt:
113         * gst/gstbus.c:
114         Add new functions to docs.
115
116 2006-02-13  Wim Taymans  <wim@fluendo.com>
117
118         * docs/design/part-TODO.txt:
119         Updated TODO list, basesrc supports seeking to non-bytes
120         formats.
121
122         * docs/design/part-element-sink.txt:
123         Update docs.
124
125         * gst/gstbin.c: (bin_replace_message),
126         (gst_bin_handle_message_func):
127         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
128         * gst/gstevent.c: (gst_event_finalize):
129         * gst/gstpad.c: (gst_pad_event_default_dispatch),
130         (gst_pad_send_event):
131         Use shiny new _TYPE_NAME macros.
132
133         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
134         Move debug statement up.
135
136         * gst/gstelement.c: (gst_element_set_locked_state):
137         Add some debugging.
138
139 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
140
141         * docs/gst/gstreamer-sections.txt:
142         * gst/gstmessage.h:
143         * gst/gstquery.h:
144           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
145           macros (#330906). Also, document the already existing
146           GST_QUERY_TYPE macro.
147
148 2006-02-13  Wim Taymans  <wim@fluendo.com>
149
150         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
151         (event_probe), (GST_START_TEST):
152         Only events up to the pipeline EOS are counted, there are
153         some more when going to NULL currently which we don't care
154         about for now.
155
156 2006-02-13  Wim Taymans  <wim@fluendo.com>
157
158         * gst/gstpad.c: (gst_pad_send_event):
159         Correctly check flushing and emit probes. fixes #330125
160
161 2006-02-10  Andy Wingo  <wingo@pobox.com>
162
163         * gst/gstbus.c (gst_bus_class_init): Declare our private data
164         structure.
165         (gst_bus_init): Cache the location of the private data in the
166         instance structure.
167         (gst_bus_enable_sync_message_emission) 
168         (gst_bus_disable_sync_message_emission): Implement new public
169         functions.
170         (gst_bus_post): Emit the sync-message signal if the user asked for
171         it. Fixes #330684.
172
173         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
174         location of the bus-private structuure.
175         (gst_bus_enable_sync_message_emission)
176         (gst_bus_disable_sync_message_emission): New public functions.
177
178 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
179
180         * docs/pwg/building-boiler.xml:
181         PWG patch from #326800 (Patch by Vincent Torri)
182
183 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
184
185         * configure.ac:
186         * docs/Makefile.am:
187         * docs/design/Makefile.am:
188           Dist design docs.
189
190 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
191
192         * configure.ac:
193           back to CVS
194
195 === release 0.10.3 ===
196
197 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
198
199         * configure.ac:
200           releasing 0.10.3, "Like a virgin"
201
202 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
203
204         * configure.ac:
205           2nd prerelease of 0.10.3
206           Bump libtool versioning.
207
208 2006-02-07  Andy Wingo  <wingo@pobox.com>
209
210         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
211         update last_stop if we're in TIME format and the timestamp is
212         valid.
213
214         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
215         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
216         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
217         If we get a new newsegment with a different format, adapt
218         accordingly.
219
220         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
221         of 0. Not a problem, really.
222
223         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
224         warn if sync=true.
225
226 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
227
228         * configure.ac:
229           Prelease of 0.10.3
230
231 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
232
233         * win32/vs7:
234           project files updated to the default vs7 configuration
235         * win32/common/libgstbase.def:
236         * win32/common/libgstreamer.def:
237           added new symbols,
238           removed empty lines,
239           sorted all exported symbols alphabetically
240         * win32/common/dirent.c:
241         * win32/common/dirent.h:
242         * win32/common/gchar.h:
243           use windows line end.
244           
245 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
246
247         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
248           Send EOS event when stopping.
249
250 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
251
252         * docs/README:
253           Tell folks what to do if the plugin-foobar.xml file
254           hasn't been generated for a newly-added plugin.
255
256 2006-02-05  Julien MOUTTE  <julien@moutte.net>
257
258         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
259         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
260         (gst_collect_pads_start), (gst_collect_pads_stop),
261         (gst_collect_pads_event): Collectpads now holds a reference
262         to the GstPad that was added. Indeed we don't want to look
263         at pads that might just go away with no warning...
264
265 2006-02-05  Julien MOUTTE  <julien@moutte.net>
266
267         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
268         (gst_collect_pads_start), (gst_collect_pads_stop),
269         (gst_collect_pads_event), (gst_collect_pads_chain):
270         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
271         Mark Nauwelaerts's patch on bug #328491.
272
273 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
274
275         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
276         (gst_utils_suite):
277           Add some simple tests for gst_parse_bin_from_description() and
278           gst_bin_find_unconnected_pad() (#329069).
279
280 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
281
282         * tools/gst-launch.c: (event_loop), (main):
283           Catch errors during preroll (#320084).
284
285 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
286
287         * plugins/elements/gsttypefindelement.c:
288         (gst_type_find_element_activate):
289           Post TYPE_NOT_FOUND error message when typefinding
290           is unsuccessful in the activate function as well.
291
292 2006-02-02  Wim Taymans  <wim@fluendo.com>
293
294         * docs/design/part-element-sink.txt:
295         Updated doc.
296
297 2006-02-02  Wim Taymans  <wim@fluendo.com>
298
299         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
300         (gst_base_sink_render_object),
301         (gst_base_sink_queue_object_unlocked):
302         Only keep track of prerollable items when we are 
303         prerolling.
304         Before rendering after preroll, always check if we
305         have queued items.
306         Added some more debugging.
307
308 2006-02-02  Wim Taymans  <wim@fluendo.com>
309
310         * gst/gstelement.c: (gst_element_continue_state),
311         (gst_element_set_state_func), (gst_element_change_state):
312         Fixed #326576, been running this for quite some time with
313         no regressions at all.
314
315 2006-02-02  Wim Taymans  <wim@fluendo.com>
316
317         * common/gst.supp:
318         Added more suppressions
319
320 2006-02-02  Wim Taymans  <wim@fluendo.com>
321
322         * docs/design/part-element-sink.txt:
323         Updated document.
324
325         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
326         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
327         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
328         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
329         (gst_base_sink_do_sync), (gst_base_sink_render_object),
330         (gst_base_sink_preroll_object),
331         (gst_base_sink_queue_object_unlocked),
332         (gst_base_sink_queue_object), (gst_base_sink_event),
333         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
334         (gst_base_sink_loop), (gst_base_sink_activate_pull),
335         (gst_base_sink_get_position), (gst_base_sink_change_state):
336         * libs/gst/base/gstbasesink.h:
337         Totally refactored matching the design doc.
338         Use two segments, one to clip incomming buffers and another to
339         perform sync.
340         Handle queueing correctly, bypass the queue when playing.
341         Make EOS cancelable.
342         Handle errors correctly when operating in pull based mode.
343
344         * tests/check/elements/fakesink.c: (GST_START_TEST),
345         (fakesink_suite):
346         Added new check for sinks.
347
348 2006-02-02  Wim Taymans  <wim@fluendo.com>
349
350         * gst/gstsegment.c: (gst_segment_clip):
351         No reason to refuse to clip when start == -1
352
353 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
354
355         * docs/README:
356         * docs/manual/intro-basics.xml:
357         * docs/manual/intro-preface.xml:
358         * docs/manual/manual.xml:
359         * docs/pwg/advanced-dparams.xml:
360         * docs/pwg/intro-basics.xml:
361         * docs/pwg/intro-preface.xml:
362         * docs/pwg/pwg.xml:
363           describe dparams (controller) for plugins
364           unify docs a little more
365
366 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
367
368         * docs/gst/gstreamer-sections.txt:
369         * gst/gstutils.c: (element_find_unconnected_pad),
370         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
371         * gst/gstutils.h:
372           Add new API: gst_parse_bin_from_description() and
373           gst_bin_find_unconnected_pad() (#329069).
374
375 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
376
377         * docs/manual/README:
378           uncover a nasty detail of the docs build
379
380 2006-01-31  Wim Taymans  <wim@fluendo.com>
381
382         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
383         Don't cache duration messages if we're not going to use or
384         free them.
385
386 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
387
388         * docs/manual/advanced-dparams.xml:
389         * docs/pwg/advanced-dparams.xml:
390           more dparam docs
391         * gst/gstindex.c:
392           fix docs
393         * libs/gst/controller/lib.c: (gst_controller_init):
394           init just once
395
396 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
397
398         * gst/gstelement.c: (gst_element_message_full):
399           also show file/line/func if no additional debug was given
400
401 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
402         
403         * win32/vs7/grammar.vcproj:
404                 activate copy of autogenerated files for Release mode
405
406 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
407         
408         * win32/common/libgstreamer.def:
409                 export gst_value_compare
410
411 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
412
413         * plugins/elements/Makefile.am:
414         * plugins/elements/gstelements.c:
415         * plugins/elements/gstfdsink.c: (_do_init),
416         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
417         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
418         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
419         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
420         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
421         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
422         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
423         * plugins/elements/gstfdsink.h:
424         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
425
426 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
427
428         * docs/manual/advanced-dparams.xml:
429           describe controller
430         * docs/manual/advanced-position.xml:
431         * docs/manual/basics-init.xml:
432         * docs/manual/manual.xml:
433         * docs/manual/titlepage.xml:
434         * docs/pwg/pwg.xml:
435         * docs/pwg/titlepage.xml:
436           cleanup xml (more to come)
437         * libs/gst/controller/gstcontroller.c:
438           fix typo
439
440 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
441         
442         * win32/vs6/grammar.dsp:
443                 add autogen of gstmarshal.c,h for Release mode
444                 
445 2006-01-30  Wim Taymans  <wim@fluendo.com>
446
447         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
448         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
449         (gst_base_sink_handle_object), (gst_base_sink_event),
450         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
451         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
452         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
453         (gst_base_sink_deactivate), (gst_base_sink_activate),
454         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
455         (gst_base_sink_query), (gst_base_sink_change_state):
456         Basesink cleanups, remove some old code.
457         Handle the case where a subclass can preroll in the render
458         method (mostly audiosinks).
459         Handle more events.
460         Remove some locks around variables that are now protected
461         with the PREROLL_LOCK (clock_id, flushing, ..).
462         Optimize position query some more, do correct locking.
463         Remove old code to push queue in state change, this is not
464         needed anymore since preroll blocks on all prerollable items 
465         now.
466         Almost implemented as described in design doc.
467
468 2006-01-30  Wim Taymans  <wim@fluendo.com>
469
470         * tests/check/gst/gstbin.c: (GST_START_TEST):
471         Wait for refcount to settle down before checking.
472
473 2006-01-30  Wim Taymans  <wim@fluendo.com>
474
475         * docs/design/part-element-sink.txt:
476         Pseudo code overview of desired sink behaviour regarding
477         preroll.
478
479 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
480         * win32/vs6/grammar.dsp:
481                 fix some bugs in Release mode for autogenerated files
482                 
483 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
484         * win32/common/libgstbase.def:
485         * win32/common/libgstreamer.def:
486                 export some new symbols: gst_base_src_set_format,
487                 gst_iterator_next, gst_structure_set_valist
488
489 2006-01-29  Julien MOUTTE  <julien@moutte.net>
490
491         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
492         Set pad functions unconditionally. Fixes #329105.
493
494 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
495         * win32/vs8:
496                 add vs8 project files created by Sergey Scobich
497
498 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
499
500         * gst/gstutils.c: (gst_element_unlink_pads):
501         Don't leak pad references.
502
503         * tests/check/elements/fakesink.c: (GST_START_TEST):
504         * tests/check/generic/sinks.c: (GST_START_TEST):
505         * tests/check/generic/states.c: (GST_START_TEST):
506         * tests/check/gst/gstbin.c: (GST_START_TEST):
507         * tests/check/gst/gstcaps.c: (GST_START_TEST):
508         * tests/check/gst/gstelement.c: (GST_START_TEST):
509         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
510         * tests/check/gst/gstiterator.c: (GST_START_TEST):
511         * tests/check/gst/gstvalue.c: (GST_START_TEST):
512         Fix a bunch of leaks. Make generic/sinks.c
513         use a bit less cpu by slowing the buffer rate
514         between fakesrc and fakesink.
515         
516 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
517         * gst/gstcaps.c:
518         * gst/gstelement.c: (gst_element_send_event):
519         * gst/gstevent.c:
520         * gst/gstinfo.c:
521         * gst/gstiterator.c:
522         * gst/gstiterator.h:
523         * gst/gstpad.c: (gst_pad_send_event):
524         * gst/gststructure.c:
525         * gst/gsturi.c:
526         * gst/gstutils.c:
527         * gst/gstvalue.c:
528         * libs/gst/base/gstadapter.c:
529           doc fixes, to link to function, just write gst_cool_function(), don't
530           prefix with '#'
531
532 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
533
534         * plugins/elements/gsttee.c: (gst_tee_do_push),
535         (gst_tee_handle_buffer):
536         Always prefer an actual return value from a src
537         pad in place of NOT_LINKED. This means we return
538         WRONG_STATE when all src pads are WRONG_STATE
539         instead of NOT_LINKED.
540
541         Lock when replacing the last message to prevent
542         racing with the get_property method.
543
544         Add debug output
545
546 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
547
548         * tests/check/Makefile.am:
549         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
550         (main):
551         Add a very simple check that should have caught the memleak I fixed
552         last night (if not for the slice allocator hiding it)
553
554 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
555
556         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
557         (gst_bin_remove_func), (gst_bin_handle_message_func),
558         (bin_query_duration_fold), (bin_query_generic_fold):
559         Clean up references to the clock provider when disposed or when
560         handling a clock-lost message from it.
561
562         Unref sinks when performing a query via gst_iterator_fold, as the
563         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
564
565         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
566         (gst_clock_set_master):
567         Drop our reference to the master clock, if any, when we are disposed.
568
569         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
570         Chain up in dispose. 
571
572 2006-01-26  Wim Taymans  <wim@fluendo.com>
573
574         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
575         Add some debugging.
576
577 2006-01-26  Julien MOUTTE  <julien@moutte.net>
578
579         * plugins/elements/gsttee.c: (gst_tee_do_push),
580         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
581         handles pad being NOT_LINKED or in WRONG_STATE.
582
583 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
584
585         * win32/MANIFEST:
586           more updating
587
588 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
589
590         * win32/MANIFEST:
591           remove obsolete entry
592
593 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
594
595         * docs/gst/gstreamer-sections.txt:
596         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
597         (gst_bin_iterate_sources), (gst_bin_send_event):
598         * gst/gstbin.h:
599         * gst/gstelement.c: (gst_element_send_event):
600         * gst/gstevent.c:
601         * gst/gstpad.c: (gst_pad_send_event):
602           added code for downstream events, reviewed docs in gstevent.c
603
604 2006-01-25  Julien MOUTTE  <julien@moutte.net>
605
606         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
607         We only query position using the clock in the playing state.
608         Query peer in the other cases.
609         * win32/common/config.h: Updates.
610
611 2006-01-24  Wim Taymans  <wim@fluendo.com>
612
613         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
614         A clock entry that is scheduled for the exact time of the
615         clock is still in time.
616
617         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
618         (gst_base_sink_do_sync):
619         Add some more debug info.
620
621 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
622
623         * win32/vs7:
624           Add new vs7 project files and solution.
625
626 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
627
628         * win32/vs7:
629           all files removed as they were out-dated.
630
631 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
632
633         * docs/random/release:
634           update notes
635         * gst/gstbin.c: (gst_bin_init):
636         * gst/gstbus.c: (gst_bus_new):
637         * gst/gstbus.h:
638         * gst/gstpipeline.c: (gst_pipeline_init):
639           use gst_bus_new(), improve logging, fix docs
640         * win32/common/config.h:
641           update for cvs build
642
643 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
644
645         * autogen.sh:
646           up required version of automake to 1.7
647
648 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
649
650         * win32/common/libgstreamer.def:
651           export gst_buffer_is_metadata_writable
652
653 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
654
655         * docs/gst/gstreamer-sections.txt:
656         * gst/gstevent.h:
657           Add gst_event_replace() (#327001)
658
659 2006-01-20  Wim Taymans  <wim@fluendo.com>
660
661         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
662         Make it actually compile too..
663
664 2006-01-20  Wim Taymans  <wim@fluendo.com>
665
666         * gst/gstcaps.c:
667         Clarify behaviour of _is_equal() when passing NULL parameters.
668
669         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
670         (gst_pad_set_caps):
671         Cleanups. Don't unref NULL caps.
672         When setting the same caps, protect caps of the pad with
673         proper lock.
674         Use full functionality of _is_equal() when comparing caps.
675
676 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
677
678         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
679         Don't loop infinitely if there are no buffers to present. Partially
680         fixes #327197, but collectpads is just broken for reusing elements
681         to do multiple encodes atm.
682
683 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
684
685         * tools/gst-inspect.c: (print_element_features):
686         * tools/gst-xmlinspect.c: (main):
687         URL_HANDLER is not a plugin feature we can search for in
688         the registry.
689
690 2006-01-19  Edward Hervey  <edward@fluendo.com>
691
692         * gst/gstelement.c: (gst_element_pads_activate): 
693         When activating, do src pads first, then sink pads.
694         When de-activating, do sink pads first, then src pads.
695
696 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
697
698         * docs/gst/gstreamer-sections.txt:
699         Add gst_index_add_associationv to the docs
700
701 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
702
703         * gst/gstevent.c:
704           Fix docs typo
705
706         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
707         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
708           Do some refactoring. Doesn't actually change functionality,
709           but makes landing the DRAIN event easier later.
710
711 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
712
713         * docs/pwg/advanced-scheduling.xml:
714           Update from 0.9.x to 0.10 API and make example a bit
715           clearer.
716
717 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
718
719         * docs/gst/gstreamer-sections.txt:
720         Add gst_buffer_(is|make)_metadata_writable methods.
721
722 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
723
724         * docs/design/part-sparsestreams.txt:
725         Update sparse streams doc, hopefully for greater clarity
726
727 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
728
729         * docs/design/part-events.txt:
730         Remove mention of FILLER events.
731         Add DRAIN event.
732
733         * docs/design/part-sparsestreams.txt:
734         Write some things about using NEWSEGMENT to keep sparse streams
735         flowing.
736
737 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
738
739         * gst/gstbin.c: (gst_bin_dispose):
740           Guard gst_object_unref call against a NULL object (dispose
741           can theoretically be called multiple times).
742           
743 2006-01-18  Wim Taymans  <wim@fluendo.com>
744
745         * gst/gstbin.c: (gst_bin_element_set_state):
746         * gst/gstclock.c: (gst_clock_id_wait):
747         Added some more debug info.
748
749         * libs/gst/base/gstadapter.c:
750         Added more docs.
751
752         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
753         (gst_base_sink_do_sync), (gst_base_sink_chain):
754         Added some comments.
755
756 2006-01-18  Wim Taymans  <wim@fluendo.com>
757
758         * tests/check/Makefile.am:
759         * tests/check/elements/fakesink.c: (chain_async_buffer),
760         (chain_async), (chain_async_return), (GST_START_TEST),
761         (fakesink_suite), (main):
762         Added fakesink test that checks prerolling and clipping
763         behaviour.
764
765         * tests/check/gst/gstutils.c: (GST_START_TEST):
766         Make check run faster so that buildbots don't timeout.
767
768 2006-01-18  Wim Taymans  <wim@fluendo.com>
769
770         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
771         (gst_base_sink_do_sync):
772         Some cleanups.
773         When the sink finishes blocking on the preroll buffer, it can
774         immediatly render it instead of rendering when the next buffer
775         arrives.
776
777 2006-01-18  Wim Taymans  <wim@fluendo.com>
778
779         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
780         (gst_base_sink_get_property), (gst_base_sink_do_sync),
781         (gst_base_sink_chain):
782         Small cleanups.
783         GST_ELEMENT_CLOCK and sync are protected with LOCK.
784         Don't store _last_stop if the buffer is dropped.
785
786 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
787
788         * plugins/elements/gsttypefindelement.c:
789         (gst_type_find_element_class_init):
790           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
791           object method handler that sets the caps on the pad and we want
792           that to happen before we emit the signal (fixes e.g. feeding a
793           plain text file to decodebin).
794
795 2006-01-18  Christian Schaller  <Christian@fluendo.com>
796
797         * gst/gstplugin.c: Add MPL and Proprietary as license options
798
799 2006-01-18  Andy Wingo  <wingo@pobox.com>
800
801         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
802         symbol was exported before, it appears this was just an oversight.
803         Fixes #168703.
804         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
805
806         * gst/gstindex.c (gst_index_add_associationv): Changed int in
807         prototype to gint. OK since this prototype was not in the header.
808
809 2006-01-17  Andy Wingo  <wingo@pobox.com>
810
811         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
812         registry while we remove plugins.
813
814         * tools/gst-inspect.c (print_element_info): Don't unref the
815         factory arg, that should be the responsibility of whatever code
816         received the ref. Fixes a double-free when called from
817         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
818         (main): Unref the factory if we have one.
819         (print_element_list): No change -- relies on the
820         plugin_feature_list_free to free the list of features.
821
822 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
823
824         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
825         (gst_buffer_make_metadata_writable):
826         * gst/gstbuffer.h:
827         * libs/gst/base/gstbasetransform.c:
828         (gst_base_transform_prepare_output_buf):
829         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
830         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
831           Replace gst_buffer_(make|is)_metadata_writable patch now
832           that the release is out.
833
834 2006-01-17  Andy Wingo  <wingo@pobox.com>
835
836         * gst/gstregistry.c: Reflow design comment. Update so as to speak
837         in the present tense without reference to versions.
838
839         * gst/gstregistry.c (gst_registry_add_plugin)
840         (gst_registry_remove_plugin, gst_registry_remove_feature)
841         (gst_registry_find_feature, gst_registry_get_feature_list)
842         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
843         (gst_registry_lookup, gst_registry_scan_path)
844         (_gst_registry_remove_cache_plugins)
845         (gst_registry_get_feature_list_by_plugin): Add argument
846         validation.
847
848 === release 0.10.2 ===
849
850 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
851
852         * configure.ac:
853           releasing 0.10.2, "If man is five"
854
855 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
856
857         * gst/gstbuffer.c:
858         * gst/gstbuffer.h:
859         * libs/gst/base/gstbasetransform.c:
860         (gst_base_transform_prepare_output_buf):
861         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
862         * tests/check/gst/gstbuffer.c: (gst_test_suite):
863           Back out patch until after the release.
864
865 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
866
867         * gst/gstminiobject.c:
868           Spelling fix in docs.
869         * ChangeLog - remove conflict indicator
870
871 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
872
873         Reviewed By: Andy Wingo
874
875         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
876         (gst_buffer_make_metadata_writable):
877         * gst/gstbuffer.h:
878           Add gst_buffer_(is|make)_metadata_writable as analogues of
879           gst_buffer_(is|make)_writable.
880
881         * libs/gst/base/gstbasetransform.c:
882         (gst_base_transform_prepare_output_buf):
883         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
884           Use name gst_buffer_(is|make)_metadata_writable functions.
885
886         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
887           Test gst_buffer_(is|make)_metadata_writable
888         
889           (Closes: #324162)
890
891 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
892
893         * docs/manual/Makefile.am:
894           don't do parallel make
895         * configure.ac:
896           AC_SUBST HOST_CPU
897         * win32/common/config.h.in:
898           add generations for HOST_CPU and GST_MAJORMINOR
899         * win32/common/config.h:
900           commit generated result
901
902 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
903
904         * docs/manual/appendix-integration.xml:
905           Update GNOME integration section to use gst_init_get_option_group()
906           instead of the old popt stuff (#322911). Also, GNOME applications
907           should  now use gconf*sink and gconf*src instead of the old gconf
908           helper lib we had.
909
910 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
911
912
913         * docs/gst/gstreamer-docs.sgml:
914         * docs/gst/gstreamer-sections.txt:
915         * docs/libs/gstreamer-libs-sections.txt:
916           add new API entries to the docs
917         * libs/gst/controller/Makefile.am:
918         * libs/gst/controller/gstcontroller.c:
919         * libs/gst/controller/gstcontroller.h:
920         * libs/gst/controller/gstcontrollerprivate.h:
921         * libs/gst/controller/gsthelper.c:
922         * libs/gst/controller/gstinterpolation.c:
923           move private structs to private header
924         * po/README:
925           gstreamer-0.7 -> gstreamer-0.10
926         * tests/check/libs/struct_i386.h:
927           remove private structs
928
929 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
930
931         * plugins/indexers/Makefile.am:
932           Fixes as part of #317048
933
934 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
935
936         * plugins/indexers/Makefile.am:
937           fix #316086 - compilation when mmap is missing
938
939 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
940
941         * libs/gst/base/gstbasesink.c:
942           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
943           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
944         * win32/common/config.h:
945           added some defines GST_MAJORMINOR and HOST_CPU
946         * win32/common/libgstbase.def:
947         * win32/common/libgstreamer.def:
948           added some exported functions.
949
950 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
951
952         * libs/gst/controller/gstcontroller.c:
953         (gst_controlled_property_set_interpolation_mode),
954         (gst_controlled_property_new):
955         * libs/gst/controller/gstcontroller.h:
956         * libs/gst/controller/gstinterpolation.c:
957         (interpolate_none_get_string_value_array):
958           make G_TYPE_STRING controlable
959
960 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
961
962         * tools/README:
963         * tools/gst-feedback.1.in:
964         * tools/gst-inspect.1.in:
965         * tools/gst-launch.1.in:
966         * tools/gst-md5sum.1.in:
967         * tools/gst-typefind.1.in:
968         * tools/gst-xmlinspect.1.in:
969         * tools/gst-xmllaunch.1.in:
970           cleanup man-pages, remove reference to gst-register, document env-vars
971
972 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
973
974         * gst/gstbuffer.c: (gst_buffer_span):
975           gst_buffer_span should copy the timestamp of the first buffer
976           if they were both originally overlapping subbuffers of the 
977           same parent, using the same logic as the 'slow copy' case.
978
979 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
980
981         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
982           Need to awaken ALL the pads when we pop a buffer, otherwise
983           collectpads only works when there is 2 input streams.
984
985 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
986
987         * docs/random/ensonic/media-device-daemon.txt:
988           more ideas (dbus)
989         * gst/gstbuffer.c:
990           fix doc example, add clarification
991         * tools/gst-launch.1.in:
992           add initial info about GST_PLUGIN_PATH, needs more work
993
994 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
995
996         * docs/manual/basics-bins.xml:
997         * docs/manual/basics-elements.xml:
998         * docs/manual/intro-basics.xml:
999           Some more minor docs additions and updates.
1000
1001 2006-01-11  Wim Taymans  <wim@fluendo.com>
1002
1003         * docs/manual/basics-bins.xml:
1004         * docs/manual/basics-elements.xml:
1005         Some small fixes as pointed out by Ser-ver on IRC.
1006
1007 2006-01-10  Edward Hervey  <edward@fluendo.com>
1008
1009         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1010         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
1011         the single-segment mode.
1012
1013 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
1014
1015         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1016
1017         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
1018         (gst_base_src_perform_seek), (gst_base_src_send_event),
1019         (gst_base_src_set_property), (gst_base_src_get_property),
1020         (gst_base_src_loop), (gst_base_src_start),
1021         (gst_base_src_activate_push):
1022         * libs/gst/base/gstbasesrc.h:
1023           Name (private) union; makes Sun's Forte compiler happy (#324900).
1024
1025 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1026
1027         * README:
1028           gst-register is gone.
1029
1030 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1031
1032         * gst/gstvalue.c: (_gst_value_initialize):
1033           make the G_TYPE_DATE instantiation work if debug is disabled
1034
1035 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
1036
1037         * gst/gstmessage.c: (gst_message_parse_tag),
1038         (gst_message_parse_error), (gst_message_parse_warning):
1039           Don't crash when return location for error/warning debug
1040           string is NULL; add fact that return locations can be
1041           NULL to docs where appropriate.
1042
1043 2006-01-05  Wim Taymans  <wim@fluendo.com>
1044
1045         * gst/gstplugin.c: (gst_plugin_load_file):
1046         Replace strdup by g_strdup.
1047
1048 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1049
1050         * docs/pwg/advanced-types.xml:
1051           fix doc borkage
1052
1053 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1054
1055         submitted by: Abel Cheung
1056
1057         * po/LINGUAS:
1058         * po/zh_TW.po:
1059           Added Chinese (traditional) translation
1060
1061 2006-01-04  Wim Taymans  <wim@fluendo.com>
1062
1063         * docs/manual/basics-pads.xml:
1064         * docs/plugins/Makefile.am:
1065         * docs/plugins/gstreamer-plugins-docs.sgml:
1066         * docs/plugins/gstreamer-plugins-sections.txt:
1067         * docs/pwg/advanced-clock.xml:
1068         * docs/pwg/advanced-scheduling.xml:
1069         * docs/pwg/advanced-types.xml:
1070         * plugins/elements/gstfdsink.c:
1071         * plugins/elements/gstfdsrc.c:
1072         * plugins/elements/gstfdsrc.h:
1073         * plugins/elements/gstidentity.c: (gst_identity_class_init):
1074         * plugins/elements/gstidentity.h:
1075         * plugins/elements/gstqueue.h:
1076         * plugins/elements/gsttee.c:
1077         * plugins/elements/gsttee.h:
1078         * plugins/elements/gsttypefindelement.c:
1079         (gst_type_find_element_class_init):
1080         * plugins/elements/gsttypefindelement.h:
1081         Small updates to various docs.
1082         Added core plugins to docs.
1083
1084 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1085
1086         * common/gst.supp:
1087           add a suppression for liboil's uninitialized variable
1088
1089 2006-01-02  James Livingston  <jrl at ids dot org dot au>
1090
1091         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1092
1093         * gst/gstutils.h:
1094           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
1095           macro, so that gcc doesn't complain if the -Wmissing-prototypes
1096           compiler switch is being used (#325429).
1097
1098 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
1099
1100         * gst/gstbin.c: (gst_bin_query):
1101           Disable duration query caching in bins until it gets
1102           fixed (see #324807).
1103
1104 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
1105
1106         * tools/gst-inspect.c: (print_element_properties_info):
1107           Handle properties of POINTER and BOXED type.
1108
1109 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
1110
1111         * gst/gst.c: (init_post):
1112           Init tags stuff and some other things before loading
1113           any static plugins (there may be other static plugins
1114           than just the GStreamer ones, and they may want to
1115           register their own tags or formats or whatever, and
1116           preferably without segfaulting).
1117
1118         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
1119           Print at least a warning in the debug logs if we drop a
1120           query just because we don't know how to adjust the value
1121           in the particular format.
1122
1123 2005-12-24  David Schleef  <ds@schleef.org>
1124
1125         * tools/gstreamer-completion:
1126           Replacement for gst-complete written in sh and sed.  Only
1127           completes names of features, but that's 90% of what I want
1128           it for.  Properties are not available in registry.xml.  (Maybe
1129           they should be...)
1130
1131 === release 0.10.1 ===
1132
1133 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
1134
1135         * configure.ac:
1136           releasing 0.10.1, "Nollaig chridheil"
1137
1138 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
1139
1140         * docs/faq/cvs.xml:
1141           Add missing quote, should be make ERROR_CFLAGS="".
1142
1143 2005-12-20  Wim Taymans  <wim@fluendo.com>
1144
1145         * docs/design/part-trickmodes.txt:
1146         More documentation on trickmodes.
1147
1148 2005-12-20  Edward Hervey  <edward@fluendo.com>
1149
1150         * gst/gstcaps.c: (gst_static_caps_get_type):
1151         * gst/gstcaps.h:
1152           API addition: GST_TYPE_STATIC_CAPS
1153         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
1154         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
1155         * gst/gstpadtemplate.h:
1156           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
1157         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
1158         bindings.
1159
1160 2005-12-18  Wim Taymans  <wim@fluendo.com>
1161
1162         * libs/gst/base/gstadapter.c:
1163         * libs/gst/base/gstadapter.h:
1164         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1165         (gst_base_sink_get_position):
1166         * libs/gst/base/gstbasesink.h:
1167         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1168         (gst_base_src_default_query), (gst_base_src_default_do_seek),
1169         (gst_base_src_do_seek), (gst_base_src_perform_seek),
1170         (gst_base_src_send_event), (gst_base_src_update_length),
1171         (gst_base_src_get_range), (gst_base_src_loop),
1172         (gst_base_src_start):
1173         * libs/gst/base/gstbasesrc.h:
1174         * libs/gst/base/gstbasetransform.h:
1175         * libs/gst/base/gstcollectpads.h:
1176         * libs/gst/base/gstpushsrc.c:
1177         * libs/gst/base/gstpushsrc.h:
1178         * libs/gst/dataprotocol/dataprotocol.c:
1179         * libs/gst/dataprotocol/dataprotocol.h:
1180         * libs/gst/net/gstnetclientclock.h:
1181         * libs/gst/net/gstnettimeprovider.h:
1182         Documentation updates.
1183
1184 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
1185
1186         * docs/manual/basics-helloworld.xml:
1187           Remove superfluous closing bracket in helloworld example.
1188
1189 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
1190
1191         * tools/gst-launch.1.in:
1192           Update gst-launch man page; add a section with useful
1193           environment variables. Fixes #323882.
1194
1195 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
1196
1197         * gst/gst.c:
1198         * gst/gst_private.h:
1199           change some char* into char[]
1200
1201 2005-12-16  Wim Taymans  <wim@fluendo.com>
1202
1203         * gst/gstregistryxml.c: (load_feature):
1204         Cleanups.
1205         Don't use g_object_unref on GstObjects so that we avoid
1206         leaks on unsafe glibs.
1207
1208 2005-12-16  Wim Taymans  <wim@fluendo.com>
1209
1210         * gst/gstbin.c: (gst_bin_recalc_state):
1211         Small doc updates.
1212
1213 2005-12-16  Wim Taymans  <wim@fluendo.com>
1214
1215         * common/check.mak:
1216         Added make forever target for check.
1217
1218 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1219
1220         * gst/gst.c: (init_post):
1221           make the registry cache file HOST_CPU-dependent
1222
1223 2005-12-16  Andy Wingo  <wingo@pobox.com>
1224
1225         * plugins/elements/gstbufferstore.c
1226         (gst_buffer_store_cleared_func): Pay attention to g_list_append
1227         return value.
1228
1229         * tests/check/gst/gstobject.c
1230         (test_fake_object_name_threaded_unique): Pay attention to
1231         g_list_sort return value.
1232
1233 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1234
1235         * tools/gst-feedback-m.m:
1236           Update for 0.9/0.10 (fixes #323870).
1237
1238 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
1239
1240         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
1241           Fix lcopy for mini objects, the mini object needs to be ref'ed.
1242           
1243         * tests/check/gst/gstminiobject.c: (my_foo_init),
1244         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
1245         (test_value_collection), (gst_mini_object_suite):
1246           Add test to ensure refcounts end up as expected when passing
1247           GstMiniObjects through g_object_get() and g_object_set().
1248
1249 2005-12-14  Julien MOUTTE  <julien@moutte.net>
1250
1251         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1252         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
1253         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
1254         of collectpads. This version removes a lot of races without
1255         touching API/ABI. Yay !
1256
1257 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
1258
1259         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
1260           Don't allow activation of a srcpad in pull_range if it has no
1261           getrange function.
1262           Change some debug statements to be a little clearer
1263
1264         * plugins/elements/gsttypefindelement.c:
1265         (gst_type_find_handle_src_query):
1266           Check that we have a peer before executing queries thereupon.
1267
1268         * tests/examples/metadata/read-metadata.c: (message_loop):
1269           Use gst_bus_pop instead of gst_bus_poll when we just want it to
1270           immediately return us any available message with 0 timeout.
1271
1272 2005-12-12  Michael Smith  <msmith@fluendo.com>
1273
1274         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
1275           Don't unref factories after calling them.
1276         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
1277         * plugins/elements/gsttypefindelement.c:
1278         (gst_type_find_element_chain):
1279           Free lists of factories after using them. Fixing typefinding memory
1280           leaks.
1281
1282 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1283
1284         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1285         (gst_plugin_feature_load):
1286           more meaningful debug output
1287         * configure.ac:
1288         * tests/Makefile.am:
1289         * tests/old/examples/Makefile.am:
1290           make make distcheck happy again
1291
1292 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
1293
1294         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
1295           Catch the special case where we are operating chain-based,
1296           but the downstream peer pad has no chain function. Emit a
1297           custom error message in this case instead of letting the
1298           core generate one implying that this is some sort of core
1299           bug. It's not, it just means that whatever got plugged
1300           into the pipeline downstream when we announced the type
1301           can only operate pull-based, while our source can only
1302           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
1303           Error string has not been marked for translation yet, as
1304           it probably needs some more work first.
1305
1306         (gst_type_find_element_get_best_possibility):
1307           Add helper function to find the best of all available
1308           found possibilities that qualify given the min. threshold.
1309
1310         (gst_type_find_element_handle_event):
1311           Fix the case where we get an EOS while still in TYPEFIND
1312           mode (we want to chose the best of all possible types,
1313           not just the first type that happens to be in our unsorted
1314           list of possible types).
1315
1316         (gst_type_find_element_chain):
1317           Make sure we return GST_FLOW_ERROR when we errored out
1318           in stop_typefinding(); also, don't just find the best of
1319           all found type entries and then use the last examined
1320           type entry, but actually use the best entry.
1321
1322 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
1323
1324         * tests/examples/typefind/typefind.c: (type_found):
1325         * tests/examples/xml/runxml.c: (xml_loaded):
1326           More gcc4 fixes and a mem leak fix.
1327
1328 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1329
1330         * tests/examples/xml/createxml.c: (object_saved):
1331           gcc 4 fixes
1332
1333 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1334
1335         * tests/Makefile.am:
1336           enable the examples even more
1337
1338 2005-12-12  Andy Wingo  <wingo@pobox.com>
1339
1340         * libs/gst/net/gstnettimeprovider.c
1341         (gst_net_time_provider_class_init, gst_net_time_provider_init)
1342         (gst_net_time_provider_set_property)
1343         (gst_net_time_provider_get_property):
1344         API addition: Export "active" as a GObject property.
1345         (gst_net_time_provider_thread): Only respond to time queries if
1346         the time provider is active.
1347
1348         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
1349         NetTimeProvider, preserving binary compat.
1350
1351 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1352
1353         * tests/examples/controller/audio-example.c: (main):
1354         * tests/examples/launch/Makefile.am:
1355           convert comments again
1356
1357 2005-12-12  Wim Taymans  <wim@fluendo.com>
1358
1359         * libs/gst/base/gstpushsrc.c:
1360         Fix typo.
1361
1362 2005-12-12  Wim Taymans  <wim@fluendo.com>
1363
1364         * docs/libs/gstreamer-libs-sections.txt:
1365         Added new symbol to docs.
1366
1367         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1368         (gst_base_src_init), (gst_base_src_set_format),
1369         (gst_base_src_default_query), (gst_base_src_query),
1370         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
1371         (gst_base_src_perform_seek), (gst_base_src_send_event),
1372         (gst_base_src_default_event), (gst_base_src_event_handler),
1373         (gst_base_src_set_property), (gst_base_src_get_property),
1374         (gst_base_src_wait), (gst_base_src_do_sync),
1375         (gst_base_src_update_length), (gst_base_src_get_range),
1376         (gst_base_src_check_get_range), (gst_base_src_loop),
1377         (gst_base_src_default_negotiate), (gst_base_src_start),
1378         (gst_base_src_activate_push), (gst_base_src_activate_pull),
1379         (gst_base_src_change_state):
1380         * libs/gst/base/gstbasesrc.h:
1381         Implement seeking to other formats than _BYTES.
1382         Implement more seeking methods correctly.
1383         Doc updates.
1384         Added query vmethod.
1385         Added do_seek vmethod to make life easier for subclasses
1386         when seeking.
1387         API addition: gst_base_src_set_format()
1388
1389 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1390
1391         * tests/examples/Makefile.am:
1392           added that too
1393
1394 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1395
1396         * configure.ac:
1397         * docs/random/ensonic/media-device-daemon.txt:
1398         * tests/examples/controller/.cvsignore:
1399         * tests/examples/controller/Makefile.am:
1400         * tests/examples/controller/audio-example.c: (main):
1401         * tests/examples/helloworld/.cvsignore:
1402         * tests/examples/helloworld/Makefile.am:
1403         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
1404         * tests/examples/launch/.cvsignore:
1405         * tests/examples/launch/Makefile.am:
1406         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
1407         * tests/examples/metadata/.cvsignore:
1408         * tests/examples/metadata/Makefile.am:
1409         * tests/examples/metadata/read-metadata.c: (message_loop),
1410         (make_pipeline), (print_tag), (main):
1411         * tests/examples/queue/.cvsignore:
1412         * tests/examples/queue/Makefile.am:
1413         * tests/examples/queue/queue.c: (event_loop), (main):
1414         * tests/examples/typefind/.cvsignore:
1415         * tests/examples/typefind/Makefile.am:
1416         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
1417         (main):
1418         * tests/examples/xml/.cvsignore:
1419         * tests/examples/xml/Makefile.am:
1420         * tests/examples/xml/createxml.c: (object_saved), (main):
1421         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
1422         * tests/old/examples/Makefile.am:
1423         * tests/old/examples/TODO:
1424         * tests/old/examples/controller/.cvsignore:
1425         * tests/old/examples/controller/Makefile.am:
1426         * tests/old/examples/controller/audio-example.c:
1427         * tests/old/examples/helloworld/.cvsignore:
1428         * tests/old/examples/helloworld/Makefile.am:
1429         * tests/old/examples/helloworld/helloworld.c:
1430         * tests/old/examples/launch/.cvsignore:
1431         * tests/old/examples/launch/Makefile.am:
1432         * tests/old/examples/launch/mp3parselaunch.c:
1433         * tests/old/examples/launch/mp3play:
1434         * tests/old/examples/manual/Makefile.am:
1435         * tests/old/examples/metadata/Makefile.am:
1436         * tests/old/examples/metadata/read-metadata.c:
1437         * tests/old/examples/queue/.cvsignore:
1438         * tests/old/examples/queue/Makefile.am:
1439         * tests/old/examples/queue/queue.c:
1440         * tests/old/examples/typefind/.cvsignore:
1441         * tests/old/examples/typefind/Makefile.am:
1442         * tests/old/examples/typefind/typefind.c:
1443         * tests/old/examples/xml/.cvsignore:
1444         * tests/old/examples/xml/Makefile.am:
1445         * tests/old/examples/xml/createxml.c:
1446         * tests/old/examples/xml/runxml.c:
1447           applied some simple fixing to some examples
1448           re-enabled the working examples
1449
1450 2005-12-12  Wim Taymans  <wim@fluendo.com>
1451
1452         * gst/gstsegment.c: (gst_segment_init),
1453         (gst_segment_set_last_stop), (gst_segment_set_seek),
1454         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1455         (gst_segment_to_running_time):
1456         Added more documentation.
1457         Make sure the last_pos value is updated properly.
1458         Make sure to_stream_time and to_running_time don't
1459         operate on wrong values.
1460
1461         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1462         Update check.
1463
1464 2005-12-12  Michael Smith  <msmith@fluendo.com>
1465
1466         * plugins/elements/gsttypefindelement.c: (free_entry),
1467         (gst_type_find_element_chain):
1468           Now that we're not leaking factories, make sure we keep references
1469           to them while we need them.
1470
1471 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1472
1473         * tests/check/gst/struct_i386.h:
1474           ifdef out the XML structs
1475
1476 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1477
1478         * gst/gstvalue.c: (gst_value_transform_double_fraction):
1479           floor is not needed, F is always positive; this obviates the
1480           need for adding -lm when building without libxml
1481
1482 2005-12-12  Wim Taymans  <wim@fluendo.com>
1483
1484         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1485         Take current playback rate into account when reporting
1486         the position.
1487
1488 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1489
1490         * docs/manual/mime-world.fig:
1491           Let's try this again, this time with a file that is
1492           actually in XFig format.
1493
1494 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1495
1496         * docs/manual/mime-world.fig:
1497           Add audioconvert element to diagram so that it
1498           matches the text and the code (fixes #319526).
1499
1500 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1501
1502         * docs/pwg/building-chainfn.xml:
1503         * docs/pwg/building-pads.xml:
1504         * docs/pwg/building-state.xml:
1505         * docs/pwg/other-source.xml:
1506           Update state change stuff for 0.10 (fixes #322969).
1507
1508 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1509
1510         * docs/manual/advanced-dataaccess.xml:
1511         * docs/manual/appendix-checklist.xml:
1512         * docs/manual/appendix-programs.xml:
1513         * docs/manual/basics-pads.xml:
1514         * docs/manual/highlevel-components.xml:
1515         * docs/manual/manual.xml:
1516           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
1517           add converters in front of pipelines; remove curly
1518           brackets for threads stuff, they no longer exist; use
1519           GST_TYPE_FRACTION for framerates; update some pieces of
1520           code to 0.10, but there's plenty more to do.
1521
1522         * docs/manual/appendix-porting.xml:
1523           Expand on asynchroneous state changes; s/0.9/0.10/;
1524           mention disappearance of gst_init_get_popt_table()
1525           (fixes #322916).
1526
1527 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1528
1529         * docs/faq/using.xml:
1530           Spider no longer exists, and neither does gst-launch-ext.
1531           Update examples to use decodebin and playbin and put
1532           converters in front of sinks (fixes #323726).
1533
1534 2005-12-09  Michael Smith  <msmith@fluendo.com>
1535
1536         * plugins/elements/gsttypefindelement.c: (find_peek),
1537         (gst_type_find_element_chain):
1538           Fix leaking element factories in typefinding.
1539           Fix problem where we forgot about a probable type on non-seekable
1540           files, and thus later mis-typefound it.
1541
1542 2005-12-09  Michael Smith  <msmith@fluendo.com>
1543
1544         * common/m4/gst-makecontext.m4:
1545         * common/m4/gst-mcsc.m4:
1546         * configure.ac:
1547         * win32/common/config.h:
1548         * win32/common/config.h.in:
1549           Remove makecontext stuff; not used in 0.10 and causes problems on
1550           HPUX according to bug #322441
1551
1552 2005-12-07  Wim Taymans  <wim@fluendo.com>
1553
1554         * tests/check/Makefile.am:
1555         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
1556         (main):
1557         * tests/check/libs/struct_i386.h:
1558         Added ABI check for libs
1559
1560 2005-12-07  Wim Taymans  <wim@fluendo.com>
1561
1562         * tests/check/Makefile.am:
1563         And add the struct_i386.h to dist.
1564
1565 2005-12-07  Wim Taymans  <wim@fluendo.com>
1566
1567         * tests/check/Makefile.am:
1568         * tests/check/gst/.cvsignore:
1569         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
1570         (main):
1571         * tests/check/gst/struct_i386.h:
1572         Added check for ABI compatibility.
1573
1574 2005-12-07  Wim Taymans  <wim@fluendo.com>
1575
1576         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1577         (gst_fake_src_get_times), (gst_fake_src_create):
1578         Fix broken sync option, fixes #323259
1579
1580 2005-12-07  Wim Taymans  <wim@fluendo.com>
1581
1582         * gst/gstbuffer.c:
1583         Small docs update.
1584
1585         * gst/gstcaps.c: (gst_caps_is_equal):
1586         Don't assert on NULL <--> X. Fixes #323260
1587
1588         * gst/gstminiobject.c: (gst_mini_object_replace):
1589         If we're doing atomic operations, we might just as well use
1590         the proper way to get an atomic pointer.
1591
1592         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1593         Clean up debugging.
1594
1595 2005-12-07  Michael Smith  <msmith@fluendo.com>
1596
1597         * gst/parse/grammar.y:
1598           Remove handling of { } for threads.
1599
1600 2005-12-06  David Schleef  <ds@schleef.org>
1601
1602         * libs/gst/base/gstbasetransform.c: speling fix.
1603
1604 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1605
1606         * docs/libs/tmpl/gstdataprotocol.sgml:
1607         * docs/random/omega/testing/gstobject.c:
1608         * gst/gst.c:
1609         * gst/gstclock.c:
1610         * gst/gstelement.c:
1611         * gst/gstelementfactory.c:
1612         * gst/gsterror.c:
1613         * gst/gstevent.c:
1614         * gst/gstghostpad.c:
1615         * gst/gstinfo.c:
1616         * gst/gstpadtemplate.c:
1617         * gst/gstregistryxml.c:
1618         * gst/gsttaglist.c:
1619         * gst/gsttagsetter.c:
1620         * gst/gsttypefind.c:
1621         * gst/gstvalue.c:
1622         * libs/gst/base/gstbasesrc.c:
1623         * libs/gst/net/gstnetclientclock.c:
1624         * libs/gst/net/gstnettimeprovider.c:
1625         * plugins/elements/gstfakesrc.c:
1626         * plugins/elements/gstfdsrc.c:
1627         * plugins/elements/gstfilesrc.c:
1628         * plugins/elements/gstidentity.c:
1629         * plugins/elements/gstqueue.c:
1630         * plugins/elements/gsttypefindelement.c:
1631         * plugins/indexers/gstfileindex.c:
1632         * plugins/indexers/gstmemindex.c:
1633         * tests/check/gst/gsttag.c:
1634         * tests/old/examples/cutter/cutter.c:
1635         * tests/old/examples/mixer/mixer.c:
1636         * tests/old/examples/xml/runxml.c: (main):
1637         * tests/old/testsuite/caps/normalisation.c:
1638         * tests/old/testsuite/debug/global.c:
1639         * tests/old/testsuite/parse/parse1.c:
1640         * tools/gst-xmlinspect.c:
1641         * win32/common/dirent.c:
1642           expand tabs
1643
1644 === release 0.10.0 ===
1645
1646 2005-12-05   <thomas (at) apestaart (dot) org>
1647
1648         * configure.ac:
1649           releasing 0.10.0, "Maroilles"
1650
1651 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1652
1653         submitted by: Funda Wang <fundawang@linux.net.cn>
1654
1655         * po/LINGUAS:
1656         * po/zh_CN.po:
1657           added Chinese (Traditional) translation
1658
1659 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1660
1661         * docs/gst/gstreamer-sections.txt:
1662         * docs/libs/tmpl/gstdataprotocol.sgml:
1663         * docs/random/thomasvs/TODO:
1664         * gst/gstutils.c:
1665         * gst/gstutils.h:
1666           fix docs
1667
1668 2005-12-05  Andy Wingo  <wingo@pobox.com>
1669
1670         patch by: Wim Taymans <wim@fluendo.com>
1671
1672         * libs/gst/base/gstbasetransform.c
1673         (gst_base_transform_prepare_output_buf)
1674         (gst_base_transform_buffer_alloc):
1675         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
1676         alloc_buffer_and_set_caps.
1677
1678         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
1679         set_caps on the source pad.
1680         (gst_pad_alloc_buffer_and_set_caps): New function, does what
1681         alloc_buffer used to do. Fixes #322874.
1682
1683         * docs/gst/gstreamer-sections.txt: 
1684         * docs/design/part-negotiation.txt: 
1685         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
1686         changes.
1687
1688 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1689
1690         patch by: Sebastien Moutte
1691
1692         * win32/MANIFEST:
1693         * win32/common/config.h.in:
1694         * win32/vs6/libgstcontroller.dsp:
1695           win32 build fixes
1696
1697 2005-12-05  Wim Taymans  <wim@fluendo.com>
1698
1699         * gst/gstcaps.c: (gst_caps_is_equal):
1700         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1701         (gst_fake_src_create):
1702         Back out previous code changes, leave doc updates, file bugs 
1703         instead. 
1704
1705 2005-12-05  Wim Taymans  <wim@fluendo.com>
1706
1707         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1708         (gst_fake_src_get_times), (gst_fake_src_create):
1709         * plugins/elements/gstfakesrc.h:
1710         Fix broken sync code.
1711
1712 2005-12-05  Wim Taymans  <wim@fluendo.com>
1713
1714         * gst/gstcaps.c: (gst_caps_is_equal):
1715         Comparing NULL against !NULL yields different caps, not a
1716         failure.
1717
1718 2005-12-05  Wim Taymans  <wim@fluendo.com>
1719
1720         * gst/gstpipeline.c:
1721         Fix small typo in docs.
1722
1723 2005-12-05  Andy Wingo  <wingo@pobox.com>
1724
1725         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
1726
1727         * gst/gst.c (init_post): remove hard-coded 0.9 location for
1728         registries/plugins with a MAJORMINOR one.
1729         (plugin_desc): Rename library from gstcoreleements to
1730         staticelements. Fixes #323222.
1731
1732 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
1733
1734         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
1735           Change debug category to 'collectpads' from 'collect_pads'
1736           (fixes #323250).
1737
1738 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
1739
1740         patch by: Sebastien Moutte
1741
1742         * libs/gst/controller/gstinterpolation.c:
1743           use convert function for uint64/double
1744         * win32/vs6/libgstcontroller.dsp:
1745           link to GLib
1746
1747 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
1748
1749         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
1750         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
1751         * gst/gstutils.h:
1752         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1753           add tests that seem to show that the guint64/gdouble conversions
1754           are correct.
1755
1756 2005-12-02  Wim Taymans  <wim@fluendo.com>
1757
1758         * gst/gstregistry.c: (gst_registry_add_path):
1759         * gst/gstregistry.h:
1760         * gst/gstregistryxml.c:
1761         Fix docs again.
1762
1763 2005-12-02  Wim Taymans  <wim@fluendo.com>
1764
1765         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1766         (gst_util_uint64_scale_int):
1767         Small cleanup.
1768
1769         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1770         Add debug log line.
1771
1772         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
1773         Add FIXME.
1774
1775 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1776
1777         * win32/MANIFEST:
1778         * win32/common/config.h:
1779         * win32/vs6/gstreamer.dsw:
1780         * win32/vs6/libgstcoreelements.dsp:
1781         * win32/vs6/libgstelements.dsp:
1782           renamed core elements plugin
1783
1784 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1785
1786         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
1787         (get_candidates):
1788           do piece-wise major/minor comparison so 0.9 < 0.10
1789           also allow .exe extensions for tools
1790
1791 2005-12-02  Michael Smith  <msmith@fluendo.com>
1792
1793         * gst/gst.c:
1794           Escape a % to make gtkdoc happier; bug 322958.
1795
1796 === release 0.9.7 ===
1797
1798 2005-12-01   <thomas (at) apestaart (dot) org>
1799
1800         * configure.ac:
1801           releasing 0.9.7, "My Dog Has No Nose"
1802
1803 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1804
1805         * common/gst-xmlinspect.py:
1806         * configure.ac:
1807         * docs/libs/tmpl/gstdataprotocol.sgml:
1808         * docs/random/release:
1809         * po/af.po:
1810         * po/az.po:
1811         * po/bg.po:
1812         * po/ca.po:
1813         * po/cs.po:
1814         * po/de.po:
1815         * po/en_GB.po:
1816         * po/fr.po:
1817         * po/it.po:
1818         * po/nb.po:
1819         * po/nl.po:
1820         * po/ru.po:
1821         * po/sq.po:
1822         * po/sr.po:
1823         * po/sv.po:
1824         * po/tr.po:
1825         * po/uk.po:
1826         * po/vi.po:
1827         * win32/common/config.h:
1828         * win32/common/config.h.in:
1829         * win32/vs6/gst_inspect.dsp:
1830         * win32/vs6/gst_launch.dsp:
1831         * win32/vs6/libgstbase.dsp:
1832         * win32/vs6/libgstelements.dsp:
1833         * win32/vs6/libgstreamer.dsp:
1834         * win32/vs7/GStreamer.vcproj:
1835         * win32/vs7/gst-inspect.vcproj:
1836         * win32/vs7/gst-launch.vcproj:
1837         * win32/vs7/libgstbase.vcproj:
1838           bump GST_MAJORMINOR to 0.10
1839           reset libtool version
1840
1841 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1842
1843         * po/LINGUAS:
1844         * po/bg.po:
1845           Added Bulgarian translation by (Alexander Shopov)
1846
1847 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1848
1849         * tests/check/gst/gstplugin.c:
1850           fix test
1851
1852 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1853
1854         * common/gst-xmlinspect.py:
1855         * common/gtk-doc-plugins.mak:
1856         * configure.ac:
1857         * docs/Makefile.am:
1858         * docs/gst/Makefile.am:
1859         * docs/gst/gstreamer-docs.sgml:
1860         * docs/gst/gstreamer-sections.txt:
1861         * docs/gst/gstreamer.types:
1862         * docs/gst/gstreamer.types.in:
1863         * docs/plugins/Makefile.am:
1864         * docs/plugins/gstreamer-plugins-docs.sgml:
1865         * docs/plugins/gstreamer-plugins-sections.txt:
1866         * docs/plugins/gstreamer-plugins.types:
1867         * docs/plugins/inspect.stamp:
1868         * docs/plugins/inspect/plugin-coreelements.xml:
1869         * docs/plugins/inspect/plugin-coreindexers.xml:
1870         * docs/plugins/scanobj-build.stamp:
1871         * gstreamer.spec.in:
1872         * plugins/elements/Makefile.am:
1873         * plugins/elements/gstelements.c:
1874         * plugins/elements/gstfakesink.c:
1875         * plugins/elements/gstfakesrc.c:
1876         * plugins/elements/gstfilesink.c:
1877         * plugins/elements/gstfilesrc.c:
1878         * plugins/elements/gstqueue.c:
1879         * plugins/indexers/Makefile.am:
1880         * plugins/indexers/gstindexers.c:
1881           document core plugins in a separate document just like all the
1882           others
1883           rename these plugins to something starting with core
1884
1885 2005-12-01  Andy Wingo  <wingo@pobox.com>
1886
1887         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
1888         padding here before, but it missed the commit.
1889
1890 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1891
1892         * libs/gst/controller/gstinterpolation.c:
1893           whitespace prices have crashed, we should feel free to use some now
1894           use gst_guint64_to_gdouble
1895
1896 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1897
1898         * libs/gst/controller/gstcontroller.c:
1899         * libs/gst/controller/gsthelper.c:
1900         * libs/gst/controller/gstinterpolation.c:
1901         * libs/gst/controller/lib.c:
1902           wrap config.h include
1903
1904 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1905
1906         * docs/gst/gstreamer-sections.txt:
1907           update docs
1908
1909 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1910
1911         * plugins/elements/gstelements.c:
1912         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
1913         (gst_fd_sink__class_init), (gst_fd_sink__init),
1914         (gst_fd_sink__chain), (gst_fd_sink__set_property),
1915         (gst_fd_sink__get_property):
1916         * plugins/elements/gstfdsink.h:
1917         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
1918         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
1919         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
1920         (gst_fd_src_unlock), (gst_fd_src_set_property),
1921         (gst_fd_src_get_property), (gst_fd_src_create),
1922         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
1923         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
1924         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
1925         (gst_fd_src_uri_handler_init):
1926         * plugins/elements/gstfdsrc.h:
1927         * plugins/elements/gstqueue.c: (gst_queue_get_type):
1928           more anal cleanup
1929
1930 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1931
1932         * docs/gst/Makefile.am:
1933         * docs/gst/gstreamer.types.in:
1934         * gst/Makefile.am:
1935           fix the docs build
1936
1937 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1938
1939         * configure.ac:
1940         * gst/Makefile.am:
1941         * gst/gst.c:
1942         * gst/gstplugin.h:
1943         * gst/gstregistry.h:
1944         * tests/benchmarks/complexity.c:
1945         * tests/benchmarks/mass-elements.c:
1946         * tests/check/Makefile.am:
1947         * tools/Makefile.am:
1948         * tools/gst-inspect.c:
1949         * tools/gst-xmlinspect.c:
1950           various fixes to make
1951           --disable-nls --disable-registry --disable-loadsave
1952           --disable-parse --disable-gst-debug
1953           work and get the core .so down to 360444 bytes after stripping
1954
1955 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1956
1957         * Makefile.am:
1958         * configure.ac:
1959           descend into tests
1960         * docs/random/thomasvs/TODO:
1961         * tests/Makefile.am:
1962         * tests/README:
1963           add a README
1964
1965 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1966
1967         * win32/GStreamer.vcproj:
1968         * win32/MANIFEST:
1969         * win32/Makefile:
1970         * win32/Makefile.inspect:
1971         * win32/Makefile.launch:
1972         * win32/Makefile.register:
1973         * win32/README.txt:
1974         * win32/gst-inspect.vcproj:
1975         * win32/gst-launch.vcproj:
1976         * win32/gst-register.vcproj:
1977         * win32/gstelements.vcproj:
1978         * win32/gstgetbits.def:
1979         * win32/gstgetbits.vcproj:
1980         * win32/gstreamer-dbg.def:
1981         * win32/gstreamer.def:
1982         * win32/libgstbase.def:
1983         * win32/libgstbase.vcproj:
1984         * win32/link_oldruntime.c:
1985         * win32/mman.c:
1986         * win32/mman.h:
1987         * win32/mman.inl:
1988         * win32/msvc71.sln:
1989           move even more stuff, win32/ is nice and clean now
1990
1991 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1992
1993         * libs/gst/control/.cvsignore:
1994         * win32/MANIFEST:
1995         * win32/config.h:
1996         * win32/dirent.c:
1997         * win32/dirent.h:
1998         * win32/gstbytestream.def:
1999         * win32/gstbytestream.vcproj:
2000         * win32/gstconfig.h:
2001         * win32/gstenumtypes.c:
2002         * win32/gstenumtypes.h:
2003         * win32/gstoptimalscheduler.vcproj:
2004         * win32/gstversion.h:
2005         * win32/gtchar.h:
2006         * win32/testsuite/bins.vcproj:
2007         * win32/testsuite/bytestream.vcproj:
2008         * win32/testsuite/caps.vcproj:
2009         * win32/testsuite/cleanup.vcproj:
2010         * win32/testsuite/clock.vcproj:
2011         * win32/testsuite/debug.vcproj:
2012         * win32/testsuite/dlopen.vcproj:
2013         * win32/testsuite/dynparams.vcproj:
2014         * win32/testsuite/elements.vcproj:
2015         * win32/testsuite/ghostpads.vcproj:
2016         * win32/testsuite/indexers.vcproj:
2017         * win32/testsuite/negotiation.vcproj:
2018         * win32/testsuite/parse.vcproj:
2019         * win32/testsuite/plugin.vcproj:
2020         * win32/testsuite/refcounting.vcproj:
2021         * win32/testsuite/schedulers.vcproj:
2022         * win32/testsuite/states.vcproj:
2023         * win32/testsuite/tags.vcproj:
2024         * win32/testsuite/threads.vcproj:
2025           remove old win32 stuff that isn't maintained and should be
2026           reorganized
2027
2028 2005-11-30  Andy Wingo  <wingo@pobox.com>
2029
2030         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
2031         loading the gst.interfaces python module bork.
2032
2033         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
2034         available since GLib 2.2. Fixes #318031.
2035
2036 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2037
2038         * Makefile.am:
2039         * check/.cvsignore:
2040         * check/Makefile.am:
2041         * check/elements/.cvsignore:
2042         * check/elements/fakesrc.c:
2043         * check/elements/fdsrc.c:
2044         * check/elements/identity.c:
2045         * check/generic/.cvsignore:
2046         * check/generic/states.c:
2047         * check/gst-libs/.cvsignore:
2048         * check/gst-libs/controller.c:
2049         * check/gst-libs/gdp.c:
2050         * check/gst/.cvsignore:
2051         * check/gst/capslist.h:
2052         * check/gst/gst.c:
2053         * check/gst/gstbin.c:
2054         * check/gst/gstbuffer.c:
2055         * check/gst/gstbus.c:
2056         * check/gst/gstcaps.c:
2057         * check/gst/gstelement.c:
2058         * check/gst/gstevent.c:
2059         * check/gst/gstghostpad.c:
2060         * check/gst/gstiterator.c:
2061         * check/gst/gstmessage.c:
2062         * check/gst/gstminiobject.c:
2063         * check/gst/gstobject.c:
2064         * check/gst/gstpad.c:
2065         * check/gst/gstpipeline.c:
2066         * check/gst/gstplugin.c:
2067         * check/gst/gstsegment.c:
2068         * check/gst/gststructure.c:
2069         * check/gst/gstsystemclock.c:
2070         * check/gst/gsttag.c:
2071         * check/gst/gstutils.c:
2072         * check/gst/gstvalue.c:
2073         * check/net/.cvsignore:
2074         * check/net/gstnetclientclock.c:
2075         * check/net/gstnettimeprovider.c:
2076         * check/pipelines/.cvsignore:
2077         * check/pipelines/cleanup.c:
2078         * check/pipelines/simple_launch_lines.c:
2079         * check/pipelines/stress.c:
2080         * check/states/.cvsignore:
2081         * check/states/sinks.c:
2082         * configure.ac:
2083         * examples/Makefile.am:
2084         * examples/appreader/.cvsignore:
2085         * examples/appreader/Makefile.am:
2086         * examples/appreader/appreader.c:
2087         * examples/controller/.cvsignore:
2088         * examples/controller/Makefile.am:
2089         * examples/controller/audio-example.c:
2090         * examples/cutter/.cvsignore:
2091         * examples/cutter/Makefile.am:
2092         * examples/cutter/cutter.c:
2093         * examples/cutter/cutter.h:
2094         * examples/events/Makefile.am:
2095         * examples/events/seek.c:
2096         * examples/helloworld/.cvsignore:
2097         * examples/helloworld/Makefile.am:
2098         * examples/helloworld/helloworld.c:
2099         * examples/helloworld2/.cvsignore:
2100         * examples/helloworld2/Makefile.am:
2101         * examples/helloworld2/helloworld2.c:
2102         * examples/launch/.cvsignore:
2103         * examples/launch/Makefile.am:
2104         * examples/launch/mp3parselaunch.c:
2105         * examples/launch/mp3play:
2106         * examples/manual/.cvsignore:
2107         * examples/manual/Makefile.am:
2108         * examples/manual/extract.pl:
2109         * examples/metadata/Makefile.am:
2110         * examples/metadata/read-metadata.c:
2111         * examples/mixer/.cvsignore:
2112         * examples/mixer/Makefile.am:
2113         * examples/mixer/mixer.c:
2114         * examples/mixer/mixer.h:
2115         * examples/pingpong/.cvsignore:
2116         * examples/pingpong/Makefile.am:
2117         * examples/pingpong/pingpong.c:
2118         * examples/plugins/.cvsignore:
2119         * examples/plugins/Makefile.am:
2120         * examples/plugins/example.c:
2121         * examples/plugins/example.h:
2122         * examples/pwg/.cvsignore:
2123         * examples/pwg/Makefile.am:
2124         * examples/pwg/extract.pl:
2125         * examples/queue/.cvsignore:
2126         * examples/queue/Makefile.am:
2127         * examples/queue/queue.c:
2128         * examples/queue2/.cvsignore:
2129         * examples/queue2/Makefile.am:
2130         * examples/queue2/queue2.c:
2131         * examples/queue3/.cvsignore:
2132         * examples/queue3/Makefile.am:
2133         * examples/queue3/queue3.c:
2134         * examples/queue4/.cvsignore:
2135         * examples/queue4/Makefile.am:
2136         * examples/queue4/queue4.c:
2137         * examples/retag/.cvsignore:
2138         * examples/retag/Makefile.am:
2139         * examples/retag/retag.c:
2140         * examples/retag/transcode.c:
2141         * examples/thread/.cvsignore:
2142         * examples/thread/Makefile.am:
2143         * examples/thread/thread.c:
2144         * examples/typefind/.cvsignore:
2145         * examples/typefind/Makefile.am:
2146         * examples/typefind/typefind.c:
2147         * examples/xml/.cvsignore:
2148         * examples/xml/Makefile.am:
2149         * examples/xml/createxml.c:
2150         * examples/xml/runxml.c:
2151         * tests/Makefile.am:
2152         * tests/check/Makefile.am:
2153         * testsuite/.cvsignore:
2154         * testsuite/Makefile.am:
2155         * testsuite/Rules:
2156         * testsuite/caps/.cvsignore:
2157         * testsuite/caps/Makefile.am:
2158         * testsuite/caps/app_fixate.c:
2159         * testsuite/caps/audioscale.c:
2160         * testsuite/caps/caps.c:
2161         * testsuite/caps/caps.h:
2162         * testsuite/caps/caps_strings:
2163         * testsuite/caps/compatibility.c:
2164         * testsuite/caps/deserialize.c:
2165         * testsuite/caps/enumcaps.c:
2166         * testsuite/caps/eratosthenes.c:
2167         * testsuite/caps/filtercaps.c:
2168         * testsuite/caps/fixed.c:
2169         * testsuite/caps/fraction-convert.c:
2170         * testsuite/caps/fraction-multiply-and-zero.c:
2171         * testsuite/caps/intersect2.c:
2172         * testsuite/caps/intersection.c:
2173         * testsuite/caps/normalisation.c:
2174         * testsuite/caps/random.c:
2175         * testsuite/caps/renegotiate.c:
2176         * testsuite/caps/sets.c:
2177         * testsuite/caps/simplify.c:
2178         * testsuite/caps/string-conversions.c:
2179         * testsuite/caps/structure.c:
2180         * testsuite/caps/subtract.c:
2181         * testsuite/caps/union.c:
2182         * testsuite/debug/.cvsignore:
2183         * testsuite/debug/Makefile.am:
2184         * testsuite/debug/category.c:
2185         * testsuite/debug/commandline.c:
2186         * testsuite/debug/global.c:
2187         * testsuite/debug/output.c:
2188         * testsuite/debug/printf_extension.c:
2189         * testsuite/dlopen/.cvsignore:
2190         * testsuite/dlopen/Makefile.am:
2191         * testsuite/dlopen/dlopen_gst.c:
2192         * testsuite/dlopen/loadgst.c:
2193         * testsuite/elements/.cvsignore:
2194         * testsuite/elements/Makefile.am:
2195         * testsuite/elements/gst-inspect-check.in:
2196         * testsuite/elements/struct_i386.h:
2197         * testsuite/elements/struct_size.c:
2198         * testsuite/indexers/.cvsignore:
2199         * testsuite/indexers/Makefile.am:
2200         * testsuite/indexers/cache1.c:
2201         * testsuite/indexers/indexdump.c:
2202         * testsuite/parse/.cvsignore:
2203         * testsuite/parse/Makefile.am:
2204         * testsuite/parse/parse1.c:
2205         * testsuite/parse/parse2.c:
2206         * testsuite/plugin/.cvsignore:
2207         * testsuite/plugin/Makefile.am:
2208         * testsuite/plugin/README:
2209         * testsuite/plugin/dynamic.c:
2210         * testsuite/plugin/linked.c:
2211         * testsuite/plugin/loading.c:
2212         * testsuite/plugin/registry.c:
2213         * testsuite/plugin/static.c:
2214         * testsuite/plugin/static2.c:
2215         * testsuite/plugin/testplugin.c:
2216         * testsuite/plugin/testplugin2.c:
2217         * testsuite/plugin/testplugin2_s.c:
2218         * testsuite/plugin/testplugin_s.c:
2219         * testsuite/refcounting/.cvsignore:
2220         * testsuite/refcounting/Makefile.am:
2221         * testsuite/refcounting/bin.c:
2222         * testsuite/refcounting/element.c:
2223         * testsuite/refcounting/element_pad.c:
2224         * testsuite/refcounting/mainloop.c:
2225         * testsuite/refcounting/mem.c:
2226         * testsuite/refcounting/mem.h:
2227         * testsuite/refcounting/object.c:
2228         * testsuite/refcounting/pad.c:
2229         * testsuite/refcounting/sched.c:
2230         * testsuite/refcounting/thread.c:
2231         * testsuite/states/.cvsignore:
2232         * testsuite/states/Makefile.am:
2233         * testsuite/states/bin.c:
2234         * testsuite/states/locked.c:
2235         * testsuite/states/parent.c:
2236         * testsuite/threads/.cvsignore:
2237         * testsuite/threads/159566.c:
2238         * testsuite/threads/159852.c:
2239         * testsuite/threads/Makefile.am:
2240         * testsuite/threads/queue.c:
2241         * testsuite/threads/signals.c:
2242         * testsuite/threads/staticrec.c:
2243         * testsuite/threads/thread.c:
2244         * testsuite/threads/threadb.c:
2245         * testsuite/threads/threadc.c:
2246         * testsuite/threads/threadd.c:
2247         * testsuite/threads/threade.c:
2248         * testsuite/threads/threadf.c:
2249         * testsuite/threads/threadg.c:
2250         * testsuite/threads/threadh.c:
2251         * testsuite/threads/threadi.c:
2252           move all of these under tests
2253
2254 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2255
2256         * configure.ac:
2257         * tests/Makefile.am:
2258           fix distcheck
2259
2260 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2261
2262         * docs/gst/gstreamer-sections.txt:
2263         * tests/sched/.cvsignore:
2264         * tests/sched/Makefile.am:
2265         * tests/sched/cases/(fs-fs).xml:
2266         * tests/sched/cases/(fs-i-fs).xml:
2267         * tests/sched/cases/(fs-i-i-fs).xml:
2268         * tests/sched/cases/(fs-i-q[i-fs]).xml:
2269         * tests/sched/dynamic-pipeline.c:
2270         * tests/sched/interrupt1.c:
2271         * tests/sched/interrupt2.c:
2272         * tests/sched/interrupt3.c:
2273         * tests/sched/runtestcases:
2274         * tests/sched/runxml.c:
2275         * tests/sched/sched-stress.c:
2276         * tests/sched/sort.c:
2277         * tests/sched/testcases:
2278         * tests/sched/testcases1.tc:
2279         * tests/seeking/.cvsignore:
2280         * tests/seeking/Makefile.am:
2281         * tests/seeking/seeking1.c:
2282         * tests/threadstate/.cvsignore:
2283         * tests/threadstate/Makefile.am:
2284         * tests/threadstate/test1.c:
2285         * tests/threadstate/test2.c:
2286         * tests/threadstate/threadstate1.c:
2287         * tests/threadstate/threadstate2.c:
2288         * tests/threadstate/threadstate3.c:
2289         * tests/threadstate/threadstate4.c:
2290         * tests/threadstate/threadstate5.c:
2291           remove obsolete tests
2292         * configure.ac:
2293         * tests/bench-complexity.scm:
2294         * tests/bench-mass_elements.scm:
2295         * tests/complexity.c:
2296         * tests/complexity.gnuplot:
2297         * tests/instantiate/.cvsignore:
2298         * tests/instantiate/Makefile.am:
2299         * tests/instantiate/caps.c:
2300         * tests/mass_elements.c:
2301         * tests/network-clock-utils.scm:
2302         * tests/network-clock.scm:
2303         * tests/plot-data:
2304         First pass at cleaning up tests/ dir before moving the rest
2305         Combined with CVS surgery
2306
2307 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2308
2309         * po/POTFILES.in:
2310           queue has moved, update
2311
2312 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2313
2314         * docs/gst/gstreamer-sections.txt:
2315           remove double entries from the docs
2316         * gst/gst_private.h:
2317         * gst/gstinfo.c: (_gst_debug_init):
2318           remove the THREAD debug category
2319         * gst/Makefile.am:
2320         * gst/gstqueue.c:
2321         * gst/gstqueue.h:
2322         * docs/gst/gstreamer.types:
2323         * plugins/elements/gstqueue.c: (gst_queue_get_type),
2324         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
2325           completely move queue and fix up debugging categories
2326
2327 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2328
2329         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2330           make initialization portable, using LL is not
2331
2332 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2333
2334         * win32/common/gstconfig.h:
2335           add large padding
2336
2337 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2338
2339         * win32/common/libgstreamer.def:
2340           rename symbols; sort base section
2341
2342 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2343
2344         * gst/gstclock.c: (do_linear_regression):
2345           remove crack non-portable handrolled DEBUG macro
2346
2347 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2348
2349         * docs/random/release:
2350           update notes
2351         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2352         (gst_object_flags_get_type), (register_gst_bin_flags),
2353         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2354         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2355         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2356         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
2357         (gst_caps_flags_get_type), (register_gst_clock_return),
2358         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2359         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2360         (gst_clock_flags_get_type), (register_gst_state),
2361         (gst_state_get_type), (register_gst_state_change_return),
2362         (gst_state_change_return_get_type), (register_gst_state_change),
2363         (gst_state_change_get_type), (register_gst_element_flags),
2364         (gst_element_flags_get_type), (register_gst_core_error),
2365         (gst_core_error_get_type), (register_gst_library_error),
2366         (gst_library_error_get_type), (register_gst_resource_error),
2367         (gst_resource_error_get_type), (register_gst_stream_error),
2368         (gst_stream_error_get_type), (register_gst_event_type_flags),
2369         (gst_event_type_flags_get_type), (register_gst_event_type),
2370         (gst_event_type_get_type), (register_gst_seek_type),
2371         (gst_seek_type_get_type), (register_gst_seek_flags),
2372         (gst_seek_flags_get_type), (register_gst_format),
2373         (gst_format_get_type), (register_gst_index_certainty),
2374         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2375         (gst_index_entry_type_get_type),
2376         (register_gst_index_lookup_method),
2377         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2378         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2379         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2380         (gst_index_flags_get_type), (register_gst_debug_level),
2381         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2382         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2383         (gst_iterator_result_get_type), (register_gst_iterator_item),
2384         (gst_iterator_item_get_type), (register_gst_message_type),
2385         (gst_message_type_get_type), (register_gst_mini_object_flags),
2386         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2387         (gst_pad_link_return_get_type), (register_gst_flow_return),
2388         (gst_flow_return_get_type), (register_gst_activate_mode),
2389         (gst_activate_mode_get_type), (register_gst_pad_direction),
2390         (gst_pad_direction_get_type), (register_gst_pad_flags),
2391         (gst_pad_flags_get_type), (register_gst_pad_presence),
2392         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2393         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2394         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2395         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2396         (gst_plugin_flags_get_type), (register_gst_rank),
2397         (gst_rank_get_type), (register_gst_query_type),
2398         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2399         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2400         (gst_tag_flag_get_type), (register_gst_task_state),
2401         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2402         (gst_alloc_trace_flags_get_type),
2403         (register_gst_type_find_probability),
2404         (gst_type_find_probability_get_type), (register_gst_uri_type),
2405         (gst_uri_type_get_type), (register_gst_parse_error),
2406         (gst_parse_error_get_type):
2407         * win32/common/gstenumtypes.h:
2408         * win32/common/gstversion.h:
2409           update visual studio generated files
2410
2411 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2412
2413         * win32/vs6/libgstbase.dsp:
2414         * win32/vs6/libgstelements.dsp:
2415           update project files for new locations
2416
2417 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2418
2419         * Makefile.am:
2420           remove some files
2421         * README:
2422           reinstate and update
2423         * DEVEL:
2424         * REQUIREMENTS:
2425           removed
2426         * LICENSE:
2427         * docs/random/LICENSE:
2428           moved to random
2429
2430 2005-11-30  Edward Hervey  <edward@fluendo.com>
2431
2432         * gst/gsttypefind.c: (gst_type_find_register):
2433         * gst/gsttypefind.h:
2434         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
2435         (gst_type_find_factory_dispose):
2436         * gst/gsttypefindfactory.h:
2437         Fix memory leak in GstTypeFindFactory.
2438
2439 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2440
2441         * gst/gst.c:
2442         * plugins/elements/Makefile.am:
2443         * plugins/elements/gstelements.c:
2444         * plugins/elements/gstqueue.c:
2445           move queue from core to the elements plugin
2446
2447 2005-11-29  Andy Wingo  <wingo@pobox.com>
2448
2449         * libs/gst/base/gstbasetransform.h: 
2450         * libs/gst/base/gstbasesrc.h: 
2451         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
2452
2453         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
2454         of pointers by which to pad very extensible base classes (like the
2455         ones in libs/gst/base).
2456
2457 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2458
2459         * docs/gst/gstreamer-docs.sgml:
2460         * docs/gst/gstreamer-sections.txt:
2461         * docs/libs/gstreamer-libs-docs.sgml:
2462         * docs/libs/gstreamer-libs-sections.txt:
2463           moving documentation from core to lib
2464
2465 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2466
2467         * check/Makefile.am:
2468         * configure.ac:
2469         * docs/gst/Makefile.am:
2470         * gst/Makefile.am:
2471         * gst/base/.cvsignore:
2472         * gst/base/Makefile.am:
2473         * gst/base/README:
2474         * gst/base/gstadapter.c:
2475         * gst/base/gstadapter.h:
2476         * gst/base/gstbasesink.c:
2477         * gst/base/gstbasesink.h:
2478         * gst/base/gstbasesrc.c:
2479         * gst/base/gstbasesrc.h:
2480         * gst/base/gstbasetransform.c:
2481         * gst/base/gstbasetransform.h:
2482         * gst/base/gstcollectpads.c:
2483         * gst/base/gstcollectpads.h:
2484         * gst/base/gstpushsrc.c:
2485         * gst/base/gstpushsrc.h:
2486         * gst/base/gsttypefindhelper.c:
2487         * gst/base/gsttypefindhelper.h:
2488         * gst/check/Makefile.am:
2489         * gst/check/gstcheck.c:
2490         * gst/check/gstcheck.h:
2491         * gst/net/Makefile.am:
2492         * gst/net/gstnet.h:
2493         * gst/net/gstnetclientclock.c:
2494         * gst/net/gstnetclientclock.h:
2495         * gst/net/gstnettimepacket.c:
2496         * gst/net/gstnettimepacket.h:
2497         * gst/net/gstnettimeprovider.c:
2498         * gst/net/gstnettimeprovider.h:
2499         * libs/gst/Makefile.am:
2500         * libs/gst/base/Makefile.am:
2501         * libs/gst/base/gstbasetransform.c:
2502         * libs/gst/check/Makefile.am:
2503         * plugins/elements/Makefile.am:
2504         * po/POTFILES.in:
2505           CVS surgery + support to move base, check, and net out of gst
2506           and into libs/gst
2507
2508 2005-11-29  Andy Wingo  <wingo@pobox.com>
2509
2510         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
2511
2512         * gst/gststructure.h (struct _GstStructure): Only one pointer of
2513         padding.
2514
2515         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
2516
2517         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
2518
2519         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
2520
2521         * gst/gstobject.h: (struct _GstObject): Only one pointer of
2522         padding; reduces object size by about 30%. We don't expect
2523         anything else to go into gstobject.
2524
2525         * gst/gstminiobject.h (struct _GstMiniObject)
2526         (struct _GstMiniObjectClass): Only one pointer of padding; the
2527         payload is only a pointer and two ints anyway. For the class there
2528         are only two methods as well.
2529         
2530         * gst/gstelement.h (struct _GstElementClass): Removed
2531         the state_changed signal callback, it is not used.
2532
2533 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2534
2535         * docs/gst/gstreamer.types:
2536           fix includes, though they are a little dinky
2537
2538 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2539
2540         * check/Makefile.am:
2541           look in the right place for elements, a lot more chance of
2542           success
2543         * gst/Makefile.am:
2544           remove indexers and elements subdirs
2545         * plugins/Makefile.am:
2546           make indexers conditional
2547
2548 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2549
2550         * Makefile.am:
2551         * configure.ac:
2552         * plugins/elements/Makefile.am:
2553         * plugins/elements/gstcapsfilter.c:
2554         * plugins/elements/gstfilesink.c:
2555         * plugins/elements/gstfilesrc.c:
2556         * plugins/elements/gstidentity.c:
2557         * plugins/indexers/Makefile.am:
2558           do CVS surgery and related build fixery to move elements
2559           and indexers in a new gstreamer/plugins directory, out of the
2560           gst/ directory
2561
2562 2005-11-29  Andy Wingo  <wingo@pobox.com>
2563
2564         * check/Makefile.am:
2565         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2566         * pkgconfig/gstreamer-net.pc.in:
2567         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
2568         #322257.
2569
2570 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2571
2572         * tools/Makefile.am:
2573         * tools/gst-complete.1.in:
2574         * tools/gst-complete.c:
2575         * tools/gst-compprep.1.in:
2576         * tools/gst-compprep.c:
2577           removing -compprep and -complete
2578
2579 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2580
2581         * gst/gstevent.c: (gst_event_new_new_segment),
2582         (gst_event_parse_new_segment):
2583         * gst/gstevent.h:
2584           fix #320529 - clean up new_segment API and structure.
2585           Let's hope everyone was using the methods, and not the structure.
2586
2587 2005-11-29  Edward Hervey  <edward@fluendo.com>
2588
2589         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2590         (gst_base_sink_event), (gst_base_sink_do_sync),
2591         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
2592         Properly handle non GST_FORMAT_TIME segment
2593         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2594         Properly handle non GST_FORMAT_TIME segment
2595         * gst/gstsegment.c:
2596         This function is valid if the accumulator is 0 and the format
2597         is different from the requested format.
2598         
2599 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2600
2601         * docs/gst/gstreamer-sections.txt:
2602         Add gst_query_new_seeking and gst_query_parse_seeking to the
2603         docs.
2604
2605 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2606
2607         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
2608           Treat a pad alloc with new caps the same as if we were not
2609           negotiated, in order to allow a changing upstream output
2610           to produce a new format of data.
2611
2612 2005-11-29  Edward Hervey  <edward@fluendo.com>
2613
2614         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2615         (gst_base_transform_event), (gst_base_transform_eventfunc):
2616         The event virtual method is now properly implemented, with a default
2617         handler
2618         Sub classes should call the parent_class event method. They should
2619         return FALSE if they had a problem handling the given event, or don't
2620         want GstBaseTransform to send that even downstream
2621         * gst/elements/gstidentity.c: (gst_identity_class_init),
2622         (gst_identity_init), (gst_identity_event),
2623         (gst_identity_transform_ip), (gst_identity_set_property),
2624         (gst_identity_get_property):
2625         * gst/elements/gstidentity.h:
2626         Added the single-segment boolean property.
2627         If set to TRUE, it will output a single segment of data, starting from
2628         0, will eat up all incoming newsegment, and modify the timestamp of the
2629         buffers accordingly
2630
2631 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
2632
2633         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
2634           Don't ref NULL target pad (#322751). Improve docs.
2635
2636 2005-11-29  Michael Smith  <msmith@fluendo.com>
2637
2638         * gst/gstregistryxml.c: (load_plugin):
2639           Don't crash if we failed to load a feature from a plugin. 
2640
2641 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2642
2643         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
2644         (GST_START_TEST):
2645           use more check API and less GLib API
2646
2647 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2648
2649         * Makefile.am:
2650           don't run checks if we don't have check
2651         * common/check.mak:
2652           remove the registry when running make torture
2653         * docs/gst/gstreamer-sections.txt:
2654           remove second multiply
2655         * gst/gstqueue.c: (gst_queue_loop):
2656           fix a compile warning when disabling debug
2657
2658 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2659
2660         * gst/gstinfo.h:
2661         Hey! Let's print the pad name if the pointer != NULL instead
2662         of when it == NULL :-)
2663
2664 2005-11-28  Wim Taymans  <wim@fluendo.com>
2665
2666         * check/gst/gstutils.c: (GST_START_TEST):
2667         Updated check, add some scaling accuracy checking code.
2668
2669         * gst/gstutils.c: (gst_util_div128_64),
2670         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
2671         (gst_util_uint64_scale_int):
2672         Fix 6 times faster division code. Optimize for common 
2673         1/1 and less common X/1 cases.
2674
2675 2005-11-28  Wim Taymans  <wim@fluendo.com>
2676
2677         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2678         More checks.
2679
2680         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
2681         (do_linear_regression), (gst_clock_add_observation):
2682         Cleanups.
2683         Release lock when the clock cannot be slaved.
2684         Catch the case where the regression returned an invalid denominator.
2685
2686         * gst/gstutils.c: (gst_util_div128_64_iterate),
2687         (gst_util_div128_64), (gst_util_uint64_scale_int64),
2688         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
2689         Add protentially more performant non-iterative 128/64 divide function
2690         that unfortunatly does not work yet.
2691         Shortcut the trivial 0/X = 0 case.
2692         Remove the warnings on overflow.
2693
2694 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2695
2696         * gst/gstplugin.c: (gst_plugin_register_func):
2697           everything causing a plugin not to load should be at least a WARNING
2698
2699 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
2700
2701         * docs/random/ensonic/dparams.txt:
2702           some TODOs for the next dev cycle
2703         * libs/gst/controller/gstcontroller.c:
2704         (gst_controlled_property_set_interpolation_mode),
2705         (gst_controlled_property_new):
2706         * libs/gst/controller/gstcontroller.h:
2707           use base type to assign acccessor functions
2708
2709 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2710
2711         * check/Makefile.am:
2712         Oops, that should have been top_srcdir
2713
2714 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2715
2716         * check/Makefile.am:
2717         * check/elements/fdsrc.c: (GST_START_TEST):
2718         Use a cmdline define to specify the location of a file to use for
2719         testing, to avoid breaking distcheck.
2720
2721 2005-11-28  Andy Wingo  <wingo@pobox.com>
2722
2723         * gst/gstpad.c (fixate_value): Use array functions for arrays.
2724
2725 2005-11-28  Edward Hervey  <edward@fluendo.com>
2726
2727         * tools/gst-launch.c: (main):
2728         Clarify the output strings, makes it easier to translate.
2729         Fixes #322626
2730
2731 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2732
2733         * gst/Makefile.am:
2734           don't try and build net if we don't even have <sys/socket.h>
2735
2736 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
2737
2738         * check/Makefile.am:
2739         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
2740         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
2741           Add tests for fdsrc seekability
2742
2743         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
2744         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
2745         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
2746         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
2747         * gst/elements/gstfdsrc.h:
2748           fdsrc should not be a 'live' source.
2749           Implement seeking on seekable fd's.
2750
2751         * gst/gstquery.c: (gst_query_new_seeking),
2752         (gst_query_parse_seeking):
2753         * gst/gstquery.h:
2754           Implement SEEKING query functions: 
2755             *_new_seeking and *_parse_seeking
2756
2757 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
2758
2759         * gst/gstelement.c: (gst_element_dispose):
2760           don't loop forever
2761
2762         * gst/gstiterator.c:
2763         * gst/gststructure.c:
2764           doc fixes
2765
2766         * libs/gst/controller/gstcontroller.c:
2767         (gst_controlled_property_set_interpolation_mode):
2768         * libs/gst/controller/gstcontroller.h:
2769         * libs/gst/controller/gstinterpolation.c:
2770         (interpolate_none_get_enum_value_array):
2771           support controlling enums
2772
2773 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
2774
2775         * gst/gstvalue.c:
2776           Improve documentation for gst_value_union().
2777
2778         * gst/gstvalue.h:
2779           Change return value for union, intersect and subtract functions
2780           from gint to gboolean.
2781
2782 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
2783
2784         * gst/gstvalue.c: (gst_value_serialize_any_list),
2785         (gst_value_transform_any_list_string),
2786         (gst_value_deserialize_list), (gst_value_deserialize_array),
2787         (gst_value_set_int_range), (gst_value_deserialize_int_range),
2788         (gst_value_set_double_range), (gst_value_deserialize_double_range),
2789         (gst_value_set_fraction_range_full),
2790         (gst_value_deserialize_fraction_range),
2791         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
2792         (gst_value_deserialize_boolean),
2793         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
2794         (gst_value_serialize_float), (gst_value_deserialize_float),
2795         (gst_string_wrap), (gst_value_deserialize_string),
2796         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
2797         (gst_value_union_int_range_int_range),
2798         (gst_value_intersect_int_range_int_range),
2799         (gst_value_intersect_double_range_double_range),
2800         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
2801         (gst_value_subtract_int_range_int_range),
2802         (gst_value_subtract_double_double_range),
2803         (gst_value_subtract_double_range_double_range),
2804         (gst_value_deserialize_fraction):
2805         * gst/gstvalue.h:
2806           Use gint, gdouble and gchar in our API instead of int, double and
2807           char (and make usage in gstvalue.c more consistent).
2808
2809 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2810
2811         * check/Makefile.am:
2812         * libs/gst/controller/Makefile.am:
2813         * libs/gst/dataprotocol/Makefile.am:
2814           fix up Makefile.am and remove GST_ENABLE_NEW
2815
2816 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2817
2818         * configure.ac:
2819         * gst/Makefile.am:
2820         * gst/base/Makefile.am:
2821         * gst/check/Makefile.am:
2822         * gst/elements/Makefile.am:
2823         * gst/net/Makefile.am:
2824           update LDFLAGS use some more
2825
2826 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2827
2828         * common/m4/gst-doc.m4:
2829           Fixes #312589
2830
2831 2005-11-26  Edward Hervey  <edward@fluendo.com>
2832
2833         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2834         This shouldn't issue a g_warning since it returns NULL if it
2835         couldn't find the plugin, and all functions using this behave
2836         properly on a NULL return. Switching to a GST_WARNING.
2837
2838 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
2839
2840         * gst/gstbin.c: (gst_bin_handle_message_func):
2841         Don't leak clock messages.
2842
2843 2005-11-25  Wim Taymans  <wim@fluendo.com>
2844
2845         * gst/gstutils.c: (gst_util_uint64_scale_int64),
2846         (gst_util_uint64_scale_int):
2847         Optimisations, remove unneeded vars.
2848
2849 2005-11-25  Wim Taymans  <wim@fluendo.com>
2850
2851         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2852         Added more checks for the high precision uint64 cases.
2853
2854         * gst/gstutils.c: (gst_util_uint64_scale_int64),
2855         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
2856         Implement high precision (guint64 * guint64) / guint64.
2857
2858 2005-11-24  Wim Taymans  <wim@fluendo.com>
2859
2860         * gst/base/gstbasesrc.c: (gst_base_src_query):
2861         Fix wrong percentage query.
2862
2863         * gst/gstutils.c: (gst_util_uint64_scale),
2864         (gst_util_uint64_scale_int):
2865         Add some more common cases that can be handled 
2866         efficiently to _scale.
2867
2868 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2869
2870         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
2871         (gst_mini_object_suite):
2872           don't use check calls from threads; check probably isn't
2873           threadsafe and using a lock to make it threadsafe would
2874           defeat the purpose of this check
2875         * gst/check/gstcheck.c:
2876         * gst/check/gstcheck.h:
2877           use GST_DEBUG some more
2878
2879 2005-11-24  Wim Taymans  <wim@fluendo.com>
2880
2881         * gst/gstutils.c: (gst_util_uint64_scale),
2882         (gst_util_uint64_scale_int):
2883         Chain trivial case to _scale_int.
2884
2885 2005-11-24  Wim Taymans  <wim@fluendo.com>
2886
2887         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2888         Added test for scaling.
2889
2890         * gst/gstclock.h:
2891         Small doc fix.
2892
2893         * gst/gstutils.c: (gst_util_uint64_scale_int):
2894         Implemented high precision scaling code.
2895
2896 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
2897
2898         * gst/gstinfo.h:
2899           do not crash on pad==NULL
2900
2901 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2902
2903         Patch by: Stefan Kost
2904
2905         * common/gtk-doc.mak:
2906         * docs/gst/Makefile.am:
2907         * docs/libs/Makefile.am:
2908           Fix distcheck issues for the libraries docs build
2909           Closes #319599.
2910
2911 2005-11-24  Michael Smith <msmith@fluendo.com>
2912
2913         * docs/manual/basics-helloworld.xml:
2914           Fix bug #315027: memory leak in example code in docs.
2915
2916 2005-11-24  Michael Smith <msmith@fluendo.com>
2917
2918         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2919           Unlock the PREROLL_LOCK in a failure case.
2920
2921 2005-11-24  Wim Taymans  <wim@fluendo.com>
2922
2923         * docs/gst/gstreamer-sections.txt:
2924         * gst/base/gstadapter.h:
2925         * gst/base/gstbasesink.h:
2926         * gst/base/gstbasesrc.h:
2927         * gst/base/gstbasetransform.h:
2928         * gst/base/gstpushsrc.h:
2929         * gst/elements/gstfakesink.h:
2930         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
2931         * gst/elements/gstfakesrc.h:
2932         * gst/elements/gstfilesink.h:
2933         * gst/elements/gstfilesrc.h:
2934         * gst/gst.c:
2935         * gst/gstbin.c:
2936         * gst/gstbuffer.c: (_gst_buffer_copy):
2937         * gst/gstbus.h:
2938         * gst/gstcaps.c:
2939         * gst/gstchildproxy.c:
2940         * gst/gstclock.c:
2941         * gst/gstelement.c:
2942         * gst/gstelementfactory.c:
2943         * gst/gstelementfactory.h:
2944         * gst/gstevent.c:
2945         * gst/gstghostpad.h:
2946         * gst/gstindex.h:
2947         * gst/gstinterface.h:
2948         * gst/gstminiobject.c:
2949         * gst/gstminiobject.h:
2950         * gst/gstpad.c:
2951         * gst/gstpad.h:
2952         * gst/gstpadtemplate.h:
2953         * gst/gstpipeline.h:
2954         * gst/gstpluginfeature.h:
2955         * gst/gstquery.h:
2956         * gst/gstqueue.h:
2957         * gst/gsttaglist.c:
2958         * gst/gsttaglist.h:
2959         * gst/gsttagsetter.c:
2960         * gst/gsttagsetter.h:
2961         * gst/gsttrace.c:
2962         * gst/gsttrace.h:
2963         * gst/gsttypefind.h:
2964         * gst/gsturi.h:
2965         * gst/gstvalue.c:
2966         * gst/net/gstnetclientclock.c:
2967         * gst/net/gstnetclientclock.h:
2968         * gst/net/gstnettimepacket.c:
2969         * gst/net/gstnettimeprovider.c:
2970         * gst/net/gstnettimeprovider.h:
2971         Doc fixes.
2972
2973 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2974
2975         * configure.ac: back to HEAD
2976
2977 === release 0.9.6 ===
2978
2979 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
2980
2981         * configure.ac:
2982           releasing 0.9.6, "Always On Time"
2983
2984 2005-11-23  Wim Taymans  <wim@fluendo.com>
2985
2986         * docs/gst/gstreamer-sections.txt:
2987         * gst/glib-compat.c:
2988         * gst/gsttagsetter.c:
2989         * gst/gstvalue.c:
2990         * gst/net/gstnetclientclock.c:
2991         * gst/net/gstnettimepacket.h:
2992         Doc updates.
2993
2994 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2995
2996         * docs/faq/using.xml:
2997         * docs/libs/tmpl/gstcontrol.sgml:
2998         * docs/manual/advanced-dparams.xml:
2999         * docs/manual/appendix-checklist.xml:
3000         * docs/manual/basics-elements.xml:
3001         * docs/pwg/other-source.xml:
3002         * docs/random/moving-plugins:
3003         * gst/gstpad.c:
3004         * tools/gst-launch.1.in:
3005           remove mentions of sinesrc
3006
3007 2005-11-23  Michael Smith <msmith@fluendo.com>
3008
3009         * docs/gst/gstreamer-sections.txt:
3010           Update for new API and API changes.
3011         * gst/gstobject.h:
3012           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
3013         * gst/gstvalue.c:
3014           Documentation typo fix.
3015         * gst/net/gstnettimepacket.c:
3016           Documentation fixes for arguments.
3017
3018 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
3019
3020         * gst/gststructure.c: (gst_structure_get_fraction),
3021         (gst_structure_parse_value),
3022         (gst_structure_fixate_field_nearest_fraction):
3023         * gst/gststructure.h:
3024         * gst/gstutils.c: (gst_util_uint64_scale_int):
3025         * gst/gstutils.h:
3026         * scripts/update-funcnames:
3027         API Changes. 
3028         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
3029         Make gst_structure_fixate_field_nearest_fraction take a numerator
3030         and denominator argument instead of a GValue
3031         add gst_structure_get_fraction helper function.
3032
3033 2005-11-23  Wim Taymans  <wim@fluendo.com>
3034
3035         * docs/design/part-TODO.txt:
3036         Update TODO.
3037
3038         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3039         * gst/net/gstnetclientclock.h:
3040         Use parent fields for timeout and window_size.
3041
3042 2005-11-23  Andy Wingo  <wingo@pobox.com>
3043
3044         * check/net/gstnetclientclock.c (test_functioning): Adjust to
3045         rate_num/rate_denom change.
3046
3047         * gst/net/gstnetclientclock.c
3048         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
3049         OBJECT_LOCK. Don't call add_observation with the lock.
3050
3051         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
3052         fraction.
3053         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
3054         rate fraction.
3055         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
3056         deal with rate as a fraction whose numerator and denominator are
3057         GstClockTime values.
3058         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
3059         master; the other fields are protected by the SLAVE_LOCK.
3060         (do_linear_regression): Note that this must be called with the
3061         SLAVE_LOCK.
3062         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
3063         OBJECT_LOCK. Call set_calibration instead of touching the
3064         variables directly.
3065         (gst_clock_set_property, gst_clock_get_property): Protect
3066         master/slave parameters with the SLAVE_LOCK.
3067
3068         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
3069         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
3070         note that all of the instance variables that add_observation and
3071         the set_master functions use are protected by that lock and not
3072         the OBJECT_LOCK.
3073         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
3074
3075         * gst/gstclock.c (gst_clock_add_observation): No longer requires
3076         the caller to take the object lock.
3077
3078 2005-11-23  Wim Taymans  <wim@fluendo.com>
3079
3080         * gst/gsterror.c: (_gst_core_errors_init):
3081         * gst/gsterror.h:
3082         Add error for clock stuff.
3083
3084         * gst/gstpipeline.c: (gst_pipeline_change_state),
3085         (gst_pipeline_set_clock):
3086         Post clock error when clock cannot be used in a pipeline.
3087
3088 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
3089
3090         * docs/gst/gstreamer-sections.txt:
3091           make two symbols from gstinfo private for the docs
3092         * gst/base/gstcollectpads.h:
3093         * gst/gstutils.c:
3094           fix doc typos, update docs
3095
3096 2005-11-22  Wim Taymans  <wim@fluendo.com>
3097
3098         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
3099         (gst_base_sink_wait), (gst_base_sink_do_sync),
3100         (gst_base_sink_handle_event):
3101         * gst/base/gstbasesink.h:
3102         No need to store the clock, the parent element class already
3103         has it.
3104
3105         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
3106         Updates for clock_set returning a gboolean
3107
3108         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
3109         (gst_clock_id_wait_async), (gst_clock_class_init),
3110         (gst_clock_init), (gst_clock_finalize),
3111         (gst_clock_get_internal_time), (gst_clock_get_time),
3112         (gst_clock_slave_callback), (gst_clock_set_master),
3113         (gst_clock_get_master), (do_linear_regression),
3114         (gst_clock_add_observation), (gst_clock_set_property),
3115         (gst_clock_get_property):
3116         * gst/gstclock.h:
3117         Implement master/slave. When setting a clock as a slave, a
3118         periodic timeout is scheduled to sample master and slave times.
3119         Then the slave clock is recalibrated to match offset and rate
3120         of the master clock.
3121         Update logging a bit.
3122         Add flag so that a clock can state that is cannot be slaved to
3123         another clock.
3124
3125         * gst/gstelement.c: (gst_element_set_clock):
3126         * gst/gstelement.h:
3127         The set clock returns a gboolean for when an element cannot
3128         deal with the selected clock in the pipeline. 
3129
3130         * gst/gstpipeline.c: (gst_pipeline_change_state),
3131         (gst_pipeline_set_clock):
3132         * gst/gstpipeline.h:
3133         Handle the case where the selected clock cannot be set on
3134         the pipeline.
3135
3136         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
3137         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
3138         (gst_net_client_clock_set_property),
3139         (gst_net_client_clock_get_property),
3140         (gst_net_client_clock_observe_times):
3141         * gst/net/gstnetclientclock.h:
3142         Use regression code in GstClock parent, remove duplicated
3143         functionality.
3144
3145 2005-11-22  Michael Smith <msmith@fluendo.com>
3146
3147         * gst/gstutils.c: (gst_util_clock_time_scale):
3148         * gst/gstutils.h:
3149         * docs/gst/gstreamer-sections.txt:
3150           Rename method to have extra underscore.
3151
3152 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3153
3154         * gst/elements/Makefile.am:
3155         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
3156         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
3157         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
3158         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
3159         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
3160         * gst/elements/gstfakesrc.h:
3161         * gst/gstqueue.c: (queue_leaky_get_type):
3162           correctly fix GEnumValues so that nick is the short lowercase
3163           dashed tag
3164         * tools/gst-inspect.c: (print_element_properties_info):
3165           also show the nick, since it's useful to use from parse_launch
3166           syntax
3167           Fixes #322139
3168
3169 2005-11-22  Michael Smith <msmith@fluendo.com>
3170
3171         * gst/gstutils.c: (gst_util_clocktime_scale):
3172         * gst/gstutils.h:
3173         * docs/gst/gstreamer-sections.txt:
3174           Add util method for scaling a clocktime by a fraction. Useful 
3175           implementation is left as an exercise for the reader.
3176
3177 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3178
3179         * gst/gstvalue.c: (gst_value_collect_fraction_range):
3180         If needed, allocate storage in the destination value during
3181         collection.
3182
3183 2005-11-22  Edward Hervey  <edward@fluendo.com>
3184
3185         * docs/gst/gstreamer-sections.txt:
3186         * gst/Makefile.am:
3187         * gst/gst.h:
3188         * gst/gsturitype.c:
3189         * gst/gsturitype.h:
3190         * gst/gstutils.c: (gst_util_set_object_arg):
3191         * tools/gst-compprep.c: (main):
3192         * tools/gst-inspect.c: (print_element_properties_info):
3193         Removed GstURI, closes bug #321061
3194
3195 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3196
3197         * check/gst/gststructure.c: (GST_START_TEST):
3198         * gst/gststructure.c: (gst_structure_parse_value):
3199           Oops, broke automatic string type parsing.
3200           Add a test to catch it in future.
3201
3202 2005-11-22  Andy Wingo  <wingo@pobox.com>
3203
3204         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
3205         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
3206         Actually rename the function implementations. Grr.
3207
3208 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3209
3210         * check/gst/capslist.h:
3211           Comment test cases
3212         * check/gst/gststructure.c: (GST_START_TEST),
3213         (gst_structure_suite):
3214           Test automatic value type detection in gst_structure_from_string.
3215         * gst/gststructure.c: (gst_structure_parse_value):
3216           Add fraction as a type we try and guess automatically in
3217           caps/structure strings.
3218
3219 2005-11-22  Andy Wingo  <wingo@pobox.com>
3220
3221         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
3222
3223         * gst/gsttagsetter.h:
3224         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
3225         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
3226         (gst_tag_setter_add_tag_valist)
3227         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
3228         _add_values, _add_valist, and _add_valist_values. Since this is an
3229         interface the function suffixes should be more explicit so
3230         language binding don't end up with element.add_valist ->
3231         gst_tag_setter_add_valist, for example. Fixes #322069.
3232
3233 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3234
3235         * check/gst/gstcaps.c: (GST_START_TEST):
3236           Extend caps string tests to check that a caps to string
3237           conversion is reversible and produces the same caps.
3238
3239         * gst/gststructure.c: (gst_structure_value_get_generic_type):
3240           Output "fraction" as the generic type fraction range, so caps
3241           serialisation and deserialisation works.
3242         * check/gst/capslist.h:
3243         * gst/gstvalue.c: (gst_value_deserialize_fraction):
3244           Support 'MIN' and 'MAX' for deserialising fractions.
3245
3246 2005-11-22  Andy Wingo  <wingo@pobox.com>
3247
3248         * gst/gstevent.h (gst_event_new_new_segment)
3249         (gst_event_parse_new_segment, gst_event_new_buffer_size)
3250         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
3251         Renamed from *_newsegment, *_buffersize, *_notarget.
3252
3253         * scripts/update-funcnames: New script, performs the changes
3254         listed above.
3255
3256 2005-11-22  Wim Taymans  <wim@fluendo.com>
3257
3258         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3259         Make sure the GstFlowReturn is returned.
3260
3261         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
3262         (gst_bus_add_signal_watch):
3263         * gst/gstbus.h:
3264         add gst_bus_add_signal_watch_full.
3265
3266         * gst/gstplugin.c: (gst_plugin_load_file):
3267         Small style cleanup.
3268
3269 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3270
3271         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
3272           Block the fakesrc srcpad when we send an event, to avoid
3273           contention on the stream_lock causing random test failures.
3274
3275 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3276
3277         * check/gst/gstvalue.c: (GST_START_TEST):
3278         * gst/gstvalue.c: (gst_value_fraction_subtract):
3279           Fix subtraction.
3280
3281 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
3282
3283         * gst/gst.h:
3284           include "gstchildproxy.h"
3285         * gst/gstchildproxy.h:
3286         * libs/gst/controller/gstcontroller.h:
3287           use G_GNUC_NULL_TERMINATED
3288
3289 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3290
3291         * check/gst/capslist.h:
3292         * check/gst/gstcaps.c: (GST_START_TEST):
3293         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3294         * gst/gststructure.c: (gst_structure_parse_range),
3295         (gst_structure_fixate_field_nearest_fraction):
3296         * gst/gststructure.h:
3297         * gst/gstvalue.c: (gst_value_init_fraction_range),
3298         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
3299         (gst_value_collect_fraction_range),
3300         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
3301         (gst_value_set_fraction_range_full),
3302         (gst_value_get_fraction_range_min),
3303         (gst_value_get_fraction_range_max),
3304         (gst_value_serialize_fraction_range),
3305         (gst_value_transform_fraction_range_string),
3306         (gst_value_compare_fraction_range),
3307         (gst_value_deserialize_fraction_range),
3308         (gst_value_intersect_fraction_fraction_range),
3309         (gst_value_intersect_fraction_range_fraction_range),
3310         (gst_value_subtract_fraction_fraction_range),
3311         (gst_value_subtract_fraction_range_fraction),
3312         (gst_value_subtract_fraction_range_fraction_range),
3313         (gst_value_collect_fraction), (gst_value_fraction_multiply),
3314         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
3315         (gst_value_transform_string_fraction), (_gst_value_initialize):
3316         * gst/gstvalue.h:
3317           Implement fraction ranges and extend GstFraction to support
3318           arithmetic subtraction, as well as deserialization from integer
3319           strings such as "100"
3320           Add a testsuite as for int and double range set operations
3321
3322 2005-11-21  Andy Wingo  <wingo@pobox.com>
3323
3324         * gst/gsttaglist.h: 
3325         * gst/gstcaps.h: 
3326         * gst/gststructure.h: Add glib-compat.h.
3327
3328 2005-11-21  Wim Taymans  <wim@fluendo.com>
3329
3330         * gst/gstbin.c: (gst_bin_change_state_func):
3331         Fix for #321595
3332
3333 2005-11-21  Wim Taymans  <wim@fluendo.com>
3334
3335         * gst/gstsegment.h:
3336         And add a nice define too.
3337
3338 2005-11-21  Wim Taymans  <wim@fluendo.com>
3339
3340         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
3341         (gst_segment_new), (gst_segment_free), (gst_segment_init),
3342         (gst_segment_set_duration), (gst_segment_set_last_stop),
3343         (gst_segment_set_seek), (gst_segment_set_newsegment),
3344         (gst_segment_to_stream_time), (gst_segment_to_running_time),
3345         (gst_segment_clip):
3346         * gst/gstsegment.h:
3347         Make binding friendly.
3348
3349 2005-11-21  Andy Wingo  <wingo@pobox.com>
3350
3351         * gst/gsttagsetter.h: 
3352         * gst/gsttaglist.h: 
3353         * gst/gststructure.h: 
3354         * gst/gstcaps.h: 
3355         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
3356         #319940.
3357
3358         * gst/gsterror.c (_gst_core_errors_init):
3359         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
3360         category.
3361
3362         * gst/Makefile.am (gst_headers): Add glib-compat.h.
3363         (noinst_HEADERS): noinst the -private.
3364
3365 2005-11-21  Michael Smith <msmith@fluendo.com>
3366
3367         * gst/gstplugin.h:
3368         * gst/gstregistry.h:
3369           Remove unimplemented declarations for which we can see no sensible
3370           use.
3371
3372 2005-11-21  Andy Wingo  <wingo@pobox.com>
3373
3374         * gst/gst.h: Include glib-compat.h.
3375
3376         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
3377
3378         * gst/glib-compat.c: Include the public and the private header.
3379
3380         * gst/glib-compat-private.h: Copied here from glib-compat.h.
3381
3382         * gst/gstvalue.c: 
3383         * gst/gstpad.c: 
3384         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
3385
3386         * check/gst/gstevent.c (create_custom_events): Check that
3387         FLUSH_STOP is serialized.
3388
3389         * check/elements/identity.c (event_func): 
3390         * check/elements/fakesrc.c (event_func): No stream lock, the core
3391         takes it.
3392
3393         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
3394         stream lock taking, yay.
3395
3396         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
3397         ensure that core takes the stream lock.
3398
3399         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
3400         lock name change.
3401
3402         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
3403         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
3404         it already. For the flush start we do take it though so we get the
3405         right preroll state change messages.
3406
3407         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
3408         the stream lock here, the core does it for us.
3409
3410         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
3411         GST_STREAM_GET_LOCK.
3412         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
3413         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
3414         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
3415         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
3416         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
3417         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
3418
3419         * gst/gstpad.c: Update for stream lock name change.
3420
3421         * gst/base/gstbasesink.c: Update for preroll lock name change.
3422
3423 2005-11-21  Wim Taymans  <wim@fluendo.com>
3424
3425         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
3426         (gst_clock_get_master):
3427         * gst/gstclock.h:
3428         * gst/gstsystemclock.c: (gst_system_clock_init):
3429         Convert Clock flags to object flags.
3430         Added methods to manage master/slave clocks.
3431
3432 2005-11-21  Wim Taymans  <wim@fluendo.com>
3433
3434         * check/gst/gstsegment.c: (GST_START_TEST):
3435         * docs/design/part-TODO.txt:
3436         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3437         (gst_base_sink_event), (gst_base_sink_do_sync),
3438         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3439         (gst_base_sink_query), (gst_base_sink_change_state):
3440         * gst/base/gstbasesink.h:
3441         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3442         (gst_base_src_default_newsegment),
3443         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3444         (gst_base_src_get_range), (gst_base_src_loop),
3445         (gst_base_src_change_state):
3446         * gst/base/gstbasesrc.h:
3447         * gst/base/gstbasetransform.c:
3448         (gst_base_transform_prepare_output_buf),
3449         (gst_base_transform_event), (gst_base_transform_change_state):
3450         * gst/base/gstbasetransform.h:
3451         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3452         (gst_collect_pads_event):
3453         * gst/base/gstcollectpads.h:
3454         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
3455         (gst_fake_src_create):
3456         * gst/elements/gstfakesrc.h:
3457         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3458         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
3459         (gst_segment_set_last_stop), (gst_segment_set_seek),
3460         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
3461         (gst_segment_to_running_time), (gst_segment_clip):
3462         * gst/gstsegment.h:
3463         More segment updates, replace code in plugins with segment
3464         helper functions.
3465
3466 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3467
3468         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
3469         Don't ignore sscanf results
3470
3471 2005-11-21  Andy Wingo  <wingo@pobox.com>
3472
3473         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
3474
3475         * *.h:
3476         * *.c: Ran scripts/update-macros. Oh yes.
3477
3478         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
3479         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
3480         GST_GET_LOCK, etc.
3481
3482         * scripts/update-macros: New script. Run it on your files to
3483         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
3484         well.
3485
3486 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
3487
3488         * docs/gst/Makefile.am:
3489         * docs/gst/gstreamer-docs.sgml:
3490         * docs/gst/gstreamer-sections.txt:
3491         * docs/gst/gstreamer.types:
3492         * gst/gstinfo.h:
3493           more docs fixes, add new api to the docs
3494
3495 2005-11-21  Andy Wingo  <wingo@pobox.com>
3496
3497         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
3498         state_broadcast call.
3499
3500         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
3501
3502 2005-11-21  Julien MOUTTE  <julien@moutte.net>
3503
3504         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
3505         function calls for arrays.
3506
3507 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
3508
3509         * docs/random/ensonic/media-device-daemon.txt:
3510           wild idea, can this be done?
3511         * docs/gst/gstreamer-sections.txt:
3512         * gst/gsterror.h:
3513         * gst/gstfilter.c:
3514         * gst/gstfilter.h:
3515         * gst/gstplugin.h:
3516         * gst/gstpluginfeature.c:
3517         * gst/gsttrace.c:
3518         * gst/gstvalue.c:
3519         * gst/gstvalue.h:
3520           doc fixes and additions
3521
3522 2005-11-21  Andy Wingo  <wingo@pobox.com>
3523
3524         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
3525         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
3526         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
3527         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
3528         private to the basesrc implementation.
3529
3530         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
3531         behalf of event function if necessary. It should no longer be
3532         necessary to take the stream lock in pad's event functions. Fixes
3533         #320299.
3534
3535 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3536         * docs/gst/gstreamer-sections.txt:
3537         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
3538         (gst_structure_fixate_field_nearest_double),
3539         (gst_structure_fixate_field_boolean):
3540         * gst/gststructure.h:
3541         * win32/common/libgstreamer.def:
3542         * win32/gstreamer.def:
3543
3544         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
3545         (#322027)
3546
3547 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3548
3549         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
3550         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
3551         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
3552         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
3553         (gst_fdsrc_uri_handler_init):
3554         * gst/elements/gstfdsrc.h:
3555           Port fd:// URI handler from 0.8 to fdsrc
3556
3557 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3558
3559         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
3560         (gst_value_serialize_fourcc):
3561         * gst/gstvalue.h:
3562           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
3563           consistent with our other format defines (#320324).
3564
3565 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3566
3567         * gst/gstvalue.c: (gst_value_is_fixed):
3568           Revert previous commit. Value lists are by definition
3569           not fixed, as they are a list of possible values.
3570
3571 2005-11-21  Andy Wingo  <wingo@pobox.com>
3572
3573         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
3574         during the stable series if we need it. Fixes #319178.
3575
3576         * gst/gstevent.c (gst_event_new_filler): Removed.
3577
3578         * check/gst/gstevent.c: Update comment about filler events.
3579
3580 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3581
3582         * gst/gstvalue.c: (gst_value_is_fixed):
3583           Should handle both value arrays and value lists.
3584
3585 2005-11-21  Andy Wingo  <wingo@pobox.com>
3586
3587         patch by: Alessandro Dessina <alessandro nnva org>
3588
3589         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
3590         functions to access arrays. Fixes #321962.
3591
3592 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3593
3594         * docs/gst/gstreamer.types:
3595           gst_collectpads_get_type => gst_collect_pads_get_type.
3596           
3597         * gst/base/gstbasetransform.c:
3598           Remove unused SIGNAL_HANDOFF enum.
3599
3600 2005-11-21  Andy Wingo  <wingo@pobox.com>
3601
3602         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
3603         the event type (upstream, downstream, serialized). Renamed
3604         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
3605         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
3606         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
3607
3608         * gst/gstevent.c: Update for new CUSTOM event names.
3609
3610         * check/gst/gstevent.c: Update check for new CUSTOM event names.
3611
3612         * gst/gstevent.h:
3613         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
3614         bug #319392.
3615
3616 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3617
3618         * docs/gst/gstreamer-sections.txt:
3619         * win32/common/libgstbase.def:
3620         * win32/libgstbase.def:
3621         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3622         (gst_collect_pads_class_init), (gst_collect_pads_init),
3623         (gst_collect_pads_finalize), (gst_collect_pads_new),
3624         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
3625         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
3626         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
3627         (gst_collect_pads_start), (gst_collect_pads_stop),
3628         (gst_collect_pads_peek), (gst_collect_pads_pop),
3629         (gst_collect_pads_available), (gst_collect_pads_read),
3630         (gst_collect_pads_flush), (gst_collect_pads_event),
3631         (gst_collect_pads_chain):
3632         * gst/base/gstcollectpads.h:
3633           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
3634           unimplemented functions as unimplemented. Add padding to
3635           GstCollectData. (#320766, #320423)
3636
3637 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3638
3639         * gst/gstmessage.c:
3640           Improve docs for DURATION message (usage of duration parameter)
3641           (#320113)
3642
3643 2005-11-20  Wim Taymans  <wim@fluendo.com>
3644
3645         * check/Makefile.am:
3646         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
3647         (main):
3648         * gst/Makefile.am:
3649         * gst/gst.h:
3650         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
3651         (gst_segment_set_seek), (gst_segment_set_newsegment),
3652         (gst_segment_to_stream_time), (gst_segment_to_running_time),
3653         (gst_segment_clip):
3654         * gst/gstsegment.h:
3655         Added segment helper structure and methods. Not fully implemented
3656         yet.
3657         Added segment check.
3658
3659 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
3660
3661         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3662           Add a deserialisation test for fractions
3663         * examples/metadata/read-metadata.c: (message_loop),
3664         (make_pipeline), (main):
3665           Fix up metadata reading sample.
3666         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3667           Debug format fix
3668         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3669           Don't try and fixate empty caps
3670         * gst/gst_private.h:
3671           Wrap in G_BEGIN_DECLS/G_END_DECLS
3672         * gst/gstvalue.c: (gst_value_collect_fraction),
3673         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
3674         (gst_value_transform_string_fraction),
3675         (gst_value_compare_fraction):
3676           Add some extra guards to ensure that we don't end up 
3677           with an invalid denominator of 0 in a gstfraction and
3678           that fractions always get reduced.
3679
3680 2005-11-20  Wim Taymans  <wim@fluendo.com>
3681
3682         * docs/gst/gstreamer-sections.txt:
3683         * gst/gstbuffer.h:
3684         * gst/gstelement.c:
3685         * gst/gstformat.c:
3686         * gst/gstformat.h:
3687         * gst/gstindex.h:
3688         * gst/gstquery.c:
3689         * gst/gstquery.h:
3690         * gst/gstvalue.c:
3691         Doc fixes.
3692
3693 2005-11-20  Wim Taymans  <wim@fluendo.com>
3694
3695         * docs/design/part-TODO.txt:
3696         * gst/gstcaps.h:
3697         Make a proper enum of the flag.
3698
3699 2005-11-19  Wim Taymans  <wim@fluendo.com>
3700
3701         * docs/design/part-TODO.txt:
3702         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
3703         (gst_format_to_quark), (gst_format_register):
3704         * gst/gstformat.h:
3705         * gst/gstquery.c: (_gst_query_initialize),
3706         (gst_query_type_get_name), (gst_query_type_to_quark),
3707         (gst_query_type_register):
3708         * gst/gstquery.h:
3709         Add type to quark and type to string conversions.
3710
3711 2005-11-19  Andy Wingo  <wingo@pobox.com>
3712
3713         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
3714         #320097.
3715
3716 2005-11-19  Wim Taymans  <wim@fluendo.com>
3717
3718         * docs/design/part-TODO.txt:
3719         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
3720         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
3721         (gst_bin_handle_message_func):
3722         * gst/gstbin.h:
3723         Make message handling overridable.
3724
3725 2005-11-19  Andy Wingo  <wingo@pobox.com>
3726
3727         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
3728
3729         * gst/gstclock.h:
3730         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
3731         be a GstClockTime.
3732         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
3733         is a GstClockTime. Fixes #321710.
3734
3735         * gst/gstclock.h (GstClock): Remove offset property. Add
3736         internal_calibration and external_calibration. Fix padding. Pad
3737         also by GstClockTime so we don't run into problems.
3738
3739         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
3740         (gst_clock_get_rate_offset): Remove.
3741         (gst_clock_set_time_adjust): Remove. Fixes #321712.
3742
3743         * gst/gstutils.h:
3744         * gst/gstutils.c (g_static_rec_cond_wait)
3745         (g_static_rec_cond_timed_wait): Removed, no longer needed.
3746
3747         * gst/gstbin.c: Remove terrible continue_state prototype.
3748
3749         * gst/gstelement.h (gst_element_continue_state): Make public.
3750
3751         * gst/gstelement.h:
3752         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
3753         by continue_state. Fixes #319389.
3754
3755         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
3756         Really fixes #168438. However I don't see anywhere where the
3757         filter function is called... stupid GStreamer...
3758         
3759         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
3760         don't have a dispose function, so it won't get called when the
3761         object is unreffed, but oh well!
3762
3763         * gst/gstindex.c (gst_index_set_filter_full): New API function,
3764         allows a destroy function to be set so user_data can be freed.
3765         Fixes #168438.
3766         (gst_index_set_filter): Call gst_index_set_filter_full.
3767
3768         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
3769
3770         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
3771         string should produce an error, given the lack of a way to
3772         represent NULL strings. Fixes #165650.
3773         
3774         * gst/gstvalue.h: 
3775         * gst/gstvalue.c (gst_value_array_append_value) 
3776         (gst_value_array_prepend_value, gst_value_array_get_size) 
3777         (gst_value_array_get_value): New API, copied from
3778         gst_value_list_*, only operates on arrays.
3779         (gst_value_list_append_value, gst_value_list_prepend_value) 
3780         (gst_value_list_concat, gst_value_list_get_size) 
3781         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
3782
3783         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
3784         init_list, because it works on both.
3785         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
3786         (gst_value_copy_list_or_array): Renamed from copy_list.
3787         (gst_value_free_list_or_array): Renamed from free_list.
3788         (gst_value_collect_list_or_array): Renamed from collect_list.
3789         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
3790         (gst_value_list_or_array_peek_pointer): Renamed from
3791         list_peek_pointer.
3792         (_gst_value_array_value_table, _gst_value_list_value_table):
3793         Update value table functions.
3794         (gst_value_compare_list_or_array): Renamed from compare_list.
3795
3796         * gsttaglist.h: Whoops, foreach function returns void. Also fix
3797         some constness.
3798
3799         * gst/gsttaglist.c:
3800         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
3801         GstTagList*. Fixes #143472.
3802
3803         * gst/gststructure.h: Clarify what the foreach/map functions can
3804         or can't do to their arguments.
3805
3806 2005-11-18  Wim Taymans  <wim@fluendo.com>
3807
3808         * gst/gstclock.c: (gst_clock_set_calibration),
3809         (gst_clock_get_calibration):
3810         Doc and API fixes.
3811         Calibration can be set with internal time equal to current
3812         internal time too.
3813
3814 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3815
3816         * gst/gsterror.c:
3817         * gst/gsterror.h:
3818           document
3819
3820 2005-11-18  Andy Wingo  <wingo@pobox.com>
3821
3822         * configure.ac: 
3823         * pkgconfig/gstreamer-net.pc.in:
3824         * pkgconfig/gstreamer-net-uninstalled.pc.in:
3825         * pkgconfig/Makefile.am: Add net pkgconfig files.
3826
3827 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
3828
3829         * gst/gstcaps.c:
3830         * gst/gstghostpad.c:
3831         * gst/gsttrace.c:
3832         * gst/gstvalue.c:
3833         * gst/gstvalue.h:
3834           docs fixes
3835
3836 2005-11-18  Andy Wingo  <wingo@pobox.com>
3837
3838         * gst/net/gstnetclientclock.c: Turn off debugging.
3839
3840         * check/net/gstnetclientclock.c (test_functioning): Assert that the
3841         times connverge somewhat. Can't make a real test.
3842
3843         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
3844         integer arithmetic. Return the minimum of the domain, which can be
3845         set as "internal" for gst_clock_set_calibration.
3846         (gst_net_client_clock_observe_times): Call _set_calibration.
3847         (gst_net_client_clock_new): Call _set_calibration instead of
3848         rate_offset.
3849
3850         * check/net/gstnetclientclock.c (test_functioning): Use the right
3851         adjustment api.
3852
3853         * gst/gstclock.h:
3854         * gst/gstclock.c (gst_clock_get_calibration) 
3855         (gst_clock_set_calibration): New functions, obsolete the ones I
3856         added yesterday. Doh. Precision issues mean we have to extrapolate
3857         from a point in the more recent past than 1970.
3858         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
3859         obsolete.
3860         (gst_clock_adjust_unlocked): Use the right calibration data.
3861
3862 2005-11-18  Edward Hervey  <edward@fluendo.com>
3863
3864         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
3865         Also reset the ->current_* values in READY->PAUSED
3866
3867 2005-11-18  Andy Wingo  <wingo@pobox.com>
3868
3869         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
3870         Whoops, check the right fd. Also add some debugging.
3871         (gst_net_client_clock_observe_times): Adjust for int64 offset.
3872         (do_linear_regression): Add a crapload of debugging. Subtract off
3873         the minimum values from the input series to discard unneeded bits.
3874         Use only int arithmetic. There is still double arithmetic when
3875         calculating the intercept that needs fixing. Return boolean to
3876         indicate success; FALSE would mean the domain or range is too
3877         great. Still needs fixes.
3878
3879 2005-11-18  Wim Taymans  <wim@fluendo.com>
3880
3881         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3882         For the current position in stream time, we need to subtract
3883         accumulated time.
3884         
3885         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
3886         Release lock before calling the callback function of async
3887         entries.
3888
3889 2005-11-18  Andy Wingo  <wingo@pobox.com>
3890
3891         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
3892         Port goes all the way to MAXUINT16.
3893
3894         * gst/net/gstnettimeprovider.c: Make the port range the same as
3895         for the kernel: 0 assigns, otherwise ports are less than
3896         MAXUINT16.
3897
3898         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
3899         port change.
3900
3901         * check/net/gstnetclientclock.c (test_functioning): Add the start
3902         of another test. 
3903
3904 2005-11-18  Wim Taymans  <wim@fluendo.com>
3905
3906         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3907         (gst_bin_remove_func), (bin_bus_handler):
3908         * gst/gstbin.h:
3909         Removing a clock provider from a bin, triggers a clock lost message
3910         so that a new clock will be selected.
3911         Adding a clock to a bin triggers a clock provider message.
3912         Make sure we reselect a clock when we received a clock lost message.
3913         Keep a reference to the element that provided the clock.
3914
3915 2005-11-18  Andy Wingo  <wingo@pobox.com>
3916
3917         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
3918         the clock initially so it produces values around the base time.
3919         (gst_net_client_clock_class_init): Typo fix.
3920         (gst_net_client_clock_thread): Add note on when the socket gets
3921         closed.
3922
3923 2005-11-17  Wim Taymans  <wim@fluendo.com>
3924
3925         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
3926         Free remote and local time arrays.
3927
3928 2005-11-17  Wim Taymans  <wim@fluendo.com>
3929
3930         * gst/net/gstnetclientclock.c: (do_linear_regression),
3931         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
3932         Fix compilation, uninitialized vars and a forgotten continue.
3933
3934 2005-11-17  Andy Wingo  <wingo@pobox.com>
3935
3936         * check/Makefile.am (check_PROGRAMS): 
3937         * check/net/gstnetclientclock.c: Add a most minimal test for the
3938         net client clock. More to come later.
3939
3940         * gst/net/gstnet.h: 
3941         * gst/net/Makefile.am: Add netclientclock.
3942
3943         * gst/net/gstnetclientclock.h:
3944         * gst/net/gstnetclientclock.c: New files, implement an untested
3945         GstClock that takes its time from a network time provider.
3946         Implements the algorithm in network-clock.scm.
3947
3948         * tests/network-clock.scm (*window-size*): Rename from
3949         *queue-length*.
3950         * tests/network-clock.scm (network-time): 
3951         * tests/network-clock-utils.scm (q-push): Update callers.
3952
3953 2005-11-17  Wim Taymans  <wim@fluendo.com>
3954
3955         * gst/gstbin.c: (gst_bin_provide_clock_func),
3956         (gst_bin_sort_iterator_new):
3957         And unref the child too..
3958
3959 2005-11-17  Wim Taymans  <wim@fluendo.com>
3960
3961         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3962         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
3963         Refactor the sort iterator so it can be used while holding the
3964         LOCK too.
3965         Make clock selection select a clock closest to the source.
3966
3967 2005-11-17  Michael Smith <msmith@fluendo.com>
3968
3969         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
3970         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
3971         * gst/gstclock.h:
3972           Anonymous structs are a gcc (and some other compilers) extension, so
3973           don't use them. Since this is only for ABI-compatibility, and our
3974           API/ABI freeze is over in a few days, this whole thing will only
3975           last a few days, so don't bother trying to think up a meaningful
3976           name for the struct.
3977
3978 2005-11-17  Andy Wingo  <wingo@pobox.com>
3979
3980         * gst/gstclock.h (GstClock): Add rate and offset properties,
3981         preserving ABI stability. Add rate/offset accessors. Will file bug
3982         for the freeze break.
3983
3984         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
3985         and offset, trying to keep precision and avoiding
3986         underflow/overflow.
3987         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
3988         functions. Make gst_clock_set_time_adjust obsolete.
3989         (gst_clock_set_time_adjust): Note that this function is obsolete.
3990         Will file bug soon.
3991
3992         * gst/base/gstbasetransform.h: Make the ABI-stability hack
3993         greppable by using GST_PADDING-1+1.
3994
3995 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
3996
3997         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3998
3999         * gst/gstmessage.c: (gst_message_parse_clock_lost):
4000           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
4001
4002         * gst/gstpadtemplate.h:
4003         * gst/gstpluginfeature.h:
4004           Don't use c++ style comments in headers (#321638).
4005
4006 2005-11-16  Andy Wingo  <wingo@pobox.com>
4007
4008         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
4009         buffer.
4010
4011         * check/net/gstnettimeprovider.c: Check to see that the time
4012         provider actually provides times. Works, yo!
4013
4014 2005-11-16  Wim Taymans  <wim@fluendo.com>
4015
4016         * check/Makefile.am:
4017         Enable more tests.
4018
4019         * check/elements/fakesrc.c: (GST_START_TEST):
4020         Set element to NULL before disposing it.
4021
4022 2005-11-16  Andy Wingo  <wingo@pobox.com>
4023
4024         * gst/net/Makefile.am:
4025         * gst/net/gstnet.h:
4026         * gst/net/gstnettimeprovider.c: 
4027         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
4028         provider, include it from gstnet.h, and add it to the build.
4029
4030         * gst/net/gstnettimepacket.h: 
4031         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
4032         sending and receiving.
4033
4034 2005-11-16  Wim Taymans  <wim@fluendo.com>
4035
4036         * check/Makefile.am:
4037         Enable valgrind check.
4038
4039         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
4040         (gst_fake_src_alloc_buffer):
4041         Fix memleak.
4042
4043 2005-11-16  Wim Taymans  <wim@fluendo.com>
4044
4045         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
4046         Call parent finalize too.
4047
4048 2005-11-16  Wim Taymans  <wim@fluendo.com>
4049
4050         * check/Makefile.am:
4051         Enable valgrind check that should work fine now.
4052
4053         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4054         * gst/gstqueue.c: (gst_queue_init):
4055         Fix memleaks in pad allocation.
4056
4057 2005-11-16  Andy Wingo  <wingo@pobox.com>
4058
4059         * gst/net/Makefile.am:
4060         * gst/net/gstnet.h: New part of core to hold network elements and
4061         objects. Put in core because it exposes API that applications want
4062         to use. The library is named libgstnet-tempname right now because
4063         of the existing libgstnet in gst-plugins-base. Solution is
4064         probably to rename the one in plugins-base; will file a bug for
4065         the freeze break.
4066
4067         * gst/net/gstnettimeprovider.c: 
4068         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
4069         get_time call over the network.
4070
4071         * configure.ac: 
4072         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
4073
4074         * check/Makefile.am:
4075         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
4076         get additions shortly.
4077
4078 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4079
4080         * gst/gstpad.c: (gst_pad_new_from_static_template):
4081         * gst/gstpad.h:
4082           add gst_pad_new_from_static_template functions
4083         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
4084         (gst_check_setup_sink_pad):
4085         * gst/elements/gsttee.c: (gst_tee_init):
4086           and use them
4087
4088 2005-11-16  Wim Taymans  <wim@fluendo.com>
4089
4090         * gst/gstpad.c: (gst_pad_pause_task):
4091         Removed warning, it's not really an error either.
4092
4093 2005-11-16  Wim Taymans  <wim@fluendo.com>
4094
4095         * gst/base/gstbasetransform.c:
4096         (gst_base_transform_prepare_output_buf),
4097         (gst_base_transform_event):
4098         Check if the caps are NULL, this can happen if the element
4099         is shutting down and the pad caps are set to NULL.
4100
4101 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4102
4103         * gst/elements/gsttee.c: (gst_tee_init):
4104           fix pad template leak in tee
4105
4106 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4107
4108         * gst/glib-compat.c: (g_value_dup_gst_object):
4109         * gst/glib-compat.h:
4110         * gst/gstpad.c: (gst_pad_set_property):
4111           use gst_object_ref when setting the pad template; this will
4112           trigger the pad template leaks on GLib 2.6 and the slaves
4113
4114 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4115
4116         * gst/glib-compat.c: (gst_flags_get_first_value):
4117         * gst/glib-compat.h:
4118         * gst/gstregistryxml.c:
4119           remove functions copied from GLib 2.6
4120
4121 2005-11-16  Michael Smith <msmith@fluendo.com>
4122
4123         * gst/Makefile.am:
4124           Don't link against VALGRIND_LIBS. That was always the wrong thing to
4125           do, but only breaks with newer valgrind versions. We're not a
4126           valgrind tool, we have no link-time dependencies on libcoregrind.
4127
4128 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4129
4130         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
4131           some debug changes
4132         * gst/gstmessage.h:
4133           typo fixes
4134
4135 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4136
4137         * gst/base/gstbasesrc.c: (gst_base_src_init):
4138         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4139         * gst/gstqueue.c: (gst_queue_init):
4140         * gst/gstregistryxml.c: (load_feature):
4141           Revert all these unrefs, they don't even pass make check !
4142
4143 2005-11-15  Johan Dahlin  <johan@gnome.org>
4144
4145         * gst/base/gstbasesrc.c: (gst_base_src_init):
4146         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4147         * gst/gstqueue.c: (gst_queue_init): 
4148         Free pad templates, fixes a couple of leaks.
4149
4150 2005-11-15  Daniel Fischer  <dan at f3c dot com>
4151
4152         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4153
4154         * gst/gstpad.c: (gst_pad_get_property):
4155           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
4156           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
4157           (#321452)
4158
4159 2005-11-15  Wim Taymans  <wim@fluendo.com>
4160
4161         * gst/gstevent.c:
4162         Small doc update.
4163
4164 2005-11-15  Andy Wingo  <wingo@pobox.com>
4165
4166         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
4167
4168         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
4169         using GST_CLOCK_TIME_NONE to disable base time management.
4170         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
4171         time if it was NONE before.
4172         (gst_pipeline_change_state): Only munge the base time if
4173         stream_time != GST_CLOCK_TIME_NONE.
4174
4175         * check/gst/gstpipeline.c (test_base_time): Punt around the
4176         problem of the probe not being called, because that's not the
4177         issue I'm looking at. Add a check that setting stream_time to NONE
4178         disables base time management.
4179         
4180 2005-11-15  Wim Taymans  <wim@fluendo.com>
4181
4182         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4183         segment_stop == -1 at startup.
4184
4185         * gst/base/gstbasetransform.c: (gst_base_transform_event),
4186         (gst_base_transform_change_state):
4187         Init segment values at start.
4188
4189 2005-11-15  Wim Taymans  <wim@fluendo.com>
4190
4191         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4192         0 segment values are 0 in any format.
4193
4194         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4195         * gst/base/gstbasetransform.h:
4196         Parse newsegment correctly in basetransform
4197
4198         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
4199         Sync to clock using updated segment values.
4200
4201 2005-11-15  Andy Wingo  <wingo@pobox.com>
4202
4203         * check/gst/gstpipeline.c (test_base_time): Add check that the
4204         base time and stream time are reset correctly.
4205
4206 2005-11-15  Wim Taymans  <wim@fluendo.com>
4207
4208         * docs/design/part-TODO.txt:
4209         Some more TODO items.
4210
4211 2005-11-15  Andy Wingo  <wingo@pobox.com>
4212
4213         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
4214         error if the user selected "no clock" as the clocking method.
4215
4216         * check/gst/gstpipeline.c (test_base_time): New test for buffer
4217         timestamps with live capture.
4218
4219         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
4220         is 0 but we are a live source, timestamp the buffers using the
4221         element's clock.
4222
4223 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
4224
4225         * docs/gst/gstreamer-sections.txt:
4226         * gst/gsterror.c:
4227         * gst/gstghostpad.c:
4228         * gst/gstobject.h:
4229         * gst/gstxml.c:
4230           more section docs
4231
4232 2005-11-14  Wim Taymans  <wim@fluendo.com>
4233
4234         * common/gst.supp:
4235           add suppressions from Wim's Debian machine
4236
4237 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4238
4239         * common/gst.supp:
4240           add suppressions from Andy's AMD64 Ubuntu machine
4241
4242 2005-11-14  Andy Wingo  <wingo@pobox.com>
4243
4244         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
4245         STATE_LOCK not necessary. Fixes #311489.
4246
4247         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
4248         #305291.
4249
4250         * gst/gstindex.c (gst_index_add_object): Note in the docs that
4251         this function is not implemented.
4252
4253 2005-11-14  Julien MOUTTE  <julien@moutte.net>
4254
4255         * gst/base/gstbasetransform.c:
4256         (gst_base_transform_prepare_output_buf):
4257         Ref the source pad caps while we need them.
4258         Fixes (#321386)
4259
4260 2005-11-11  Wim Taymans  <wim@fluendo.com>
4261
4262         * docs/gst/gstreamer-sections.txt:
4263         Added some docs for GstCollectData.
4264
4265         * gst/base/gstadapter.c:
4266         Some small code example fix.
4267
4268         * gst/base/gstcollectpads.c:
4269         * gst/base/gstcollectpads.h:
4270         Document some more.
4271
4272 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4273
4274         * configure.ac: back to HEAD
4275
4276 === release 0.9.5 ===
4277
4278 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
4279
4280         * configure.ac:
4281           releasing 0.9.5, "Bike Lunch Day"
4282
4283 2005-11-11  Wim Taymans  <wim@fluendo.com>
4284
4285         * gst/gstbuffer.c: (_gst_buffer_copy):
4286         Copy more flags.
4287
4288         * gst/gstcaps.c: (gst_caps_is_equal):
4289         Fix some docs.
4290         Make _is_equal fast in the trivial cases.
4291
4292         * gst/gstminiobject.c:
4293         * gst/gstminiobject.h:
4294         More docs. Spifify .h file.
4295
4296         * gst/gstutils.c:
4297         Small doc update.
4298
4299 2005-11-11  Wim Taymans  <wim@fluendo.com>
4300
4301         * gst/base/gstbasetransform.c:
4302         (gst_base_transform_prepare_output_buf),
4303         (gst_base_transform_handle_buffer):
4304         Small cleanups.
4305         If we're processing a buffer and need to allocate an output
4306         buffer, we cannot accept a format change. If we did get a 
4307         format change, we have to alloc a buffer ourselves of the 
4308         right size.
4309
4310 2005-11-11  Wim Taymans  <wim@fluendo.com>
4311
4312         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
4313         While checking the flag for reentrancy in the gstcaps function
4314         is nice to detect recursive invocations, it also makes it 
4315         impossible to call getcaps from multiple threads, which must be
4316         possible. So, checking for recursive calls has to go.
4317
4318 2005-11-11  Michael Smith <msmith@fluendo.com>
4319
4320         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4321           Don't sync on buffers that fall partially outside our current
4322           segment. Prevents an assertion failure/abort playing some files.
4323
4324 2005-11-10  Andy Wingo  <wingo@pobox.com>
4325
4326         * check/gst/gstbin.c (test_message_state_changed_children): Style
4327         fix..
4328
4329         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
4330         gst_bus_poll with the signal watch. Ensures that poll and a signal
4331         watch see the same messages.
4332
4333         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
4334         a poll and a watch at the same time get the same messages.
4335
4336 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4337
4338         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
4339         * gst/gstcaps.c: (gst_caps_intersect):
4340           Don't call gst_caps_do_simplify - it doesn't respect order of caps
4341           and it's not needed.
4342
4343 2005-11-10  Wim Taymans  <wim@fluendo.com>
4344
4345         * docs/design/part-TODO.txt:
4346         Updated todo.
4347
4348 2005-11-10  Wim Taymans  <wim@fluendo.com>
4349
4350         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4351         * gst/base/gstbasesrc.c: (gst_base_src_wait),
4352         (gst_base_src_do_sync), (gst_base_src_get_range):
4353         Implement clock sync in base class.
4354
4355 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4356
4357         patch by: Tim-Philipp Müller <tim at centricular dot net>
4358
4359         * gst/gststructure.c: (gst_structure_parse_field),
4360         (gst_structure_from_string):
4361           Forward-port a 0.8 patch to handle escaped spaces in structure string,
4362           so that gst_parse_launch() can deal with spaces in filtered link
4363           caps (fixes #164479)
4364         * check/gst/capslist.h:
4365         * check/gst/gststructure.c: (GST_START_TEST):
4366           add unit tests for this change
4367
4368 2005-11-10  Wim Taymans  <wim@fluendo.com>
4369
4370         * docs/gst/gstreamer-sections.txt:
4371         * gst/gstelement.c:
4372         * gst/gstelement.h:
4373         Fix docs, move some STATE macros to private.
4374
4375 2005-11-10  Wim Taymans  <wim@fluendo.com>
4376
4377         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
4378         Added check for bug #317341
4379
4380         * gst/gstbuffer.c:
4381         * gst/gstbuffer.h:
4382         Some more spiffifying.
4383
4384         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
4385         Call peer linkfunction if we are a source pad. Totally fixes
4386         #317341
4387
4388         * gst/gstpad.c:
4389         Update docs, source pads should call the peer linkfunction
4390         so they can atomically perform the pad link.
4391
4392 2005-11-09  Wim Taymans  <wim@fluendo.com>
4393
4394         * gst/gstbuffer.c:
4395         * gst/gstbuffer.h:
4396         Uber-spiffy-spiffify some more.
4397
4398 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
4399
4400         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
4401         * gst/elements/gstfilesink.c: (gst_file_sink_init):
4402         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4403         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
4404         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
4405         * gst/gstpad.c: (gst_pad_init):
4406           Use GST_DEBUG_FUNCPTR() more extensively.
4407
4408 2005-11-09  Wim Taymans  <wim@fluendo.com>
4409
4410         * gst/gstobject.c: (gst_object_class_init):
4411         * gst/gstobject.h:
4412         Documentation fixes.
4413
4414 2005-11-09  Edward Hervey  <edward@fluendo.com>
4415
4416         * gst/gsttypefindfactory.c:
4417         Fix docs.
4418         
4419 2005-11-09  Edward Hervey  <edward@fluendo.com>
4420
4421         * gst/base/gsttypefindhelper.c:
4422         * gst/gsttypefind.c:
4423         * gst/gsttypefind.h:
4424         Fix docs.
4425
4426 2005-11-09  Wim Taymans  <wim@fluendo.com>
4427
4428         * gst/gstiterator.c:
4429         Fix revision data.
4430
4431         * gst/gsttask.c:
4432         * gst/gsttask.h:
4433         Fix docs.
4434
4435 2005-11-09  Wim Taymans  <wim@fluendo.com>
4436
4437         * gst/gstevent.h:
4438         * gst/gsturi.h:
4439         Fix docs.
4440
4441 2005-11-09  Wim Taymans  <wim@fluendo.com>
4442
4443         * docs/gst/gstreamer-sections.txt:
4444         Moved the message async delivery private lock and cond
4445         to the private section.
4446
4447         * gst/gstmessage.c:
4448         * gst/gstmessage.h:
4449         Fixed docs.
4450
4451 2005-11-09  Edward Hervey  <edward@fluendo.com>
4452
4453         * docs/gst/gstreamer-sections.txt:
4454         * gst/gsturi.c:
4455         * gst/gsturi.h:
4456         Document GstURIHandler
4457
4458 2005-11-09  Wim Taymans  <wim@fluendo.com>
4459
4460         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
4461         (gst_iterator_find_custom):
4462         * gst/gstiterator.h:
4463         Fix iterator docs.
4464
4465 2005-11-09  Wim Taymans  <wim@fluendo.com>
4466
4467         * gst/gstbin.h:
4468         Document another field.
4469
4470         * gst/gststructure.c:
4471         * gst/gststructure.h:
4472         Document.
4473
4474 2005-11-09  Wim Taymans  <wim@fluendo.com>
4475
4476         * gst/gstbin.h:
4477         Documented structs.
4478
4479 2005-11-09  Wim Taymans  <wim@fluendo.com>
4480
4481         * docs/gst/gstreamer-sections.txt:
4482         Added some new macros.
4483
4484         * gst/gstclock.c:
4485         * gst/gstclock.h:
4486         * gst/gstobject.h:
4487         Docs updates.
4488
4489 2005-11-09  Wim Taymans  <wim@fluendo.com>
4490
4491         * docs/design/part-TODO.txt:
4492         Some more items for the TODO
4493
4494         * gst/gstcaps.c:
4495         * gst/gstcaps.h:
4496         Document GstCaps.
4497
4498 2005-11-09  Andy Wingo  <wingo@pobox.com>
4499
4500         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
4501         to work on something else now tho...
4502
4503         * gst/base/gstadapter.c: More adapter docs.
4504
4505         * gst/elements/gstfilesink.c (gst_file_sink_start) 
4506         (gst_file_sink_stop): New functions, replace the state change
4507         handler.
4508         (gst_file_sink_class_init): Hook up the start and stop functions.
4509         (gst_file_sink_base_init): Don't set the state change handler any
4510         more. It was a bit ugly too, being set from here...
4511         (gst_file_sink_get_property, gst_file_sink_set_property):
4512         Cleanups...
4513         (gst_file_sink_set_location): More robust check that doesn't call
4514         GST_STATE. Ugggggg.
4515
4516 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
4517
4518         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4519           Hold STREAM_LOCK while pushing newsegment or tag events as well.
4520
4521 2005-11-08  Wim Taymans  <wim@fluendo.com>
4522
4523         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
4524         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
4525         (gst_base_sink_chain), (gst_base_sink_change_state):
4526         * gst/base/gstbasesink.h:
4527         * gst/base/gstbasesrc.h:
4528         * gst/gstelement.h:
4529         * gst/gstevent.h:
4530         Avoid excessive typechecking in macros.
4531
4532         * gst/gstminiobject.c: (gst_mini_object_get_type),
4533         (gst_mini_object_init), (gst_mini_object_new),
4534         (gst_mini_object_free):
4535         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4536         (gst_object_finalize):
4537         Remove cruft code, optimize alloc_trace.
4538
4539 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4540
4541         * docs/faq/gst-uninstalled:
4542           fix up PS1 for systems that try to reset it
4543
4544 2005-11-07  Wim Taymans  <wim@fluendo.com>
4545
4546         * gst/base/gstbasesrc.c: (gst_base_src_init),
4547         (gst_base_src_get_range):
4548         Set the segment_end to -1 initially. Fixed typefind.
4549
4550 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
4551
4552         * gst/base/gstadapter.c:
4553           Debug category should be 'adapter', not 'GstAdapter'.
4554           
4555         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
4556         (gst_collectpads_class_init), (gst_collectpads_init),
4557         (gst_collectpads_peek), (gst_collectpads_pop),
4558         (gst_collectpads_event), (gst_collectpads_chain):
4559           Add debug category and some debugging output. Use boilerplate
4560           macros. Remove some extraneous words from docs.
4561
4562 2005-11-05  Andy Wingo  <wingo@pobox.com>
4563
4564         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
4565         macro.
4566
4567 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
4568
4569         * docs/gst/gstreamer-sections.txt:
4570         * gst/gstcaps.h:
4571         * gst/gstinfo.c:
4572         * gst/gstminiobject.h:
4573         * gst/gstobject.h:
4574         * gst/gstutils.h:
4575           more docs added
4576
4577 2005-11-04  Wim Taymans  <wim@fluendo.com>
4578
4579         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4580         Small update to stop at the configured segment_end
4581         position.
4582
4583 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
4584
4585         * gst/gstregistry.c:
4586         * gst/gstregistry.h:
4587           added missing docs
4588
4589 2005-11-04  Edward Hervey  <edward@fluendo.com>
4590
4591         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4592         Check if we are doing a segment seek and have arrived at the
4593         end of that segment.
4594
4595 2005-11-04  Wim Taymans  <wim@fluendo.com>
4596
4597         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
4598         Don't leak a mutex unlock in case of an error.
4599
4600         * gst/gstbus.h:
4601         Doc fixes.
4602
4603 2005-11-04  Wim Taymans  <wim@fluendo.com>
4604
4605         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
4606         (gst_bus_post):
4607         Get the context to wake up only once.
4608
4609 2005-11-03  Wim Taymans  <wim@fluendo.com>
4610
4611         * check/states/sinks.c: (GST_START_TEST):
4612         Uncomment fixed check.
4613
4614         * docs/design/part-TODO.txt:
4615         Updated TODO.
4616
4617         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4618         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
4619         (gst_base_sink_get_position):
4620         If we are going to PLAYING, post the right pending state
4621         when we post the intermediate paused message.
4622
4623         * gst/gstelement.c: (gst_element_continue_state),
4624         (gst_element_set_state_func), (gst_element_change_state):
4625         Don't post state changes that were between the same state
4626         and were not ASYNC.
4627
4628 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
4629
4630         * docs/gst/gstreamer-sections.txt:
4631         * gst/gstcaps.h:
4632         * gst/gstinfo.c:
4633         * gst/gstminiobject.h:
4634         * gst/gstobject.h:
4635         * gst/gstutils.h:
4636           more docs and doc style fixes
4637
4638 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
4639
4640         * docs/gst/gstreamer-sections.txt:
4641         * gst/gstelement.c:
4642         * gst/gstminiobject.c:
4643         doc fixes
4644
4645 2005-11-03  Andy Wingo  <wingo@pobox.com>
4646
4647         * check/states/sinks.c (test_livesrc_sink): Add checks that the
4648         state-changed messages actually have the right order and the right
4649         values.
4650
4651 2005-11-03  Wim Taymans  <wim@fluendo.com>
4652
4653         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4654         Added some more checks. Specifically the case where NO_PREROLL
4655         elements are in the pipeline.
4656
4657         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4658         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
4659         (gst_base_sink_get_position):
4660         Post READY->PAUSED state change messages too.
4661         Fix bug where VOID was posted as pending state...
4662
4663         * gst/gstbin.c: (gst_bin_recalc_state):
4664         use _element_continue_state() to continue the state change.
4665
4666         * gst/gstelement.c: (gst_element_continue_state),
4667         (gst_element_commit_state), (gst_element_set_state_func),
4668         (gst_element_change_state), (gst_element_change_state_func):
4669         Lots of state change cleanups, assign the STATE_RETURN in
4670         a new continue_state() function that also propagates the
4671         last return value from a state change to the app.
4672         Update some debug statements with proper category.
4673
4674 2005-11-03  Wim Taymans  <wim@fluendo.com>
4675
4676         * docs/design/part-events.txt:
4677         * docs/design/part-gstpipeline.txt:
4678         * docs/design/part-messages.txt:
4679         * docs/design/part-overview.txt:
4680         * docs/design/part-seeking.txt:
4681         * docs/design/part-states.txt:
4682         * docs/design/part-trickmodes.txt:
4683         * docs/manual/advanced-position.xml:
4684         Small docs updates.
4685
4686         * gst/gstobject.h:
4687         People think !! is ugly, this looks better.
4688
4689         * gst/gstpad.c: (gst_pad_set_blocked_async):
4690         Remove !! since it's fixed elsewhere now.
4691
4692 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4693
4694         * gst/gstminiobject.h:
4695         * gst/gstobject.h:
4696           Add !! to _FLAG_IS_SET macros to make the result boolean.
4697
4698 2005-11-03  Edward Hervey  <edward@fluendo.com>
4699
4700         * gst/gstpad.c: (gst_pad_set_blocked_async):
4701         comparing a flag and a gboolean rarely returns coherent results...
4702         Added two characters (!!) to make that work correctly.
4703         
4704 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4705
4706         * gst/gstbus.c: (gst_bus_class_init):
4707           Fix some typos.
4708           
4709         * gst/gstqueue.c: (gst_queue_loop):
4710           Don't assume a miniobject that isn't a buffer is an
4711           event (it could be that there is a refcounting
4712           problem somewhere and the pointer is stale and
4713           refers to an already destroyed miniobject).
4714
4715 2005-11-03  Julien MOUTTE  <julien@moutte.net>
4716
4717         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
4718
4719 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4720
4721         * docs/manual/advanced-position.xml:
4722           Update seek example and explanations to current 0.9 API.
4723
4724         * gst/elements/gsttypefindelement.c:
4725         (gst_type_find_element_activate):
4726           Remove FIXME comment now that the found caps
4727           are unreffed.
4728
4729 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4730
4731         * gst/gstregistryxml.c: (load_feature):
4732           Add another GST_STR_NULL instance
4733
4734 2005-11-02  Edward Hervey  <edward@fluendo.com>
4735
4736         * gst/gstpad.c: (handle_pad_block):
4737         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
4738         
4739 2005-11-02  Wim Taymans  <wim@fluendo.com>
4740
4741         * gst/gstbin.c:
4742         Fix typo in docs.
4743
4744         * gst/gstelement.c: (gst_element_commit_state):
4745         Remove unused value.
4746
4747         * gst/gstiterator.c:
4748         Mention that the returned element is reffed in the docs.
4749
4750 2005-11-02  Wim Taymans  <wim@fluendo.com>
4751
4752         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
4753         (gst_pad_push), (gst_pad_push_event):
4754         Unlock blocked pads when they are flushed.
4755
4756 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4757
4758         * docs/README:
4759         * docs/gst/gstreamer-sections.txt:
4760         * gst/gstbin.c:
4761           doc updates
4762         * gst/gstregistry.c: (gst_registry_scan_path_level):
4763           fix for a nasty little missed situation where an installed plug-in
4764           which was in the cache did not get overridden by an uninstalled one
4765           which was earlier in the plugin path because the newly created plugin
4766           for the uninstalled one (not in the registry) didn't get its
4767           ->registered set to TRUE
4768
4769 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4770
4771         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
4772         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
4773         (gst_collectpads_is_active), (gst_collectpads_collect),
4774         (gst_collectpads_collect_range), (gst_collectpads_start),
4775         (gst_collectpads_stop), (gst_collectpads_peek),
4776         (gst_collectpads_pop), (gst_collectpads_available),
4777         (gst_collectpads_read), (gst_collectpads_flush):
4778           Guard public API with assertions.
4779         
4780         * gst/gstpad.c:
4781           Fix docs for gst_pad_set_link_function().
4782
4783 2005-11-02  Johan Dahlin  <johan@gnome.org>
4784
4785         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
4786         Unref found_caps after we used it.
4787
4788 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4789
4790         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
4791           Don't try to ref NULL.
4792
4793 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4794
4795         * win32/common/config.h.in:
4796           provide a GST_FUNCTION that just gives a string for now
4797
4798 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4799
4800         * win32/common/gstenumtypes.c: (register_gst_object_flags),
4801         (gst_object_flags_get_type), (register_gst_bin_flags),
4802         (gst_bin_flags_get_type), (register_gst_buffer_flag),
4803         (gst_buffer_flag_get_type), (register_gst_bus_flags),
4804         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
4805         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
4806         (gst_clock_return_get_type), (register_gst_clock_entry_type),
4807         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
4808         (gst_clock_flags_get_type), (register_gst_state),
4809         (gst_state_get_type), (register_gst_state_change_return),
4810         (gst_state_change_return_get_type), (register_gst_state_change),
4811         (gst_state_change_get_type), (register_gst_element_flags),
4812         (gst_element_flags_get_type), (register_gst_core_error),
4813         (gst_core_error_get_type), (register_gst_library_error),
4814         (gst_library_error_get_type), (register_gst_resource_error),
4815         (gst_resource_error_get_type), (register_gst_stream_error),
4816         (gst_stream_error_get_type), (register_gst_event_type),
4817         (gst_event_type_get_type), (register_gst_seek_type),
4818         (gst_seek_type_get_type), (register_gst_seek_flags),
4819         (gst_seek_flags_get_type), (register_gst_format),
4820         (gst_format_get_type), (register_gst_index_certainty),
4821         (gst_index_certainty_get_type), (register_gst_index_entry_type),
4822         (gst_index_entry_type_get_type),
4823         (register_gst_index_lookup_method),
4824         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
4825         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
4826         (gst_index_resolver_method_get_type), (register_gst_index_flags),
4827         (gst_index_flags_get_type), (register_gst_debug_level),
4828         (gst_debug_level_get_type), (register_gst_debug_color_flags),
4829         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
4830         (gst_iterator_result_get_type), (register_gst_iterator_item),
4831         (gst_iterator_item_get_type), (register_gst_message_type),
4832         (gst_message_type_get_type), (register_gst_mini_object_flags),
4833         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
4834         (gst_pad_link_return_get_type), (register_gst_flow_return),
4835         (gst_flow_return_get_type), (register_gst_activate_mode),
4836         (gst_activate_mode_get_type), (register_gst_pad_direction),
4837         (gst_pad_direction_get_type), (register_gst_pad_flags),
4838         (gst_pad_flags_get_type), (register_gst_pad_presence),
4839         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
4840         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
4841         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
4842         (gst_plugin_error_get_type), (register_gst_plugin_flags),
4843         (gst_plugin_flags_get_type), (register_gst_rank),
4844         (gst_rank_get_type), (register_gst_query_type),
4845         (gst_query_type_get_type), (register_gst_tag_merge_mode),
4846         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
4847         (gst_tag_flag_get_type), (register_gst_task_state),
4848         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
4849         (gst_alloc_trace_flags_get_type),
4850         (register_gst_type_find_probability),
4851         (gst_type_find_probability_get_type), (register_gst_uri_type),
4852         (gst_uri_type_get_type), (register_gst_parse_error),
4853         (gst_parse_error_get_type):
4854         * win32/common/gstversion.h:
4855           update win32 copies
4856
4857 2005-11-01  Luca Ognibene  <luogni@tin.it>
4858
4859         * gst/gst.c:
4860           fix docs. popt is dead, long live GOption.
4861
4862 2005-10-31  Wim Taymans  <wim@fluendo.com>
4863
4864         * gst/gstbuffer.h:
4865         Small doc fix.
4866
4867 2005-10-31  Andy Wingo  <wingo@pobox.com>
4868
4869         * Boo!
4870
4871         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
4872
4873         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
4874         need to serialize property notifications on GLib 2.8. GLib 2.6 has
4875         the possibility of deadlocks here if code calling notify() or
4876         set() has a lock that can be taken in another notify handler (ABBA
4877         with class lock and e.g. python GIL state lock).
4878
4879 2005-10-28  Julien MOUTTE  <julien@moutte.net>
4880
4881         * gst/gstbus.c: Doc updates.
4882
4883 2005-10-28  Wim Taymans  <wim@fluendo.com>
4884
4885         * docs/design/part-TODO.txt:
4886         * gst/gstiterator.c:
4887         * gst/gstsystemclock.c:
4888         * gst/gstsystemclock.h:
4889         Doc updates.
4890
4891 2005-10-28  Edward Hervey  <edward@fluendo.com>
4892
4893         * docs/gst/gstreamer-docs.sgml:
4894         * docs/gst/gstreamer-sections.txt:
4895         the GstURIType documentation page is private, it only defines GstURIType
4896         which should be defined in the GstURIHandler page
4897         
4898 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4899
4900         * gst/gstbin.c: (gst_bin_class_init):
4901         * gst/gstbin.h:
4902         * gst/gstutils.c:
4903         Documentation updates.
4904
4905 2005-10-28  Wim Taymans  <wim@fluendo.com>
4906
4907         * docs/gst/gstreamer-sections.txt:
4908         * gst/gstclock.c:
4909         * gst/gstclock.h:
4910         Documented the clocks.
4911
4912 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
4913
4914         * docs/gst/gstreamer-sections.txt:
4915           move some macros to private sections
4916         * gst/gstminiobject.c:
4917         * gst/gstminiobject.h:
4918           add descriptions provided by ds and some more
4919         * gst/gstpad.h:
4920           mark macro as to be removed
4921
4922 2005-10-28  Wim Taymans  <wim@fluendo.com>
4923
4924         * docs/design/part-TODO.txt:
4925         Add an item to TODO.
4926
4927         * gst/gstiterator.c: (gst_iterator_fold),
4928         (gst_iterator_find_custom):
4929         * gst/gstiterator.h:
4930         Add iterator docs.
4931
4932 2005-10-28  Wim Taymans  <wim@fluendo.com>
4933
4934         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
4935         (gst_base_transform_init):
4936         Don't leak class.
4937
4938         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
4939         An EOS event marks the queue as completely filled.
4940
4941 2005-10-27  Wim Taymans  <wim@fluendo.com>
4942
4943         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4944         (gst_base_sink_do_sync), (gst_base_sink_get_position):
4945         Some more debugging.
4946
4947         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
4948         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
4949         (gst_base_transform_event), (gst_base_transform_getrange),
4950         (gst_base_transform_chain):
4951         * gst/base/gstbasetransform.h:
4952         Fix debugging,
4953         Protect transform and concurrent buffer alloc with a new lock.
4954         Try not to break ABI/API.
4955
4956 2005-10-27  Wim Taymans  <wim@fluendo.com>
4957
4958         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4959         (gst_base_src_init), (gst_base_src_query),
4960         (gst_base_src_default_newsegment),
4961         (gst_base_src_configure_segment), (gst_base_src_do_seek),
4962         (gst_base_src_send_event), (gst_base_src_event_handler),
4963         (gst_base_src_pad_get_range), (gst_base_src_loop),
4964         (gst_base_src_unlock), (gst_base_src_default_negotiate),
4965         (gst_base_src_start), (gst_base_src_deactivate),
4966         (gst_base_src_activate_push), (gst_base_src_change_state):
4967         Move some stuff around and cleanup things.
4968
4969 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
4970
4971         * gst/base/gstbasesrc.c: (gst_base_src_query):
4972           Add missing break statements.
4973
4974 2005-10-27  Wim Taymans  <wim@fluendo.com>
4975
4976         * check/gst/gstbin.c: (GST_START_TEST):
4977         An extra refcount is taken in basesrc.
4978
4979         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
4980         (gst_base_src_get_range), (gst_base_src_pad_get_range),
4981         (gst_base_src_loop):
4982         Small cleanups, check for flushing after being unlocked from the 
4983         LIVE_LOCK. take refcounts correctly (not yet everywhere).
4984         Don't send out EOS when going to READY.
4985
4986 2005-10-27  Wim Taymans  <wim@fluendo.com>
4987
4988         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4989         (gst_base_sink_get_position):
4990         Some more debug.
4991
4992         * gst/gstbin.c: (message_check), (bin_replace_message),
4993         (bin_remove_messages), (is_eos), (gst_bin_add_func),
4994         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
4995         (bin_query_duration_init), (bin_query_duration_fold),
4996         (bin_query_duration_done), (bin_query_generic_fold),
4997         (gst_bin_query):
4998         * tools/gst-launch.c: (main):
4999         Remove old option.
5000
5001 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
5002
5003         * examples/controller/audio-example.c: (main):
5004         * examples/queue/queue.c: (event_loop):
5005         * gst/base/gstbasetransform.h:
5006         * gst/gstelement.c: (gst_element_send_event):
5007         * gst/gstevent.h:
5008         * gst/gstpad.c: (gst_pad_send_event):
5009           fixing examples
5010           fixing docs typos
5011           changing log priority in error situations
5012
5013 2005-10-25  Wim Taymans  <wim@fluendo.com>
5014
5015         * gst/gstbin.c: (message_check), (bin_replace_message),
5016         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5017         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
5018         (bin_query_duration_init), (bin_query_duration_fold),
5019         (bin_query_duration_done), (bin_query_generic_fold),
5020         (gst_bin_query):
5021         Some doc and debug updates.
5022         Cache previously requested query DURATION for speed. invalidate
5023         cached duration if element posts a DURATION message.
5024
5025 2005-10-25  Wim Taymans  <wim@fluendo.com>
5026
5027         * docs/design/part-TODO.txt:
5028         Update TODO.
5029
5030         * gst/gstbin.c: (message_check), (bin_replace_message),
5031         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5032         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
5033         (bin_query_duration_init), (bin_query_duration_fold),
5034         (bin_query_duration_done), (bin_query_generic_fold),
5035         (gst_bin_query):
5036         Handle SEGMENT_START/DONE messages correctly.
5037         More evolved query algorithm that handles duration queries
5038         correctly.
5039
5040         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
5041         (gst_element_get_state_func), (gst_element_abort_state),
5042         (gst_element_commit_state), (gst_element_lost_state):
5043         Some more debugging.
5044
5045         * gst/gstmessage.h:
5046         Added doc.
5047
5048 2005-10-25  Wim Taymans  <wim@fluendo.com>
5049
5050         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
5051         Don't use invalid stream_time.
5052
5053         * gst/gstevent.c: (gst_event_new_newsegment):
5054         stream_time in newsegment cannot be undefined.
5055
5056 2005-10-24  Wim Taymans  <wim@fluendo.com>
5057
5058         * gst/gstbus.c:
5059         Doc fix.
5060
5061         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
5062         (gst_queue_loop):
5063         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
5064
5065 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
5066
5067         * docs/libs/tmpl/gstdparam.sgml:
5068         * docs/libs/tmpl/gstdplinint.sgml:
5069         * docs/libs/tmpl/gstdpman.sgml:
5070         * docs/libs/tmpl/gstdpsmooth.sgml:
5071         * docs/libs/tmpl/gstunitconvert.sgml:
5072           these are obsolete
5073
5074 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5075
5076         * configure.ac:
5077           back to HEAD
5078
5079 === release 0.9.4 ===
5080
5081 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5082
5083         * configure.ac:
5084           releasing 0.9.4, "Tyrannosaurus Rex"
5085
5086 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
5087
5088         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
5089         (gst_file_sink_get_current_offset):
5090           Use fseeko() and ftello() if available. When falling back on
5091           lseek() to get the current offset, fflush() first to make sure
5092           everything is up-to-date and we get the right offset.
5093
5094 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5095
5096         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5097         * gst/base/gstbasesrc.c: (gst_base_src_loop):
5098         * gst/gsterror.c: (_gst_stream_errors_init):
5099         * gst/gsterror.h:
5100         * gst/gstqueue.c: (gst_queue_loop):
5101         * po/POTFILES.in:
5102           remove prematurely added error category and clean up the instances
5103
5104 2005-10-21  Wim Taymans  <wim@fluendo.com>
5105
5106         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5107         (gst_base_sink_get_position), (gst_base_sink_query),
5108         (gst_base_sink_change_state):
5109         Simply set the right flag when going to playing, that's all
5110         we need to do instead of calling a function inside the object
5111         lock (that could take the lock as well and deadlock)
5112
5113 2005-10-21  Wim Taymans  <wim@fluendo.com>
5114
5115         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
5116         (gst_base_src_loop):
5117         Don't warn, the peer element knows what to do best when
5118         the seek failed, it might try something else.
5119
5120 2005-10-21  Wim Taymans  <wim@fluendo.com>
5121
5122         * gst/base/gstbasesrc.c: (gst_base_src_init),
5123         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
5124         Fix seeking.
5125
5126 2005-10-21  Wim Taymans  <wim@fluendo.com>
5127
5128         * docs/design/part-segments.txt:
5129         More docs.
5130
5131         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5132         Correctly set caps, even on the subbufer.
5133
5134 2005-10-21  Wim Taymans  <wim@fluendo.com>
5135
5136         * docs/gst/gstreamer-docs.sgml:
5137         * docs/gst/gstreamer-sections.txt:
5138         * gst/gstelement.h:
5139         * gst/gstevent.c:
5140         * gst/gstevent.h:
5141         * gst/gstmessage.h:
5142         * gst/gstpad.h:
5143         * gst/gstparse.h:
5144         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
5145         * gst/gsttask.h:
5146         * gst/gstutils.c:
5147         * gst/gstutils.h:
5148         And 2% more doc coverage.
5149
5150 2005-10-21  Andy Wingo  <wingo@pobox.com>
5151
5152         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
5153         position reporting.
5154
5155 2005-10-20  Wim Taymans  <wim@fluendo.com>
5156
5157         * gst/gsterror.c: (gst_error_get_message):
5158         * gst/gstparse.h:
5159         * gst/gstquery.h:
5160         * gst/gststructure.c:
5161         * gst/gsttrace.c:
5162         * gst/gstutils.c:
5163         More docs.
5164
5165 2005-10-20  Wim Taymans  <wim@fluendo.com>
5166
5167         * gst/gstbuffer.h:
5168         * gst/gstpad.c:
5169         * gst/gstparse.c:
5170         Another 1% more coverage.
5171
5172 2005-10-20  Wim Taymans  <wim@fluendo.com>
5173
5174         * docs/gst/gstreamer-sections.txt:
5175         * gst/gstelement.c: (gst_element_get_state_func),
5176         (gst_element_abort_state), (gst_element_commit_state),
5177         (gst_element_lost_state):
5178         * gst/gstevent.h:
5179         * gst/gstquery.c: (gst_query_set_position),
5180         (gst_query_parse_position), (gst_query_set_duration),
5181         (gst_query_parse_duration), (gst_query_new_convert):
5182         * gst/gstutils.c:
5183         Yay! 1% more docs coverage.
5184
5185 2005-10-20  Wim Taymans  <wim@fluendo.com>
5186
5187         * gst/gstpad.h:
5188         * gst/gstquery.c: (gst_query_set_position),
5189         (gst_query_parse_position), (gst_query_set_duration),
5190         (gst_query_parse_duration), (gst_query_new_convert):
5191         * gst/gstquery.h:
5192         * gst/gstutils.c: (gst_element_query_convert):
5193         * gst/gstutils.h:
5194         Docs and consistency fixes.
5195
5196 2005-10-20  Wim Taymans  <wim@fluendo.com>
5197
5198         * gst/gsttask.c:
5199         * gst/gsttask.h:
5200         More docs.
5201
5202 2005-10-20  Wim Taymans  <wim@fluendo.com>
5203
5204         * gst/gstbin.c: (message_check), (bin_replace_message),
5205         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5206         (update_degree), (gst_bin_sort_iterator_next),
5207         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
5208         Reworked the message handling a bit, cache the messages instead of
5209         only the senders. alows us to do more in the future.
5210
5211 2005-10-20  Wim Taymans  <wim@fluendo.com>
5212
5213         * docs/design/part-TODO.txt:
5214         Update TODO
5215
5216         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
5217         (gst_base_sink_query):
5218         Don't use clock time to report position when in EOS.
5219
5220 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
5221
5222         * tools/gst-inspect.c: (print_interfaces),
5223         (print_element_properties_info), (print_element_info):
5224           Fix interface output with gst-inspect -a; don't print
5225           newlines after double/float properties.
5226
5227 2005-10-20  Wim Taymans  <wim@fluendo.com>
5228
5229         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
5230         (gst_base_sink_query):
5231         Speed up current position calculation.
5232
5233         * gst/base/gstbasesrc.c: (gst_base_src_query),
5234         (gst_base_src_default_newsegment):
5235         Correctly set stream position in newsegment.
5236
5237         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
5238         (update_degree), (gst_bin_sort_iterator_next),
5239         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
5240         * gst/gstmessage.c: (gst_message_new_custom):
5241         Clean up debugging info
5242
5243         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
5244         (gst_queue_loop), (gst_queue_handle_src_query):
5245         Pause task faster.
5246
5247 2005-10-19  Wim Taymans  <wim@fluendo.com>
5248
5249         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5250         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
5251         Fix query handling again.
5252
5253 2005-10-19  Wim Taymans  <wim@fluendo.com>
5254
5255         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5256         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
5257         * gst/base/gstbasesrc.c: (gst_base_src_query):
5258         * gst/elements/gstfilesink.c: (gst_file_sink_query):
5259         * gst/elements/gsttypefindelement.c:
5260         (gst_type_find_handle_src_query), (find_element_get_length),
5261         (gst_type_find_element_activate):
5262         API change fix.
5263
5264         * gst/gstquery.c: (gst_query_new_position),
5265         (gst_query_set_position), (gst_query_parse_position),
5266         (gst_query_new_duration), (gst_query_set_duration),
5267         (gst_query_parse_duration), (gst_query_set_segment),
5268         (gst_query_parse_segment):
5269         * gst/gstquery.h:
5270         Bundling query position/duration is not a good idea since duration
5271         does not change much and we don't want to recalculate it for every
5272         position query, so they are separated again..
5273         Base value in segment query is not needed.
5274
5275         * gst/gstqueue.c: (gst_queue_handle_src_query):
5276         * gst/gstutils.c: (gst_element_query_position),
5277         (gst_element_query_duration), (gst_pad_query_position),
5278         (gst_pad_query_duration):
5279         * gst/gstutils.h:
5280         Updates for query API change.
5281         Added some docs here and there.
5282
5283 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5284
5285         * check/gst/gstbin.c: (GST_START_TEST):
5286         * check/gst/gstghostpad.c: (GST_START_TEST):
5287         * check/pipelines/cleanup.c: (GST_START_TEST):
5288           wait on thread to die so we can check refcount correctly
5289
5290 2005-10-18  Wim Taymans  <wim@fluendo.com>
5291
5292         * check/pipelines/stress.c: (GST_START_TEST):
5293         Make check a little more time consuming.
5294
5295 2005-10-18  Wim Taymans  <wim@fluendo.com>
5296
5297         * check/Makefile.am:
5298         * check/pipelines/stress.c: (GST_START_TEST),
5299         (simple_launch_lines_suite), (main):
5300         Small state change torture test.
5301
5302         * docs/design/part-states.txt:
5303         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5304         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
5305         (gst_base_sink_change_state):
5306         Never take state lock from streaming thread, clean up ugly
5307         hacks. Unfortunatly core does not yet support nice ways to
5308         async commit state.
5309         
5310         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
5311         (bin_bus_handler):
5312         Start state recalc if a STATE_DIRTY message is posted, but only
5313         on the toplevel bin.
5314
5315         * gst/gstelement.c: (gst_element_sync_state_with_parent),
5316         (gst_element_get_state_func), (gst_element_abort_state),
5317         (gst_element_commit_state), (gst_element_lost_state),
5318         (gst_element_set_state_func), (gst_element_change_state):
5319         * gst/gstelement.h:
5320         State variables are now protected with the LOCK, the state
5321         lock is only used to serialize _set_state().
5322
5323 2005-10-18  Wim Taymans  <wim@fluendo.com>
5324
5325         * check/gst/gstbin.c: (GST_START_TEST):
5326         * check/gst/gstmessage.c: (GST_START_TEST):
5327         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5328         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
5329         (bin_bus_handler):
5330         * gst/gstelement.c: (gst_element_abort_state),
5331         (gst_element_commit_state), (gst_element_lost_state):
5332         * gst/gstmessage.c: (gst_message_new_state_changed),
5333         (gst_message_new_state_dirty), (gst_message_new_segment_start),
5334         (gst_message_new_segment_done), (gst_message_new_duration),
5335         (gst_message_parse_state_changed),
5336         (gst_message_parse_segment_start),
5337         (gst_message_parse_segment_done), (gst_message_parse_duration):
5338         * gst/gstmessage.h:
5339         * tools/gst-launch.c: (event_loop):
5340         Seriously, this is better than a previous commit as we only need
5341         to notify the fact that an element changed state in a streaming
5342         thread, marking the state of the parents dirty, hence the 
5343         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
5344         message.
5345
5346 2005-10-18  Wim Taymans  <wim@fluendo.com>
5347
5348         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
5349         (gst_bin_recalc_func):
5350         * gst/gstelement.c: (gst_element_set_clock),
5351         (gst_element_abort_state), (gst_element_lost_state):
5352         Cleanups, prepare for state change fixes.
5353
5354 2005-10-18  Wim Taymans  <wim@fluendo.com>
5355
5356         * gst/gstbin.h:
5357         * gst/gstelement.c: (gst_element_class_init),
5358         (gst_element_set_state), (gst_element_set_state_func):
5359         * gst/gstelement.h:
5360         Pending ABI changes.
5361         GThreadPool in GstBinClass to monitor async state changes.
5362         state_cookie in GstElement to detect concurrent gst/set state.
5363         set_state is now virtual too in case a very complicated element
5364         has to be constructed.
5365
5366 2005-10-18  Wim Taymans  <wim@fluendo.com>
5367
5368         * check/gst/gstbin.c: (GST_START_TEST):
5369         * check/gst/gstmessage.c: (GST_START_TEST):
5370         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5371         * gst/gstbin.c: (bin_bus_handler):
5372         * gst/gstelement.c: (gst_element_commit_state),
5373         (gst_element_lost_state):
5374         * gst/gstmessage.c: (gst_message_new_state_changed),
5375         (gst_message_new_segment_start), (gst_message_new_segment_done),
5376         (gst_message_new_duration), (gst_message_parse_state_changed),
5377         (gst_message_parse_segment_start),
5378         (gst_message_parse_segment_done), (gst_message_parse_duration):
5379         * gst/gstmessage.h:
5380         * tools/gst-launch.c: (event_loop):
5381         Make messages future proof.
5382         state-change gets a flag if it was a message comming from the
5383         streaming thread.
5384         segment-start/stop can also be specified in other formats.
5385         A message to notify an app that a pipeline changed playback 
5386         duration.
5387         Also fix a GstMessage leak in -launch
5388
5389 2005-10-18  Andy Wingo  <wingo@pobox.com>
5390
5391         * gst/gstelement.c (gst_element_dispose): More helpful message.
5392
5393 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5394
5395         reviewed by: <delete if not using a buddy>
5396
5397         * common/gtk-doc.mak:
5398
5399 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5400
5401         * gst/gstregistry.c: (gst_registry_scan_path_level):
5402           unref a plug-in we get that was already initialized
5403
5404 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
5405
5406         * docs/gst/gstreamer-sections.txt:
5407         * docs/libs/gstreamer-libs-sections.txt:
5408         * gst/gstelement.h:
5409           add new api entries
5410           hide internal macro
5411
5412 2005-10-17  Andy Wingo  <wingo@pobox.com>
5413
5414         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
5415         cleanup.
5416
5417         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
5418
5419         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
5420
5421         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
5422         (gst_element_get_state_func): Better debug message.
5423         (gst_element_commit_state): s/INFO/DEBUG/.
5424         (gst_element_lost_state, gst_element_change_state): 
5425
5426         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
5427         (gst_message_new_custom): s/INFO/LOG/.
5428
5429 2005-10-17  Michael Smith <msmith@fluendo.com>
5430
5431         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5432           Check if end time is valid using end time, not start time.
5433
5434 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
5435
5436         * check/gst-libs/controller.c: (GST_START_TEST),
5437         (gst_controller_suite):
5438         * libs/gst/controller/gstcontroller.c:
5439         (gst_controlled_property_set_interpolation_mode):
5440         * libs/gst/controller/gstcontroller.h:
5441         * libs/gst/controller/gstinterpolation.c:
5442         * testsuite/controller/.cvsignore:
5443         * testsuite/controller/Makefile.am:
5444         * testsuite/controller/interpolator.c:
5445           merge controller testsuites
5446           fix broken tests
5447           remove mem-chunk from docs
5448
5449 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5450
5451         * gst/gstmemchunk.c:
5452         * gst/gstmemchunk.h:
5453         * gst/gsttrashstack.c:
5454         * gst/gsttrashstack.h:
5455           out.  get out.  you're fired.  to the Attic !
5456
5457 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5458
5459         * gst/gstcaps.c: (gst_caps_intersect):
5460           fix signedness issues in a (hopefully) correct way
5461         * gst/gstelement.c: (gst_element_pads_activate):
5462           some debugging
5463         * gst/gstobject.c: (gst_object_set_parent):
5464           some debugging
5465
5466 2005-10-17  Julien MOUTTE  <julien@moutte.net>
5467
5468         * gst/gstvalue.h: Fix prototypes.
5469
5470 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5471
5472         * docs/gst/gstreamer-sections.txt:
5473         * gst/gst.c: (gst_version_string):
5474         * gst/gst.h:
5475         * gst/gstversion.h.in:
5476         * win32/common/libgstreamer.def:
5477           add gst_version_string ()
5478
5479 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5480
5481         * configure.ac:
5482           clean up further
5483         * gst/gst.c: (init_post):
5484         * win32/common/config.h.in:
5485           it's PLUGINDIR now
5486         * gst/gstcaps.c: (gst_caps_intersect):
5487           use gint64, the range could be bigger than a guint
5488
5489 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5490
5491         * gst/gstclock.h:
5492           document potential problem in 2038
5493
5494 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5495
5496         * gst/gstcaps.c: (gst_caps_intersect):
5497           Fix guint j diving under 0
5498
5499 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5500
5501         * configure.ac:
5502         * win32/common/config.h:
5503         * win32/common/config.h.in:
5504           check for process.h, declares getpid() on Windows
5505         * gst/gstinfo.c:
5506           include process.h if we have it
5507         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
5508         * gst/gstmemchunk.h:
5509           fix signedness issues
5510         * win32/common/libgstreamer.def:
5511           fix get_type's
5512
5513 2005-10-16  Julien MOUTTE  <julien@moutte.net>
5514
5515         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
5516         fix. Because of unsigned ints, caps intersection was going nuts and
5517         trying to access structures with G_MAXUINT index. That fixes
5518         videotestsrc ! ffmpegcolorspace ! fakesink
5519         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
5520         consistency.
5521
5522 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5523
5524         * configure.ac:
5525           use the gettext macro
5526         * gst/elements/gstelements.c:
5527         * gst/gst.c:
5528         * gst/indexers/gstindexers.c:
5529           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
5530         * win32/common/config.h:
5531           updated config.h
5532         * win32/common/config.h.in:
5533           add the template to generate config.h
5534         * win32/common/gstenumtypes.c:
5535         * win32/common/gstversion.h:
5536           updated copies
5537
5538 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5539
5540         * gst/gst.c: (gst_version):
5541         * gst/gstversion.h.in:
5542           add the nano
5543
5544 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5545
5546         * gst/gstevent.h:
5547           Oops, add missing closing bracket.
5548
5549 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5550
5551         * configure.ac:
5552           use common m4's for argument checking
5553
5554 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5555
5556         * docs/gst/gstreamer-sections.txt:
5557         * gst/gstevent.h:
5558           Add GST_EVENT_TYPE_NAME() macro.
5559
5560 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5561
5562         * gst/gstinfo.c:
5563         * gst/gstpluginfeature.c:
5564         * gst/gsttask.c:
5565           privatize more symbols
5566
5567 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5568
5569         * configure.ac:
5570           add srcdir, builddir includes to GST_ALL_CFLAGS, since
5571           everything that uses GStreamer API should have the includes
5572
5573 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5574
5575         * docs/gst/gstreamer-sections.txt:
5576         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
5577         * gst/gstvalue.h:
5578           give each value a _get_type, removes the DATA exports
5579
5580 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5581
5582         * gst/gst.c:
5583         * gst/gst.h:
5584           remove _gst_registry_auto_load, not used anymore
5585         * gst/gstbin.c: (gst_bin_get_type):
5586         * gst/gstbin.h:
5587         * gst/gstelement.c: (gst_element_get_type):
5588         * gst/gstelement.h:
5589         * gst/gstobject.c: (gst_object_get_type):
5590         * gst/gstobject.h:
5591         * gst/gstpad.c: (gst_pad_get_type):
5592         * gst/gstpad.h:
5593           make _get_type functions similar, fixes data export from library
5594
5595 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5596
5597         * configure.ac:
5598           correctly make conditionals
5599         * gst/elements/Makefile.am:
5600         * gst/elements/gstelements.c:
5601           fix typo causing fdsrc not to build
5602
5603 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5604
5605         * testsuite/Makefile.am:
5606         * testsuite/bytestream/.cvsignore:
5607         * testsuite/bytestream/Makefile.am:
5608         * testsuite/bytestream/filepadsink.c:
5609         * testsuite/bytestream/gstbstest.c:
5610         * testsuite/bytestream/test1.c:
5611         * testsuite/bytestream/testfile1:
5612         * testsuite/caps/normalisation.c:
5613         * testsuite/caps/random.c: (main):
5614         * testsuite/cleanup/.cvsignore:
5615         * testsuite/cleanup/Makefile.am:
5616         * testsuite/cleanup/cleanup1.c:
5617         * testsuite/cleanup/cleanup2.c:
5618         * testsuite/cleanup/cleanup3.c:
5619         * testsuite/cleanup/cleanup4.c:
5620         * testsuite/cleanup/cleanup5.c:
5621         * testsuite/controller/interpolator.c:
5622         * testsuite/debug/printf_extension.c: (main):
5623         * testsuite/elements/tee.c:
5624         * testsuite/negotiation/.cvsignore:
5625         * testsuite/negotiation/Makefile.am:
5626         * testsuite/negotiation/pad_link.c:
5627         * testsuite/pad/Makefile.am:
5628         * testsuite/pad/chainnopull.c:
5629         * testsuite/pad/getnopush.c:
5630         * testsuite/pad/link.c:
5631         * testsuite/refcounting/sched.c: (create_pipeline):
5632         * testsuite/registry/Makefile.am:
5633         * testsuite/registry/gst-print-formats.c:
5634         * testsuite/schedulers/.cvsignore:
5635         * testsuite/schedulers/142183-2.c:
5636         * testsuite/schedulers/142183.c:
5637         * testsuite/schedulers/143777-2.c:
5638         * testsuite/schedulers/143777.c:
5639         * testsuite/schedulers/147713.c:
5640         * testsuite/schedulers/147819.c:
5641         * testsuite/schedulers/147894-2.c:
5642         * testsuite/schedulers/147894.c:
5643         * testsuite/schedulers/Makefile.am:
5644         * testsuite/schedulers/group_link.c:
5645         * testsuite/schedulers/queue_link.c:
5646         * testsuite/schedulers/relink.c:
5647         * testsuite/schedulers/unlink.c:
5648         * testsuite/schedulers/unref.c:
5649         * testsuite/schedulers/useless_iteration.c:
5650         * testsuite/states/bin.c:
5651           clean out/remove some stuff from the testsuite directories
5652
5653 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5654
5655         * configure.ac:
5656           check for some headers
5657         * gst/elements/Makefile.am:
5658         * gst/elements/gstelements.c:
5659           don't compile fdsrc without sys/socket.h
5660         * gst/indexers/Makefile.am:
5661         * gst/indexers/gstindexers.c: (plugin_init):
5662           don't compile fileindex without mmap
5663
5664 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5665
5666         * configure.ac:
5667           reorganize
5668           clean up
5669           document more
5670           remove cruft
5671         * check/Makefile.am:
5672         * docs/gst/Makefile.am:
5673         * examples/helloworld/Makefile.am:
5674         * gst/Makefile.am:
5675         * gst/base/Makefile.am:
5676         * gst/check/Makefile.am:
5677         * gst/elements/Makefile.am:
5678         * gst/indexers/Makefile.am:
5679         * gst/parse/Makefile.am:
5680         * libs/gst/controller/Makefile.am:
5681         * libs/gst/dataprotocol/Makefile.am:
5682         * examples/helloworld/helloworld.c: (event_loop):
5683           compile fixes, though it's not being compiled currently
5684
5685 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5686
5687         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
5688           Add some simple tests for the new taglist date API.
5689
5690 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5691
5692         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
5693         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
5694           Beautify 'last-message' output: print 'none' for buffer timestamps
5695           and durations if none is set; improve alignment with next messages.
5696
5697 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5698
5699         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
5700         * gst/gstpluginfeature.h:
5701         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
5702         * gst/gstregistry.h:
5703         * docs/gst/gstreamer-sections.txt:
5704           Add new API to check plugin feature version requirements.
5705
5706         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
5707           Some basic tests for the above.         
5708
5709 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5710
5711         * gst/gststructure.c: (gst_structure_to_string):
5712           guard against NULL printf - happens when for example
5713           a message structure with GstClock gets serialized
5714
5715 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5716
5717         * gst/base/gstcollectpads.c: (gst_collectpads_event):
5718           Fix presumable copy'n'pasto.
5719
5720 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5721
5722         * gst/elements/gstfakesrc.h:
5723         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
5724         * gst/elements/gsttypefindelement.c:
5725           fix some signedness
5726         * gst/elements/gstfilesink.c: (gst_file_sink_render):
5727           I wonder if this could actually write +2GB files before
5728
5729 2005-10-13  Andy Wingo  <wingo@pobox.com>
5730
5731         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
5732         Fix Timmeke Waymans bug.
5733         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
5734         string of the proper length to gst_caps_from_string. There's a
5735         potential for, before this fix, that this could cause someone
5736         connecting over the network to cause a segfault if the payload is
5737         not NUL-terminated.
5738
5739 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
5740
5741         * docs/design/draft-push-pull.txt:
5742         * docs/design/part-overview.txt:
5743         * docs/random/TODO-pre-0.9:
5744         * docs/random/old/ChangeLog.gstreamer:
5745         * gst/base/gstpushsrc.c:
5746         * gst/gstclock.c:
5747           fixed typos
5748
5749 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5750
5751         * gst/glib-compat.c: (gst_flags_get_first_value):
5752         * gst/glib-compat.h:
5753         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
5754         (gst_value_compare_double), (gst_value_serialize_flags):
5755           GLib 2.6 g_flags_get_first_value has a bug that triggers an
5756           infinite loop
5757
5758 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5759
5760         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5761         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5762           fix up debugging
5763         * tools/gst-launch.c: (event_loop):
5764           print out clock nicely
5765
5766 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5767
5768         * docs/gst/gstreamer-sections.txt:
5769         * gst/gsttaglist.h:
5770         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
5771         (gst_tag_list_get_date_index):
5772           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
5773           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
5774
5775 2005-10-13  Julien MOUTTE  <julien@moutte.net>
5776
5777         * gst/base/gstcollectpads.c: (gst_collectpads_event),
5778         (gst_collectpads_chain):
5779         * gst/base/gstcollectpads.h: Handle newsegment and store informations
5780         in CollectData.
5781
5782 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
5783
5784         * docs/gst/gstreamer-sections.txt:
5785         * gst/gst.c:
5786         * gst/gsterror.h:
5787         * tools/gst-inspect.c: (main):
5788         * tools/gst-launch.c: (main):
5789         * tools/gst-run.c: (main):
5790         * tools/gst-xmlinspect.c: (main):
5791           fix GOption context leaks
5792           doc fixes
5793
5794 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5795
5796         * gst/gstbus.c:
5797           use HAVE_UNISTD_H
5798         * win32/common/config.h:
5799           update config
5800         * win32/vs6/grammar.dsp:
5801         * win32/vs6/libgstelements.dsp:
5802         * win32/vs6/libgstreamer.dsp:
5803           update vs6 files
5804
5805 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5806
5807         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5808         * gst/base/gstbasesrc.c: (gst_base_src_query):
5809           fix more guint64<->gdouble conversions
5810
5811 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5812
5813         * Makefile.am:
5814           add win32-update target
5815         * win32/common/gstconfig.h:
5816         * win32/common/gstenumtypes.c:
5817         * win32/common/gstenumtypes.h:
5818         * win32/common/gstversion.h:
5819           add files that visual studio can't generate
5820
5821 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5822
5823         * Makefile.am:
5824           add a win32-update target
5825         * configure.ac:
5826
5827 2005-10-12  Wim Taymans  <wim@fluendo.com>
5828
5829         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5830         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
5831         * gst/gstelement.c: (gst_element_commit_state),
5832         (gst_element_set_state):
5833         Protect flags with proper lock.
5834         unref provided cached clock in dispose.
5835
5836 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
5837
5838         * gst/gst.c:
5839         * gst/gstminiobject.h:
5840         * gst/gstpad.h:
5841         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
5842           removed unused flags from miniobject
5843           doc fixes
5844
5845 2005-10-12  Wim Taymans  <wim@fluendo.com>
5846
5847         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
5848         (gst_file_sink_event), (gst_file_sink_render):
5849         Flush before seeking.
5850
5851 2005-10-12  Andy Wingo  <wingo@pobox.com>
5852
5853         * gst/gst.c (gst_init_check): Ignore unknown options, as has
5854         always been the case.
5855
5856 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
5857
5858         * check/gst/gstbin.c: (GST_START_TEST):
5859         * docs/gst/gstreamer-sections.txt:
5860         * gst/base/gstbasesink.c: (gst_base_sink_init):
5861         * gst/base/gstbasesrc.c: (gst_base_src_init),
5862         (gst_base_src_get_range), (gst_base_src_check_get_range),
5863         (gst_base_src_start), (gst_base_src_stop):
5864         * gst/base/gstbasesrc.h:
5865         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
5866         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5867         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
5868         (bin_bus_handler):
5869         * gst/gstbin.h:
5870         * gst/gstbuffer.h:
5871         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
5872         * gst/gstbus.h:
5873         * gst/gstelement.c: (gst_element_is_locked_state),
5874         (gst_element_set_locked_state), (gst_element_commit_state),
5875         (gst_element_set_state):
5876         * gst/gstelement.h:
5877         * gst/gstindex.c: (gst_index_init):
5878         * gst/gstindex.h:
5879         * gst/gstminiobject.h:
5880         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
5881         (gst_object_set_parent):
5882         * gst/gstobject.h:
5883         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
5884         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
5885         * gst/gstpad.h:
5886         * gst/gstpadtemplate.h:
5887         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
5888         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
5889         * gst/gstpipeline.h:
5890         * gst/indexers/gstfileindex.c: (gst_file_index_load),
5891         (gst_file_index_commit):
5892         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5893         * testsuite/pad/link.c: (gst_test_src_init),
5894         (gst_test_filter_init), (gst_test_sink_init):
5895         * testsuite/states/locked.c: (main):
5896           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
5897           moved bitshift from macro to enum definition
5898
5899 2005-10-12  Wim Taymans  <wim@fluendo.com>
5900
5901         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
5902         * gst/elements/gstfilesink.c: (gst_file_sink_event),
5903         (gst_file_sink_render):
5904         Some more debugging info.
5905
5906 2005-10-12  Wim Taymans  <wim@fluendo.com>
5907
5908         * docs/design/part-states.txt:
5909         * tools/gst-launch.c: (main):
5910         Some doc updates.
5911         Revert non-intentional change.
5912
5913 2005-10-12  Wim Taymans  <wim@fluendo.com>
5914
5915         * check/gst/gstbin.c: (GST_START_TEST):
5916         * check/gst/gstelement.c: (GST_START_TEST):
5917         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
5918         * check/gst/gstghostpad.c: (GST_START_TEST):
5919         * check/gst/gstpipeline.c: (GST_START_TEST):
5920         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5921         * check/states/sinks.c: (GST_START_TEST):
5922         * gst/elements/gsttypefindelement.c: (stop_typefinding):
5923         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5924         (gst_bin_remove_func), (gst_bin_get_state_func),
5925         (gst_bin_recalc_state), (gst_bin_change_state_func),
5926         (bin_bus_handler):
5927         * gst/gstelement.c: (gst_element_get_state_func),
5928         (gst_element_get_state), (gst_element_abort_state),
5929         (gst_element_commit_state), (gst_element_set_state),
5930         (gst_element_change_state), (gst_element_change_state_func):
5931         * gst/gstelement.h:
5932         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
5933         (gst_pipeline_provide_clock_func):
5934         * gst/gstutils.c: (gst_element_link_pads_filtered):
5935         * tools/gst-launch.c: (main):
5936         * tools/gst-typefind.c: (main):
5937         Use GstClockTime in _get_state() instead of GTimeVal.
5938         Remove old code in gstutils.c
5939
5940 2005-10-12  Andy Wingo  <wingo@pobox.com>
5941
5942         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
5943         removed.
5944
5945         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
5946         there is no task. Shouldn't affect any code, as nothing in our
5947         plugins checks this return value.
5948         (gst_pad_stop_task): Also take the stream lock if the pad has no
5949         task. Docs updated.
5950
5951 2005-10-12  Wim Taymans  <wim@fluendo.com>
5952
5953         * gst/gstpad.c: (pre_activate), (post_activate),
5954         (gst_pad_activate_pull), (gst_pad_activate_push):
5955         Cleanup activation code. Reset old state if
5956         activation failed.
5957
5958 2005-10-12  Wim Taymans  <wim@fluendo.com>
5959
5960         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5961         (gst_base_sink_change_state):
5962         No need to prerol after receiving EOS.
5963
5964         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
5965         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
5966         * gst/elements/gstidentity.c: (gst_identity_event):
5967         Print events more verbosely.
5968
5969 2005-10-12  Wim Taymans  <wim@fluendo.com>
5970
5971         * check/Makefile.am:
5972         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
5973         * check/states/sinks2.c:
5974         Moved sinks2 testcode in sinks check.
5975
5976         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5977         (gst_bin_remove_func), (gst_bin_recalc_state),
5978         (gst_bin_change_state_func), (bin_bus_handler):
5979         Fix potential race condition when _get_state() iterated over an
5980         ASYNC element right before it posted a state completion.
5981
5982         * gst/gstclock.h:
5983         Do proper cast here.
5984
5985         * gst/gstevent.c: (gst_event_new_newsegment),
5986         (gst_event_parse_newsegment):
5987         A playback rate of 0.0 is not allowed.
5988
5989 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5990
5991         * win32/common/config.h:
5992         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
5993         (_trewinddir), (_ttelldir), (_tseekdir):
5994         * win32/common/dirent.h:
5995         * win32/common/gtchar.h:
5996         * win32/common/libgstbase.def:
5997         * win32/common/libgstreamer.def:
5998         * win32/vs6/grammar.dsp:
5999         * win32/vs6/gst_inspect.dsp:
6000         * win32/vs6/gst_launch.dsp:
6001         * win32/vs6/gstreamer.dsw:
6002         * win32/vs6/libgstbase.dsp:
6003         * win32/vs6/libgstelements.dsp:
6004         * win32/vs6/libgstreamer.dsp:
6005           Visual Studio 6 project files, and a new common directory.
6006           Phear.
6007
6008 2005-10-11  Wim Taymans  <wim@fluendo.com>
6009
6010         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6011         (gst_base_sink_do_sync), (gst_base_sink_query),
6012         (gst_base_sink_change_state):
6013         * gst/base/gstbasesink.h:
6014         Correctly parse newsegment info.
6015
6016 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6017
6018         * gst/gst.c: (init_post):
6019           split plugin paths correctly
6020
6021 2005-10-11  Wim Taymans  <wim@fluendo.com>
6022
6023         * check/gst/gstevent.c: (GST_START_TEST):
6024         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6025         (gst_base_sink_change_state):
6026         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
6027         * gst/base/gstbasetransform.c: (gst_base_transform_event):
6028         * gst/elements/gstfilesink.c: (gst_file_sink_event):
6029         * gst/gstevent.c: (gst_event_new_newsegment),
6030         (gst_event_parse_newsegment):
6031         * gst/gstevent.h:
6032         Added extra flag to newsegment for future API freeze.
6033         Updated check and base elements.
6034
6035 2005-10-11  Julien MOUTTE  <julien@moutte.net>
6036
6037         * gst/base/gstcollectpads.c: (gst_collectpads_init),
6038         (gst_collectpads_add_pad), (gst_collectpads_pop),
6039         (gst_collectpads_event), (gst_collectpads_chain):
6040         * gst/base/gstcollectpads.h: Handle EOS correctly.
6041
6042 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6043
6044         * tools/gst-launch.c: (main):
6045           more null protecting
6046
6047 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6048
6049         * gst/gst-i18n-lib.h:
6050           check for ENABLE_NLS, not GETTEXT_PACKAGE
6051         * gst/gstregistry.c: (gst_registry_add_plugin),
6052         (gst_registry_scan_path_level),
6053         (_gst_registry_remove_cache_plugins):
6054           protect possibly NULL strings
6055         * gst/parse/types.h:
6056           config.h already included before
6057         * tools/gst-inspect.c: (main):
6058           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
6059           check for ENABLE_NLS, not GETTEXT_PACKAGE
6060         * tools/gst-launch.c: (main):
6061           check for ENABLE_NLS, not GETTEXT_PACKAGE
6062
6063 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6064
6065         * configure.ac:
6066           if we don't have glib, fail before testing 2.8
6067         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
6068           fix a leak, should fix plugins-base testsuite
6069
6070 2005-10-11  Andy Wingo  <wingo@pobox.com>
6071
6072         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
6073         take the mode we're going to as an arg. Go head and set the mode
6074         and flushing flags now, so that if the activate function starts a
6075         thread all the flags will be in the right state.
6076         (post_activate): Renamed also. Just handle making sure streaming
6077         finishes for the deactivation case, and setting the deactivated
6078         mode.
6079         (gst_pad_set_active): Complain loudly if deactivation fails.
6080         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
6081         (gst_pad_activate_push): Adapt to pre/post_activate changes,
6082         remove the terrible hack.
6083
6084 2005-10-11  Wim Taymans  <wim@fluendo.com>
6085
6086         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
6087         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
6088         (gst_bin_recalc_state), (gst_bin_change_state_func),
6089         (gst_bin_dispose), (bin_bus_handler):
6090         * gst/gstbin.h:
6091         Prepare to make current EOS message queue more generic.
6092         Fix some typos.
6093
6094         * gst/gstevent.c: (gst_event_new_newsegment),
6095         (gst_event_parse_newsegment):
6096         * gst/gstevent.h:
6097         Rename base to stream_time.
6098
6099         * gst/gstmessage.h:
6100         Fix typo in docs.
6101
6102 2005-10-11  Wim Taymans  <wim@fluendo.com>
6103
6104         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
6105         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
6106         (gst_bin_change_state_func), (bin_bus_handler):
6107         * gst/gstbin.h:
6108         Work on proper clock selection.
6109
6110 2005-10-11  Edward Hervey  <edward@fluendo.com>
6111
6112         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
6113         * libs/gst/controller/gstcontroller.h:
6114         Added GList* version of _remove_properties() in order to be able to wrap
6115         it in bindings.
6116
6117 2005-10-11  Wim Taymans  <wim@fluendo.com>
6118
6119         * docs/design/part-states.txt:
6120         Some more docs.
6121
6122         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
6123         (gst_bin_change_state_func), (bin_bus_handler):
6124         Doc updates. Don't distribute the same clock over and over again.
6125
6126         * gst/gstclock.c:
6127         * gst/gstclock.h:
6128         Doc updates.
6129
6130         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
6131         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
6132         (gst_pad_send_event):
6133         * gst/gstpad.h:
6134         Make probe emission threadsafe again.
6135         Register quarks and move _get_name() from utils.
6136         Doc updates.
6137
6138         * gst/gstpipeline.c: (gst_pipeline_class_init),
6139         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
6140         Only redistribute the clock of it changed.
6141
6142         * gst/gstsystemclock.h:
6143         Doc updates. 
6144
6145         * gst/gstutils.c:
6146         * gst/gstutils.h:
6147         Moved the _flow_get_name() to GstPad.
6148
6149 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6150
6151         * check/gst-libs/gdp.c: (GST_START_TEST):
6152         * check/gst/gstcaps.c: (GST_START_TEST):
6153         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
6154         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
6155         (gst_dp_packet_from_caps):
6156           fix more valgrind warnings before turning up the heat
6157
6158 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6159
6160         * gst/parse/grammar.y:
6161           some cleanup before the hacking
6162
6163 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6164
6165         * gst/base/gstbasesrc.c: (gst_base_src_query):
6166           use conversions
6167         * gst/gstutils.c: (gst_guint64_to_gdouble),
6168         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
6169         * gst/gstutils.h:
6170           externalize, basesrc uses it
6171           obviously the implementation needs testing
6172
6173 2005-10-10  Wim Taymans  <wim@fluendo.com>
6174
6175         * tests/sched/Makefile.am:
6176         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
6177         (make_pipeline3), (make_pipeline4), (print_elem), (main):
6178
6179 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6180
6181         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
6182           apparently converting from guint64 to double is not implemented
6183           on MSVC
6184
6185 2005-10-10  Wim Taymans  <wim@fluendo.com>
6186
6187         * check/Makefile.am:
6188         * check/generic/states.c: (GST_START_TEST):
6189         * check/gst/gstbin.c: (GST_START_TEST):
6190         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6191         * check/states/sinks.c: (GST_START_TEST):
6192         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
6193         (main):
6194         Check fixes, use API as stated in design docs, remove hacks.
6195
6196         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6197         (gst_base_sink_change_state):
6198         Catch stopping our task while we're shutting down.
6199
6200         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
6201         (gst_bin_remove_func), (gst_bin_get_state_func),
6202         (gst_bin_recalc_state), (gst_bin_change_state_func),
6203         (bin_bus_handler):
6204         * gst/gstbin.h:
6205         * gst/gstelement.c: (gst_element_init),
6206         (gst_element_get_state_func), (gst_element_abort_state),
6207         (gst_element_commit_state), (gst_element_lost_state),
6208         (gst_element_set_state), (gst_element_change_state),
6209         (gst_element_change_state_func):
6210         * gst/gstelement.h:
6211         New state change algorithm (see #318116)
6212
6213         * gst/gstpipeline.c: (gst_pipeline_class_init),
6214         (gst_pipeline_init), (gst_pipeline_set_property),
6215         (gst_pipeline_get_property), (do_pipeline_seek),
6216         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
6217         * gst/gstpipeline.h:
6218         Remove crude state change hacks.
6219
6220         * gst/gstutils.h:
6221         Remove crude hacks.
6222
6223         * tools/gst-launch.c: (main):
6224         Fixes for state change. Needs some more work to fully use the
6225         new stuff.
6226
6227 2005-10-10  Andy Wingo  <wingo@pobox.com>
6228
6229         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
6230
6231         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
6232         this flag, but it's not even in GLib 2.6. Odd. Hack around the
6233         issue.
6234
6235 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6236
6237         * gst/gstiterator.c: (gst_iterator_new):
6238           Fix my previous commit: GTypes passed to gst_iterator_new()
6239           can be fundamental types.
6240
6241 2005-10-10  Wim Taymans  <wim@fluendo.com>
6242
6243         * gst/gstelement.c: (gst_element_iterate_pad_list),
6244         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
6245         (gst_element_iterate_sink_pads):
6246         Use src/sink pads lists for the respective iterators instead
6247         of filtering.
6248
6249 2005-10-10  Andy Wingo  <wingo@pobox.com>
6250
6251         Merged in popt removal + GOption addition patch from Ronald, bug
6252         #169772.
6253
6254         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
6255         GstElement macros around, remove popt-related symbols, add goption
6256         stuff.
6257
6258         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
6259         
6260         * docs/gst/Makefile.am:
6261         * docs/libs/Makefile.am: No POPT_CFLAGS.
6262         
6263         * examples/manual/Makefile.am:
6264         * docs/manual/basics-init.xml: Doc updates with an example.
6265         
6266         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
6267         (gst_init), (parse_one_option), (parse_goption_arg):
6268         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
6269         bit of hand merging and debugging to get the GOption stuff working
6270         tho.
6271         
6272         * tests/Makefile.am:
6273         * tools/Makefile.am:
6274         * tools/gst-inspect.c: (main):
6275         * tools/gst-launch.c: (main):
6276         * tools/gst-run.c: (main):
6277         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
6278
6279 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6280
6281         * gst/gstiterator.c: (gst_iterator_new):
6282           Add assertions to make sure passed GType is likely to really
6283           be a GType (as the compiler won't catch it if the size and
6284           GType arguments get mixed up, see #318447).
6285
6286 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
6287
6288         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6289
6290         * gst/gstbin.c: (gst_bin_iterate_sorted):
6291           Pass GType and size arguments to gst_iterator_new() in the right
6292           order (maybe we should make _new() take the GType as first argument
6293           just like _new_list()?) (#318447).
6294           
6295
6296 2005-10-10  Wim Taymans  <wim@fluendo.com>
6297
6298         * gst/gstelement.c: (gst_element_finalize):
6299         And free the GStaticRecMutex too
6300
6301 2005-10-10  Andy Wingo  <wingo@pobox.com>
6302
6303         * gst/gstelement.c (gst_element_init, gst_element_finalize):
6304         Allocate and free the mutex properly.
6305
6306         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
6307         New macros.
6308         (GstElement): The state_lock is now recursive. Rebuild your
6309         plugins, suckers. Old macros adapted.
6310
6311         * docs/gst/gstreamer-sections.txt: Doc updates.
6312
6313         * gst/gstutils.h:
6314         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
6315         (g_static_rec_cond_wait): Ported from state changes patch, while
6316         we wait on bug #317802 to be solved in a well-distributed GLib.
6317
6318         * gst/gstelement.c (gst_element_change_state_func): Renamed from
6319         gst_element_change_state, variable name changes.
6320         (gst_element_change_state): Split out of gst_element_set_state in
6321         preparation for the state change merge. Doesn't pay attention to
6322         the 'transition' argument.
6323         (gst_element_set_state): Updates, hopefully purely cosmetic.
6324         (gst_element_sync_state_with_parent): MT-safety. Ported from the
6325         state change patch.
6326         (gst_element_get_state_func): Renamed from get_state, cosmetic
6327         changes.
6328
6329 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6330
6331         * gst/elements/gstelements.c:
6332         * win32/GStreamer.vcproj:
6333         * win32/config.h:
6334         * win32/dirent.c: (_tseekdir):
6335         * win32/gst-inspect.vcproj:
6336         * win32/gst-launch.vcproj:
6337         * win32/gstconfig.h:
6338         * win32/gstelements.vcproj:
6339         * win32/gstenumtypes.c: (gst_object_flags_get_type):
6340         * win32/gstreamer.def:
6341         * win32/msvc71.sln:
6342           updates for the win32 build (patch from Sebastien Moutte)
6343
6344 2005-10-10  Andy Wingo  <wingo@pobox.com>
6345
6346         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
6347         gst_bin_get_state, cleaned up (but no logic changes).
6348         (bin_element_is_sink): Comment updates.
6349         (sink_iterator_filter): Remove needless cast.
6350         (gst_bin_iterate_sinks): Doc update.
6351         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
6352         cleaned up (but no logic changes).
6353
6354         * check/states/sinks.c (test_src_sink): Cleanups from the state
6355         change patch.
6356         (test_livesrc_sink): Sync on the state.
6357
6358         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
6359         the state change patch.
6360
6361         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
6362         change patch.
6363
6364         * check/gst/gstbin.c: Merge in some style fixes and additional
6365         checks from Wim's state change patch.
6366
6367 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6368
6369         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6370         (gst_type_find_helper):
6371           Check whether we have the requested data already in our list of
6372           cached buffers before pulling a new buffer; also make the buffer
6373           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
6374
6375 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6376
6377         * gst/gstcaps.c:
6378         * gst/gstevent.c:
6379           doc updates
6380         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
6381           don't use long long, it's not portable.  Replacing with
6382           gint64 seems to work; let's hope no skeletons fall out of the closet.
6383
6384 2005-10-10  Andy Wingo  <wingo@pobox.com>
6385
6386         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
6387
6388 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
6389
6390         * docs/gst/gstreamer-sections.txt:
6391         * gst/gstevent.c:
6392         * gst/gstevent.h:
6393         * gst/gstinfo.c:
6394         * gst/gstinfo.h:
6395         * gst/gstmessage.c: (gst_message_parse_state_changed):
6396         * gst/gstpad.c:
6397         * gst/gstpad.h:
6398           more docs, fix compilation
6399
6400 2005-10-09  Philippe Khalaf <burger@speedy.org>
6401         * gst/gstmessage.c:
6402           Fixed a few forgotten variables on previous commit
6403
6404 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6405
6406         * gst/base/gsttypefindhelper.c: (helper_find_peek):
6407           Fix evil typefind crasher: getrange() might return a short
6408           buffer at the end of a file, but gst_type_find_peek() must
6409           either return the full data as requested or NULL, but
6410           never a short buffer.
6411
6412 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6413
6414         * gst/gstmessage.c: (gst_message_new_state_changed),
6415         (gst_message_parse_state_changed):
6416         * gst/gstmessage.h:
6417           don't use "new", it's a C++ keyword
6418
6419 2005-10-08  Wim Taymans  <wim@fluendo.com>
6420
6421         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
6422         * gst/gstelement.c: (gst_element_post_message):
6423         * gst/gstpipeline.c: (gst_pipeline_change_state):
6424         Small docs and debug updates.
6425
6426 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
6427
6428         * docs/gst/gstreamer-sections.txt:
6429         * gst/gstelementfactory.c:
6430         * gst/gstevent.c:
6431         * gst/gsttaglist.c:
6432           more docs
6433
6434 2005-10-08  Wim Taymans  <wim@fluendo.com>
6435
6436         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
6437         (gst_bin_dispose), (bin_bus_handler):
6438         Fix typos, add comments.
6439         Clear EOS list when going to PAUSED from any direction and do it
6440         in a threadsafe way.
6441         Get base time in a threadsafe way too.
6442         Fix confusing debug in the change_state function.
6443         Various other small cleanups.
6444         
6445         * gst/gstelement.c: (gst_element_post_message):
6446         Fix very verbose bus posting code.
6447
6448         * gst/gstpipeline.c: (gst_pipeline_class_init),
6449         (gst_pipeline_set_property), (gst_pipeline_get_property),
6450         (gst_pipeline_change_state):
6451         Small ARG_ -> PROP_ cleanup
6452
6453 2005-10-08  Wim Taymans  <wim@fluendo.com>
6454
6455         * gst/gstbin.c: (is_eos), (bin_bus_handler):
6456         Do a less CPU demanding EOS check because we can.
6457
6458 2005-10-08  Wim Taymans  <wim@fluendo.com>
6459
6460         * libs/gst/dataprotocol/dataprotocol.c:
6461         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6462         (gst_dp_packet_from_event):
6463         * libs/gst/dataprotocol/dataprotocol.h:
6464         * libs/gst/dataprotocol/dp-private.h:
6465         It's about time we bump the version number.
6466         Since event types don't fit in the guint8 anymore describing
6467         the payload type, make payload type 16 bits wide.
6468
6469 2005-10-08  Wim Taymans  <wim@fluendo.com>
6470
6471         * docs/design/part-TODO.txt:
6472         * docs/design/part-clocks.txt:
6473         * docs/design/part-events.txt:
6474         * docs/design/part-gstbin.txt:
6475         * docs/design/part-gstelement.txt:
6476         * docs/design/part-gstpipeline.txt:
6477         * docs/design/part-live-source.txt:
6478         * docs/design/part-messages.txt:
6479         * docs/design/part-overview.txt:
6480         * docs/design/part-states.txt:
6481         Many doc updates.
6482
6483 2005-10-08  Wim Taymans  <wim@fluendo.com>
6484
6485         * gst/gstevent.c:
6486         * gst/gstevent.h:
6487         Fix event quark registration.
6488         Add some space between events so we can insert them in the
6489         right groups.
6490
6491 2005-10-08  Wim Taymans  <wim@fluendo.com>
6492
6493         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6494         (gst_base_sink_handle_buffer):
6495         Better log message.
6496
6497         * gst/gstbus.h:
6498         * gst/gstelement.h:
6499         More docs.
6500
6501         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
6502         (gst_queue_set_property), (gst_queue_get_property):
6503         * gst/gstqueue.h:
6504         Remove old unused properties.
6505
6506 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
6507         * docs/gst/gstreamer-sections.txt:
6508         * gst/gstmessage.c:
6509         * gst/gstmessage.h:
6510         * gst/gstminiobject.c:
6511         * gst/gstminiobject.h:
6512         * gst/gstobject.h:
6513         * gst/gstpad.h:
6514         * gst/gstutils.h:
6515           lots of new docs and doc fixes
6516
6517 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6518
6519         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
6520         * gst/gstplugin.h:
6521         * gst/gstregistry.c: (gst_registry_lookup_locked),
6522         (gst_registry_scan_path_level):
6523         * gst/gstregistryxml.c: (load_plugin):
6524           Only ever load one plugin for a given plugin basename.
6525           This ensures correct overriding of GST_PLUGIN_PATH over
6526           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
6527           system installed plugins.
6528
6529 2005-10-08  Wim Taymans  <wim@fluendo.com>
6530
6531         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6532         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
6533         Prepare for doing QOS.
6534
6535 2005-10-08  Wim Taymans  <wim@fluendo.com>
6536
6537         * check/gst/gstbin.c: (GST_START_TEST):
6538         * check/pipelines/cleanup.c: (GST_START_TEST):
6539         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
6540         Allow new clock message too.
6541
6542 2005-10-08  Wim Taymans  <wim@fluendo.com>
6543
6544         * gst/gstmessage.c: (gst_message_new_error),
6545         (gst_message_new_warning), (gst_message_new_tag),
6546         (gst_message_new_state_changed), (gst_message_new_clock_provide),
6547         (gst_message_new_clock_lost), (gst_message_new_new_clock),
6548         (gst_message_new_segment_start), (gst_message_new_segment_done),
6549         (gst_message_parse_state_changed),
6550         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
6551         (gst_message_parse_new_clock):
6552         * gst/gstmessage.h:
6553         Also carry the clock in question.
6554
6555 2005-10-08  Wim Taymans  <wim@fluendo.com>
6556
6557         * gst/gstmessage.c: (gst_message_new_custom),
6558         (gst_message_new_eos), (gst_message_new_error),
6559         (gst_message_new_warning), (gst_message_new_tag),
6560         (gst_message_new_state_changed), (gst_message_new_clock_provide),
6561         (gst_message_new_new_clock), (gst_message_new_segment_start),
6562         (gst_message_new_segment_done), (gst_message_parse_state_changed),
6563         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
6564         * gst/gstmessage.h:
6565         Clean up.
6566         Added clock related messages.
6567
6568         * gst/gstpipeline.c: (gst_pipeline_change_state):
6569         Post message when the clock changed.
6570
6571         * tools/gst-launch.c: (event_loop):
6572         Print new clock.
6573
6574 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6575
6576         * tools/gst-inspect.c: (print_element_properties_info):
6577           Can't pass NULL strings to g_print() on windows.
6578
6579 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6580
6581         * docs/Makefile.am:
6582         * docs/gst/Makefile.am:
6583         * docs/gst/gstreamer-docs.sgml:
6584         * docs/gst/running.xml:
6585         * docs/version.entities.in:
6586           add a chapter on running GStreamer.
6587           document GST_DEBUG and GST_PLUGIN* env vars
6588
6589 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6590
6591         * Makefile.am:
6592           remove include dir
6593         * configure.ac:
6594           remove PLUGINS_BUILDDIR stuff
6595         * gst/gst.c: (init_post):
6596           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
6597         * idiottest.mak:
6598           remove, it was condescending and not needed
6599
6600 2005-10-08  Wim Taymans  <wim@fluendo.com>
6601
6602         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6603         (gst_base_sink_handle_object), (gst_base_sink_event),
6604         (gst_base_sink_wait), (gst_base_sink_handle_event),
6605         (gst_base_sink_change_state):
6606         * gst/base/gstbasesink.h:
6607         Repost EOS message while going to PLAYING if still EOS.
6608         Make sure that when receiving a FLUSH_START we don't attempt
6609         to sync on the clock anymore.
6610
6611 2005-10-08  Wim Taymans  <wim@fluendo.com>
6612
6613         * tools/gst-launch.c: (event_loop):
6614         Better message printout.
6615
6616 2005-10-08  Wim Taymans  <wim@fluendo.com>
6617
6618         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
6619         (gst_bin_child_proxy_get_children_count):
6620         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6621         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
6622         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
6623         (gst_child_proxy_set_valist):
6624         * gst/parse/grammar.y:
6625         Make ChildProxy threadsafe and fix mem leaks.
6626
6627 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6628
6629         * gst/gst.c: (init_post):
6630           debug the GST_PLUGIN_ env vars
6631
6632 2005-10-08  Wim Taymans  <wim@fluendo.com>
6633
6634         * check/gst/gstbin.c: (GST_START_TEST):
6635         * check/gst/gstmessage.c: (GST_START_TEST):
6636         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
6637         * gst/gstelement.c: (gst_element_commit_state),
6638         (gst_element_lost_state):
6639         * gst/gstmessage.c: (gst_message_new_state_changed),
6640         (gst_message_parse_state_changed):
6641         * gst/gstmessage.h:
6642         * tools/gst-launch.c: (event_loop):
6643         Added extra field to STATE_CHANGE message with the pending
6644         state, which will be different from the new state soon.
6645
6646 2005-10-08  Wim Taymans  <wim@fluendo.com>
6647
6648         * gst/gstbus.c: (gst_bus_pop):
6649         * gst/gstclock.c:
6650         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6651         Small cleanups and doc updates.
6652
6653 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6654
6655         * gst/gst.c: (init_pre):
6656         * gst/gstbin.c: (gst_bin_add_func):
6657           log distributing clocks and base time
6658         * gst/gstregistry.c: (gst_registry_add_plugin),
6659         (gst_registry_scan_path_level), (gst_registry_scan_path):
6660           clean up the debugging output a little
6661         * gst/gstutils.c: (gst_element_state_get_name):
6662           warn about a memleak (I've actually seen this be used, though
6663           it was probably a bug)
6664
6665 2005-10-07  Wim Taymans  <wim@fluendo.com>
6666
6667         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6668         (gst_base_src_init), (gst_base_src_default_newsegment),
6669         (gst_base_src_newsegment), (gst_base_src_do_seek),
6670         (gst_base_src_loop), (gst_base_src_start):
6671         * gst/base/gstbasesrc.h:
6672         Make the newsegment event customizable by subclasses.
6673
6674 2005-10-07  Wim Taymans  <wim@fluendo.com>
6675
6676         * gst/gstevent.c: (gst_event_new_buffersize),
6677         (gst_event_parse_buffersize):
6678         * gst/gstevent.h:
6679         New event for future idea.
6680
6681 2005-10-07  Andy Wingo  <wingo@pobox.com>
6682
6683         * gst/gstelement.c (gst_element_post_message): Doc update.
6684
6685         * docs/gst/gstreamer-sections.txt: Update.
6686
6687         * gst/gstmessage.c (gst_message_new_application): Made into a
6688         function like honest API calls.
6689         (gst_message_new_element): New message type.
6690
6691         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
6692
6693         * check/elements/fakesrc.c (test_no_preroll): New check, checks
6694         that setting a live fakesrc to PAUSED returns NO_PREROLL both
6695         times.
6696
6697         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
6698         NO_PREROLL from gst_element_change_state to fall through.
6699
6700 2005-10-07  Wim Taymans  <wim@fluendo.com>
6701
6702         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
6703         (gst_ghost_pad_do_activate_push):
6704         Activating a ghostpad with no internal pad in push mode
6705         is ok.
6706
6707 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6708
6709         * gst/gstobject.h:
6710           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
6711           Fixes compilation on Windows.
6712
6713 2005-10-07  Michael Smith <msmith@fluendo.com>
6714
6715         * tools/gst-inspect.c:
6716           Print out feature and plugin count at the end when printing out
6717           all features.
6718
6719 2005-10-04  Michael Smith <msmith@fluendo.com>
6720
6721         * gst/gsterror.c: (_gst_stream_errors_init):
6722           Add another error string used in a few existing plugins.
6723
6724         * gst/gstplugin.c:
6725         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6726         * tools/gst-inspect.c: (print_element_info):
6727           When a feature disappears from a plugin (and the feature exists in
6728           the cached registry file), things went horribly wrong. This isn't a
6729           complete fix, we should actually be removing the 'missing' features
6730           from the features list when we load the actual plugin. That's not
6731           yet implemented. 
6732
6733 2005-10-04  Johan Dahlin  <johan@gnome.org>
6734
6735         * check/gst/gstiterator.c: (GST_START_TEST):
6736         * gst/gstbin.c: (gst_bin_iterate_elements),
6737         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
6738         * gst/gstelement.c: (gst_element_iterate_pads):
6739         * gst/gstformat.c: (gst_format_iterate_definitions):
6740         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
6741         (gst_iterator_new_list), (gst_iterator_filter):
6742         * gst/gstiterator.h:
6743         * gst/gstquery.c: (gst_query_type_iterate_definitions):
6744         Add a GType to GstIterator, update callsites and tests.
6745
6746 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6747
6748         * gst/gstpad.c: (gst_pad_event_default_dispatch):
6749           give events a chance to be handled by event probes when the pad
6750           is not linked
6751
6752 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6753
6754         * gst/gstevent.c: (gst_event_type_get_name),
6755         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
6756         * gst/gstevent.h:
6757           add string representations for event types
6758
6759 2005-10-06  Wim Taymans  <wim@fluendo.com>
6760
6761         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
6762         Don't use NULL pointers.
6763
6764 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6765
6766         * gst/gst_private.h:
6767         * gst/gstbus.c:
6768         * gst/gstelement.c:
6769         * gst/gstinfo.c:
6770         * gst/gstpluginfeature.c:
6771           widen the debug category in output to fit the biggest one we have
6772           add a bus category and use it
6773           play with the colors
6774           fix up some categories
6775
6776 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6777
6778         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
6779           add push activation of sink ghost pads.
6780           Andye, please verify
6781
6782 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6783
6784         * gst/gstutils.c: (gst_element_link_pads):
6785           fix a bug in the case where neither element has a pad
6786         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
6787           add a test for that case
6788
6789 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6790
6791         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
6792           emit have-data before checking for peers.  This allows
6793           for probe handlers to connect elements.  This helps autopluggers.
6794         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
6795         (gst_pad_suite):
6796           add six checks, linked/unlinked with no/true/false probe
6797
6798 2005-10-04  Wim Taymans  <wim@fluendo.com>
6799
6800         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
6801         (gst_fake_sink_event), (gst_fake_sink_preroll),
6802         (gst_fake_sink_render), (gst_fake_sink_change_state):
6803         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
6804         (gst_fake_src_get_property), (gst_fake_src_create),
6805         (gst_fake_src_stop):
6806         * gst/elements/gstidentity.c: (gst_identity_stop):
6807         Protect last_message with lock.
6808
6809 2005-10-04  Edward Hervey  <edward@fluendo.com>
6810
6811         * gst/gstformat.h: 
6812         Added precision in the comments for GST_FORMAT_DEFAULT
6813
6814 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
6815
6816         * tools/gst-launch.c: (main):
6817           Don't try to run erroneous pipelines.
6818
6819 2005-10-04  Julien MOUTTE  <julien@moutte.net>
6820
6821         * gst/gstbus.c: We don't need this header.
6822
6823 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6824
6825         * configure.ac:
6826           back to development
6827
6828 === release 0.9.3 ===
6829
6830 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6831
6832         * README:
6833         * configure.ac:
6834           Releasing 0.9.3, "Unregistered"
6835
6836 2005-10-03  Andy Wingo  <wingo@pobox.com>
6837
6838         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
6839         whereby calling a pad's activatepush() function can start a thread
6840         that starts to push or pull before the pad gets the FLUSHING flag
6841         unset. Hack around it by holding the stream lock until the flag is
6842         set. Need to replace this with a proper solution. Together with
6843         the ghost pad fixes, this fixes mp3 playing/tagreading.
6844
6845         * docs/design/part-gstghostpad.txt: Add a note about activation of
6846         proxy pads outside of ghost pads.
6847
6848         * gst/gstghostpad.c: Implement the ghost pad activation design.
6849
6850 2005-10-02  Andy Wingo  <wingo@pobox.com>
6851
6852         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
6853         It is volatile, after all.
6854
6855         * docs/design/part-gstghostpad.txt: Flesh out activation with
6856         ghost pads.
6857
6858         * gst/base/gstbasesrc.c (gst_base_src_init): Use
6859         GST_DEBUG_FUNCPTR.
6860
6861 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
6862
6863         * configure.ac:
6864           Fix (unused) AM_CONDITIONAL tests.
6865
6866 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
6867
6868         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6869
6870         * gst/gstutils.c: (gst_pad_query_convert):
6871           Add assertion that makes sure src_val is >=0, just like
6872           gst_query_new_convert() has. (#315895)
6873
6874 2005-09-30  Edward Hervey  <edward@fluendo.com>
6875
6876         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
6877         Let's not iterate pads we're not interested in, it avoids getting 
6878         sky-high refcounts on sinkpad.
6879
6880 2005-09-30  Wim Taymans  <wim@fluendo.com>
6881
6882         * gst/gstelement.c: (gst_element_set_state),
6883         (gst_element_change_state):
6884         Small tweak, element in ASYNC remains ASYNC.
6885
6886 2005-09-30  Wim Taymans  <wim@fluendo.com>
6887
6888         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
6889         Only error is an error.
6890
6891         * gst/gstbin.c: (gst_bin_change_state):
6892         Better debugging.
6893
6894         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
6895         Also call pad_block in pad alloc.
6896
6897         * gst/gstutils.c: (gst_flow_get_name):
6898         Better debugging.
6899
6900 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6901
6902         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6903         (gst_base_src_get_range):
6904           Fix documentation typos. Add some more debug info.
6905
6906 2005-09-29  David Schleef  <ds@schleef.org>
6907
6908         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
6909           more end-user friendly.
6910         * tools/gst-inspect.c: (main): Check if command-line argument is
6911           a file and attempt to load that file as a plugin.
6912
6913 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6914
6915         * check/gst/gstbin.c:
6916         * check/states/sinks.c:
6917           fix tests for the new warning
6918         * check/gst/gstpipeline.c:
6919           add a test for pipeline and bus interaction
6920         * gst/gstelement.c:
6921           elements should be NULL if they get disposed; add a warning if not
6922
6923 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6924
6925         * gst/gstobject.c:
6926           for 2.6 refcounting, make debug log more correct by printing
6927           the actual refcounts at the time of swap (Wim)
6928
6929 2005-09-29  Andy Wingo  <wingo@pobox.com>
6930
6931         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
6932         removes signal watches previously added via
6933         gst_bus_add_signal_watch.
6934         (gst_bus_add_signal_watch): Don't return the source id, just store
6935         it on the bus if there wasn't an id already.
6936
6937         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
6938         add_signal_watch and remove_signal_watch.
6939
6940 2005-09-29  Edward Hervey  <edward@fluendo.com>
6941
6942         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
6943         Better if we actually iterate the list :)
6944
6945 2005-09-29  Wim Taymans  <wim@fluendo.com>
6946
6947         * check/gst/gstbin.c: (GST_START_TEST):
6948         Change for new bus API.
6949
6950         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6951         (send_messages), (GST_START_TEST), (gstbus_suite):
6952         Change for new bus signal API.
6953
6954         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
6955         (gst_bus_source_prepare), (gst_bus_source_check),
6956         (gst_bus_create_watch), (gst_bus_add_watch_full),
6957         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
6958         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
6959         * gst/gstbus.h:
6960         Remove support for multiple GSources operating on different
6961         message types as it is too complex and unneeded when using
6962         signals.
6963         Added support for receiving signals from the bus.
6964
6965 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6966
6967         * docs/libs/tmpl/gstdataprotocol.sgml:
6968         * docs/manual/advanced-dataaccess.xml:
6969         * gst/elements/gstcapsfilter.c:
6970         * gst/gstutils.c:
6971           rename filter-caps to caps property
6972
6973 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6974
6975         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6976           More robust fraction string parsing.
6977
6978         * docs/pwg/appendix-porting.xml:
6979           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
6980
6981 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6982
6983         * gst/gstcaps.c: (gst_caps_do_simplify):
6984           Thou shalt not free a structure and then continue using it
6985           in the next loop iteration.
6986
6987         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
6988         (gst_caps_suite):
6989           Add test case for caps simplification.
6990
6991 2005-09-29  Wim Taymans  <wim@fluendo.com>
6992
6993         * check/gst/gstbin.c: (GST_START_TEST):
6994         Oops.
6995
6996 2005-09-29  Wim Taymans  <wim@fluendo.com>
6997
6998         * check/gst/gstbin.c: (GST_START_TEST):
6999         Add bus to bin.
7000
7001         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
7002         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
7003         (find_element), (gst_bin_sort_iterator_next),
7004         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7005         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7006         (gst_bin_change_state), (gst_bin_dispose):
7007         A bin does not have a bus, it gets the bus from the parent.
7008
7009         * gst/gstelement.c: (gst_element_requires_clock),
7010         (gst_element_provides_clock), (gst_element_is_indexable),
7011         (gst_element_is_locked_state), (gst_element_change_state),
7012         (gst_element_set_bus_func):
7013         Small cleanups.
7014
7015         * gst/gstpipeline.c: (gst_pipeline_class_init),
7016         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
7017         The pipeline provides a bus.
7018
7019 2005-09-28  Johan Dahlin  <johan@gnome.org>
7020
7021         * gst/gstmessage.c (gst_message_parse_state_changed): Use
7022         gst_structure_get_enum instead of gst_structure_get_int
7023
7024         * gst/gststructure.c (gst_structure_get_enum): Impl.
7025
7026         * gst/gststructure.h (gst_structure_get_enum): Add
7027
7028         * docs/gst/gstreamer-sections.txt: Ditto
7029
7030         * gst/gstmessage.c (gst_message_new_state_changed): Use
7031         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
7032         which does introspection.
7033         Reviewed by Christian Schaller
7034
7035 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
7036
7037         * gst/gstinfo.c: (gst_debug_log_default):
7038           don't do dummy g_strdup()s
7039         * libs/gst/controller/gstcontroller.c:
7040         (on_object_controlled_property_changed),
7041         (gst_controlled_property_new), (gst_controller_new_valist),
7042         (gst_controller_new_list),
7043         (gst_controller_remove_properties_valist), (gst_controller_set),
7044         (gst_controller_get), (gst_controller_sync_values),
7045         (gst_controller_get_value_array), (_gst_controller_class_init),
7046         (gst_controller_get_type):
7047         * libs/gst/controller/gstcontroller.h:
7048         * libs/gst/controller/gstinterpolation.c:
7049         (gst_controlled_property_find_timed_value_node):
7050           convert // to /**/ comments
7051
7052 2005-09-28  Wim Taymans  <wim@fluendo.com>
7053
7054         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
7055         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
7056         (gst_bus_sync_signal_handler):
7057         * gst/gstbus.h:
7058         Added async-message and sync-message signals to the bus.
7059         Added helper BusFunc to emit signals for all posted messages.
7060
7061         * gst/gstmessage.c: (gst_message_type_get_name),
7062         (gst_message_type_to_quark), (gst_message_get_type):
7063         * gst/gstmessage.h:
7064         Register quarks for message names.
7065
7066 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
7067
7068         * docs/libs/gstreamer-libs-sections.txt:
7069         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
7070         (gst_controller_new_list):
7071         * libs/gst/controller/gstcontroller.h:
7072           added another constructor for language bindings
7073
7074 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7075
7076         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7077           add another check
7078         * gst/gstbus.c:
7079           add some doc
7080         * gst/gstinfo.c: (_gst_debug_init):
7081           slightly more readable color for refcount debugging
7082
7083 2005-09-28  Wim Taymans  <wim@fluendo.com>
7084
7085         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
7086         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
7087         (find_element), (gst_bin_sort_iterator_next),
7088         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7089         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7090         (gst_bin_change_state), (gst_bin_dispose):
7091         Small doc fixes. get_clock -> provide_clock.
7092
7093         * gst/gstelement.c: (gst_element_class_init),
7094         (gst_element_provides_clock), (gst_element_provide_clock),
7095         (gst_element_get_clock), (gst_element_commit_state),
7096         (gst_element_lost_state):
7097         * gst/gstelement.h:
7098         Make get/set_clock() symetric. Add provide_clock vmethod since
7099         that is actually what this function does.
7100
7101         * gst/gstpipeline.c: (gst_pipeline_class_init),
7102         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
7103         (gst_pipeline_get_clock):
7104         get_clock -> provide_clock.
7105
7106 2005-09-28  Andy Wingo  <wingo@pobox.com>
7107
7108         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
7109         lieu of real docs...
7110
7111         * gst/elements/gstfdsrc.c: Cleaned up a bit.
7112
7113 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
7114
7115         * gst/elements/gstcapsfilter.c:
7116         * gst/elements/gstfakesink.c:
7117         * gst/elements/gstfakesrc.c:
7118         * gst/elements/gstfdsink.c:
7119         * gst/elements/gstfdsrc.c:
7120         * gst/elements/gstfilesink.c:
7121         * gst/elements/gstfilesrc.c:
7122         * gst/elements/gstidentity.c:
7123         * gst/elements/gsttee.c:
7124         * gst/elements/gsttypefindelement.c:
7125           Make element details static.
7126
7127 2005-09-28  Wim Taymans  <wim@fluendo.com>
7128
7129         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
7130         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
7131         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7132         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7133         (gst_bin_change_state), (gst_bin_dispose):
7134         Some documentation updates.
7135         Clean up dispose handlers.
7136
7137         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
7138         * gst/gstpad.c: (gst_pad_dispose):
7139         Clean up dispose handler.
7140
7141         * gst/gstpipeline.c: (gst_pipeline_change_state):
7142         Removed spurious UNLOCK.
7143
7144 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
7145
7146         * docs/gst/gstreamer-sections.txt:
7147         * gst/base/gstbasesrc.h:
7148         * gst/gstelement.h:
7149         * gst/gstevent.h:
7150         * gst/gstobject.h:
7151         * gst/gstpad.h:
7152         * gst/gstpipeline.c:
7153         * gst/gstpipeline.h:
7154         * gst/gstutils.h:
7155         * gst/gstxml.h:
7156           added two new functions to the docs
7157                 documents all undocumented GstXXXFlags
7158                 completed some incomplete docs 
7159
7160 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7161
7162         * gst/gstbin.c: (gst_bin_dispose):
7163         * gst/gstelement.c: (gst_element_dispose):
7164           remove now useless and leaky resurrection code in dispose
7165         * gst/base/gstbasesrc.c: (gst_base_src_init):
7166         * gst/gstelementfactory.c: (gst_element_factory_create):
7167         * gst/gstobject.c: (gst_object_set_parent):
7168           add some debugging
7169
7170 2005-09-27  Wim Taymans  <wim@fluendo.com>
7171
7172         * docs/design/part-TODO.txt:
7173         Update TODO.
7174
7175         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
7176         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
7177         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7178         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7179         (gst_bin_change_state):
7180         * gst/gstelement.h:
7181         Remove element variable, we keep element info in the iterator now.
7182
7183 2005-09-27  Andy Wingo  <wingo@pobox.com>
7184
7185         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
7186         values.
7187
7188 2005-09-27  Wim Taymans  <wim@fluendo.com>
7189
7190         * check/gst/gstbin.c: (GST_START_TEST):
7191         Enable check that works now.
7192
7193         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
7194         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
7195         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7196         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7197         (gst_bin_change_state):
7198         * gst/gstbin.h:
7199         Redid the state change algorithm using a topological sort algo.
7200         Handles all cases correctly.
7201         Exposed iterator for state change order.
7202
7203         * gst/gstelement.h:
7204         Temp storage for state changes. Need to get rid of this soon.
7205
7206 2005-09-27  Wim Taymans  <wim@fluendo.com>
7207
7208         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
7209         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
7210         (link_fold_func), (gst_pad_proxy_setcaps):
7211         Leak fixes, the fold functions need to unref the passed object and
7212         _get_parent_*() returns ref to parent.
7213
7214 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
7215
7216         * check/gst/gstbuffer.c: (test_make_writable):
7217           Plug leak in test case and fix 'make check-valgrind'
7218
7219 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
7220
7221         * gst/gstbuffer.c: (gst_subbuffer_init):
7222           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
7223           works correctly in all circumstances (we could have just copied
7224           the parent buffer's readonly flag, but conceptually it seems
7225           cleaner to mark all subbuffers as read-only). (based on patch
7226           by Alessandro Decina, #314710).
7227         
7228         * check/gst/gstbuffer.c: (create_read_only_buffer),
7229         (test_make_writable), (test_subbuffer_make_writable),
7230         (gst_test_suite):
7231           Add some tests for gst_buffer_make_writable().
7232
7233 2005-09-27  Wim Taymans  <wim@fluendo.com>
7234
7235         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
7236         use gst_object_has_ancestor().
7237
7238         * gst/gstobject.c: (gst_object_has_ancestor):
7239         * gst/gstobject.h:
7240         gst_object_has_ancestor() copied from gstbin.c as it is a
7241         usefull function.
7242
7243         * tests/instantiate/create.c: (create_all_elements):
7244         * tests/lat.c: (handoff_src), (handoff_sink):
7245         * tests/sched/runxml.c: (main):
7246         * tests/seeking/seeking1.c: (main):
7247         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
7248         (main):
7249         Fix compilation of some tests.
7250
7251 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
7252
7253         * gst/gsterror.h:
7254           Remove comment. GST_TYPE_G_ERROR is here to stay,
7255           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
7256           (#316961, #300610).
7257
7258 2005-09-26  Wim Taymans  <wim@fluendo.com>
7259
7260         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7261         Added check that shows error in state change order.
7262
7263 2005-09-26  Wim Taymans  <wim@fluendo.com>
7264
7265         * gst/gstbin.c: (gst_bin_change_state):
7266         Make state change function use 3 queues again, we were
7267         adding elements in the wrong order.
7268
7269         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
7270         Some debug info,
7271
7272         * gst/gstpad.c: (gst_pad_dispose):
7273         Added some debug info first.
7274
7275 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
7276
7277         * docs/design/draft-push-pull.txt:
7278         * docs/design/part-events.txt:
7279         * docs/design/part-overview.txt:
7280         * docs/design/part-scheduling.txt:
7281           Replace all _pull_region() with _pull_range()
7282           
7283 2005-09-26  Andy Wingo  <wingo@pobox.com>
7284
7285         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
7286
7287         * check/gst-libs/controller.c: Update for controller api change.
7288
7289         * configure.ac: 
7290         * tests/Makefile.am:
7291         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
7292         over by GLib bug 118439.
7293         
7294         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
7295         routines to a function.
7296
7297         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
7298
7299         * libs/gst/controller/gsthelper.c:
7300         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
7301         (gst_object_sync_values): Renamed from sink_values. Ugh.
7302
7303         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
7304
7305         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
7306         Renamed from controller_key, as it is exported.
7307
7308         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
7309
7310 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7311
7312         * gst/Makefile.am:
7313         * gst/gst.h:
7314         * gst/gstpad.h:
7315         * gst/gstpadtemplate.h:
7316         * gst/gstquery.c:
7317         * gst/gstquery.h:
7318         * gst/gstqueryutils.c:
7319         * gst/gstqueryutils.h:
7320           remove queryutils headers after moving the two used functions
7321           to gstquery.  also fixes build problem for gstsiddec
7322
7323 2005-09-26  Michael Smith <msmith@fluendo.com>
7324
7325         * tools/gst-launch.1.in:
7326         Correct documentation in manpage of debug syntax
7327
7328 2005-09-26  Wim Taymans  <wim@fluendo.com>
7329
7330         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
7331         (gst_base_src_is_seekable), (gst_base_src_change_state):
7332         Some more debugging info.
7333
7334 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
7335
7336         * docs/gst/gstreamer-sections.txt:
7337         * gst/base/gstbasetransform.h:
7338         * gst/gstindex.h:
7339           added more docs
7340
7341 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
7342
7343         * docs/gst/.cvsignore:
7344         * docs/gst/tmpl/.cvsignore:
7345         * docs/gst/tmpl/gstpipeline.sgml:
7346         * docs/gst/tmpl/gstplugin.sgml:
7347         * gst/gstpipeline.c:
7348         * gst/gstplugin.c:
7349         * gst/gstplugin.h:
7350           inlined the last two docs files
7351           removed the tmpl directory from cvs (no more conflicts here!)
7352
7353 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
7354
7355         * docs/gst/gstreamer-sections.txt:
7356         * docs/gst/tmpl/.cvsignore:
7357         * docs/gst/tmpl/gstpad.sgml:
7358         * docs/gst/tmpl/gstpadtemplate.sgml:
7359         * gst/Makefile.am:
7360         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
7361         (gst_pad_finalize), (gst_pad_set_pad_template):
7362         * gst/gstpad.h:
7363         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
7364         (gst_pad_template_class_init), (gst_pad_template_init),
7365         (gst_pad_template_dispose), (name_is_valid),
7366         (gst_static_pad_template_get), (gst_pad_template_new),
7367         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
7368         (gst_pad_template_pad_created):
7369         * gst/gstpadtemplate.h:
7370           inlined two more docs
7371           factored gstpadtemplate out of gstpad
7372
7373 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
7374
7375         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
7376         (test_children_state_change_order_semi_sink):
7377           Fix test case: we can't rely on a fixed state change order when
7378           going from READY => PAUSED because the sink might commit its 
7379           new state first when the first buffer created by the source 
7380           reaches the sink before the source has finished its change state.
7381           (Test case still fails at times, see #316856, comment 5 onwards)
7382
7383 2005-09-24  Wim Taymans  <wim@fluendo.com>
7384
7385         * docs/design/part-events.txt:
7386         * docs/design/part-gstbus.txt:
7387         * docs/design/part-gstpipeline.txt:
7388         * docs/design/part-messages.txt:
7389         * docs/design/part-overview.txt:
7390         * docs/design/part-segments.txt:
7391         * gst/gstbin.c:
7392         * gst/gstbuffer.c:
7393         * gst/gstclock.c:
7394         * gst/gstelement.c:
7395         * gst/gstevent.c:
7396         * gst/gstfilter.c:
7397         * gst/gstiterator.c:
7398         Various documentation updates.
7399
7400 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7401
7402         * gst/gstclock.h:
7403           Well, that's embarassing.  Luckily we weren't using
7404           GST_CLOCK_DIFF anywhere.
7405
7406 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7407
7408         * common/gtk-doc.mak:
7409           don't fail on building XML, FC4 slave shows a bunch of doc
7410           missing bits that I don't get
7411         * gst/gstpad.c:
7412         * gst/gstpipeline.c:
7413         * gst/gststructure.c:
7414           some doc updates
7415
7416 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
7417
7418         * docs/design/part-gstbin.txt:
7419         * docs/design/part-gstbus.txt:
7420         * gst/gstbus.c:
7421           Add blurb about how the bus goes into flushing mode and
7422           drops all messages when its bin goes from READY into NULL 
7423           state.
7424
7425 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7426
7427         * docs/gst/gstreamer-sections.txt:
7428         * gst/gststructure.c: (gst_structure_get_clock_time):
7429         * gst/gststructure.h:
7430           add a method to get a GstClockTime out of a structure
7431
7432 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
7433
7434         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
7435         (test_children_state_change_order_semi_sink), (gst_bin_suite):
7436           Added test to check state change order in bins (can still be made
7437           to fail here under heavy disk load; bails out with 'Push on pad
7438           fakesink:sink0, but it was not activated in push mode').
7439
7440         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
7441           Fix state change order when there is only a semi sink (#316856)
7442
7443         * gst/gstbus.c: (gst_bus_class_init):
7444           Use _class_peek_parent(), not _class_ref(); fix docs to say
7445           'default main context' instead of 'mainloop' where that is
7446           what's meant.
7447
7448         * gst/gstelement.c: (gst_element_commit_state),
7449         (gst_element_set_state):
7450           Fix typos in debug messages
7451
7452 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7453
7454         * docs/README:
7455         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
7456         * gst/gstpluginfeature.c:
7457         * gst/gstutils.c:
7458           various doc updates
7459         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7460           change an assert into an error until it gets fixed properly
7461
7462 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
7463
7464         * docs/gst/gstreamer-sections.txt:
7465         * docs/gst/tmpl/.cvsignore:
7466         * docs/gst/tmpl/gstelement.sgml:
7467         * docs/gst/tmpl/gstinfo.sgml:
7468         * docs/gst/tmpl/gstobject.sgml:
7469         * gst/gstelement.c:
7470         * gst/gstelement.h:
7471         * gst/gstinfo.c:
7472         * gst/gstinfo.h:
7473         * gst/gstobject.c: (gst_object_class_init):
7474         * gst/gstobject.h:
7475           inlined 3 more biiiig doc files and added some missing docs on the fly
7476
7477 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7478
7479         * check/gst/.cvsignore:
7480         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
7481         * gst/gstregistryxml.c: (load_plugin),
7482         (gst_registry_xml_save_plugin):
7483           put back source in registry.  add checks for find_plugin.
7484         * testsuite/states/bin.c: (assert_state), (empty_bin),
7485         (test_adding_one_element), (main):
7486         * testsuite/states/locked.c: (main):
7487           some compile/run fixes
7488
7489 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7490
7491         * check/gst/gstvalue.c: (GST_START_TEST):
7492           fix leaks in the test itself
7493
7494 2005-09-22  Wim Taymans  <wim@fluendo.com>
7495
7496         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7497         (gst_base_sink_send_event), (gst_base_sink_peer_query),
7498         (gst_base_sink_query):
7499         Prepare for more accurate position reporting and query
7500         handling.
7501
7502         * gst/gstelement.c: (gst_element_send_event),
7503         (gst_element_set_state):
7504         Add some comment.
7505
7506 2005-09-22  Wim Taymans  <wim@fluendo.com>
7507
7508         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
7509         (gst_query_parse_segment):
7510         * gst/gstquery.h:
7511         More documentation.
7512         Add segment query for future use.
7513
7514 2005-09-22  Wim Taymans  <wim@fluendo.com>
7515
7516         * gst/gstbin.c: (gst_bin_add_func):
7517         Some more debug info.
7518
7519         * gst/gstelement.c: (gst_element_send_event):
7520         Simplify send_event
7521
7522         * gst/gstelement.h:
7523         Don't know how flags got broken.
7524
7525         * gst/gstquery.h:
7526         Added new query.
7527
7528 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
7529
7530         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
7531           Add simplistic test suite for GST_TYPE_DATE serialisation and
7532           deserialisation.
7533
7534 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
7535
7536         * docs/gst/gstreamer-sections.txt:
7537         * gst/gststructure.c: (gst_structure_set_valist),
7538         (gst_structure_get_date):
7539         * gst/gststructure.h:
7540         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
7541         (gst_date_copy), (gst_value_compare_date),
7542         (gst_value_serialize_date), (gst_value_deserialize_date),
7543         (gst_value_transform_date_string),
7544         (gst_value_transform_string_date), (_gst_value_initialize):
7545         * gst/gstvalue.h:
7546           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
7547           bunch of utility functions along with a hack that checks that
7548           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
7549           is required. Part of the grand scheme in #170777.
7550
7551 2005-09-22  Andy Wingo  <wingo@pobox.com>
7552
7553         * gst/gstconfig.h.in: Psych out gtk-doc.
7554
7555         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
7556
7557         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
7558
7559         * tools/gst-inspect.c (print_element_list): Plug some
7560         inconsequential leaks.
7561
7562         * gst/gstregistry.c (gst_registry_get_default): Doc.
7563
7564         * check/gst/gstplugin.c: 
7565         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
7566         * gst/gstelementfactory.c (gst_element_factory_create): 
7567         * gst/gstindexfactory.c (gst_index_factory_create): Update for
7568         refcount changes.
7569
7570         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
7571         (gst_plugin_feature_load): Doc, don't eat refs.
7572
7573         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
7574         (gst_plugin_list_free): Doc.
7575         (gst_plugin_load_file): Doc updates.
7576
7577         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
7578         accessors returning refcounted objects, return a ref.
7579
7580         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
7581         accessor for caps. IDEMPOTENCE. Oh yes.
7582
7583 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
7584
7585         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7586
7587         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7588         (_gst_debug_register_funcptr):
7589           Add mutex to serialise access to the hash table with
7590           the function pointer => function name string mapping;
7591           make that hash table static scope (#316809).
7592
7593         * gst/registries/.cvsignore:
7594           Remove left-over file.
7595
7596 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
7597
7598         * docs/pwg/appendix-porting.xml:
7599           And something about newsegment events and caps-on-buffers to
7600           the porting guide (feel free to improve).
7601
7602 2005-09-21  Andy Wingo  <wingo@pobox.com>
7603
7604         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
7605         data and event probes on the same pad.
7606         (test_buffer_probe_once): Test that removing probes from within
7607         the probe functions works.
7608
7609 2005-09-21  Andy Wingo  <wingo@pobox.com>
7610
7611         * check/gst/gstutils.c: New file.
7612         (test_buffer_probe_n_times): A simple buffer probe test. More to
7613         come, foolios.
7614
7615         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
7616         have-data::buffer, not have-data.
7617         (gst_pad_add_event_probe): Likewise for have-data::event.
7618         (gst_pad_add_data_probe): More docs. The part about 'resolving the
7619         peer' isn't quite right yet though.
7620         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
7621         (gst_pad_remove_data_probe): Change to take the guint handler_id
7622         as their arg, not the function+data, which is more glib-like.
7623
7624         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
7625         the signal emission to indicate if the data is a buffer or an
7626         event.
7627         (gst_pad_get_type): Initialize buffer and event quarks.
7628         (gst_pad_class_init): have-data is now a detailed signal, yes it
7629         is.
7630
7631 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
7632
7633         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7634         * gst/gstutils.c: (gst_util_set_value_from_string),
7635         (gst_util_set_object_arg):
7636           Don't put functional code in g_return_if_fail() or
7637           g_return_val_if_fail() statements, otherwise things will 
7638           break when G_DISABLE_CHECKS is defined during compilation.
7639
7640 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7641
7642         * docs/gst/tmpl/.cvsignore:
7643         * docs/gst/tmpl/gstvalue.sgml:
7644         * gst/gstvalue.c:
7645         * gst/gstvalue.h:
7646           inlied another one and added  some obvious docs
7647
7648 2005-09-21  Wim Taymans  <wim@fluendo.com>
7649
7650         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
7651         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
7652         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
7653         (gst_fdsrc_get_property), (gst_fdsrc_create):
7654         * gst/elements/gstfdsrc.h:
7655         Properly implement fdsrc. Removed signal and timeout,
7656         better implemented somewhere else.
7657
7658 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7659
7660         * docs/gst/tmpl/.cvsignore:
7661         * docs/gst/tmpl/gstimplementsinterface.sgml:
7662         * gst/gstinterface.c:
7663           inlined more docs
7664
7665 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7666
7667         * docs/gst/gstreamer-sections.txt:
7668         * docs/gst/tmpl/.cvsignore:
7669         * docs/gst/tmpl/gstenumtypes.sgml:
7670           remove obsolete doc file
7671
7672 2005-09-21  David Schleef  <ds@schleef.org>
7673
7674         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
7675         little beer, fix a little leak.
7676
7677 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7678
7679         * docs/gst/gstreamer-docs.sgml:
7680         * docs/gst/gstreamer-sections.txt:
7681         * docs/gst/tmpl/.cvsignore:
7682         * gst/Makefile.am:
7683         * gst/gst.h:
7684         * gst/gstbin.c:
7685         * gst/gstelement.h:
7686         * gst/gstindex.c: (gst_index_class_init):
7687         * gst/gstindex.h:
7688         * gst/gstindexfactory.c: (gst_index_factory_get_type),
7689         (gst_index_factory_class_init), (gst_index_factory_init),
7690         (gst_index_factory_finalize), (gst_index_factory_new),
7691         (gst_index_factory_destroy), (gst_index_factory_find),
7692         (gst_index_factory_create), (gst_index_factory_make):
7693         * gst/gstindexfactory.h:
7694         * gst/gstpluginfeature.c:
7695         * gst/gstpluginfeature.h:
7696         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7697           more docs inlined, splitted gstindex.{c,h}
7698
7699 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7700
7701         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7702           fix a leak
7703
7704 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
7705
7706         * gst/elements/gstfilesink.c: (gst_file_sink_init):
7707           Set sync to FALSE by default.
7708
7709 2005-09-20  Wim Taymans  <wim@fluendo.com>
7710
7711         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7712         (gst_base_sink_init):
7713         Make sync property settable from subclass.
7714
7715         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7716         (gst_fake_sink_change_state):
7717         Set sync to FALSE by default.
7718
7719 2005-09-20  Wim Taymans  <wim@fluendo.com>
7720
7721         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
7722         * tools/gst-launch.c: (main):
7723         The timeout handler should have lower priority than the source
7724         so we don't timeout before popping a message with 0 timeout.
7725         Dump error messages after failed state change.
7726
7727 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
7728
7729         * tools/gst-inspect.c: (print_element_properties_info):
7730           Fix two typos.
7731
7732 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7733
7734         * check/gst/gstevent.c:
7735         * gst/elements/gstfakesink.c:
7736         * gst/elements/gstfakesink.h:
7737           remove the sync property from fakesink.
7738           has the side effect of setting sync TRUE
7739           for fakesink, which is a change.  Anyone who knows how
7740           to fix this nicely in a GObject-y way, feel free.
7741
7742 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7743
7744         * docs/gst/gstreamer-docs.sgml:
7745           remove probe refsection
7746
7747 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7748
7749         * check/Makefile.am:
7750           disable valgrinding the controller test again
7751         * docs/gst/gstreamer-sections.txt:
7752           update for api-changes
7753
7754 2005-09-20  Wim Taymans  <wim@fluendo.com>
7755
7756         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7757         (gst_base_sink_set_property), (gst_base_sink_get_property),
7758         (gst_base_sink_do_sync):
7759         * gst/base/gstbasesink.h:
7760         Added sync property to basesink to disable clock sync.
7761
7762 2005-09-20  Andy Wingo  <wingo@pobox.com>
7763
7764         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
7765         eating the caller's refcount.
7766
7767         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
7768         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
7769         refcount.
7770
7771         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
7772         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
7773         of GLib 2.8 public, so we can know which refcount to check in
7774         tests.
7775
7776         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
7777         (gst_object_init): Only set the gst refcount if we're going ahead
7778         with the refcount hack.
7779
7780 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7781
7782         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
7783         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7784           more leaks plumbed, added more debug-logging
7785         * gst/gstmacros.h:
7786           whitespace fix
7787
7788 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7789
7790         * gst/gstmessage.c:
7791           remove include of gstmemchunk.h
7792
7793 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7794
7795         * gst/gstclock.c: (_gst_clock_id_free):
7796           Commit from the Political Party For More Atomic CVS Commits,
7797           so that people don't waste too much of their day fishing
7798           out obvious leaks out of massive commits.
7799           Oh, and fix a pretty damn obvious leak in the memchunk
7800           removal code.
7801
7802 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7803
7804         * check/Makefile.am:
7805         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
7806           plug mem-leak, re-add to valgrindable tests
7807
7808 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7809
7810         * gst/gstplugin.h:
7811           unbreak the build for those who have chronic arthritis
7812           and typing "make check" is just too taxing on the hands
7813
7814 2005-09-20  Andy Wingo  <wingo@pobox.com>
7815
7816         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
7817         really want it out, you should fix plugins at the same time.
7818
7819 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
7820
7821         * configure.ac:
7822         * docs/gst/gstreamer-sections.txt:
7823         * gst/gstobject.c:
7824           added missing symbols to api docs
7825           disable ref-count hack if we have glib >= 2.8
7826
7827 2005-09-19  David Schleef  <ds@schleef.org>
7828
7829         * docs/gst/Makefile.am: Ignore a few more internal headers
7830         * docs/gst/gstreamer-docs.sgml: Remove old sections
7831         * docs/gst/gstreamer-sections.txt: Remove old sections
7832         * docs/gst/tmpl/gstobject.sgml: update
7833         * docs/gst/tmpl/gstplugin.sgml: update
7834         * docs/gst/tmpl/gstpluginfeature.sgml: update
7835         * docs/random/ds/0.9-suggested-changes: update.
7836         * gst/Makefile.am: remove memchunk and trashstack, since they're
7837           not used.
7838         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
7839         * gst/gst.h: don't include some headers
7840         * gst/gstchildproxy.c: add gstmarshal.h
7841         * gst/gstclock.c: Don't use memchunks
7842         * gst/gstminiobject.c: Add some docs
7843         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
7844         * gst/gstobject.h: same
7845         * gst/gstplugin.c: include gstmacros.h
7846         * gst/gstplugin.h: don't include gstmacros.h, since it's private
7847         * gst/gstquery.c: don't use memchunks
7848         * gst/gstregistry.c: rename gst_registry_deinit()
7849         * gst/gstregistry.h: same
7850
7851 2005-09-19  David Schleef  <ds@schleef.org>
7852
7853         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
7854         * docs/libs/gstreamer-libs-sections.txt:
7855         * docs/libs/tmpl/gstgetbits.sgml:
7856         * docs/libs/tmpl/gstputbits.sgml:
7857
7858 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
7859
7860         * win32/gstenumtypes.c:
7861         * win32/gstenumtypes.h:
7862           Update.
7863
7864 2005-09-19  Wim Taymans  <wim@fluendo.com>
7865
7866         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
7867         Automatically PAUSE and RESUME a pipeline when a flushing seek
7868         is performed.
7869
7870 2005-09-19  Andy Wingo  <wingo@pobox.com>
7871
7872         * gst/gstregistry.h: Spacing fixen.
7873
7874 2005-09-19  Wim Taymans  <wim@fluendo.com>
7875
7876         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
7877         Handle state change failure more correctly.
7878
7879 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7880
7881         * check/Makefile.am:
7882         * check/pipelines/cleanup.c: (run_pipeline):
7883         * check/pipelines/simple_launch_lines.c: (run_pipeline),
7884         (GST_START_TEST):
7885           enable cleanup again after fixing the leak
7886         * docs/README:
7887           some more info on docs
7888
7889 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7890
7891         * check/Makefile.am:
7892           re-enable tests now that leaks are plugged
7893         * check/gst/gst.c:
7894         * check/gst/gstbin.c:
7895         * check/gst/gstpipeline.c:
7896           add some more tests while fixing leaks
7897         * common/check.mak:
7898           make sure binaries are uptodate when valgrinding/gdbing
7899         * gst/gst.c:
7900         * gst/gstelementfactory.c:
7901           remove a ref too many, and add a FIXME for when we get
7902           round to disposing of classes
7903         * gst/gstplugin.c:
7904           fix the refcounting when loading a plugin from a file and
7905           the code pretends that the pointer is the same even though
7906           of course it can change
7907         * gst/gstpluginfeature.c:
7908           unref plugins marked cached (a bit confusing as a name)
7909           as the docs state should be done
7910           various doc additions to explain refcounting
7911         * gst/gstregistry.c:
7912         * gst/gstregistryxml.c:
7913           debugging
7914
7915 2005-09-19  Wim Taymans  <wim@fluendo.com>
7916
7917         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
7918         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
7919         (send_messages), (GST_START_TEST), (gstbus_suite):
7920         * check/gst/gstpipeline.c: (GST_START_TEST):
7921         * check/pipelines/cleanup.c: (run_pipeline):
7922         * check/pipelines/simple_launch_lines.c: (run_pipeline),
7923         (GST_START_TEST):
7924         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
7925         (gst_bus_source_check), (gst_bus_source_dispatch),
7926         (gst_bus_create_watch), (gst_bus_add_watch_full),
7927         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
7928         * gst/gstbus.h:
7929         * tools/gst-launch.c: (event_loop):
7930         * tools/gst-md5sum.c: (event_loop):
7931         GstBusHandler -> GstBusFunc, return value has the same meaning as
7932         any other GSource (FALSE == remove source).
7933         _add_watch() and _add_watch_full() now take a MessageType mask to
7934         only handle specific types of messages.
7935         _poll() returns the GstMessage instead of the message type to avoid
7936         race conditions.
7937         _have_pending() takes a MessageType mask now too.
7938         Added testsuite for multiple bus watches.
7939         Fix testsuites and applications for new bus API.
7940
7941 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7942
7943         * check/Makefile.am:
7944           mark a bunch of the tests as to fix until we fix them
7945
7946 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7947
7948         * common/check.mak:
7949           use GST_PLUGIN settings for valgrind tests as well, so we're
7950           valgrinding the correct thing
7951         * gst/gst.c: (init_post):
7952           plug another leak
7953
7954 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7955
7956         * gst/gst.c: (init_post), (gst_deinit):
7957         * gst/gstelementfactory.c: (gst_element_factory_class_init),
7958         (gst_element_factory_finalize), (gst_element_factory_cleanup):
7959         * gst/gstindex.c: (gst_index_factory_class_init),
7960         (gst_index_factory_finalize):
7961         * gst/gstobject.c: (gst_object_dispose):
7962         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
7963         (gst_plugin_load_file), (gst_plugin_desc_free):
7964         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
7965         (gst_plugin_feature_finalize):
7966         * gst/gstregistry.c: (gst_registry_class_init),
7967         (gst_registry_init), (gst_registry_finalize),
7968         (gst_registry_get_default), (gst_registry_deinit):
7969         * gst/gstregistry.h:
7970         * gst/gstregistryxml.c: (load_feature), (load_plugin):
7971           various cleanups and memleak plugging.  make valgrind is happy now.
7972
7973 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7974
7975         * common/check.mak:
7976           add a check-valgrind target
7977
7978 2005-09-18  David Schleef  <ds@schleef.org>
7979
7980         * tools/gst-inspect.c: Revert the GOption code.
7981
7982 2005-09-17  David Schleef  <ds@schleef.org>
7983
7984         * check/Makefile.am: Fix environment variables.
7985         * check/gst/gstplugin.c: Fix for API changes.
7986         * tools/gst-inspect.c: Fix for API changes.
7987         * tools/gst-xmlinspect.c: Fix for API changes.
7988         * gst/gstelementfactory.c:
7989         * gst/gstplugin.c:
7990         * gst/gstplugin.h:
7991         * gst/gstpluginfeature.c:
7992         * gst/gstpluginfeature.h:
7993         * gst/gstregistry.c:
7994         * gst/gstregistry.h:
7995         * gst/gstregistryxml.c:
7996         * gst/gsttypefind.c:
7997         * gst/gsttypefindfactory.c:
7998         * gst/indexers/gstfileindex.c:
7999         * gst/indexers/gstmemindex.c:
8000         * gst/schedulers/Makefile.am:
8001           Change registry to keep track of both plugins and features,
8002           removing the feature tracking from plugins themselves.
8003
8004 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8005
8006         * check/Makefile.am:
8007         * tools/gst-register.1.in:
8008           remove gst-register
8009
8010 2005-09-15  David Schleef  <ds@schleef.org>
8011
8012         * check/gst/gstplugin.c:
8013         * gst/gstelementfactory.c:
8014         * gst/gstplugin.c:
8015         * gst/gstpluginfeature.c:
8016         * gst/gstregistry.c:
8017           Getting tired of debugging.  Disabled all the unreffing of
8018           plugins and features, which fixes the segfaults, but of
8019           course leaks like crazy.  At least playbin works.
8020
8021 2005-09-15  David Schleef  <ds@schleef.org>
8022
8023         * check/gst/gstplugin.c: (register_check_elements),
8024         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
8025         More testing
8026         * gst/elements/gsttypefindelement.c: Fix refcounting.
8027         * gst/gsttypefind.c:
8028         * gst/gsttypefindfactory.c:
8029         * gst/gsttypefindfactory.h:
8030
8031 2005-09-15  David Schleef  <ds@schleef.org>
8032
8033         * gst/gstindex.c: get refcounting correct.
8034         * gst/gstregistry.c: Handle the case where a feature/plugin is
8035           not found.
8036
8037 2005-09-15  David Schleef  <ds@schleef.org>
8038
8039         * check/Makefile.am:
8040         * check/gst/gstplugin.c: Add test
8041         * gst/gstplugin.c: Fix problems noticed by testsuite
8042         * gst/gstplugin.h:
8043         * gst/gstregistry.c: 
8044         * gst/gstregistry.h:
8045
8046 2005-09-15  David Schleef  <ds@schleef.org>
8047
8048         * gst/gstplugin.c: Implement semi-decent recounting and locking
8049           in plugins and plugin features.
8050         * gst/gstplugin.h:
8051         * gst/gstpluginfeature.c:
8052         * gst/gstpluginfeature.h:
8053         * gst/gstregistry.c:
8054
8055 2005-09-15  Michael Smith <msmith@fluendo.com>
8056
8057         * gst/gstregistry.c: (gst_registry_get_feature_list):
8058           Implement this. Makes oggdemux work; decodebin still broken.
8059
8060 2005-09-14  David Schleef  <ds@schleef.org>
8061
8062         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
8063           #316076)
8064         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
8065         * gst/check/Makefile.am:
8066         * libs/gst/controller/Makefile.am:
8067         * libs/gst/dataprotocol/Makefile.am:
8068
8069 2005-09-14  David Schleef  <ds@schleef.org>
8070
8071         * configure.ac: Remove getbits library.  Nothing uses it, and
8072           it should be in something like liboil if someone did want
8073           to use it.
8074         * libs/gst/Makefile.am:
8075         * libs/gst/getbits/Makefile.am:
8076         * libs/gst/getbits/gbtest.c:
8077         * libs/gst/getbits/getbits.c:
8078         * libs/gst/getbits/getbits.h:
8079         * libs/gst/getbits/gstgetbits_generic.c:
8080         * libs/gst/getbits/gstgetbits_i386.s:
8081         * libs/gst/getbits/gstgetbits_inl.h:
8082
8083 2005-09-14  David Schleef  <ds@schleef.org>
8084
8085         * gst/Makefile.am: Dist glib-compat.h
8086
8087 2005-09-14  David Schleef  <ds@schleef.org>
8088
8089         * configure.ac: Remove gst/registries, since it's no longer used.
8090         * gst/registries/Makefile.am:
8091         * gst/registries/gstlibxmlregistry.c:
8092         * gst/registries/gstlibxmlregistry.h:
8093         * gst/registries/gstxmlregistry.c:
8094         * gst/registries/gstxmlregistry.h:
8095         * gst/registries/registrytest.c:
8096
8097 2005-09-14  David Schleef  <ds@schleef.org>
8098
8099         * gst/glib-compat.h:
8100         * gst/gstregistryxml.c:
8101           Convergence is near.  Seriously.
8102
8103 2005-09-14  David Schleef  <ds@schleef.org>
8104
8105         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8106         * gst/glib-compat.h:
8107           Attempt #4 to appease the buildbots.
8108
8109 2005-09-14  David Schleef  <ds@schleef.org>
8110
8111         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8112           Attempt #3.
8113
8114 2005-09-14  David Schleef  <ds@schleef.org>
8115
8116         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8117         Attempt #2.
8118
8119 2005-09-14  David Schleef  <ds@schleef.org>
8120
8121         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
8122           the new functions.
8123
8124 2005-09-14  David Schleef  <ds@schleef.org>
8125
8126         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8127         * gst/glib-compat.h: Add some functions that are in newer versions
8128           of glib than we care to require.
8129         * gst/gstregistryxml.c: Use them.
8130
8131 2005-09-14  David Schleef  <ds@schleef.org>
8132
8133         * po/POTFILES.in: remove gst-register.c
8134
8135 2005-09-14  David Schleef  <ds@schleef.org>
8136
8137         * docs/gst/gstreamer-docs.sgml:
8138         * docs/gst/gstreamer-sections.txt:
8139         * docs/gst/gstreamer.types:
8140         * docs/gst/tmpl/gstelement.sgml:
8141         * docs/gst/tmpl/gstplugin.sgml:
8142         * docs/gst/tmpl/gstpluginfeature.sgml:
8143           Documentation updates for registry changes.
8144
8145 2005-09-14  David Schleef  <ds@schleef.org>
8146
8147         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
8148           because we don't require glib-2.8.
8149
8150 2005-09-14  David Schleef  <ds@schleef.org>
8151
8152         * gst/gstregistryxml.c: Added.  Essentially moved out of the
8153           registries directory.
8154
8155 2005-09-14  David Schleef  <ds@schleef.org>
8156
8157         * check/Makefile.am:
8158         * check/generic/states.c:
8159         * gst/Makefile.am:
8160         * gst/gst.c:
8161         * gst/gst.h:
8162         * gst/gst_private.h:
8163         * gst/gstelementfactory.c:
8164         * gst/gstindex.c:
8165         * gst/gstinfo.c:
8166         * gst/gstplugin.c:
8167         * gst/gstplugin.h:
8168         * gst/gstpluginfeature.c:
8169         * gst/gstpluginfeature.h:
8170         * gst/gstregistry.c:
8171         * gst/gstregistry.h:
8172         * gst/gstregistrypool.c: remove
8173         * gst/gstregistrypool.h: remove
8174         * gst/gsttypefind.c:
8175         * gst/gsttypefindfactory.c:
8176         * gst/gsturi.c:
8177         * tools/Makefile.am:
8178         * tools/gst-compprep.c:
8179         * tools/gst-inspect.c:
8180         * tools/gst-register.c: remove
8181         * tools/gst-xmlinspect.c:
8182           Registry rewrite.  Changes registry from being a file created
8183           by a tool into a simple cache file created automatically by 
8184           libgstreamer.  Removed gst-register (because it's no longer
8185           needed).  Remove registry pools, because we only have one
8186           registry implementation (XML).  Fix up other subsystems as
8187           necessary.
8188
8189 2005-09-13  Michael Smith <msmith@fluendo.com>
8190
8191         * gst/gstconfig.h.in:
8192           Don't Use windows linking attributes for MinGW. Fixes #316157
8193
8194 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8195
8196         * gst/gstutils.c: (set_state_async_thread_func),
8197         (gst_element_set_state_async):
8198           Apparently people think it's better if this function doesn't
8199           try to set the state to whatever state was asked for on the first
8200           call to this function for any object.  Seriously.
8201
8202 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8203
8204         * check/gst/gstpipeline.c: (GST_START_TEST):
8205         * docs/gst/gstreamer-sections.txt:
8206         * gst/gstutils.c: (set_state_async_thread_func),
8207         (gst_element_set_state_async):
8208         * gst/gstutils.h:
8209           add a "gst_element_set_state_async" method that
8210           sets the state and starts a thread to make sure the state
8211           change completes as best as it can
8212
8213 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8214
8215         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
8216           codify design+behaviour in testsuite after discussion
8217
8218 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8219
8220         * docs/gst/tmpl/gstelement.sgml:
8221         * docs/manual/appendix-quotes.xml:
8222           add a quote
8223         * gst/gstelement.c: (gst_element_set_state):
8224           add some debug
8225
8226 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
8227
8228         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8229         (gst_base_transform_prepare_output_buf),
8230         (gst_base_transform_handle_buffer):
8231         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
8232         (gst_capsfilter_prepare_buf):
8233           Remove the requirement for sub-classes to call the parent
8234           implementation of prepare_output_buffer with a wrapper function.
8235           
8236         * gst/gsttaglist.h:
8237         * gst/gsttagsetter.h:
8238           Fix #define wrapper
8239
8240 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
8241
8242         * docs/gst/gstreamer-sections.txt:
8243           more doc cleanups
8244
8245 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8246
8247         * docs/gst/gstreamer-sections.txt:
8248         * docs/gst/tmpl/gstelement.sgml:
8249         * docs/gst/tmpl/gstplugin.sgml:
8250         * gst/gstminiobject.c:
8251         * gst/gstvalue.h:
8252           docs now stop throwing warnings
8253
8254 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8255
8256         * docs/gst/gstreamer-sections.txt:
8257         * docs/gst/gstreamer.types:
8258         * docs/gst/tmpl/gstpad.sgml:
8259         * docs/gst/tmpl/gsttypes.sgml:
8260         * gst/base/gstadapter.h:
8261         * gst/base/gstbasesink.h:
8262         * gst/base/gstbasesrc.h:
8263         * gst/gstbin.h:
8264         * gst/gstbuffer.h:
8265         * gst/gstbus.h:
8266         * gst/gstcaps.h:
8267         * gst/gstclock.h:
8268         * gst/gstelement.h:
8269         * gst/gstevent.h:
8270         * gst/gstmessage.h:
8271         * gst/gstpad.h:
8272         * gst/gststructure.c:
8273         * gst/registries/gstlibxmlregistry.h:
8274           various documentation fixes
8275
8276 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8277
8278         * docs/gst/gstreamer-sections.txt:
8279         * docs/gst/tmpl/gstvalue.sgml:
8280           rearrange gstvalue section
8281         * gst/gstutils.c: (gst_element_state_get_name):
8282           NONE -> VOID
8283         * gst/gstvalue.c: (_gst_value_initialize):
8284         * gst/gstvalue.h:
8285           doc updates
8286
8287 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
8288
8289         * check/gst-libs/controller.c:
8290           Header include fix.
8291         * gst/base/gstbasetransform.c:
8292         (gst_base_transform_default_prepare_buf),
8293         (gst_base_transform_handle_buffer):
8294         * gst/base/gstbasetransform.h:
8295           Some more basetransform changes and fixes to enable sub-classes
8296           that modify buffer metadata only.
8297         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
8298         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
8299         (gst_capsfilter_prepare_buf):
8300           If the output pad has fixed allowed caps and input buffers 
8301           don't have any, set the fixed caps on outgoing buffers.
8302
8303 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
8304         * check/elements/identity.c: (GST_START_TEST):
8305           Make the error a little clearer when the test fails because
8306           identity made a copy of the buffer.
8307         * docs/gst/gstreamer-sections.txt:
8308           New symbols in gstbasetransform.h
8309         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8310         (gst_base_transform_init), (gst_base_transform_transform_size),
8311         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8312         (gst_base_transform_default_prepare_buf),
8313         (gst_base_transform_get_unit_size),
8314         (gst_base_transform_buffer_alloc),
8315         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
8316         (gst_base_transform_change_state),
8317         (gst_base_transform_set_passthrough),
8318         (gst_base_transform_set_in_place),
8319         (gst_base_transform_is_in_place):
8320         * gst/base/gstbasetransform.h:
8321           Change BaseTransform to separate in_place operate from same_caps
8322           output. in_place implies that the element can perform the transform
8323           on incoming buffers in-place, even if the caps on the output are
8324           different.
8325           Sub-class elements can now implement special buffer allocation
8326           methods for outgoing buffers if they wish to.
8327           Big documentation addition.
8328         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
8329         * gst/elements/gstelements.c:
8330           Changes for basetransform modifications.
8331         * gst/elements/Makefile.am:
8332         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
8333           Compile fix. Extra debug output.
8334
8335 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8336
8337         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
8338         (gst_pad_suite):
8339           add tests for valid pad naming
8340         * gst/check/gstcheck.c: (gst_check_log_message_func),
8341         (gst_check_log_critical_func):
8342           add ASSERT_WARNING
8343           remove printing of code, it is fragile when the code contains
8344           % and the line number is enough info
8345         * gst/check/gstcheck.h:
8346         * gst/gstpad.c: (gst_pad_template_new):
8347           fix memleaks
8348
8349 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8350
8351         * configure.ac:
8352           say what CHECK flags we use
8353         * docs/libs/gstreamer-libs.types:
8354         * libs/gst/controller/Makefile.am:
8355         * libs/gst/controller/gst-controller.c:
8356         * libs/gst/controller/gst-controller.h:
8357         * libs/gst/controller/gst-helper.c:
8358         * libs/gst/controller/gst-interpolation.c:
8359         * libs/gst/controller/gstcontroller.c:
8360         * libs/gst/controller/gsthelper.c:
8361         * libs/gst/controller/gstinterpolation.c:
8362         * tools/gst-inspect.c: (print_plugin_info):
8363           we don't use dashes in header names
8364
8365 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8366
8367         * check/Makefile.am:
8368         * check/gst/.cvsignore:
8369         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
8370         (gst_pipeline_suite), (main):
8371           adding a test for pipelines and state changes
8372         * gst/gstutils.c: (get_state_func):
8373           add some debugging
8374         * gstreamer.spec.in:
8375           fix up spec file
8376
8377 2005-09-08  Michael Smith <msmith@fluendo.com>
8378
8379         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
8380         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
8381         (gst_file_src_is_seekable), (gst_file_src_get_size),
8382         (gst_file_src_start):
8383         * gst/elements/gstfilesrc.h:
8384           Various fixes for unseekable, unmmapable, and non-normal files, so
8385           that fallback to read() rather than mmap() works.
8386         * gst/gstevent.c: (gst_event_new_newsegment):
8387           Allow newsegment events with segment_start == segment_end, as will
8388           correctly happen if you use filesrc on a zero-size file, for
8389           example.
8390
8391 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
8392
8393         * gst/gstplugin.c: (gst_plugin_load_file):
8394           Call g_module_close when we don't load the module
8395
8396         * gst/registries/gstlibxmlregistry.c:
8397         (gst_xml_registry_get_property):
8398           Port leak fix from 0.8
8399
8400 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8401
8402         * docs/gst/gstreamer-docs.sgml:
8403         * docs/gst/tmpl/.cvsignore:
8404         * docs/gst/tmpl/gsttrace.sgml:
8405         * docs/gst/tmpl/gsttrashstack.sgml:
8406         * gst/Makefile.am:
8407         * gst/gst.h:
8408         * gst/gstelement.h:
8409         * gst/gstevent.h:
8410         * gst/gstmessage.c:
8411         * gst/gstmessage.h:
8412         * gst/gsttag.c:
8413         * gst/gsttag.h:
8414         * gst/gsttaginterface.c:
8415         * gst/gsttaginterface.h:
8416         * gst/gsttaglist.c:
8417         * gst/gsttaglist.h:
8418         * gst/gsttagsetter.c:
8419         * gst/gsttagsetter.h:
8420         * gst/gsttrace.c:
8421         * gst/gsttrace.h:
8422         * gst/gsttrashstack.c:
8423           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
8424           inlined docs for gsttrace, gsttrashstack
8425
8426 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8427
8428         * gst/Makefile.am:
8429         * gst/elements/gstbufferstore.h:
8430         * gst/elements/gsttypefindelement.c:
8431         * gst/elements/gsttypefindelement.h:
8432         * gst/gst.h:
8433         * gst/gsttypefind.c:
8434         * gst/gsttypefind.h:
8435         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
8436         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
8437         (gst_type_find_factory_dispose),
8438         (gst_type_find_factory_unload_thyself),
8439         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
8440         (gst_type_find_factory_get_caps),
8441         (gst_type_find_factory_get_extensions),
8442         (gst_type_find_factory_call_function):
8443         * gst/gsttypefindfactory.h:
8444         * gst/registries/gstlibxmlregistry.c:
8445         * gst/registries/gstxmlregistry.c:
8446           splitted gsttypefind into gsttypefind, gsttypefindfactory
8447
8448 2005-09-07  Andy Wingo  <wingo@pobox.com>
8449
8450         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
8451         condition whereby the pad's task function is entered before the
8452         pad_mode variable was set.
8453
8454 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
8455
8456         * gst/gstpad.c: (gst_pad_alloc_buffer):
8457           Catch misbehaving pad_alloc functions that don't
8458           set up caps and do it for them.
8459
8460 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8461
8462         * check/pipelines/simple_launch_lines.c: (run_pipeline):
8463           test for pipe!=NULL
8464         * docs/gst/tmpl/.cvsignore:
8465         * docs/gst/tmpl/gstmemchunk.sgml:
8466         * docs/gst/tmpl/gstparse.sgml:
8467         * docs/gst/tmpl/gsttaglist.sgml:
8468         * docs/gst/tmpl/gsttagsetter.sgml:
8469         * docs/gst/tmpl/gsttypefind.sgml:
8470         * docs/gst/tmpl/gsttypefindfactory.sgml:
8471         * gst/gstmemchunk.c:
8472         * gst/gstparse.c:
8473         * gst/gsttag.c:
8474         * gst/gsttaginterface.c:
8475         * gst/gsttypefind.c:
8476         * gst/gsttypefind.h:
8477           inlined more docs
8478
8479 === release 0.9.2 ===
8480
8481 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8482
8483         * NEWS:
8484         * RELEASE:
8485         * configure.ac:
8486           releasing 0.9.2, "South"
8487
8488 2005-09-05  Andy Wingo  <wingo@pobox.com>
8489
8490         * gst/registries/gstxmlregistry.h:
8491         * gst/registries/gstxmlregistry.c: Um... resurrect...
8492         
8493         * gst/registries/gstxmlregistry.h:
8494         * gst/registries/gstxmlregistry.c: and update to newer API.
8495         Incidentally they should be a bit faster now that they don't have
8496         to parse the caps.
8497         
8498 2005-09-05  Andy Wingo  <wingo@pobox.com>
8499
8500         * gst/registries/gstxmlregistry.h:
8501         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
8502         replaced by the libxml registry a while back
8503
8504 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8505
8506         * docs/gst/tmpl/gstplugin.sgml:
8507         * gst/elements/gstelements.c:
8508         * gst/gst.c:
8509         * gst/gstplugin.c: (gst_plugin_register_func),
8510         (gst_plugin_desc_copy), (gst_plugin_desc_free),
8511         (gst_plugin_get_source):
8512         * gst/gstplugin.h:
8513         * gst/registries/gstlibxmlregistry.c: (load_plugin),
8514         (gst_xml_registry_save_plugin):
8515         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
8516         (gst_xml_registry_save_plugin):
8517         * tools/gst-inspect.c: (print_plugin_info):
8518           add a "source" plugin description field, to represent the source
8519           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
8520           will set it to PACKAGE, which is automake's idea of the name of
8521           the source project.
8522
8523 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8524
8525         * Makefile.am:
8526         * autogen.sh:
8527         * configure.ac:
8528         * docs/Makefile.am:
8529         * docs/faq/Makefile.am:
8530         * docs/gst/tmpl/gstelement.sgml:
8531         * docs/gst/tmpl/gsttypes.sgml:
8532         * docs/htmlinstall.mak:
8533         * docs/manual/Makefile.am:
8534         * docs/pwg/Makefile.am:
8535           reorganize doc build a little
8536           split out docbook and gtk-doc stuff
8537           have two separate --enable's and enable them through autogen
8538           but disable by default in configure (to be similar to other
8539           projects)
8540         * gstreamer.spec.in:
8541           clean up docs install
8542         * po/af.po:
8543         * po/az.po:
8544         * po/ca.po:
8545         * po/cs.po:
8546         * po/de.po:
8547         * po/en_GB.po:
8548         * po/fr.po:
8549         * po/it.po:
8550         * po/nb.po:
8551         * po/nl.po:
8552         * po/ru.po:
8553         * po/sq.po:
8554         * po/sr.po:
8555         * po/sv.po:
8556         * po/tr.po:
8557         * po/uk.po:
8558         * po/vi.po:
8559           translation updates
8560
8561 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
8562
8563         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
8564           Add comment.
8565           
8566         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
8567         (gst_fake_sink_change_state):
8568           Make state change function thread-safe.
8569           
8570         * gst/gstpad.c: (gst_pad_alloc_buffer):
8571           Set offset on generic buffer allocated by fallback.
8572
8573 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
8574
8575         * docs/gst/gstreamer-sections.txt:
8576         * docs/gst/tmpl/gstelement.sgml:
8577         * gst/gstpad.c:
8578         * libs/gst/controller/gst-controller.c:
8579         (gst_controlled_property_set_interpolation_mode),
8580         (gst_controlled_property_new),
8581         (gst_controller_find_controlled_property):
8582          run the wingo-magic script against the docs
8583
8584 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
8585
8586         * docs/gst/gstreamer-docs.sgml:
8587         * docs/gst/gstreamer-sections.txt:
8588         * docs/gst/tmpl/.cvsignore:
8589         * docs/gst/tmpl/gstelementdetails.sgml:
8590         * docs/gst/tmpl/gstelementfactory.sgml:
8591         * gst/gst.c:
8592         * gst/gstbus.c:
8593         * gst/gstelementfactory.c:
8594         * gst/gstelementfactory.h:
8595           merged elementdetails docs into elementfactory docs
8596           inlined both
8597
8598 2005-09-02  Andy Wingo  <wingo@pobox.com>
8599
8600         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
8601         consider this enum an enum and not a flags.
8602
8603 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
8604
8605         * docs/gst/gstreamer-docs.sgml:
8606         * docs/gst/tmpl/.cvsignore:
8607         * docs/gst/tmpl/gstghostpad.sgml:
8608         * docs/gst/tmpl/gstiterator.sgml:
8609         * docs/gst/tmpl/gstmacros.sgml:
8610         * docs/gst/tmpl/gstrealpad.sgml:
8611         * docs/gst/tmpl/gstregistry.sgml:
8612         * docs/gst/tmpl/gstregistrypool.sgml:
8613         * docs/gst/tmpl/gststructure.sgml:
8614         * docs/gst/tmpl/gstsystemclock.sgml:
8615         * docs/gst/tmpl/gsttrace.sgml:
8616         * gst/gstghostpad.c:
8617         * gst/gstmacros.h:
8618         * gst/gstmemchunk.c:
8619         * gst/gstmemchunk.h:
8620         * gst/gstqueue.c:
8621         * gst/gstregistry.c:
8622         * gst/gstregistrypool.c:
8623         * gst/gststructure.c:
8624         * gst/gstsystemclock.c:
8625           more docs inlined
8626
8627 2005-09-02  Andy Wingo  <wingo@pobox.com>
8628
8629         * gst/gstelement.h (GstState): Renamed from GstElementState,
8630         changed to be a normal enum instead of flags.
8631         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
8632         munged to be GST_STATE_CHANGE_*.
8633         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
8634         work with the new state representation.
8635         (GstStateChange): New enumeration of possible state transitions.
8636         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
8637         (GstElementClass::change_state): Pass the GstStateChange along as
8638         an argument. Helps language bindings, so they don't have to use
8639         tricky lock-needing macros like GST_STATE_CHANGE ().
8640
8641         * scripts/update-states (file): New script. Run it on a file to
8642         update it for state naming and API changes. Updates files in
8643         place.
8644
8645         * All files updated for the new API.
8646
8647 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8648
8649         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
8650         * gst/gstutils.c: (gst_util_set_value_from_string),
8651         (gst_util_set_object_arg):
8652           fix a bunch of unchecked return values
8653         * tools/gst-complete.c: (main):
8654         * gstreamer.spec.in:
8655           clean up a little
8656
8657 2005-09-01  Wim Taymans  <wim@fluendo.com>
8658
8659         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8660         (gst_base_sink_event), (gst_base_sink_do_sync),
8661         (gst_base_sink_handle_event):
8662         * gst/base/gstbasesink.h:
8663         Handle newsegments more correctly.
8664
8665         * gst/gstbus.c:
8666         Fix docs.
8667
8668         * gst/gstevent.c: (gst_event_new_newsegment):
8669         A newsegment cannot have a start_time of -1
8670
8671 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
8672
8673         * win32/gstenumtypes.c:
8674         * win32/gstenumtypes.h:
8675           Update
8676
8677 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8678
8679         * libs/gst/controller/gst-controller.c:
8680         (gst_controlled_property_set_interpolation_mode),
8681         (gst_controlled_property_new):
8682          fixed boolean again
8683
8684 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
8685
8686         * docs/faq/gst-uninstalled:
8687           add -good
8688         * gst/gstevent.c:
8689         * gst/gstevent.h:
8690           remove wrong docs
8691         * gst/gstutils.c: (gst_element_link_filtered):
8692         * gst/gstutils.h:
8693           add gst_element_link_filtered
8694
8695 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8696
8697         * docs/gst/gstreamer-docs.sgml:
8698         * docs/gst/gstreamer-sections.txt:
8699         * docs/gst/tmpl/.cvsignore:
8700         * docs/gst/tmpl/gsterror.sgml:
8701         * docs/gst/tmpl/gstfilter.sgml:
8702         * docs/gst/tmpl/gsturihandler.sgml:
8703         * docs/gst/tmpl/gsturitype.sgml:
8704         * docs/gst/tmpl/gstutils.sgml:
8705         * docs/gst/tmpl/gstxml.sgml:
8706         * gst/gsterror.c:
8707         * gst/gsterror.h:
8708         * gst/gstfilter.c:
8709         * gst/gsturi.c:
8710         * gst/gsturitype.c:
8711         * gst/gstutils.c:
8712         * gst/gstxml.c:
8713           inlined more docs, fixed double id-ref
8714
8715 2005-08-31  Wim Taymans  <wim@fluendo.com>
8716
8717         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8718         (gst_base_transform_handle_buffer):
8719         Passthrough elements don't need the caps as they don't care.
8720
8721 2005-08-31  Wim Taymans  <wim@fluendo.com>
8722
8723         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8724         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
8725         Don't leak refcounts on buffers.
8726
8727 2005-08-31  Wim Taymans  <wim@fluendo.com>
8728
8729         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
8730         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
8731         (gst_base_transform_chain), (gst_base_transform_change_state):
8732         * gst/base/gstbasetransform.h:
8733         Handle the case where we are not negotiated more gracefully.
8734
8735 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
8736
8737         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
8738         (gst_file_src_map_region):
8739           Set READONLY flag on mmap'ed buffers, otherwise
8740           gst_buffer_make_writable() won't work properly (#314708).
8741
8742 2005-08-31  Wim Taymans  <wim@fluendo.com>
8743
8744         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
8745         passthrough elements can even do inplace on non writable
8746         buffers (as they don't touch them).
8747
8748 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8749
8750         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8751         (gst_test_mono_source_set_property),
8752         (gst_test_mono_source_class_init), (GST_START_TEST),
8753         (gst_controller_suite):
8754           more tests (hehe I have the most)
8755         * gst/gstbus.c:
8756           describe popping messages whenusing mulltiple sources
8757         * libs/gst/controller/gst-controller.c:
8758         (gst_controlled_property_set_interpolation_mode),
8759         (gst_controlled_property_new):
8760         * libs/gst/controller/gst-controller.h:
8761         * libs/gst/controller/gst-interpolation.c:
8762           implement boolean properties
8763
8764 2005-08-31  Wim Taymans  <wim@fluendo.com>
8765
8766         * gst/gstminiobject.c: (gst_mini_object_ref):
8767         Cannot assert that the refcount has to be positive
8768         since a disposed object can be resurrected.
8769
8770 2005-08-31  Wim Taymans  <wim@fluendo.com>
8771
8772         * gst/gstpad.c: (gst_pad_init):
8773         Revert change, need to first fix badly behaving 
8774         apps.
8775
8776 2005-08-30  Wim Taymans  <wim@fluendo.com>
8777
8778         * check/elements/fakesrc.c: (setup_fakesrc):
8779         * check/elements/identity.c: (setup_identity):
8780         Activate pads before using them.
8781
8782 2005-08-30  Wim Taymans  <wim@fluendo.com>
8783
8784         * gst/base/gstadapter.c: (gst_adapter_flush):
8785         Flushing out 0 bytes is ok for this function.
8786
8787         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8788         no newsegment gives a warning and sets the start/stop to 
8789         invalid.
8790
8791         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
8792         (gst_base_transform_set_passthrough):
8793         Some debug info.
8794
8795         * gst/gstminiobject.c: (gst_mini_object_ref):
8796         Check refcount here too.
8797
8798         * gst/gstpad.c: (gst_pad_init):
8799         Pads are initially flushing and refusing data.
8800
8801         * gst/gstutils.c: (gst_element_link_pads_filtered):
8802         When adding a capsfilter element make sure it has the
8803         same state as the parent bin.
8804
8805 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8806
8807         * docs/gst/tmpl/.cvsignore:
8808         * docs/gst/tmpl/gstformat.sgml:
8809         * docs/gst/tmpl/gstversion.sgml:
8810         * gst/gstbus.h:
8811         * gst/gstformat.c:
8812         * gst/gstformat.h:
8813         * gst/gstversion.h.in:
8814           more docs and two more inlined
8815
8816 2005-08-30  Wim Taymans  <wim@fluendo.com>
8817
8818         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
8819         Don't sync to clock.
8820
8821 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8822
8823         * docs/gst/gstreamer-sections.txt:
8824           ultral33t func10ns deserve to appear in the docs actually
8825         * docs/gst/tmpl/.cvsignore:
8826         * docs/gst/tmpl/gstcompat.sgml:
8827         * docs/gst/tmpl/gstconfig.sgml:
8828         * gst/check/gstcheck.c:
8829         * gst/gstcompat.h:
8830         * gst/gstconfig.h.in:
8831           inlined more docs
8832
8833 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8834
8835         * docs/gst/tmpl/.cvsignore:
8836         * docs/gst/tmpl/gstquery.sgml:
8837         * docs/gst/tmpl/gstutils.sgml:
8838         * gst/gstquery.c:
8839         * gst/gstquery.h:
8840           inlined and extended docs
8841
8842 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8843
8844         * check/gst-libs/controller.c: (GST_START_TEST),
8845         (gst_controller_suite):
8846           more tests
8847         * docs/gst/tmpl/gstutils.sgml:
8848         * docs/libs/gstreamer-libs-sections.txt:
8849         * docs/libs/tmpl/gstdataprotocol.sgml:
8850           include path fixes
8851         * examples/controller/audio-example.c: (main):
8852           controller example works now
8853         * gst/gstclock.h:
8854           doc fixes
8855         * tools/gst-inspect.c: (print_element_properties_info):
8856           show param spec flags
8857
8858 2005-08-29  Andy Wingo  <wingo@pobox.com>
8859
8860         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
8861
8862 2005-08-28  Andy Wingo  <wingo@pobox.com>
8863
8864         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
8865         as having two arguments instead of just one. Allows superclasses
8866         to access information on subclasses -- see the terrible for() loop
8867         in gtype.c:g_type_create_instance for the reason why. All callers
8868         changed.
8869
8870 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8871
8872         * docs/design/part-messages.txt:
8873           update info
8874         * docs/gst/tmpl/.cvsignore:
8875         * docs/gst/tmpl/gstcaps.sgml:
8876         * docs/gst/tmpl/gstclock.sgml:
8877         * gst/gstbus.c:
8878         * gst/gstcaps.c:
8879         * gst/gstcaps.h:
8880         * gst/gstclock.c:
8881         * gst/gstclock.h:
8882         * gst/gstmessage.c:
8883           added descriptions for bus and message
8884           inline caps and clock docs
8885
8886 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8887
8888         * gst/gstmessage.c:
8889         * gst/gstmessage.h:
8890           doc fixes
8891
8892 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8893
8894         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
8895           fix div-by-zero
8896
8897 2005-08-26  Andy Wingo  <wingo@pobox.com>
8898
8899         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
8900         element_set_state's return val.
8901         (test_2_elements): Add test that's been disabled for months.
8902
8903         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
8904         can-activate-pull properties.
8905
8906         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
8907         can-activate-pull properties. Implement is_seekable so fakesrc can
8908         operate in pull mode.
8909
8910         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
8911         properties.
8912         (gst_base_sink_activate, gst_base_sink_activate_pull)
8913         (gst_base_sink_activate_push): Make activation mode choosing work.
8914         Cleanups.
8915         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
8916         is right. Make pull mode work. Post an eos before pausing in pull
8917         mode.
8918         (gst_base_sink_change_state): Pay attention to the core's
8919         change_state() return val.
8920         
8921         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
8922         has-getrange properties. Cleanups.
8923         
8924         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
8925         has_getrange and replace with can_activate_pull and
8926         can_activate_push.
8927
8928         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
8929         locking comments. Remove has_loop, has_chain and replace with
8930         can_activate_pull and can_activate_push.
8931
8932 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
8933
8934         * configure.ac:
8935         * examples/Makefile.am:
8936         * examples/metadata/Makefile.am:
8937         * examples/metadata/read-metadata.c: (message_loop),
8938         (have_pad_handler), (make_pipeline), (print_tag), (main):
8939           Add metadata reading example that loops over a list of filenames,
8940           dumping any tags found.
8941
8942         * gst/gstbus.c: (gst_bus_dispose):
8943         * gst/gstelement.c: (gst_element_dispose):
8944           Release a few potentially-held references in dispose.
8945
8946 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8947
8948         * docs/gst/tmpl/gstminiobject.sgml:
8949           do *not* add tmpl/*.sgml files to CVS!
8950
8951 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8952
8953         * libs/gst/bytestream/.cvsignore:
8954         * libs/gst/bytestream/Makefile.am:
8955         * libs/gst/bytestream/adapter.c:
8956         * libs/gst/bytestream/adapter.h:
8957         * libs/gst/bytestream/bytestream.c:
8958         * libs/gst/bytestream/bytestream.h:
8959         * libs/gst/bytestream/filepad.c:
8960         * libs/gst/bytestream/filepad.h:
8961           removing obsolete files
8962
8963 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8964
8965         * docs/gst/gstreamer-docs.sgml:
8966         * docs/libs/gstreamer-libs-docs.sgml:
8967           disabed additional index entries again, as this makes docs-gen just
8968           slow and they aren't useful yet
8969         * docs/libs/gstreamer-libs-sections.txt:
8970           little -section.txt cleanup for libs
8971
8972 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8973
8974         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8975         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
8976           fix up some debugging
8977         (gst_base_transform_get_unit_size),
8978         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8979         (gst_base_transform_handle_buffer):
8980         * gst/base/gstbasetransform.h:
8981           handle and store timed NEWSEGMENT events so that subclasses that
8982           calculate time by counting samples have a segment_start time they
8983           need to add to their timestamps - see audioresample
8984
8985 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8986
8987         * gst/gstbin.h:
8988           removed ';' from the end of macro defs
8989         * docs/gst/gstreamer-docs.sgml:
8990         * docs/gst/gstreamer-sections.txt:
8991         * docs/gst/tmpl/.cvsignore:
8992         * gst/gstbus.h:
8993         * gst/gstelement.c: (gst_element_class_init),
8994         (gst_element_set_state), (activate_pads),
8995         (gst_element_save_thyself):
8996         * gst/gstevent.c: (gst_event_new_newsegment):
8997         * gst/gstevent.h:
8998         * gst/gstiterator.c:
8999         * gst/gstiterator.h:
9000         * gst/gstpad.c:
9001         * gst/gstprobe.h:
9002         * gst/gstutils.c: (gst_pad_query_convert):
9003         * gst/gstutils.h:
9004           fixed parameter name mismatches between source, header and docs
9005           added some more docs, resolved the last batch of unused elements in
9006           docs (now someone needs to doc them)
9007
9008 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9009
9010         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
9011         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
9012           don't walk through the plugins backwards.  Where is all this
9013           reversed logic coming from ?
9014
9015 2005-08-25  Wim Taymans  <wim@fluendo.com>
9016
9017         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9018         (gst_base_transform_transform_size),
9019         (gst_base_transform_configure_caps),
9020         (gst_base_transform_get_unit_size),
9021         (gst_base_transform_buffer_alloc),
9022         (gst_base_transform_change_state):
9023         * gst/base/gstbasetransform.h:
9024         Cache caps unit_size.
9025         Make sure we cannot negotiate up and downstream at the
9026         same time.
9027
9028 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9029
9030         * gst/gst.c: (init_pre), (init_post):
9031           register the installed plugin path after the env var
9032         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
9033         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
9034           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
9035           directories, so the tests can prefer uninstalled over installed
9036
9037 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9038
9039         * gst/base/gstbasetransform.h:
9040           comment
9041         * gst/gstpad.c:
9042           add to docs
9043
9044 2005-08-25  Wim Taymans  <wim@fluendo.com>
9045
9046         * gst/gstbin.c: (bin_bus_handler):
9047         Be a bit more conservative about the posted message.
9048         
9049         * gst/gstbus.c: (gst_bus_post):
9050         Some cleanups, warn wrong return values.
9051
9052 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
9053
9054         * check/gst/gstbin.c: (GST_START_TEST):
9055         * gst/gstbin.c: (bin_bus_handler):
9056         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
9057         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
9058         (gst_message_new_warning), (gst_message_new_tag),
9059         (gst_message_new_state_changed), (gst_message_new_segment_start),
9060         (gst_message_new_segment_done), (gst_message_new_custom):
9061         * gst/gstmessage.h:
9062         * tools/gst-launch.c: (event_loop):
9063         * tools/gst-md5sum.c: (event_loop):
9064           Revert unpopular change for GST_MESSAGE_SRC to GObject.
9065
9066 2005-08-25  Wim Taymans  <wim@fluendo.com>
9067
9068         * check/generic/states.c: (GST_START_TEST):
9069         Cleanup can be done at the end.
9070
9071         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
9072         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
9073         (gst_task_get_state), (gst_task_start), (gst_task_pause):
9074         Oh boy.. Thanks for finding this, Thomas. 
9075
9076 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
9077
9078         * docs/gst/gstreamer.types:
9079           added missing types
9080
9081 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
9082
9083         * docs/gst/gstreamer-docs.sgml:
9084         * docs/gst/gstreamer-sections.txt:
9085         * docs/gst/tmpl/.cvsignore:
9086         * gst/gstbin.c:
9087         * gst/gstiterator.c:
9088         * gst/gstutils.c:
9089         * gst/registries/gstxmlregistry.h:
9090           added missing classes and symbols (123 more to go)
9091           removed removed symbols from section file
9092           fixed many doc-comments
9093
9094 2005-08-24  Wim Taymans  <wim@fluendo.com>
9095
9096         * check/generic/states.c: (GST_START_TEST):
9097         Make sure all tasks are stopped.
9098
9099         * check/gst/gstbin.c: (GST_START_TEST):
9100         Unref after usage for proper valgrinding.
9101
9102         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
9103         Really wait for the task to stop before destroying the
9104         mutex.
9105
9106         * gst/gstqueue.c: (gst_queue_sink_activate_push),
9107         (gst_queue_src_activate_push):
9108         Small cleanups. Don't stop the task when we did not start
9109         it.
9110
9111         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
9112         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
9113         (gst_task_get_state), (gst_task_start), (gst_task_pause),
9114         (gst_task_join):
9115         * gst/gsttask.h:
9116         Protect the stream lock with the object lock.
9117         Disallow setting the stream lock when running.
9118         Add cleanup_all to wait for the threadpool to finish.
9119         Remove code to autoallocate a mutex if none was provided.
9120         Add _join() to wait for a task to stop.
9121         Protect the thread pool with a global lock.
9122
9123 2005-08-24  Wim Taymans  <wim@fluendo.com>
9124
9125         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9126         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9127         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
9128         * gst/base/gstbasesink.h:
9129         Handle newsegment events correctly.
9130         Drop buffers out of the segment range.
9131
9132 2005-08-22  Andy Wingo  <wingo@pobox.com>
9133
9134         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
9135         macro, implements an interface and gstimplementsinterface for a
9136         new type.
9137
9138 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9139
9140         * check/Makefile.am:
9141         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
9142           add a test that does a bunch of state changes on elements
9143           needs some fixing for valgrind
9144         * check/states/sinks.c: (gst_object_suite):
9145           whitespace
9146         * gst/gstcaps.h:
9147           add prototype for gst_caps_is_equal_fixed
9148         * gst/gstplugin.c:
9149         * gst/gstregistrypool.c:
9150           doc fixes
9151
9152 2005-08-24  Andy Wingo  <wingo@pobox.com>
9153
9154         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
9155         convert a negative value. Doesn't make much sense. Mostly this is
9156         here to force callers to ensure -1 maps to -1.
9157
9158 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
9159
9160         * docs/pwg/advanced-types.xml:
9161           Well done to Michael for catching my deliberate introduction
9162           of this spelling mistake. 
9163         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
9164         * gst/gstelement.h:
9165           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
9166           unlink pads before removing the element from the bin.
9167
9168 2005-08-24  Andy Wingo  <wingo@pobox.com>
9169
9170         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
9171         the same thing as GST_DEBUG=*:4.
9172         (parse_debug_level, parse_debug_category): New helper parsers.
9173
9174 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9175
9176         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9177         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
9178         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
9179         (gst_base_transform_buffer_alloc),
9180         (gst_base_transform_handle_buffer):
9181           use gboolean return values and pointers to size so we can use the
9182           full GST_BUFFER_SIZE range (guint) for buffer sizes
9183           use GstPadDirection for transform_caps
9184         * gst/base/gstbasetransform.h:
9185           rename get_size to get_unit_size since that's what it is
9186         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
9187           use GstPadDirection for transform_caps
9188         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
9189         * gst/gstutils.h:
9190           cleanup and debugging
9191
9192 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
9193
9194         * gst/gstelement.c: (gst_element_class_init),
9195         (gst_element_set_state), (activate_pads),
9196         (gst_element_save_thyself):
9197         * tools/gst-compprep.c: (main):
9198         * tools/gst-inspect.c: (print_element_properties_info):
9199         * tools/gst-xmlinspect.c: (print_element_properties):
9200           Fixed long standing mem-leak
9201
9202 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
9203
9204         * check/gst/gstbin.c: (GST_START_TEST):
9205         * gst/gstbin.c: (bin_bus_handler):
9206         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
9207         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
9208         (gst_message_new_warning), (gst_message_new_tag),
9209         (gst_message_new_state_changed), (gst_message_new_segment_start),
9210         (gst_message_new_segment_done), (gst_message_new_custom):
9211         * gst/gstmessage.h:
9212         * tools/gst-launch.c: (event_loop):
9213         * tools/gst-md5sum.c: (event_loop):
9214           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
9215           that applications can sensibly post custom messages with references
9216           to their own objects.
9217
9218 2005-08-24  Andy Wingo  <wingo@pobox.com>
9219
9220         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
9221         already.
9222
9223 2005-08-24  Wim Taymans  <wim@fluendo.com>
9224
9225         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9226         (gst_base_transform_transform_caps),
9227         (gst_base_transform_transform_size),
9228         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9229         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9230         (gst_base_transform_handle_buffer):
9231         * gst/base/gstbasetransform.h:
9232         Many fixes and new features added by Thomas. Can now also do
9233         transforms with variable sizes and a custom fixate_caps function.
9234
9235 2005-08-24  Wim Taymans  <wim@fluendo.com>
9236
9237         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
9238         Some debugging.
9239
9240         * gst/gstclock.h:
9241         Cast to ClockTime before formatting to time.
9242
9243         * gst/gstutils.h:
9244         Cleanups.
9245
9246 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
9247
9248         * check/gst-libs/controller.c: (GST_START_TEST),
9249         (gst_controller_suite):
9250         * docs/gst/tmpl/gstcaps.sgml:
9251         * docs/gst/tmpl/gstghostpad.sgml:
9252         * docs/gst/tmpl/gstquery.sgml:
9253         * docs/gst/tmpl/gstutils.sgml:
9254         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
9255         (gst_object_sink_values), (gst_object_get_value_arrays),
9256         (gst_object_get_value_array):
9257           gracefully handle helper method calls to objects that are not beeing
9258           controlled, added test case for that          
9259
9260 2005-08-23  Wim Taymans  <wim@fluendo.com>
9261
9262         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
9263         (gst_event_new_newsegment), (gst_event_parse_newsegment),
9264         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
9265         (gst_event_parse_qos), (gst_event_new_seek),
9266         (gst_event_parse_seek):
9267         * gst/gstevent.h:
9268         Some more debugging output and doc cleanups.
9269
9270         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9271         Fix possible deadlock.
9272
9273 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
9274
9275         * docs/gst/gstreamer-docs.sgml:
9276         * docs/gst/gstreamer-sections.txt:
9277         * docs/gst/gstreamer.types:
9278         * docs/gst/tmpl/.cvsignore:
9279         * gst/gstbin.h:
9280         * gst/gstbus.c:
9281         * gst/gstelement.c:
9282         * gst/gstevent.h:
9283           added 100 symbols from gstreamer-unused.txt to the right sections
9284           fixed more broken comments
9285           added GstBus to docs
9286
9287 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
9288
9289         * docs/gst/gstreamer-sections.txt:
9290         * docs/gst/tmpl/.cvsignore:
9291         * docs/gst/tmpl/gstbin.sgml:
9292         * docs/gst/tmpl/gstbuffer.sgml:
9293         * gst/base/gstbasesrc.c:
9294         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
9295         * gst/gstbuffer.c:
9296         * gst/gstbuffer.h:
9297         * tools/gst-launch.1.in:
9298           inlined more doc comments, added missing comments and fixed comments
9299           fixed typos
9300
9301 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9302
9303         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
9304           some debugging
9305         * gst/gstcaps.h:
9306           whitespace fixes
9307         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
9308           more debugging
9309         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
9310         * gst/gststructure.h:
9311           add a fixate function for booleans; add a FIXME that these func
9312           names should probably be gst_structure_fixate_*
9313
9314 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
9315
9316         * docs/gst/gstreamer-docs.sgml:
9317         * docs/gst/gstreamer-sections.txt:
9318         * gst/Makefile.am:
9319         * gst/gstbin.c: (gst_bin_get_type),
9320         (gst_bin_child_proxy_get_child_by_index),
9321         (gst_bin_child_proxy_get_children_count),
9322         (gst_bin_child_proxy_init):
9323         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
9324         (gst_child_proxy_get_child_by_index),
9325         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
9326         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
9327         (gst_child_proxy_get), (gst_child_proxy_set_property),
9328         (gst_child_proxy_set_valist), (gst_child_proxy_set),
9329         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
9330         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
9331         * gst/gstchildproxy.h:
9332         * gst/parse/grammar.y:
9333         * tools/gst-inspect.c: (print_interfaces),
9334         (print_element_properties_info), (print_element_info):
9335           ported gstchildproxy over from 0.8
9336           ported gst-inspect fixes and enhancements over from 0.8
9337
9338 2005-08-22  Wim Taymans  <wim@fluendo.com>
9339
9340         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9341         (gst_base_transform_handle_buffer):
9342         Also call the transform function if we have ANY caps.
9343
9344         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
9345         Fix debug info.
9346
9347 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
9348
9349         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
9350           Don't pretend to handle seek events if the source is not seekable
9351
9352 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
9353
9354         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9355           Remove extra parameter to debug output
9356
9357         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9358         (gst_base_src_do_seek), (gst_base_src_activate_push):
9359           Fix seek event handling.
9360
9361         * gst/gstpipeline.c: (gst_pipeline_change_state):
9362         * gst/gstqueue.c: (gst_queue_handle_sink_event),
9363         (gst_queue_src_activate_push):
9364           Don't start the src pad task on FLUSH_STOP if the pad
9365           isn't linked.
9366           Debug changes.
9367
9368 2005-08-22  Wim Taymans  <wim@fluendo.com>
9369
9370         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
9371         Added check for gst_static_caps_get() refcounting.
9372
9373 2005-08-22  Wim Taymans  <wim@fluendo.com>
9374
9375         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
9376         Make _static_caps_get() refcounting sane.
9377         
9378         * gst/gstelement.c: (gst_element_set_state):
9379         Add g_return_val_if_fail() to protect against segfaults.
9380
9381 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
9382
9383         * docs/gst/tmpl/gstevent.sgml:
9384         * gst/gstevent.c:
9385         * gst/gstevent.h:
9386           inlined remaining docs, added missing doc comments
9387
9388 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9389
9390         * check/gst/gstbin.c: (GST_START_TEST):
9391           since we don't know when preroll is done, use refcount range
9392           check for the sink
9393         * gst/check/gstcheck.h:
9394           add macro for checking refcount range
9395
9396 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9397
9398         * check/Makefile.am:
9399           clean up environment for when registry gets built versus
9400           when actual tests are run; valgrind seems to not report
9401           leaks if GST_PLUGIN_PATH is set to some specific values
9402         * check/gst/gstbin.c: (GST_START_TEST):
9403           add more refcounting checks; maybe this exposes a
9404           preroll lock bug ?
9405         * common/check.mak:
9406         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9407         * gst/check/gstcheck.h:
9408         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
9409         (gst_bin_change_state):
9410         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
9411           add/fix debugging/whitespace
9412
9413 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
9414
9415         * check/gst/gstevent.c: (event_probe), (test_event),
9416         (GST_START_TEST):
9417          Er, don't call gst_bin_watch_for_state_change you idiot.
9418
9419 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
9420
9421         * check/Makefile.am:
9422           Use CHECK_CFLAGS and CHECK_LIBS
9423         * check/gst/gstevent.c: (event_probe), (test_event),
9424         (GST_START_TEST):
9425           Don't leak events.
9426         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9427         (gst_base_src_start), (gst_base_src_stop),
9428         (gst_base_src_activate_push), (gst_base_src_activate_pull),
9429         (gst_base_src_change_state):
9430           Sprinkle gst_base_src_stop liberally around error paths to fix
9431           problems reusing a source after failed state changes.
9432         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9433         (helper_find_suggest), (gst_type_find_helper):
9434           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
9435         * gst/gstevent.h:
9436         * docs/gst/tmpl/gstevent.sgml:
9437           Migrate part of the docs from the SGML file. Wait for ensonic to
9438           tell me how I did it wrong ;)
9439         * tools/gst-typefind.c: (main):
9440           Extra robustness to state changes between files.
9441
9442 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9443
9444         * check/Makefile.am:
9445           don't valgrind the controller test - it's leaking - Stefan, HELP
9446         * gst/check/gstcheck.c: (gst_check_message_error),
9447         (gst_check_chain_func), (gst_check_setup_element),
9448         (gst_check_teardown_element), (gst_check_setup_src_pad),
9449         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
9450         (gst_check_teardown_sink_pad):
9451         * gst/check/gstcheck.h:
9452           add a bunch of methods to set up elements, and src and sink pads
9453         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
9454         * check/elements/identity.c: (setup_identity), (cleanup_identity),
9455         (GST_START_TEST):
9456           use them
9457         * gst/gstmessage.c:
9458         * gst/gsttag.h:
9459           whitespace/doc fixes
9460
9461 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9462
9463         * gst/gstelement.h:
9464           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
9465           be handled by the application and not always printed as well
9466
9467 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9468
9469         * check/Makefile.am:
9470           set GST_TOOLS_DIR
9471         * gst/check/gstcheck.c: (gst_check_message_error):
9472         * gst/check/gstcheck.h:
9473           add a fail_unless_equals_int
9474           add fail_unless for error messages
9475
9476 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9477
9478         * check/Makefile.am:
9479         * check/gst.supp:
9480         * common/Makefile.am:
9481         * common/check.mak:
9482         * common/gst.supp:
9483           factor out some of the common stuff so we can use it
9484
9485 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9486
9487         * check/Makefile.am:
9488         * check/gst/gstiterator.c: (GST_START_TEST):
9489         * check/gst/gstsystemclock.c: (GST_START_TEST),
9490         (gst_systemclock_suite):
9491         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9492         * gst/gstclock.c:
9493           valgrind more tests
9494
9495 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9496
9497         * check/elements/.cvsignore:
9498         * check/elements/gstfakesrc.c:
9499           rename to name of element
9500         * check/elements/identity.c: (chain_func), (event_func),
9501         (setup_identity), (cleanup_identity), (GST_START_TEST),
9502         (identity_suite), (main):
9503           add a test for identity
9504         * check/Makefile.am:
9505         * pkgconfig/Makefile.am:
9506         * pkgconfig/gstreamer-check.pc.in:
9507         * pkgconfig/gstreamer-check-uninstalled.pc.in:
9508         * gst/check:
9509         * gst/Makefile.am:
9510         * configure.ac:
9511           move the check stuff to a library that gets installed
9512         * check/gst-libs/controller.c: (GST_START_TEST):
9513         * check/gst-libs/gdp.c:
9514         * check/gst/gst.c: (GST_START_TEST):
9515         * check/gst/gstbin.c:
9516         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9517         * check/gst/gstbus.c:
9518         * check/gst/gstcaps.c: (GST_START_TEST):
9519         * check/gst/gstelement.c:
9520         * check/gst/gstghostpad.c:
9521         * check/gst/gstiterator.c:
9522         * check/gst/gstmessage.c:
9523         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
9524         * check/gst/gstobject.c:
9525         * check/gst/gstpad.c: (GST_START_TEST):
9526         * check/gst/gststructure.c: (GST_START_TEST):
9527         * check/gst/gstsystemclock.c: (GST_START_TEST),
9528         (gst_systemclock_suite):
9529         * check/gst/gsttag.c: (gst_tag_suite):
9530         * check/gst/gstvalue.c:
9531         * check/pipelines/cleanup.c:
9532         * check/pipelines/simple_launch_lines.c:
9533         * check/states/sinks.c:
9534           change include statement
9535
9536         * docs/gst/gstreamer-sections.txt:
9537         * docs/gst/tmpl/gstpad.sgml:
9538           document more pad stuff
9539         * gst/gstminiobject.c: (gst_mini_object_ref),
9540         (gst_mini_object_unref):
9541           debug refcounting
9542
9543 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
9544
9545         * docs/gst/tmpl/gst.sgml:
9546         * gst/gst.c:
9547           eliminate another tmpl file, fix spelling in the long-description
9548
9549 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9550
9551         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9552         (test_event), (timediff), (gstevents_suite):
9553           Should fix build on 64-bit arch's
9554
9555 2005-08-18  Andy Wingo  <wingo@pobox.com>
9556
9557         Make sure that when a pipeline goes to PLAYING, that data has
9558         actually hit the sink.
9559
9560         * check/states/sinks.c (test_sink): A sink that doesn't get any
9561         data shouldn't return SUCCESS for going to either PLAYING or
9562         PAUSED. Test also the return values on the way back down.
9563
9564         * gst/gstelement.c (gst_element_set_state): When changing the
9565         state of an element currently changing state asynchronously, go to
9566         lost-state after commiting the pending state. Makes future calls
9567         to get_state continue to return ASYNC.
9568
9569         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
9570         ASYNC when going to PLAYING if we still don't have preroll, as can
9571         happen with live sources.
9572
9573 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9574
9575         * docs/pwg/advanced-types.xml:
9576           Hack long paragraph into 2 chunks as a workaround for buggy
9577           jadetex version in sid and breezy that loops infinitely and
9578           eats all RAM.
9579
9580 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9581
9582         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9583         (test_event), (timediff), (gstevents_suite):
9584           Provide more error margin in clock measurements to allow for 
9585           g_get_current_time inaccuracies.
9586
9587 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9588
9589         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9590         (test_event), (timediff), (gstevents_suite):
9591            Fix error message output so I might be able to tell why the
9592            test works here but fails on the build farm.
9593
9594 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9595
9596         * check/Makefile.am:
9597         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9598         (test_event), (timediff), (gstevents_suite), (main):
9599           I wrote a test!
9600
9601         * docs/design/part-seeking.txt:
9602           Spelling correction
9603
9604         * docs/gst/tmpl/gstevent.sgml:
9605         * docs/gst/tmpl/gstfakesrc.sgml:
9606           Docs updates.
9607
9608         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9609           Treat a buffer-without-newsegment the same as a receiving 
9610           a newsegment not in time format, and disable syncing to the clock
9611           with a warning.
9612
9613         * gst/gstbus.c: (gst_bus_set_sync_handler):
9614           Assert if anyone tries to replace the existing sync_handler for bus, 
9615           as only the owner should be setting it.
9616
9617         * gst/gstevent.h:
9618           Have a fixed set of custom event enums with events identified by
9619           their structure name (as in 0.8), rather than a free-for-all
9620           allowing collisions between enum values from different plugins.
9621
9622         * gst/gstpad.c: (gst_pad_class_init):
9623           Docs change.
9624           
9625         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9626           Handle out-of-band downstream events from the sending thread.
9627
9628 2005-08-17  Andy Wingo  <wingo@pobox.com>
9629
9630         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
9631         play-timeout==0 to mean no timeout at all. In that case, don't
9632         bother with a get_state or a warning, just return directly, even
9633         if it's ASYNC.
9634
9635         * gst/base/gstbasetransform.c: Debug changes.
9636
9637         * gst/gstutils.h:
9638         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
9639         ensure bins post state change messages. A bit of a hack but I can't
9640         think of a way to avoid it.
9641
9642         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
9643
9644 2005-08-16  Andy Wingo  <wingo@pobox.com>
9645
9646         * gst/base/gstadapter.h:
9647         * gst/base/gstadapter.c (gst_adapter_take): New function, like
9648         peek() but you own the data. Not terribly efficient atm.
9649
9650 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9651
9652         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
9653         (gst_element_found_tags):
9654         * gst/gstutils.h:
9655           Add two utility functions for tag handling.
9656
9657 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9658
9659         * docs/manual/advanced-dataaccess.xml:
9660         * docs/manual/basics-helloworld.xml:
9661           Fix docs to use _bin_add() before _link(), which fixes the examples
9662           with recent core versions (reported by Madhan Raj M
9663           <raj_madan@rediffmail.com>, #313199).
9664
9665 2005-08-16  Wim Taymans  <wim@fluendo.com>
9666
9667         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9668         Added subtract checks.
9669
9670         * docs/design/part-events.txt:
9671         Some more docs about newsegment
9672
9673         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9674         Fix FIXME
9675
9676         * gst/gstcaps.c: (gst_caps_to_string):
9677         Add comments, cleanups.
9678         
9679         * gst/gstelement.c: (gst_element_save_thyself):
9680         cleanups
9681         
9682         * gst/gstvalue.c: (gst_value_collect_int_range),
9683         (gst_string_unwrap), (gst_value_union_int_int_range),
9684         (gst_value_union_int_range_int_range),
9685         (gst_value_intersect_int_int_range),
9686         (gst_value_intersect_int_range_int_range),
9687         (gst_value_intersect_double_double_range),
9688         (gst_value_intersect_double_range_double_range),
9689         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
9690         (gst_value_subtract_int_range_int),
9691         (gst_value_subtract_double_range_double),
9692         (gst_value_subtract_double_range_double_range),
9693         (gst_value_subtract_from_list), (gst_value_subtract_list),
9694         (gst_value_can_compare), (gst_value_compare_fraction):
9695         Cleanups, add comments, remove unneeded asserts.
9696
9697 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9698
9699         * tools/gst-launch.c: (event_loop):
9700           don't convert NULL structures to strings
9701
9702 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
9703
9704         * docs/gst/gstreamer-sections.txt:
9705           made some defines private
9706         * docs/gst/tmpl/gstconfig.sgml:
9707         * docs/gst/tmpl/gstqueue.sgml:
9708         * docs/gst/tmpl/gsttaglist.sgml:
9709         * docs/gst/tmpl/gsttypes.sgml:
9710         * docs/gst/tmpl/gstutils.sgml:
9711         * docs/pwg/appendix-porting.xml:
9712         * gst/base/gstbasesink.h:
9713         * gst/base/gstbasesrc.c:
9714         * gst/base/gstbasesrc.h:
9715         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
9716         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
9717         * gst/gstelement.c: (gst_element_class_init):
9718         * gst/gstpad.c: (gst_pad_class_init):
9719         * gst/gstqueue.c: (gst_queue_class_init):
9720         * gst/gstxml.c: (gst_xml_class_init):
9721           documented all undocumented signal inline
9722         * libs/gst/controller/gst-controller.h:
9723           added padding
9724
9725 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9726
9727         * docs/pwg/appendix-porting.xml:
9728           Document _set_link_function -> _set_setcaps_function.
9729
9730 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9731
9732         * check/Makefile.am:
9733           add a .check target for running the check
9734         * check/gst-libs/controller.c: (GST_START_TEST):
9735           cosmetic fixups
9736         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9737           complete checks for gstbuffer; would be nice if I could get the
9738           gcov stuff to work so I can see if I actually completed gstbuffer.c
9739         * check/gstcheck.h:
9740           add ASSERT_BUFFER_REFCOUNT
9741
9742 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
9743
9744         * docs/gst/gstreamer-sections.txt:
9745         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
9746         * gst/gsttag.h:
9747           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
9748           spew out a warning if a tag that is already registered
9749           is re-registered, unless it is re-registered with a 
9750           different type (#308438).
9751
9752 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
9753
9754         * docs/pwg/appendix-porting.xml:
9755         * docs/pwg/building-state.xml:
9756           Add some paragraphs about state changes in 0.9 to the PWG
9757           and the porting guide, in particular about the new meaning
9758           of GST_STATE_PAUSED and how to write state change functions
9759           with concurrent access by multiple threads in mind.
9760
9761 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
9762
9763         * docs/gst/gstreamer-docs.sgml:
9764         * docs/libs/gstreamer-libs-docs.sgml:
9765           added deprecation and since indexes
9766         * libs/gst/controller/gst-controller.c:
9767         * libs/gst/controller/gst-helper.c:
9768           added since tags
9769
9770
9771 2005-08-11  Wim Taymans  <wim@fluendo.com>
9772
9773         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
9774         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
9775         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
9776         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
9777         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
9778         (gst_ghost_pad_set_target):
9779         Actually implement (re)setting the target on a ghostpad
9780         as described in the docs.
9781
9782 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
9783
9784         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
9785           Check whether GST_DEBUG_NO_COLOR environment variable is
9786           set and disable coloured debug output if that is the case.
9787
9788 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
9789
9790         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9791         (gst_type_find_helper):
9792           The memory returned by gst_type_find_peek() needs to
9793           stay valid until the end of a typefind function, and
9794           typefind functions may keep results from different 
9795           offsets around, so we can't just unref the buffer from
9796           the previous _peek(), but have to save all buffers 
9797           returned by _peek() until typefinding is done and only
9798           free them then.
9799
9800 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
9801
9802         * docs/gst/gstreamer-sections.txt:
9803         * gst/gstutils.h:
9804           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
9805
9806 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9807
9808         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
9809           Fix a pretty good memleak.
9810
9811 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
9812
9813         * gst/gstiterator.h:
9814           Fix wrong include and 'make distcheck'.
9815
9816 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9817
9818         * gst/gstbin.c: (bin_bus_handler):
9819           Use gst_element_post_message() instead.
9820
9821 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
9822
9823         * gst/base/gstadapter.h:
9824         * gst/base/gstbasesink.h:
9825         * gst/base/gstbasesrc.h:
9826         * gst/base/gstbasetransform.h:
9827         * gst/base/gstcollectpads.h:
9828         * gst/base/gstpushsrc.h:
9829         * gst/gstiterator.h:
9830           Add padding to our base elements' class and instance structs and
9831           to GstIterator (you will need to rebuild all plugins and apps!)
9832
9833 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9834
9835         * gst/gstbin.c: (bin_bus_handler):
9836           Make default message forwarding from child->bus to bin->bus
9837           threadsafe and make it not emit warnings if the parent has no bus.
9838
9839 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9840
9841         * gst/gstelement.c: (activate_pads):
9842           On paused->ready, set pad->caps to NULL, as is the documented
9843           behaviour in this state change. Fixes playback of series of
9844           media files when visualization is enabled in Totem.
9845
9846 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9847
9848         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9849           Allow NULL as filter-caps (which means "any").
9850
9851 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9852
9853         * docs/libs/gstreamer-libs-sections.txt:
9854         * libs/gst/controller/gst-controller.c:
9855         * libs/gst/controller/gst-controller.h:
9856         * libs/gst/controller/gst-helper.c:
9857           adding more entries to the docs and fix small doc-bugs
9858
9859 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9860
9861         * docs/gst/gstreamer-docs.sgml:
9862         * docs/gst/gstreamer-sections.txt:
9863         * docs/gst/gstreamer.types:
9864         * docs/gst/tmpl/gstbasesink.sgml:
9865         * docs/gst/tmpl/gstbasesrc.sgml:
9866         * docs/gst/tmpl/gstbasetransform.sgml:
9867         * docs/gst/tmpl/gstfakesrc.sgml:
9868         * gst/base/gstcollectpads.c:
9869         * gst/base/gstcollectpads.h:
9870         * libs/gst/controller/gst-controller.c:
9871         * libs/gst/controller/gst-controller.h:
9872         * libs/gst/controller/gst-helper.c:
9873         * libs/gst/controller/gst-interpolation.c:
9874         * libs/gst/controller/lib.c:
9875           added long/short desc for controller docs
9876           added collectpads base class docs
9877           added correct includes to base-class docs
9878
9879 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9880
9881         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
9882         (gst_test_mono_source_set_property),
9883         (gst_test_mono_source_class_init), (GST_START_TEST),
9884         (gst_controller_suite):
9885         * docs/gst/gstreamer-docs.sgml:
9886         * docs/gst/gstreamer-sections.txt:
9887         * docs/gst/gstreamer.types:
9888         * docs/libs/gstreamer-libs-docs.sgml:
9889         * docs/libs/gstreamer-libs-sections.txt:
9890         * gst/base/gstadapter.c:
9891         * libs/gst/controller/gst-controller.c:
9892         (gst_controlled_property_new), (gst_controlled_property_free),
9893         (gst_controller_new_valist),
9894         (gst_controller_remove_properties_valist),
9895         (gst_controller_sink_values), (_gst_controller_finalize):
9896         * libs/gst/controller/gst-controller.h:
9897         * libs/gst/controller/gst-helper.c:
9898         (gst_object_control_properties), (gst_object_uncontrol_properties),
9899         (gst_object_get_controller), (gst_object_set_controller),
9900         (gst_object_sink_values), (gst_object_get_value_arrays),
9901         (gst_object_get_value_array):
9902           more tests (and fixes) for the controller
9903           more docs for the controller
9904           integrated companies docs for the adapter 
9905
9906 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9907
9908         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
9909         (GST_START_TEST), (fakesrc_suite):
9910           add tests for sizetype
9911
9912 2005-08-04  Andy Wingo  <wingo@pobox.com>
9913
9914         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
9915         fixes buffer_alloc proxying among other things.
9916
9917         * gst/base/gstbasetransform.c:
9918         * gst/base/gstbasetransform.h:
9919         Revert patch to gstbasetransform from 7-28 removing
9920         delay_configure.
9921
9922         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
9923         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
9924         Semantics changed, should return not the size of the output buffer
9925         but the byte size of a buffer with a given caps.
9926
9927         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
9928         debug object.
9929         (gst_base_transform_configure_caps): Don't set out_size here: (in,
9930         out) are not the pad caps until setcaps finishes.
9931         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
9932         not-in-place case as well. Deal with changing from in-place to
9933         not-in-place within calling pad_alloc_buffer. Still a bit
9934         concerned about the overhead here...
9935
9936 2005-08-03  Andy Wingo  <wingo@pobox.com>
9937
9938         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
9939         fixating is an error.
9940
9941 2005-08-04  Edward Hervey  <edward@fluendo.com>
9942
9943         * gst/base/gstadapter.h: 
9944         Added gst_adapter_get_type() to the header
9945
9946 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9947
9948         * check/Makefile.am:
9949         * check/gst-libs/controller.c:
9950         * libs/gst/controller/gst-controller.c:
9951         (gst_controller_new_valist):
9952           added check test suite for the controller
9953         * gst/base/gstpushsrc.c:
9954           fixed a doc typo
9955
9956 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9957
9958         * docs/gst/Makefile.am:
9959         * docs/gst/gstreamer-docs.sgml:
9960         * docs/gst/gstreamer-sections.txt:
9961         * docs/gst/gstreamer.types:
9962         * docs/gst/tmpl/gstfakesrc.sgml:
9963         * gst/base/README:
9964         * gst/base/gstbasesink.c:
9965         * gst/base/gstbasesink.h:
9966         * gst/base/gstbasesrc.c:
9967         * gst/base/gstbasesrc.h:
9968         * gst/base/gstbasetransform.c:
9969         * gst/base/gstpushsrc.c:
9970         * gst/base/gstpushsrc.h:
9971           add short/long description docs to base classes
9972           add pushsrc to the docs
9973           remove consolidated doc fragments
9974
9975 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9976
9977         * configure.ac:
9978         * docs/libs/Makefile.am:
9979         * docs/libs/gstreamer-libs-docs.sgml:
9980         * docs/libs/gstreamer-libs-sections.txt:
9981         * docs/libs/gstreamer-libs.types:
9982         * examples/Makefile.am:
9983         * examples/controller/.cvsignore:
9984         * examples/controller/Makefile.am:
9985         * examples/controller/audio-example.c: (main):
9986         * libs/gst/Makefile.am:
9987         * libs/gst/controller/.cvsignore:
9988         * libs/gst/controller/Makefile.am:
9989         * libs/gst/controller/gst-controller.c:
9990         (on_object_controlled_property_changed), (gst_timed_value_compare),
9991         (gst_timed_value_find),
9992         (gst_controlled_property_set_interpolation_mode),
9993         (gst_controlled_property_new), (gst_controlled_property_free),
9994         (gst_controller_find_controlled_property),
9995         (gst_controller_new_valist), (gst_controller_new),
9996         (gst_controller_remove_properties_valist),
9997         (gst_controller_remove_properties), (gst_controller_set),
9998         (gst_controller_set_from_list), (gst_controller_unset),
9999         (gst_controller_get), (gst_controller_get_all),
10000         (gst_controller_sink_values), (gst_controller_get_value_arrays),
10001         (gst_controller_get_value_array),
10002         (gst_controller_set_interpolation_mode),
10003         (_gst_controller_finalize), (_gst_controller_init),
10004         (_gst_controller_class_init), (gst_controller_get_type):
10005         * libs/gst/controller/gst-controller.h:
10006         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
10007         (g_object_uncontrol_properties), (g_object_get_controller),
10008         (g_object_set_controller), (g_object_sink_values),
10009         (g_object_get_value_arrays), (g_object_get_value_array):
10010         * libs/gst/controller/gst-interpolation.c:
10011         (gst_controlled_property_find_timed_value_node),
10012         (interpolate_none_get), (interpolate_trigger_get),
10013         (interpolate_trigger_get_value_array):
10014         * libs/gst/controller/lib.c: (gst_controller_init):
10015         * pkgconfig/Makefile.am:
10016         * pkgconfig/gstreamer-control-uninstalled.pc.in:
10017         * pkgconfig/gstreamer-control.pc.in:
10018         * testsuite/Makefile.am:
10019         * testsuite/controller/.cvsignore:
10020         * testsuite/controller/Makefile.am:
10021         * testsuite/controller/interpolator.c: (main):
10022           added controller code
10023           removed dparam pc files
10024
10025 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
10026         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
10027         (gst_collectpads_stop):
10028           Broadcast the condition when shutting down, to make sure we wake all
10029           threads up. Shut down pads on finalize, for safety.
10030
10031 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
10032         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10033         (gst_base_transform_handle_buffer),
10034         (gst_base_transform_change_state):
10035           Handle PAUSED->READY->PAUSED transition after negotiation
10036           occurred already.
10037         * gst/gstmessage.c: (gst_message_init):
10038           Extra piece of debug for new messages.
10039
10040 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
10041
10042         * configure.ac:
10043         * docs/gst/tmpl/gstbasesrc.sgml:
10044         * docs/gst/tmpl/gstelement.sgml:
10045         * docs/gst/tmpl/gstevent.sgml:
10046         * docs/gst/tmpl/gstfakesrc.sgml:
10047         * docs/gst/tmpl/gstformat.sgml:
10048         * docs/gst/tmpl/gstghostpad.sgml:
10049         * docs/gst/tmpl/gstpad.sgml:
10050         * docs/gst/tmpl/gstquery.sgml:
10051         * docs/gst/tmpl/gststructure.sgml:
10052         * docs/gst/tmpl/gsttaglist.sgml:
10053         * docs/gst/tmpl/gstvalue.sgml:
10054         * docs/libs/gstreamer-libs-docs.sgml:
10055         * docs/libs/gstreamer-libs-sections.txt:
10056         * docs/libs/gstreamer-libs.types:
10057         * libs/gst/Makefile.am:
10058         * libs/gst/control/.cvsignore:
10059         * libs/gst/control/Makefile.am:
10060         * libs/gst/control/control.c:
10061         * libs/gst/control/control.h:
10062         * libs/gst/control/dparam.c:
10063         * libs/gst/control/dparam.h:
10064         * libs/gst/control/dparam_smooth.c:
10065         * libs/gst/control/dparam_smooth.h:
10066         * libs/gst/control/dparamcommon.h:
10067         * libs/gst/control/dparammanager.c:
10068         * libs/gst/control/dparammanager.h:
10069         * libs/gst/control/dplinearinterp.c:
10070         * libs/gst/control/dplinearinterp.h:
10071         * libs/gst/control/unitconvert.c:
10072         * libs/gst/control/unitconvert.h:
10073         * testsuite/Makefile.am:
10074         * testsuite/dynparams/.cvsignore:
10075         * testsuite/dynparams/Makefile.am:
10076         * testsuite/dynparams/dparamstest.c:
10077         * tools/Makefile.am:
10078         * tools/gst-inspect.c: (print_element_info), (main):
10079         * tools/gst-xmlinspect.c: (print_element_info), (main):
10080           deactivate and remove dparams (libgstcontrol)
10081
10082 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
10083
10084         * gst/elements/gsttypefindelement.c:
10085         (gst_type_find_element_have_type), (gst_type_find_element_init),
10086         (stop_typefinding), (gst_type_find_element_handle_event),
10087         (gst_type_find_element_chain), (gst_type_find_element_getrange):
10088         * gst/elements/gsttypefindelement.h:
10089           Set caps on all outgoing buffers, not just the first one.
10090
10091 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
10092
10093         * gst/elements/gsttypefindelement.c:
10094         (gst_type_find_element_have_type),
10095         (gst_type_find_element_check_set_buffer_caps),
10096         (gst_type_find_element_init), (stop_typefinding),
10097         (gst_type_find_element_handle_event),
10098         (gst_type_find_element_chain), (gst_type_find_element_getrange):
10099         * gst/elements/gsttypefindelement.h:
10100           Set caps on first outgoing buffer when we've found the type.
10101
10102 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
10103
10104         * docs/gst/gstreamer-docs.sgml:
10105         * docs/gst/gstreamer-sections.txt:
10106         * docs/gst/tmpl/gstscheduler.sgml:
10107         * docs/gst/tmpl/gstschedulerfactory.sgml:
10108           Remove some old cruft from docs.
10109
10110 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
10111
10112         * gst/gstpad.h:
10113           Fix inline docs for GstPadLinkReturn.
10114           
10115         * gst/gststructure.c: (gst_structure_has_name):
10116         * gst/gststructure.h:
10117         * docs/gst/gstreamer-sections.txt:
10118           New API: gst_structure_has_name().
10119
10120 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
10121
10122         * configure.ac:
10123           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
10124           and _LARGEFILE_SOURCE in config.h as required. Do not 
10125           export those flags in our .pc files any longer (#142209).
10126
10127           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
10128
10129         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
10130         (gst_file_sink_do_seek), (gst_file_sink_event),
10131         (gst_file_sink_get_current_offset), (gst_file_sink_render):
10132           Redo seek/tell calls with large file support in mind; add some
10133           debugging messages; add log message that tells us when large
10134           file support is unavailable or not enabled for some reason.
10135
10136         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
10137           Add log message that tells us when large file support 
10138           is unavailable or not enabled for some reason.
10139
10140 2005-07-29  Wim Taymans  <wim@fluendo.com>
10141
10142         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
10143         Added test for removing an element with ghostpad from a bin.
10144         Fixed test as current implementation does the right thing.
10145
10146         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
10147         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
10148         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
10149         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
10150         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
10151         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
10152         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
10153         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10154         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
10155         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
10156         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
10157         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
10158         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
10159         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
10160         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
10161         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
10162         * gst/gstghostpad.h:
10163         Clean up ghostpads, remove properties for internal stuff.
10164         Make threadsafe.
10165         Fix refcounting.
10166         Prepare for switching targets, not all use cases work yet.
10167
10168 2005-07-29  Wim Taymans  <wim@fluendo.com>
10169
10170         * docs/design/part-gstghostpad.txt:
10171         Small update.
10172
10173         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
10174         (gst_bin_remove_func):
10175         Unlinking pads while holding the bin LOCK is not a good
10176         idea.
10177
10178         * gst/gstpad.c: (gst_pad_class_init),
10179         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
10180         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
10181         No prob setting template after creating the pad.
10182
10183 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
10184
10185         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
10186         (gst_bus_peek), (gst_bus_source_dispatch),
10187         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
10188         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
10189           gst_bus_poll may be called from other threads. Handle
10190           this nicely by not making poll_data disappear off the
10191           stack once gst_bus_poll returns.
10192           gst_bus_peek now increments the refcount on the returned
10193           message.
10194
10195 2005-07-29  Wim Taymans  <wim@fluendo.com>
10196
10197         * docs/design/part-gstghostpad.txt:
10198         Overview of current GhostPad datastructures and use
10199         cases for changing the target.
10200
10201 2005-07-28  Wim Taymans  <wim@fluendo.com>
10202
10203         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10204         Added checks for hierarchy consistency whan adding linked
10205         elements to bins.
10206
10207         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10208         Added check to test element scheduling without bin/pipeline.
10209
10210         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10211         First add elements to bin, then link.
10212         
10213         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
10214         (gst_bin_remove_func):
10215         Unlink pads from elements added/removed from bin to maintain
10216         hierarchy consistency.
10217
10218 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10219
10220         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
10221         (gst_base_transform_handle_buffer):
10222         * gst/base/gstbasetransform.h:
10223           Remove broken delay_configure (fixes renegotiation of software
10224           scaling pipelines); remove some leftover printf()s.
10225
10226 2005-07-28  Wim Taymans  <wim@fluendo.com>
10227
10228         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
10229         Added some more tests for wrong hierarchy
10230
10231         * docs/design/part-overview.txt:
10232         Some updates.
10233
10234         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
10235         Cleanups.
10236
10237         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
10238         (gst_element_dispose):
10239         Some more cleanups.
10240
10241         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10242         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
10243         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10244         (gst_pad_set_caps), (gst_pad_send_event):
10245         Check for correct hierarchy when linking pads. Moving to
10246         strict requirement for ghostpads when linking elements in
10247         different bins.
10248
10249         * gst/gstpad.h:
10250         Clean ups. Added WRONG_HIERARCHY return value.
10251
10252 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10253
10254         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
10255           Better debug if no transform is possible.
10256
10257 2005-07-27  Wim Taymans  <wim@fluendo.com>
10258
10259         * docs/random/wtay/network-transp:
10260         Some old doc I had.
10261
10262 2005-07-27  Wim Taymans  <wim@fluendo.com>
10263
10264         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
10265         (gst_dp_event_from_packet):
10266         Fix serialization of seek events.
10267
10268 2005-07-27  Wim Taymans  <wim@fluendo.com>
10269
10270         * check/gst-libs/gdp.c: (GST_START_TEST):
10271         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
10272         Fix compilation and fix event serialization.
10273
10274 2005-07-27  Wim Taymans  <wim@fluendo.com>
10275
10276         * CHANGES-0.9:
10277         * docs/design/part-TODO.txt:
10278         * docs/design/part-events.txt:
10279         Some docs updates
10280
10281         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10282         (gst_base_sink_event), (gst_base_sink_do_sync),
10283         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
10284         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10285         (gst_base_src_do_seek), (gst_base_src_event_handler),
10286         (gst_base_src_loop):
10287         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10288         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10289         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
10290         (gst_base_transform_event), (gst_base_transform_handle_buffer),
10291         (gst_base_transform_set_passthrough),
10292         (gst_base_transform_is_passthrough):
10293         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
10294         * gst/elements/gstfilesink.c: (gst_file_sink_event):
10295         Event updates.
10296
10297         * gst/gstbuffer.h:
10298         Use faster casts.
10299
10300         * gst/gstelement.c: (gst_element_seek):
10301         * gst/gstelement.h:
10302         Update gst_element_seek.
10303
10304         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
10305         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
10306         (gst_event_new_flush_start), (gst_event_new_flush_stop),
10307         (gst_event_new_eos), (gst_event_new_newsegment),
10308         (gst_event_parse_newsegment), (gst_event_new_tag),
10309         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
10310         (gst_event_parse_qos), (gst_event_new_seek),
10311         (gst_event_parse_seek), (gst_event_new_navigation):
10312         * gst/gstevent.h:
10313         Make GstEvent use GstStructure. Add parsing code, make sure the
10314         API is sufficiently generic.
10315         Mark possible directions of events and serialization.
10316
10317         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
10318         (_gst_message_copy), (gst_message_new_segment_start),
10319         (gst_message_new_segment_done), (gst_message_new_custom),
10320         (gst_message_parse_segment_start),
10321         (gst_message_parse_segment_done):
10322         Small cleanups.
10323
10324         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10325         (gst_pad_set_caps), (gst_pad_send_event):
10326         Update for new events. 
10327         Catch events sent in wrong directions.
10328
10329         * gst/gstqueue.c: (gst_queue_link_src),
10330         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10331         (gst_queue_handle_src_query):
10332         Event updates.
10333
10334         * gst/gsttag.c:
10335         * gst/gsttag.h:
10336         Remove event code from this file.
10337
10338         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
10339         (gst_dp_event_from_packet):
10340         Event updates.
10341
10342 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10343
10344         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
10345         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10346         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
10347           Make debugging actually useful.
10348
10349 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10350
10351         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
10352         (gst_pad_fixate_caps):
10353           Implement default fixation once again, so that gst_pad_fixate()
10354           actually does anything at all. This probably needs to be some
10355           sort of a last resort, and use profile-based fixation first, but
10356           since that doesn't exist yet, this is the best we have. Fixes
10357           visualization in Totem.
10358
10359 2005-07-22  Wim Taymans  <wim@fluendo.com>
10360
10361         * docs/design/part-events.txt:
10362         Small update.
10363
10364         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10365         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
10366         (gst_base_sink_activate_pull):
10367         Some more comments.
10368
10369         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
10370         (gst_fake_src_create):
10371         Fix handoff marshall.
10372
10373         * gst/elements/gstidentity.c: (gst_identity_class_init),
10374         (gst_identity_transform_ip):
10375         We're a real inplace element.
10376
10377         * gst/gstbus.c: (gst_bus_post):
10378         Added some comments.
10379
10380         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
10381         * tests/muxing/case1.c: (main):
10382         * tests/sched/dynamic-pipeline.c: (main):
10383         * tests/sched/interrupt1.c: (main):
10384         * tests/sched/interrupt2.c: (main):
10385         * tests/sched/interrupt3.c: (main):
10386         * tests/sched/runxml.c: (main):
10387         * tests/sched/sched-stress.c: (main):
10388         * tests/seeking/seeking1.c: (event_received), (main):
10389         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
10390         (main):
10391         * tests/threadstate/threadstate3.c: (main):
10392         * tests/threadstate/threadstate4.c: (main):
10393         * tests/threadstate/threadstate5.c: (main):
10394         Fix the tests.
10395
10396 2005-07-21  Wim Taymans  <wim@fluendo.com>
10397
10398         * docs/design/part-seeking.txt:
10399         Some small additions.
10400
10401         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10402         (gst_base_sink_get_times), (gst_base_sink_do_sync),
10403         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
10404         * gst/base/gstbasesink.h:
10405         discont values are gint64, handle the math correctly.
10406
10407         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10408         Make the basesrc report error if the source pad is not linked.
10409
10410         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
10411         (gst_queue_loop), (gst_queue_handle_src_query),
10412         (gst_queue_src_activate_push):
10413         Make queue collect data even if the srcpad is not linked.
10414         Start pushing out data as soon as it is linked.
10415
10416         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
10417         * gst/gstutils.h:
10418         Added gst_flow_get_name() to ease error reporting.
10419
10420 2005-07-20  Wim Taymans  <wim@fluendo.com>
10421
10422         * gst/gstmessage.c: (gst_message_new_segment_start),
10423         (gst_message_new_segment_done), (gst_message_parse_segment_start),
10424         (gst_message_parse_segment_done):
10425         * gst/gstmessage.h:
10426         Added a bunch of messages for advanced seeking.
10427
10428         * gst/parse/grammar.y:
10429         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
10430         (gst_dpman_state_changed):
10431         Fix some new-pad -> pad-added signals
10432
10433 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10434
10435         * docs/manual/appendix-porting.xml:
10436         * docs/pwg/appendix-porting.xml:
10437           Document new-pad/state-change signal renames and the FixedList
10438           type rename.
10439
10440 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10441
10442         * docs/manual/advanced-autoplugging.xml:
10443         * docs/manual/basics-helloworld.xml:
10444         * docs/manual/basics-pads.xml:
10445         * docs/random/ds/0.9-suggested-changes:
10446         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
10447         * gst/gstelement.h:
10448         * gst/gstevent.h:
10449         * gst/gstformat.h:
10450         * gst/gstquery.h:
10451         * gst/gststructure.c: (gst_structure_value_get_generic_type),
10452         (gst_structure_parse_array), (gst_structure_parse_value):
10453         * gst/gstvalue.c: (gst_type_is_fixed),
10454         (gst_value_list_prepend_value), (gst_value_list_append_value),
10455         (gst_value_list_get_size), (gst_value_list_get_value),
10456         (gst_value_transform_array_string), (gst_value_serialize_array),
10457         (gst_value_deserialize_array), (gst_value_intersect_array),
10458         (gst_value_is_fixed), (_gst_value_initialize):
10459         * gst/gstvalue.h:
10460           GstElement::new-pad -> pad-added, GstElement::state-change ->
10461           state-changed, GstValueFixedList -> GstValueArray, add format and
10462           flags as their own arguments in gst_element_seek() (should improve
10463           "bindeability"), remove function generators since they don't work
10464           under a whole bunch of compilers (they were deprecated already
10465           anyway).
10466
10467 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10468
10469         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10470         (_gst_debug_register_funcptr):
10471         * gst/gstinfo.h:
10472           Fix illegal cast on some platforms (#309253).
10473
10474 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10475
10476         * gst/gstmessage.c: (gst_message_new_custom):
10477         * gst/gstmessage.h:
10478           Add _new_custom, make _new_application a macro to _new_custom.
10479
10480 2005-07-20  Wim Taymans  <wim@fluendo.com>
10481
10482         * gst/base/gstbasesrc.c: (gst_base_src_init),
10483         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
10484         * gst/base/gstbasesrc.h:
10485         Add a gboolean to decide when to push out a discont.
10486
10487         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10488         (gst_queue_loop), (gst_queue_handle_src_query),
10489         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
10490         (gst_queue_set_property), (gst_queue_get_property):
10491         Some cleanups.
10492
10493         * tests/threadstate/threadstate1.c: (main):
10494         Make a thread test compile and run... very silly..
10495
10496
10497 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10498
10499         * docs/manual/appendix-porting.xml:
10500           Mention removal of libgstgconf-0.9.la and existence of gconf
10501           elements.
10502
10503 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10504
10505         * docs/pwg/advanced-clock.xml:
10506         * docs/pwg/appendix-porting.xml:
10507         * docs/pwg/intro-preface.xml:
10508         * docs/pwg/other-base.xml:
10509         * docs/pwg/other-manager.xml:
10510         * docs/pwg/other-nton.xml:
10511         * docs/pwg/other-ntoone.xml:
10512         * docs/pwg/other-oneton.xml:
10513         * docs/pwg/pwg.xml:
10514           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
10515           demuxer), remove n-to-n (was never written), fix some code examples
10516           and links and update the porting section to include all this.
10517
10518 2005-07-19  Wim Taymans  <wim@fluendo.com>
10519
10520         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
10521         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
10522         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
10523         (gst_queue_src_activate_push), (gst_queue_change_state),
10524         (gst_queue_get_property):
10525         * gst/gstqueue.h:
10526         Propagate GstFlowReturn more intelligently upstream and output
10527         an ERROR/EOS when streaming stopped due to fatal error.
10528
10529 2005-07-19  Wim Taymans  <wim@fluendo.com>
10530
10531         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10532         Don't block forever for the state change to complete, the
10533         pipeline already did with a sensible timeout.
10534
10535 2005-07-19  Wim Taymans  <wim@fluendo.com>
10536
10537         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10538         Make sure we never call the create function is we
10539         got deactivated.
10540
10541 2005-07-19  Andy Wingo  <wingo@pobox.com>
10542
10543         * gst/parse/parse.l: Attempt to solve bug #172815.
10544
10545 2005-07-19  Wim Taymans  <wim@fluendo.com>
10546
10547         * docs/design/part-clocks.txt:
10548         * docs/design/part-events.txt:
10549         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
10550         Small docs updates.
10551         Only update the seeking values when we are not
10552         busy streaming.
10553
10554 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
10555
10556         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10557           Oops, ignore the result of gst_pad_push_event here.
10558
10559 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
10560
10561         * gst/base/gstbasesrc.c: (gst_base_src_loop),
10562         (gst_base_src_activate_push):
10563           Send discont event from the loop function, as pads
10564           aren't activated yet in the activate_push handler.
10565
10566         * gst/gstbin.c: (bin_bus_handler):
10567           Don't leak element name.
10568
10569 2005-07-18  Andy Wingo  <wingo@pobox.com>
10570
10571         * configure.ac: Use AS_LIBTOOL_TAGS.
10572
10573 2005-07-18  Wim Taymans  <wim@fluendo.com>
10574
10575         * docs/gst/gstreamer.types:
10576         Remove deleted types.
10577
10578 2005-07-18  Wim Taymans  <wim@fluendo.com>
10579
10580         * check/elements/gstfakesrc.c: (GST_START_TEST):
10581         * configure.ac:
10582         * gst/Makefile.am:
10583         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10584         (init_popt_callback):
10585         * gst/gst.h:
10586         * gst/gst_private.h:
10587         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
10588         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
10589         * gst/gstbin.h:
10590         * gst/gstbus.h:
10591         * gst/gstconfig.h.in:
10592         * gst/gstelement.c: (gst_element_class_init),
10593         (gst_element_set_base_time), (gst_element_get_base_time),
10594         (iterator_fold_with_resync), (gst_element_change_state),
10595         (gst_element_dispose), (gst_element_get_bus):
10596         * gst/gstelement.h:
10597         * gst/gstelementfactory.h:
10598         * gst/gsterror.c: (_gst_core_errors_init):
10599         * gst/gsterror.h:
10600         * gst/gstevent.h:
10601         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
10602         * gst/gstindex.c:
10603         * gst/gstinfo.c: (_gst_debug_init):
10604         * gst/gstmessage.c: (_gst_message_copy):
10605         * gst/gstmessage.h:
10606         * gst/gstminiobject.h:
10607         * gst/gstobject.c:
10608         * gst/gstobject.h:
10609         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10610         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
10611         * gst/gstpad.h:
10612         * gst/gstparse.h:
10613         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10614         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
10615         (gst_pipeline_get_last_stream_time):
10616         * gst/gstpipeline.h:
10617         * gst/gstpluginfeature.h:
10618         * gst/gstquery.h:
10619         * gst/gstscheduler.c:
10620         * gst/gstscheduler.h:
10621         * gst/gststructure.h:
10622         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
10623         (gst_task_finalize), (gst_task_func), (gst_task_create),
10624         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
10625         (gst_task_stop), (gst_task_pause):
10626         * gst/gsttask.h:
10627         * gst/gsttypefind.h:
10628         * gst/gsttypes.h:
10629         * gst/registries/gstlibxmlregistry.c: (load_feature),
10630         (gst_xml_registry_load), (gst_xml_registry_save_feature):
10631         * gst/registries/gstxmlregistry.c:
10632         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
10633         * gst/schedulers/threadscheduler.c:
10634         * libs/gst/control/dparammanager.h:
10635         * tools/gst-inspect.c: (print_element_list),
10636         (print_plugin_features), (print_element_features):
10637         * tools/gst-xmlinspect.c: (print_element_list),
10638         (print_plugin_info), (main):
10639         Removed plugable schedulers.
10640         Removed Scheduler/Manager from elements.
10641         Removed gsttypes.h, rearranged includes.
10642         Removed dependency pad<->element, element<>pipeline, and
10643         various others,  fix includes.
10644         implement gst_pad_get_parent() with gst_object_get_parent()
10645         Make GstTask sefcontained.
10646         Fix _get_state() on GstBin, it did not return ASYNC with a 0
10647         timeout.
10648         Fix endless loop in iterator_fold_with_resync.
10649
10650
10651 2005-07-18  Wim Taymans  <wim@fluendo.com>
10652
10653         * gst/Makefile.am:
10654         * gst/gstarch.h:
10655         Remove old file.
10656
10657 2005-07-18  Wim Taymans  <wim@fluendo.com>
10658
10659         * gst/Makefile.am:
10660         No more cothreads.h
10661
10662 2005-07-18  Wim Taymans  <wim@fluendo.com>
10663
10664         * gst/cothreads.c:
10665         * gst/cothreads.h:
10666         Let's remove these.
10667
10668 2005-07-18  Wim Taymans  <wim@fluendo.com>
10669
10670         * docs/design/part-dynamic.txt:
10671         * docs/design/part-events.txt:
10672         * docs/design/part-seeking.txt:
10673         Some more docs in the works.
10674
10675         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10676         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
10677         (gst_base_transform_setcaps), (gst_base_transform_get_size),
10678         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
10679         (gst_base_transform_handle_buffer),
10680         (gst_base_transform_sink_activate_push),
10681         (gst_base_transform_src_activate_pull),
10682         (gst_base_transform_set_passthrough),
10683         (gst_base_transform_is_passthrough):
10684         Refcounting fixes.
10685
10686         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
10687         Cleanups.
10688
10689         * gst/gstevent.c: (gst_event_finalize):
10690         Set SRC to NULL.
10691
10692         * gst/gstutils.c: (gst_element_unlink),
10693         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
10694         (gst_pad_proxy_setcaps):
10695         * gst/gstutils.h:
10696         Add _get_parent_element() to get a pads parent as an element.
10697
10698 2005-07-18  Wim Taymans  <wim@fluendo.com>
10699
10700         * check/gst/gstbin.c: (GST_START_TEST):
10701         Remove bogus test.
10702
10703 2005-07-18  Wim Taymans  <wim@fluendo.com>
10704
10705         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10706         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10707         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10708         (gst_base_sink_event), (gst_base_sink_do_sync),
10709         (gst_base_sink_chain), (gst_base_sink_loop),
10710         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
10711         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
10712         Refcounting fixes.
10713         Fix logic for returning ASYNC when not prerolled.
10714
10715 2005-07-18  Wim Taymans  <wim@fluendo.com>
10716
10717         * gst/gstqueue.c: (gst_queue_handle_sink_event):
10718         Fix nasty refcount bug.
10719
10720 2005-07-16 Philippe Khalaf <burger@speedy.org>
10721
10722         * gst/elements/gstfdsrc.c:
10723         * gst/elements/gstfdsrc.h:
10724         * gst/elements/gstelements.c:
10725         * gst/elements/Makefile.am:
10726         Ported fdsrc to 0.9.
10727
10728 2005-07-16  Wim Taymans  <wim@fluendo.com>
10729
10730         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10731         (gst_base_sink_do_sync):
10732         Fix compile error.
10733
10734 2005-07-16  Wim Taymans  <wim@fluendo.com>
10735
10736         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10737         (gst_base_sink_event), (gst_base_sink_get_times),
10738         (gst_base_sink_do_sync), (gst_base_sink_change_state):
10739         * gst/base/gstbasesink.h:
10740         Store and use discont values when syncing buffers as described
10741         in design docs.
10742         
10743         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10744         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
10745         (gst_base_src_activate_push):
10746         Push discont event when starting.
10747
10748         * gst/elements/gstidentity.c: (gst_identity_transform):
10749         Small cleanups.
10750
10751         * gst/gstbin.c: (gst_bin_change_state):
10752         Small cleanups in base_time  distribution.
10753
10754         * gst/gstelement.c: (gst_element_set_base_time),
10755         (gst_element_get_base_time), (gst_element_change_state):
10756         * gst/gstelement.h:
10757         Added methods for the base_time of the element.
10758         Some MT fixes.
10759
10760         * gst/gstpipeline.c: (gst_pipeline_send_event),
10761         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
10762         (gst_pipeline_get_last_stream_time):
10763         * gst/gstpipeline.h:
10764         MT fixes.
10765         Handle seeking as described in design doc, remove stream_time
10766         hack.
10767         Cleanups clock and stream_time selection code. Added accessors
10768         for the stream_time.
10769         
10770
10771 2005-07-16  Andy Wingo  <wingo@pobox.com>
10772
10773         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
10774         (#305291).
10775
10776 2005-07-16  Wim Taymans  <wim@fluendo.com>
10777
10778         * check/gst/gstbin.c: (GST_START_TEST):
10779         Make elements silent as the deep_notify refs the
10780         parent, which might make the test fail.
10781
10782         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
10783         Don't hold the lock for too long.
10784
10785 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
10786
10787         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
10788           Don't unref the caps we passed to gst_caps_make_writable() after
10789           passing them. gst_caps_make_writable() will do that for us.
10790
10791 2005-07-15  Andy Wingo  <wingo@pobox.com>
10792
10793         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
10794         (#157311).
10795
10796         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
10797         own marshalling function for the handoff signal. Properly type the
10798         buffer as a buffer. Fixes some warnings. Should do a more general
10799         solution.
10800         (gst_identity_class_init): Plug into the right marshaller.
10801
10802 2005-07-15  Wim Taymans  <wim@fluendo.com>
10803
10804         * docs/design/part-TODO.txt:
10805         * docs/design/part-clocks.txt:
10806         * docs/design/part-element-sink.txt:
10807         * docs/design/part-events.txt:
10808         * docs/design/part-gstpipeline.txt:
10809         Updated docs, mostly DISCONT related.
10810
10811 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
10812
10813         * docs/pwg/building-pads.xml:
10814           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
10815
10816 2005-07-15  Andy Wingo  <wingo@pobox.com>
10817
10818         * tools/gst-typefind.c: Update, add copyright block.
10819
10820         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
10821         Normalize and truncate caps before fixation.
10822
10823         * gst/gstcaps.h:
10824         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
10825         discards all but the first structure from its argument.
10826
10827 2005-07-15  Wim Taymans  <wim@fluendo.com>
10828
10829         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10830         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
10831         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10832         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
10833         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
10834         (gst_base_transform_chain), (gst_base_transform_change_state),
10835         (gst_base_transform_set_passthrough),
10836         (gst_base_transform_is_passthrough):
10837         * gst/base/gstbasetransform.h:
10838         Make passthrough work using the bufferpools.
10839         Changed API a bit, subclasses have to write into a buffer
10840         provided by the base class.
10841         More debug info in nego functions.
10842         
10843         * gst/elements/gstidentity.c: (gst_identity_init),
10844         (gst_identity_transform):
10845         Port to new base class.
10846
10847 2005-07-15  Wim Taymans  <wim@fluendo.com>
10848
10849         * gst/gstmessage.c: (gst_message_new_state_changed):
10850         * tools/gst-launch.c: (event_loop), (main):
10851         Totally dump messages in -launch with the -m option.
10852         Fix message name for State messages,
10853
10854 2005-07-14  Wim Taymans  <wim@fluendo.com>
10855
10856         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10857         Post error messages on errors.
10858
10859 2005-07-14  Wim Taymans  <wim@fluendo.com>
10860
10861         * gst/gstcaps.c: (gst_caps_do_simplify):
10862         Remove debug info.
10863
10864         * gst/gsterror.h:
10865         Define error for stream stopped.
10866
10867         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10868         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
10869         Do proper return values.
10870
10871         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10872         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
10873         (gst_pad_get_range):
10874         Better return values.
10875
10876         * gst/gstpad.h:
10877         Reorganise return values, add macro to check for fatal errors.
10878
10879         * gst/gstqueue.c: (gst_queue_chain):
10880         Return proper GstFlowReturn values,
10881
10882 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10883
10884         * docs/gst/gstreamer-sections.txt:
10885         * docs/gst/gstreamer.types:
10886         * docs/gst/tmpl/gst.sgml:
10887         * docs/gst/tmpl/gstbasesink.sgml:
10888         * docs/gst/tmpl/gstbasesrc.sgml:
10889         * docs/gst/tmpl/gstbasetransform.sgml:
10890         * docs/gst/tmpl/gstbin.sgml:
10891         * docs/gst/tmpl/gstbuffer.sgml:
10892         * docs/gst/tmpl/gstcaps.sgml:
10893         * docs/gst/tmpl/gstclock.sgml:
10894         * docs/gst/tmpl/gstcompat.sgml:
10895         * docs/gst/tmpl/gstconfig.sgml:
10896         * docs/gst/tmpl/gstelement.sgml:
10897         * docs/gst/tmpl/gstelementdetails.sgml:
10898         * docs/gst/tmpl/gstelementfactory.sgml:
10899         * docs/gst/tmpl/gstenumtypes.sgml:
10900         * docs/gst/tmpl/gsterror.sgml:
10901         * docs/gst/tmpl/gstevent.sgml:
10902         * docs/gst/tmpl/gstfakesink.sgml:
10903         * docs/gst/tmpl/gstfakesrc.sgml:
10904         * docs/gst/tmpl/gstfilesink.sgml:
10905         * docs/gst/tmpl/gstfilesrc.sgml:
10906         * docs/gst/tmpl/gstfilter.sgml:
10907         * docs/gst/tmpl/gstformat.sgml:
10908         * docs/gst/tmpl/gstghostpad.sgml:
10909         * docs/gst/tmpl/gstimplementsinterface.sgml:
10910         * docs/gst/tmpl/gstindex.sgml:
10911         * docs/gst/tmpl/gstindexfactory.sgml:
10912         * docs/gst/tmpl/gstinfo.sgml:
10913         * docs/gst/tmpl/gstiterator.sgml:
10914         * docs/gst/tmpl/gstmacros.sgml:
10915         * docs/gst/tmpl/gstmemchunk.sgml:
10916         * docs/gst/tmpl/gstminiobject.sgml:
10917         * docs/gst/tmpl/gstobject.sgml:
10918         * docs/gst/tmpl/gstpad.sgml:
10919         * docs/gst/tmpl/gstpadtemplate.sgml:
10920         * docs/gst/tmpl/gstparse.sgml:
10921         * docs/gst/tmpl/gstpipeline.sgml:
10922         * docs/gst/tmpl/gstplugin.sgml:
10923         * docs/gst/tmpl/gstpluginfeature.sgml:
10924         * docs/gst/tmpl/gstquery.sgml:
10925         * docs/gst/tmpl/gstqueue.sgml:
10926         * docs/gst/tmpl/gstregistry.sgml:
10927         * docs/gst/tmpl/gstregistrypool.sgml:
10928         * docs/gst/tmpl/gstscheduler.sgml:
10929         * docs/gst/tmpl/gstschedulerfactory.sgml:
10930         * docs/gst/tmpl/gststructure.sgml:
10931         * docs/gst/tmpl/gstsystemclock.sgml:
10932         * docs/gst/tmpl/gsttaglist.sgml:
10933         * docs/gst/tmpl/gsttagsetter.sgml:
10934         * docs/gst/tmpl/gsttrace.sgml:
10935         * docs/gst/tmpl/gsttrashstack.sgml:
10936         * docs/gst/tmpl/gsttypefind.sgml:
10937         * docs/gst/tmpl/gsttypefindfactory.sgml:
10938         * docs/gst/tmpl/gsttypes.sgml:
10939         * docs/gst/tmpl/gsturihandler.sgml:
10940         * docs/gst/tmpl/gsturitype.sgml:
10941         * docs/gst/tmpl/gstutils.sgml:
10942         * docs/gst/tmpl/gstvalue.sgml:
10943         * docs/gst/tmpl/gstversion.sgml:
10944         * docs/gst/tmpl/gstxml.sgml:
10945         * docs/libs/tmpl/gstcontrol.sgml:
10946         * docs/libs/tmpl/gstdataprotocol.sgml:
10947         * docs/libs/tmpl/gstdparam.sgml:
10948         * docs/libs/tmpl/gstdplinint.sgml:
10949         * docs/libs/tmpl/gstdpman.sgml:
10950         * docs/libs/tmpl/gstdpsmooth.sgml:
10951         * docs/libs/tmpl/gstgetbits.sgml:
10952         * docs/libs/tmpl/gstunitconvert.sgml:
10953         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
10954         (gst_push_src_base_init), (gst_push_src_class_init),
10955         (gst_push_src_init), (gst_push_src_create):
10956         * gst/base/gstpushsrc.h:
10957         * gst/elements/gstelements.c:
10958         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
10959         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
10960         (gst_fake_sink_init), (gst_fake_sink_set_property),
10961         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
10962         (gst_fake_sink_event), (gst_fake_sink_preroll),
10963         (gst_fake_sink_render), (gst_fake_sink_change_state):
10964         * gst/elements/gstfakesink.h:
10965         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
10966         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
10967         (gst_fake_src_base_init), (gst_fake_src_class_init),
10968         (gst_fake_src_init), (gst_fake_src_event_handler),
10969         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
10970         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
10971         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
10972         (gst_fake_src_create_buffer), (gst_fake_src_create),
10973         (gst_fake_src_start), (gst_fake_src_stop):
10974         * gst/elements/gstfakesrc.h:
10975         * gst/elements/gstfilesink.c: (_do_init),
10976         (gst_file_sink_base_init), (gst_file_sink_class_init),
10977         (gst_file_sink_init), (gst_file_sink_dispose),
10978         (gst_file_sink_set_location), (gst_file_sink_set_property),
10979         (gst_file_sink_get_property), (gst_file_sink_open_file),
10980         (gst_file_sink_close_file), (gst_file_sink_query),
10981         (gst_file_sink_event), (gst_file_sink_render),
10982         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
10983         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
10984         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
10985         * gst/elements/gstfilesink.h:
10986         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
10987         (gst_file_src_class_init), (gst_file_src_init),
10988         (gst_file_src_finalize), (gst_file_src_set_location),
10989         (gst_file_src_set_property), (gst_file_src_get_property),
10990         (gst_file_src_map_region), (gst_file_src_map_small_region),
10991         (gst_file_src_create_mmap), (gst_file_src_create_read),
10992         (gst_file_src_create), (gst_file_src_is_seekable),
10993         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
10994         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
10995         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
10996         (gst_file_src_uri_handler_init):
10997         * gst/elements/gstfilesrc.h:
10998           more autistic cleanliness in functions/names/defines
10999
11000 2005-07-13  Andy Wingo  <wingo@pobox.com>
11001
11002         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
11003         source couldn't negotiate.
11004
11005         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
11006         connections again.
11007
11008         * gst/gstutils.h:
11009         * gst/gstutils.c (gst_element_link_pads_filtered): New old
11010         function. I am channeling Hades. Put your boots on suckers!!!
11011
11012 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11013
11014         * testsuite/caps/Makefile.am:
11015         * testsuite/caps/value_compare.c:
11016         * testsuite/caps/value_intersect.c:
11017         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11018           move two testsuite apps over to the check dir
11019
11020 2005-07-12  Wim Taymans  <wim@fluendo.com>
11021
11022         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
11023         Added more debug info in the negotiate process.
11024
11025         * gst/gstmessage.h:
11026         Prepare for segment playback.
11027
11028         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
11029         Better debugging.
11030
11031         * gst/gstutils.c:
11032         Some more docs.
11033
11034         * tools/gst-launch.c: (main):
11035         NULL pipeline on errors.
11036
11037 2005-07-12  Andy Wingo  <wingo@pobox.com>
11038
11039         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
11040         not it comes from a malloc region. Make sure our copy gets freed.
11041
11042 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11043
11044         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
11045         * check/gst/gstmessage.c: (GST_START_TEST):
11046         * check/gst/gststructure.c: (GST_START_TEST),
11047         (gst_structure_suite), (main):
11048           more testing
11049         * gst/gstelement.c: (gst_element_message_full):
11050           clean up GError and debug string now that they get copied
11051         * gst/gstmessage.c: (gst_message_new_error),
11052         (gst_message_new_warning), (gst_message_parse_error),
11053         (gst_message_parse_warning):
11054           use GST_TYPE_G_ERROR for structure_new, and take copies of
11055           arguments, so that we don't mess up refcounting
11056
11057 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11058
11059         * check/Makefile.am:
11060           add per-test valgrind targets
11061         * check/gst-libs/gdp.c: (GST_START_TEST),
11062         (gst_data_protocol_suite), (main):
11063           clean up
11064
11065 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11066
11067         * check/Makefile.am:
11068           instate more valgrindable tests
11069         * check/elements/gstfakesrc.c: (chain_func), (event_func),
11070         (GST_START_TEST), (fakesrc_suite):
11071         * check/gst/gstpad.c: (GST_START_TEST):
11072         * check/gst/gststructure.c: (GST_START_TEST):
11073           fix test leaks
11074         * docs/gst/tmpl/gstminiobject.sgml:
11075         * gst/gstpad.c: (gst_pad_finalize):
11076           fix the static mutex leak
11077
11078 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11079
11080         * check/Makefile.am:
11081           add two more tests for valgrinding
11082         * check/gst/gstvalue.c: (GST_START_TEST):
11083           test refcount of deserialized buffer, found a leak
11084         * docs/gst/gstreamer-docs.sgml:
11085         * docs/gst/gstreamer-sections.txt:
11086         * docs/gst/gstreamer.types:
11087         * docs/gst/tmpl/gstminiobject.sgml:
11088           add miniobject to docs
11089         * gst/gstminiobject.c:
11090           add some docs
11091         * gst/gstvalue.c: (gst_value_deserialize_buffer),
11092         (gst_string_unwrap):
11093           fix a hard-to-find invalid write for one of the tests
11094           fix a leak for deserialized buffers
11095
11096 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11097
11098         * docs/pwg/advanced-events.xml:
11099         * docs/pwg/advanced-request.xml:
11100         * docs/pwg/advanced-scheduling.xml:
11101         * docs/pwg/appendix-porting.xml:
11102         * docs/pwg/building-boiler.xml:
11103         * docs/pwg/intro-preface.xml:
11104         * docs/pwg/other-ntoone.xml:
11105           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
11106           of example code and explanation for pad activation, loop() and
11107           getrange() functions and a bit more. Remove old comments pointing
11108           to loop-functions.
11109         * examples/pwg/Makefile.am:
11110           Add loop/getrange examples.
11111
11112 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11113
11114         * configure.ac:
11115           check for valgrind binary + some fixes
11116         * check/gst.supp:
11117           valgrind suppressions for the tests
11118         * check/Makefile.am:
11119           add a valgrind: target that valgrinds the unit tests
11120         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
11121         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
11122         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11123         * check/gst/gstghostpad.c:
11124           added some cleanup
11125         * check/gst/gstdata.c:
11126           removed
11127         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
11128         (thread_unref), (gst_mini_object_suite), (main):
11129           added
11130         * gst/gst.c: (gst_deinit):
11131         * gst/gst.h:
11132           add a method to clean up.
11133         * gst/gstsystemclock.c: (gst_system_clock_dispose),
11134         (gst_system_clock_obtain):
11135           allow for disposing the system clock.
11136         * tools/gst-launch.c: (main):
11137           deinit
11138
11139 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11140
11141         * docs/gst/tmpl/gstbasesrc.sgml:
11142         * docs/gst/tmpl/gstfakesrc.sgml:
11143         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11144         (gst_base_src_init), (gst_base_src_set_property),
11145         (gst_base_src_get_property), (gst_base_src_get_range),
11146         (gst_base_src_start):
11147         * gst/base/gstbasesrc.h:
11148           add num-buffers property
11149         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11150         (gst_fakesrc_init), (gst_fakesrc_set_property),
11151         (gst_fakesrc_get_property), (gst_fakesrc_create),
11152         (gst_fakesrc_start):
11153           remove num-buffers property
11154
11155 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11156
11157         * docs/gst/gstreamer-sections.txt:
11158         * docs/gst/tmpl/gstbasesink.sgml:
11159         * docs/gst/tmpl/gstbasesrc.sgml:
11160         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
11161         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
11162         (gst_base_sink_finalize), (gst_base_sink_set_clock),
11163         (gst_base_sink_set_property), (gst_base_sink_get_property),
11164         (gst_base_sink_handle_object), (gst_base_sink_event),
11165         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
11166         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
11167         (gst_base_sink_loop), (gst_base_sink_deactivate),
11168         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
11169         (gst_base_sink_change_state):
11170         * gst/base/gstbasesink.h:
11171         * gst/base/gstbasesrc.h:
11172         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
11173         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11174         (gst_filesink_init):
11175           more macro splitting
11176
11177 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11178
11179         * gst/gstelement.c: (gst_element_get_bus):
11180           add debug
11181         * tools/gst-launch.c: (check_intr), (event_loop):
11182           fix bus leaks
11183
11184 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11185
11186         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
11187           fix a caps leak
11188
11189 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11190
11191         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11192         (gst_base_src_finalize):
11193           add finalize method and clean up properly
11194         * gst/gstpipeline.c: (gst_pipeline_dispose):
11195           add debug
11196
11197 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11198
11199         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
11200         (gst_bin_suite):
11201           add more things to check
11202         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
11203         * gst/gstelement.c:
11204           more debug
11205
11206 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11207
11208         * check/elements/gstfakesrc.c: (chain_func), (event_func),
11209         (GST_START_TEST), (fakesrc_suite):
11210         * check/gst-libs/gdp.c: (GST_START_TEST):
11211         * check/gst/gst.c: (GST_START_TEST):
11212         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11213         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11214         * check/gst/gstbus.c: (GST_START_TEST):
11215         * check/gst/gstcaps.c: (GST_START_TEST):
11216         * check/gst/gstdata.c: (GST_START_TEST):
11217         * check/gst/gstelement.c: (GST_START_TEST):
11218         * check/gst/gstghostpad.c: (GST_START_TEST):
11219         * check/gst/gstiterator.c: (GST_START_TEST):
11220         * check/gst/gstmessage.c: (GST_START_TEST):
11221         * check/gst/gstobject.c: (GST_START_TEST):
11222         * check/gst/gstpad.c: (GST_START_TEST):
11223         * check/gst/gststructure.c: (GST_START_TEST):
11224         * check/gst/gstsystemclock.c: (GST_START_TEST),
11225         (gst_systemclock_suite):
11226         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11227         * check/gst/gstvalue.c: (GST_START_TEST):
11228         * check/pipelines/cleanup.c: (GST_START_TEST):
11229         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
11230         * check/states/sinks.c: (GST_START_TEST):
11231         * check/gstcheck.c: (gst_check_init):
11232         * check/gstcheck.h:
11233           add debugging category
11234           use GST_START_TEST now, so we add a debug line
11235
11236 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11237
11238         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
11239           add test for state change message on a bin
11240         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
11241           add another test
11242         * gst/gstbin.c: (gst_bin_init):
11243         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
11244         * gst/gstelement.c: (gst_element_post_message),
11245         (gst_element_set_state):
11246         * gst/gstelementfactory.c: (gst_element_factory_create):
11247         * gst/gstmessage.c: (gst_message_new):
11248         * gst/gstscheduler.c:
11249           various debugging additions and cleanups
11250
11251 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11252
11253         * check/Makefile.am:
11254         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
11255         (main):
11256           adding tests for elements
11257         * gst/gstelement.c: (gst_element_dispose):
11258
11259 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11260
11261         * gst/registries/gstlibxmlregistry.c: (load_feature):
11262           plug more leaks.  A simple gst_init() now is leakfree, yay.
11263
11264 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11265
11266         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
11267         (gst_xml_registry_load):
11268           plug another memleak
11269
11270 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11271
11272         * configure.ac:
11273           use GST_SET_ERROR_CFLAGS
11274         * docs/faq/cvs.xml:
11275           change to ERROR_CFLAGS
11276
11277 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11278
11279         * configure.ac:
11280           make GST_ERROR_CFLAGS overridable and re-enable Werror
11281         * docs/faq/cvs.xml:
11282           add a note about error CFLAGS
11283         * docs/gst/tmpl/gstfakesrc.sgml:
11284         * gst/elements/gstfakesrc.c:
11285           comment out some unused code
11286         * gst/gst.c: (split_and_iterate):
11287         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
11288         (load_feature):
11289           plug some memleaks
11290
11291 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11292
11293         * common/Makefile.am:
11294         * common/gtk-doc.mak:
11295         * docs/gst/Makefile.am:
11296           factor out gtk-doc.mak
11297
11298 2005-07-07  Wim Taymans  <wim@fluendo.com>
11299
11300         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
11301         (gst_thread_scheduler_dispose):
11302         Unlock the STREAM_LOCK completely.
11303
11304 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11305
11306         * check/Makefile.am:
11307         * check/elements/.cvsignore:
11308         * check/elements/gstfakesrc.c: (chain_func), (event_func),
11309         (START_TEST), (fakesrc_suite), (main):
11310         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11311         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11312         (gst_fakesrc_create), (gst_fakesrc_start):
11313         * gst/elements/gstfakesrc.h:
11314           adding a first element test
11315
11316 2005-07-07  Andy Wingo  <wingo@pobox.com>
11317
11318         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
11319         debug message.
11320
11321 2005-07-07  Wim Taymans  <wim@fluendo.com>
11322
11323         * gst/gstquery.c:
11324         * gst/gstquery.h:
11325         Remove old types
11326
11327 2005-07-07  Wim Taymans  <wim@fluendo.com>
11328
11329         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
11330         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
11331         Allow subclasses to implement their own negotiation.
11332
11333 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
11334
11335         * docs/design/part-gstbin.txt:
11336         * docs/design/part-gstpipeline.txt:
11337           Update design notes to reflect the movement of
11338           responsibility for bus handling from GstPipeline to
11339           GstBin
11340
11341 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
11342
11343         * configure.ac:
11344           Remove unnecessary queue2/3/4 examples.
11345
11346 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
11347
11348         * examples/Makefile.am:
11349         * examples/helloworld/helloworld.c: (event_loop), (main):
11350         * examples/queue/queue.c: (event_loop), (main):
11351         * examples/queue2/queue2.c: (main):
11352           Update a couple of the examples to work again.
11353
11354         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11355         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
11356          Spelling corrections and extra debug.
11357         
11358         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
11359         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
11360         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
11361         * gst/gstbin.h:
11362         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
11363         (gst_pipeline_change_state):
11364         * gst/gstpipeline.h:
11365           Move the bus handler for children to the GstBin, and create a
11366           separate bus for receiving messages from children to the one the
11367           bus sends 'upwards' on.
11368
11369 2005-07-06  Wim Taymans  <wim@fluendo.com>
11370
11371         * gst/base/README:
11372         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11373         (gst_base_sink_handle_object), (gst_base_sink_loop),
11374         (gst_base_sink_change_state):
11375         * gst/base/gstbasesink.h:
11376         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11377         (gst_base_src_init), (gst_base_src_setcaps),
11378         (gst_base_src_getcaps), (gst_base_src_loop),
11379         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
11380         (gst_base_src_start), (gst_base_src_change_state):
11381         * gst/base/gstbasesrc.h:
11382         Make basesrc negotiate.
11383         Handle the case where preroll fails in basesink.
11384         Update README.
11385
11386 2005-07-06  Wim Taymans  <wim@fluendo.com>
11387
11388         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
11389         Implement the fixate function.
11390         Clean up acceptcaps.
11391
11392 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11393
11394         * docs/pwg/building-filterfactory.xml:
11395         * docs/pwg/pwg.xml:
11396           Remove never-written filter-factory chapter; I'll add the various
11397           base classes to part 4 ("other element types") later on.
11398
11399 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11400
11401         * docs/pwg/advanced-negotiation.xml:
11402         * docs/pwg/building-boiler.xml:
11403         * docs/pwg/building-pads.xml:
11404         * docs/pwg/pwg.xml:
11405         * examples/pwg/Makefile.am:
11406           Add a chapter on caps negotiation, simplify the original code
11407           samples a bit w.r.t. caps negotiation, add link to the advanced
11408           section. Add a bunch of examples showing different use cases of
11409           different types of caps negotiation. Upstream renegotiation isn't
11410           fully documented yet since nobody knows how that works.
11411
11412 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11413
11414         * check/gst/gstpad.c:
11415         * check/gstcheck.c:
11416         * gst/gstpad.c: (gst_pad_get_internal_links_default):
11417           if pad has no parent, return NULL as list of internal links
11418
11419 2005-07-05  Andy Wingo  <wingo@pobox.com>
11420
11421         * gst/elements/gstfilesrc.c:
11422         * gst/elements/gstfakesrc.c: 
11423         * gst/base/gstpushsrc.c:
11424         * gst/base/gstbasesrc.h: 
11425         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
11426         
11427 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
11428
11429         * Makefile.am:
11430           better report generation target (lcov needs a patch)
11431
11432 2005-07-05  Andy Wingo  <wingo@pobox.com>
11433
11434         * gst/elements, testsuite: Null if we got it...
11435
11436 2005-07-05  Wim Taymans  <wim@fluendo.com>
11437
11438         * configure.ac:
11439         * libs/gst/dataprotocol/Makefile.am:
11440         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
11441         * libs/gst/dataprotocol/dataprotocol.h:
11442         * pkgconfig/Makefile.am:
11443         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
11444         * pkgconfig/gstreamer-dataprotocol.pc.in:
11445         Ported dataprotol to 0.9. 
11446         Added pkgconfig files.
11447
11448 2005-07-05  Andy Wingo  <wingo@pobox.com>
11449
11450         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
11451         Default to returning TRUE for the case when tranform_caps returns
11452         a fixed caps, like for identity or volume.
11453
11454         * check/gst/gstbus.c (pound_bus_with_messages): 
11455         * check/gst/gstmessage.c (START_TEST): 
11456         * check/pipelines/simple_launch_lines.c (got_handoff): Application
11457         message API change.
11458
11459         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
11460         logic weaks here: always run transform_caps, trying passthrough
11461         operation only if the original caps intersects with the transform.
11462
11463         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
11464         source and sink caps.
11465
11466         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
11467         Intersect the peer caps with the pad template before going into
11468         transform_caps.
11469         (gst_base_transform_transform_caps): More debugging.
11470
11471         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
11472         src argument.
11473
11474 2005-07-04  Edward Hervey  <edward@fluendo.com>
11475
11476         * gst/gstutils.c:
11477         * gst/gstutils.h:
11478         (gst_pad_add_*_probe): now returns the signal id for better wrapping
11479         in bindings.
11480
11481 2005-07-04  Andy Wingo  <wingo@pobox.com>
11482
11483         * check/gst/gstpad.c: Only set explicit caps on pads.
11484
11485 2005-07-01  Andy Wingo  <wingo@pobox.com>
11486
11487         * tests/network-clock.scm: Commentary update.
11488
11489         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
11490         Didn't really make sense, not implementable with basetransform,
11491         etc.
11492         (gst_identity_transform): Unref inbuf via make_writable. Feeble
11493         attempt at implementing the sync property, needs an unlock method.
11494
11495         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
11496         New func, by default returns the same caps (the identity
11497         transformation).
11498         (gst_base_transform_getcaps): Uses transform_caps to return
11499         something sensible.
11500         (gst_base_transform_setcaps): Complicated logic to get caps on
11501         both pads, even if they are different, and to call set_caps once
11502         for every time both pads get their caps set.
11503         (gst_base_transform_handle_buffer): Give the ref to the transform
11504         function. Allows in-place modification of the buffer.
11505
11506         * gst/base/gstbasetransform.h (transform_caps): New class method.
11507         Given caps on one side, what can I do on the other.
11508         (set_caps): Take two caps, one for each side of the element.
11509
11510         * gst/gstpad.h:
11511         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
11512         caps in place. This is safe because we can check the mutability of
11513         the caps, and a good idea because fixate functions are just called
11514         as a matter of last resort. (Not actually implemented.)
11515         (gst_pad_set_caps): If the caps we're setting is actually the same
11516         as the existing pad caps, just update the pointer without calling
11517         setcaps. Assert that caps is either NULL or fixed, as per the
11518         docs.
11519
11520         * gst/gstghostpad.c: Update for fixate changes.
11521
11522 2005-07-02  Andy Wingo  <wingo@pobox.com>
11523
11524         * gst/gstcaps.c:
11525         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
11526         two refcounts makes it immutable, which is enough. Doc more.
11527
11528 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
11529
11530         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
11531           Put the mini_object into GValue as a mini_object,
11532           not a gpointer, since that's how we declared
11533           the signal.
11534
11535 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11536
11537         * examples/pwg/Makefile.am:
11538           Fix buildbot again.
11539
11540 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11541
11542         * docs/pwg/building-testapp.xml:
11543           Add extra check.
11544         * examples/pwg/Makefile.am:
11545           Fix buildbot.
11546
11547 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11548
11549         * configure.ac:
11550         * examples/Makefile.am:
11551         * examples/pwg/Makefile.am:
11552         * examples/pwg/extract.pl:
11553           Enable building the PWG examples.
11554         * docs/pwg/advanced-interfaces.xml:
11555           Add URI interface stub.
11556         * docs/pwg/advanced-types.xml:
11557         * docs/pwg/other-autoplugger.xml:
11558         * docs/pwg/appendix-porting.xml:
11559         * docs/pwg/pwg.xml:
11560           Add porting guide (mostly stubs), remove autoplugging (see ADM).
11561         * docs/pwg/building-boiler.xml:
11562         * docs/pwg/building-chainfn.xml:
11563         * docs/pwg/building-pads.xml:
11564         * docs/pwg/building-props.xml:
11565         * docs/pwg/building-state.xml:
11566         * docs/pwg/building-testapp.xml:
11567           Update the building-*.xml parts for 0.9 changes. All examples
11568           code blocks compile in examples/pwg/*.
11569
11570 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11571
11572         * docs/manual/advanced-autoplugging.xml:
11573         * docs/manual/appendix-checklist.xml:
11574         * docs/manual/appendix-integration.xml:
11575         * docs/manual/highlevel-components.xml:
11576           Fix playbin/decodebin examples, update docs a bit, mention bus
11577           instead of signals in various places, mention kmplayer and
11578           kaffeine since they have a working GStreamer backend in the KDE
11579           section.
11580
11581 2005-06-30  Wim Taymans  <wim@fluendo.com>
11582
11583         * CHANGES-0.9:
11584         * docs/design/draft-ghostpads.txt:
11585         * docs/design/draft-push-pull.txt:
11586         * docs/design/draft-query.txt:
11587         * docs/design/part-TODO.txt:
11588         * docs/design/part-query.txt:
11589         Added CHANGES-0.9 doc, updated status of other docs.
11590         
11591         * gst/gstquery.h:
11592         Remove "hmm" macro
11593
11594 2005-06-30  Wim Taymans  <wim@fluendo.com>
11595
11596         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11597         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
11598         (gst_base_sink_change_state):
11599         * gst/base/gstbasesink.h:
11600         Some tweaks, only EOS and a buffer complete a preroll.
11601
11602 2005-06-30  Andy Wingo  <wingo@pobox.com>
11603
11604         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
11605         activate_push down to the internal pad as well.
11606
11607 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
11608
11609         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11610
11611         * gst/gsttaginterface.c:
11612           Some documentation fixes (#307394 and #307397).
11613
11614 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
11615
11616         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11617
11618         * gst/gstvalue.c: (gst_value_intersect_list):
11619           Fix memleak (#309125).
11620
11621 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11622
11623         * docs/manual/advanced-dataaccess.xml:
11624           Fix fakesrc example to compile; doesn't work, bug somewhere...?
11625         * docs/manual/basics-pads.xml:
11626           Add reference for filtered caps to above chapter.
11627
11628 2005-06-30  Wim Taymans  <wim@fluendo.com>
11629
11630         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
11631         (gst_bin_change_state):
11632         Probes are gone.
11633         Lame attempt at making the state change function a bit
11634         more readable.
11635
11636 2005-06-30  Wim Taymans  <wim@fluendo.com>
11637
11638         * docs/design/part-clocks.txt:
11639         * docs/design/part-element-sink.txt:
11640         * docs/design/part-events.txt:
11641         * docs/design/part-preroll.txt:
11642         * docs/design/part-states.txt:
11643         Some more tweeks and additions to the docs.
11644
11645 2005-06-30  Wim Taymans  <wim@fluendo.com>
11646
11647         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11648         (default_have_data), (gst_pad_class_init), (gst_pad_init),
11649         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
11650         (gst_pad_check_pull_range), (gst_pad_get_range),
11651         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
11652         * gst/gstpad.h:
11653         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
11654         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11655         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11656         (gst_pad_remove_buffer_probe):
11657         Removed atomic operations, use existing LOCK.
11658         Move exception handling out of main code path.
11659
11660 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11661
11662         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11663         (silly_return_true_function), (gst_pad_class_init),
11664         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
11665         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
11666         (gst_pad_send_event):
11667           Fix accumulator, add default value by using _emitv() instead
11668           of _emit() for signal emission.
11669
11670 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11671
11672         * docs/manual/advanced-dataaccess.xml:
11673         * examples/manual/Makefile.am:
11674           Add probe example.
11675         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
11676           Make work (??).
11677
11678 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
11679
11680         * gst/elements/gstfilesink.c: (gst_filesink_render):
11681           Simplify code so that we don't have to handle short
11682           writes and return GST_FLOW_ERROR if an error occured.
11683
11684 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11685
11686         * docs/gst/gstreamer-docs.sgml:
11687           Remove probes more.
11688
11689 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11690
11691         * docs/gst/gstreamer-sections.txt:
11692         * docs/gst/tmpl/gstpad.sgml:
11693         * docs/gst/tmpl/gstprobe.sgml:
11694         * gst/Makefile.am:
11695         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11696         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
11697         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11698         (gst_pad_push_event), (gst_pad_send_event):
11699         * gst/gstpad.h:
11700         * gst/gstutils.c: (gst_pad_add_data_probe),
11701         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11702         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11703         (gst_pad_remove_buffer_probe):
11704         * gst/gstutils.h:
11705           Remove old probes, add new g-signal-based probes and some utility
11706           functions.
11707
11708 2005-06-29  Edward Hervey  <edward@fluendo.com>
11709
11710         * gst/gstelementfactory.c:
11711         * gst/gstutils.h:
11712         * gst/gstutils.c:
11713         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
11714         the definition to the header file.
11715
11716 2005-06-29  Andy Wingo  <wingo@pobox.com>
11717
11718         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
11719         plugins from the source directory.
11720
11721 2005-06-29  Wim Taymans  <wim@fluendo.com>
11722
11723         * docs/gst/tmpl/gstbuffer.sgml:
11724         * docs/gst/tmpl/gstclock.sgml:
11725         Some fixings for blantently wrong text.
11726
11727 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11728
11729         * check/Makefile.am:
11730         * gst/gst.c: (add_path_func), (init_pre):
11731         * gst/gstregistry.c: (gst_registry_add_path):
11732           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
11733           only scan the GST_PLUGIN_PATH locations, and not add
11734           system locations
11735
11736 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11737
11738         * docs/gst/gstreamer-sections.txt:
11739         * docs/gst/tmpl/gstbasesrc.sgml:
11740         * gst/gstelement.c:
11741         * gst/gstelement.h:
11742         * gst/gstevent.c:
11743         * gst/gstutils.c:
11744           doc fixes
11745
11746 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11747
11748         * docs/manual/advanced-autoplugging.xml:
11749           Fix autoplugging example.
11750
11751 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11752
11753         * docs/manual/advanced-autoplugging.xml:
11754         * docs/manual/mime-world.fig:
11755           Try to get autoplugging working, fix type detection. Fix text
11756           in hello-world image.
11757
11758 2005-06-29  Wim Taymans  <wim@fluendo.com>
11759
11760         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11761         (gst_base_sink_change_state):
11762         Small debug line.
11763
11764         * gst/gstclock.h:
11765         map SIGNAL and BROADCAST to the right function.
11766
11767         * gst/gstobject.h:
11768         Remove redundant braces.
11769
11770         * gst/gstpad.c: (gst_pad_set_caps):
11771         Don't call setcaps function when reseting caps to NULL.
11772
11773         * gst/gstsystemclock.c: (gst_system_clock_dispose),
11774         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
11775         (gst_system_clock_id_unschedule):
11776         Use BROADCAST as this is what we do.
11777
11778 2005-06-29  Wim Taymans  <wim@fluendo.com>
11779
11780         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11781         We are actually prerolling before commiting the state
11782         change. 
11783
11784 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11785
11786         * docs/manual/advanced-clocks.xml:
11787         * docs/manual/advanced-interfaces.xml:
11788         * docs/manual/advanced-metadata.xml:
11789         * docs/manual/advanced-position.xml:
11790         * docs/manual/advanced-schedulers.xml:
11791         * docs/manual/advanced-threads.xml:
11792         * docs/manual/appendix-porting.xml:
11793         * docs/manual/basics-bins.xml:
11794         * docs/manual/basics-bus.xml:
11795         * docs/manual/basics-elements.xml:
11796         * docs/manual/basics-helloworld.xml:
11797         * docs/manual/basics-pads.xml:
11798         * docs/manual/highlevel-components.xml:
11799         * docs/manual/manual.xml:
11800         * docs/manual/thread.fig:
11801           Update (until threads/scheduling) Application Development Manual;
11802           remove GstThread, add GstBus, add simple porting checklist, add
11803           documentation for tag writing, clocks, make all examples until this
11804           part compile and run.
11805         * examples/manual/Makefile.am:
11806           Update from changes to Application Development Manual; add bus
11807           example, remove thread example.
11808
11809 2005-06-28  Wim Taymans  <wim@fluendo.com>
11810
11811         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
11812         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
11813         (gst_bus_source_dispatch):
11814         Add debugging messages.
11815         Make internal methods static.
11816         Handle the case where the bus is flushed in the handler.
11817         
11818         * gst/gstelement.c: (gst_element_get_bus):
11819         Fix refcount in _get_bus();
11820
11821         * gst/gstpipeline.c: (gst_pipeline_change_state),
11822         (gst_pipeline_get_clock_func):
11823         Clock refcounting fixes.
11824         Handle the case where preroll timed out more gracefully.
11825         
11826         * gst/gstsystemclock.c: (gst_system_clock_dispose):
11827         Clean up the internal thread in dispose. This is needed
11828         for subclasses that actually get disposed.
11829         
11830         * gst/schedulers/threadscheduler.c:
11831         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11832         (gst_thread_scheduler_dispose):
11833         Free thread pool in dispose.
11834
11835 2005-06-28  Andy Wingo  <wingo@pobox.com>
11836
11837         * tests/network-clock-utils.scm (debug, print-event): New utils.
11838
11839         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
11840         (*packet-loss*): Unified loss probability.
11841         (network-time): Report out-of-band events.
11842
11843         * tests/plot-data: Add support for out-of-band events. Hack it
11844         into this script instead of passing it down the pipe; should fix
11845         this later.
11846
11847 2005-06-28  Wim Taymans  <wim@fluendo.com>
11848
11849         * docs/gst/gstreamer.types:
11850         * docs/gst/tmpl/gstbasesrc.sgml:
11851         * docs/gst/tmpl/gstpad.sgml:
11852         Docs fixes.
11853
11854 2005-06-28  Wim Taymans  <wim@fluendo.com>
11855
11856         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11857         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
11858         (gst_proxy_pad_do_fixatecaps):
11859         Correctly proxy the check_pull_range function.
11860
11861 2005-06-28  Andy Wingo  <wingo@pobox.com>
11862
11863         * tests/network-clock.scm: Removed need for slib.
11864         
11865 2005-06-28  Wim Taymans  <wim@fluendo.com>
11866
11867         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
11868         (gst_basesink_preroll_queue_flush):
11869         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
11870         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
11871         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11872         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
11873         (gst_proxy_pad_set_property):
11874         * gst/gstpad.c:
11875         * gst/gstpad.h:
11876         * gst/gstqueue.c: (gst_queue_init):
11877         The deprecated pad loop function is removed now.
11878
11879 2005-06-28  Andy Wingo  <wingo@pobox.com>
11880
11881         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
11882         New parameters, simulate network packet loss.
11883
11884         * tests/network-clock-utils.scm: Initialize the RNG.
11885
11886 2005-06-28  Wim Taymans  <wim@fluendo.com>
11887
11888         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
11889         (gst_basesink_event), (gst_basesink_deactivate):
11890         Flushing the preroll queue always needs to unlock the waiters.
11891
11892 2005-06-28  Edward Hervey  <edward@fluendo.com>
11893
11894         * gst/gstpipeline.c: (gst_pipeline_send_event): 
11895         Wheen a seek was successful on a pipeline, set the stream_time to the
11896         seek offset in order to have a synchronized stream_time.
11897
11898 2005-06-28  Wim Taymans  <wim@fluendo.com>
11899
11900         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11901         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
11902         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
11903         (gst_proxy_pad_do_fixatecaps):
11904         Call wrapper function instead of just calling the function
11905         pointers. This takes care of any locking and whatmore.
11906
11907 2005-06-28  Wim Taymans  <wim@fluendo.com>
11908
11909         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
11910         (gst_pad_pull_range):
11911         * gst/gstpad.h:
11912         CONNECTED -> LINKED.
11913
11914 2005-06-28  Andy Wingo  <wingo@pobox.com>
11915
11916         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
11917         source-munging commit!!!
11918
11919         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
11920         (gst_object_sink): Take gpointer arguments, not GstObject --
11921         avoids casts. Like GLib.
11922
11923         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
11924         activate.
11925
11926 2005-06-27  Andy Wingo  <wingo@pobox.com>
11927
11928         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
11929         remaining buffer.
11930
11931         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
11932         returns a sorted copy of the trace list.
11933         (gst_alloc_trace_print_live): New API, only prints traces with
11934         live objects. Sort the list.
11935         (gst_alloc_trace_print_all): Sort the list.
11936         (gst_alloc_trace_print): Align columns.
11937
11938         * gst/elements/gstttypefindelement.c:
11939         * gst/elements/gsttee.c:
11940         * gst/base/gstbasesrc.c:
11941         * gst/base/gstbasesink.c:
11942         * gst/base/gstbasetransform.c:
11943         * gst/gstqueue.c: Adapt for pad activation changes.
11944
11945         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
11946         sched.
11947         (gst_pipeline_dispose): Drop ref on sched.
11948
11949         * gst/gstpad.c (gst_pad_init): Set the default activate func.
11950         (gst_pad_activate_default): Push mode by default.
11951         (pre_activate_switch, post_activate_switch): New stubs, things to
11952         do before and after switching activation modes on pads.
11953         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
11954         the pad's activate function to choose which mode to activate.
11955         Shortcut on deactivation and call the right function directly.
11956         (gst_pad_activate_pull): New API, (de)activates a pad in pull
11957         mode.
11958         (gst_pad_activate_push): New API, same for push mode.
11959         (gst_pad_set_activate_function) 
11960         (gst_pad_set_activatepull_function) 
11961         (gst_pad_set_activatepush_function): Setters for new API.
11962
11963         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
11964         Trace all miniobjects.
11965         (gst_mini_object_make_writable): Unref the arg if we copy, like
11966         gst_caps_make_writable.
11967
11968         * gst/gstmessage.c (_gst_message_initialize): No trace init.
11969
11970         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
11971         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
11972         Adapt for new pad API.
11973
11974         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
11975
11976         * gst/gstelement.h:
11977         * gst/gstelement.c (gst_element_iterate_src_pads) 
11978         (gst_element_iterate_sink_pads): New API functions.
11979         
11980         * gst/gstelement.c (iterator_fold_with_resync): New utility,
11981         should fold into gstiterator.c in some form.
11982         (gst_element_pads_activate): Simplified via use of fold and
11983         delegation of decisions to gstpad->activate.
11984
11985         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
11986         help in debugging.
11987
11988         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
11989         class once in init, like gstmessage. Didn't run into this issue
11990         but it seems correct. Don't initialize a trace, gstminiobject does
11991         that.
11992
11993         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
11994         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
11995         to the bus.
11996         (assert_live_count): New util function, uses alloc traces to check
11997         cleanup.
11998
11999         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
12000         To be modified when unlink drops the internal pad.
12001
12002 2005-06-27  Wim Taymans  <wim@fluendo.com>
12003
12004         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
12005         (gst_bin_change_state):
12006         Cleanup the get_state() function a little, make sure it
12007         iterates the same set of elements.
12008         Added stub iterate_state_order().
12009
12010 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12011
12012         * docs/gst/gstreamer-docs.sgml:
12013         * docs/gst/gstreamer-sections.txt:
12014         * docs/gst/gstreamer.types:
12015         * docs/gst/tmpl/gstbasesink.sgml:
12016         * docs/gst/tmpl/gstbasesrc.sgml:
12017         * docs/gst/tmpl/gstbasetransform.sgml:
12018         * docs/gst/tmpl/gstelement.sgml:
12019         * docs/gst/tmpl/gstiterator.sgml:
12020         * gst/base/gstbasesrc.c:
12021         * gst/base/gstbasesrc.h:
12022         * gst/base/gstbasetransform.h:
12023         * gst/gstelement.c:
12024         * gst/gstiterator.h:
12025           adding basetransform and iterator docs
12026
12027 2005-06-27  Andy Wingo  <wingo@pobox.com>
12028
12029         * docs/design/part-activation.txt: Notes on how activation should
12030         work -- not quite implemented yet.
12031
12032 2005-06-25  Wim Taymans  <wim@fluendo.com>
12033
12034         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
12035         At least get the chain function correct, needs more
12036         fixing.
12037
12038 2005-06-25  Wim Taymans  <wim@fluendo.com>
12039
12040         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12041         (gst_basesink_handle_object), (gst_basesink_event),
12042         (gst_basesink_do_sync), (gst_basesink_handle_event),
12043         (gst_basesink_change_state):
12044         * gst/gsttask.h:
12045         Right, two problems here: ghostpads don't take locks and
12046         glib _rec_mutex_lock_full() with depth==0 still locks.
12047         Catch illegal locking and g_warn them.
12048
12049 2005-06-25  Wim Taymans  <wim@fluendo.com>
12050
12051         * check/states/sinks.c: (START_TEST), (gst_object_suite):
12052         Have to check for completion now...
12053
12054 2005-06-25  Wim Taymans  <wim@fluendo.com>
12055
12056         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12057         (gst_basesink_handle_object), (gst_basesink_event),
12058         (gst_basesink_do_sync), (gst_basesink_handle_event),
12059         (gst_basesink_change_state):
12060         * gst/gstpad.h:
12061         Unlock STREAM_LOCK whatever the recursion was.
12062
12063 2005-06-25  Wim Taymans  <wim@fluendo.com>
12064
12065         * gst/base/gstbasesink.c: (gst_basesink_set_property),
12066         (gst_basesink_preroll_queue_empty),
12067         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
12068         (gst_basesink_event), (gst_basesink_do_sync),
12069         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
12070         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
12071         (gst_basesink_change_state):
12072         Reworked the base sink, handle event and buffer serialisation
12073         correctly and removed possible deadlock.
12074         Handle EOS correctly.
12075
12076 2005-06-25  Wim Taymans  <wim@fluendo.com>
12077
12078         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
12079         (gst_pipeline_change_state):
12080         * tools/gst-launch.c: (check_intr), (event_loop), (main):
12081         Allow elements to post EOS in the state change function.
12082         Fix up -launch, make it exit the poll loop when the
12083         pipeline actually changed state.
12084         Fix up warning parsing in -launch.
12085
12086 2005-06-25  Wim Taymans  <wim@fluendo.com>
12087
12088         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
12089         (gst_tee_sink_activate):
12090         Core takes STREAM_LOCK for us now.
12091
12092 2005-06-25  Wim Taymans  <wim@fluendo.com>
12093
12094         * gst/gstelement.c: (gst_element_get_state_func),
12095         (gst_element_set_state):
12096         * gst/gstelement.h:
12097         * gst/gstmessage.c: (gst_message_parse_error),
12098         (gst_message_parse_warning):
12099         Keep track of current target state while performing a state
12100         change so that subclasses can do something interesting.
12101         Fix parsing of warning/error messages when GError is NULL.
12102
12103 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12104
12105         * docs/gst/Makefile.am:
12106         * docs/gst/gstreamer-docs.sgml:
12107         * docs/gst/gstreamer-sections.txt:
12108         * docs/gst/gstreamer.types:
12109         * docs/gst/tmpl/gstbasesink.sgml:
12110         * docs/gst/tmpl/gstbasesrc.sgml:
12111         * docs/gst/tmpl/gstbin.sgml:
12112         * docs/gst/tmpl/gstcompat.sgml:
12113         * docs/gst/tmpl/gstfakesink.sgml:
12114         * docs/gst/tmpl/gstfakesrc.sgml:
12115         * docs/gst/tmpl/gstfilesink.sgml:
12116         * docs/gst/tmpl/gstfilesrc.sgml:
12117         * docs/gst/tmpl/gstindex.sgml:
12118         * docs/manual/appendix-quotes.xml:
12119         * gst/base/gstbasesrc.h:
12120         * gst/elements/gstfakesrc.h:
12121         * gst/gstmessage.h:
12122           start pulling in base classes and elements in our docs
12123
12124 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
12125
12126         * docs/gst/Makefile.am:
12127         * docs/libs/Makefile.am:
12128           fixed make distcheck with gtk-doc 1.3
12129
12130 2005-06-23  Wim Taymans  <wim@fluendo.com>
12131
12132         * gst/gstelement.c: (gst_element_get_state_func),
12133         (gst_element_set_state), (gst_element_change_state):
12134         When the state did not change, also report NO_PREROLL
12135         when it matters.
12136
12137 2005-06-23  Wim Taymans  <wim@fluendo.com>
12138
12139         * gst/gstpad.c: (gst_pad_event_default):
12140         * gst/gstqueue.c: (gst_queue_loop):
12141         No unsafe task pausing please.
12142
12143 2005-06-23  Wim Taymans  <wim@fluendo.com>
12144
12145         * gst/schedulers/threadscheduler.c:
12146         (gst_thread_scheduler_task_start),
12147         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
12148         Ref the task before pushing it on the threadpool. This
12149         makes sure that we have a ref when the threadfunction is
12150         actually called.
12151
12152 2005-06-23  Andy Wingo  <wingo@pobox.com>
12153
12154         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
12155         offset is greater than the file's size.
12156
12157         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
12158         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
12159         * gst/gstobject.c (gst_object_class_init): Make the class lock
12160         recursive. Wim won't let me drop deep_notify. Decodebin works
12161         again, whoopdy doo.
12162
12163         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
12164         internal pad, and hacks accordingly. Doesn't do it on the target
12165         pad because we change its caps. Probably catches all cases of
12166         interest tho.
12167         (gst_ghost_pad_set_property): Connect to notify::caps as
12168         appropritate.
12169
12170         * tests/network-clock.scm (plot-simulation): Pipe data to the
12171         elite python skript.
12172
12173         * tests/network-clock-utils.scm (define-parameter): New macro,
12174         defines a parameter that can be set via the command line.
12175         (set-parameter!, parse-parameter-arguments): Command line args
12176         parser.
12177
12178         * tests/plot-data: Simple matplotlib-based plotter, takes input on
12179         stdin.
12180
12181 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
12182
12183         * gst/elements/gsttypefindelement.c:
12184         (gst_type_find_element_handle_event):
12185           Don't restart typefinding on a discont.
12186         * gst/gstelement.c: (gst_element_set_state):
12187           Debug spelling fix.
12188         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
12189           Allow changing mode of an active pad.
12190           Debug output fixes.
12191         * gst/registries/gstlibxmlregistry.c: (load_feature):
12192           Don't cast a static pad template to a normal pad template.
12193
12194 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12195
12196         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
12197         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
12198           remove gst_strtoll completely, since it didn't actually do
12199           anything more than what g_ascii_strtoull already does.
12200           check for range errors when deserializing
12201           do a cast for the unsigned cases; but further fixing needs
12202           a decision on what the interpretation of "(int)" and
12203           deserialization should be for values that fall outside the
12204           type's boundaries (ie, refuse, or interpret as casting)
12205
12206 2005-06-23  Wim Taymans  <wim@fluendo.com>
12207
12208         * check/Makefile.am:
12209         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
12210         * docs/design/part-live-source.txt:
12211         * docs/design/part-states.txt:
12212         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12213         (gst_basesrc_set_live), (gst_basesrc_is_live),
12214         (gst_basesrc_get_range), (gst_basesrc_activate),
12215         (gst_basesrc_change_state):
12216         * gst/base/gstbasesrc.h:
12217         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12218         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12219         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
12220         * gst/gstelement.c: (gst_element_get_state_func),
12221         (gst_element_set_state):
12222         * gst/gstelement.h:
12223         * gst/gsttypes.h:
12224         * tools/gst-launch.c: (event_loop), (main):
12225         Added support for live sources and other elements that
12226         cannot do preroll.
12227         Updated design docs, added live-source design doc.
12228         Implemented live source functionality in basesrc
12229         Fix error condition in _bin_get_state()
12230         Implement live source handling in -launch.
12231         Added check for live sources.
12232         Fixed case in GstBin where elements were changed state
12233         multiple times.
12234
12235
12236 2005-06-23  Andy Wingo  <wingo@pobox.com>
12237
12238         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
12239         borken refcounting.
12240
12241         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
12242         gst_caps_replace takes care of this for us.
12243
12244         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
12245         gst_pad_set_caps on the target, not just its setcaps() function.
12246
12247         * tests/network-clock.scm: 
12248         * tests/network-clock-utils.scm: A network clock simulator.
12249         Something of an algorithmic testbed before doing something in C.
12250
12251 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12252
12253         * check/Makefile.am:
12254         * check/gst/capslist.h:
12255           copy over from 0.8, and add two with bitmasks specified with
12256           (int) 0xFF...
12257         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
12258           add test to parse everything from capslist.h
12259         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
12260         (main):
12261           add test for structure deserialization
12262         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
12263           add tests for deserialization of strings to int types
12264         * gst/gststructure.c: (gst_structure_nth_field_name):
12265         * gst/gststructure.h:
12266           add a way to get the name of a field referenced by index
12267         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
12268           instead of checking if the resulting long long lies between
12269           min and max, we check if the long long would fit into
12270           a number of bytes for the final type.
12271           This fixes cases where a string represents 2^32 - 1, which
12272           when cast to int would be the (valid) -1, but is bigger than
12273           G_MAXINT
12274
12275 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12276
12277         * gst/parse/grammar.y:
12278           add a log line for type deserialization
12279
12280 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12281
12282         * check/gst/gstvalue.c: (START_TEST):
12283         * gst/gstvalue.c: (gst_value_deserialize):
12284           return long long, not int, so gint64 deserialization actually
12285           works.  Is there any flag that makes the compiler check this ?
12286           Fixes #308559
12287
12288 2005-06-22  Wim Taymans  <wim@fluendo.com>
12289
12290         * gst/gstbuffer.h:
12291         Added convenience macros for setting buffers in GValue.
12292
12293 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12294
12295         * check/gst/.cvsignore:
12296         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
12297           add a test deserializing int64, and comment part out because
12298           it fails, yay !
12299
12300 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12301
12302         * check/Makefile.am:
12303         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
12304         * testsuite/Makefile.am:
12305         * testsuite/caps/Makefile.am:
12306         * testsuite/caps/value_serialize.c:
12307         * testsuite/test_gst_init.c:
12308           move a value_serialize test over
12309
12310 2005-06-20  Wim Taymans  <wim@fluendo.com>
12311
12312         * gst/gstpad.c:
12313         Small doc updates.
12314         
12315         * gst/gstvalue.c: (gst_value_compare_buffer),
12316         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
12317         (gst_value_compare_flags), (gst_value_serialize_flags),
12318         (gst_value_deserialize_flags), (_gst_value_initialize):
12319         Fix serialisation of buffers, they are not boxed types anymore
12320
12321 2005-06-20  Wim Taymans  <wim@fluendo.com>
12322
12323         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
12324         Testcase to show error in buffer-on-caps serialisation.
12325
12326 2005-06-20  Andy Wingo  <wingo@pobox.com>
12327
12328         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
12329         will be adding to later.
12330
12331         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
12332         if its socks fill with rocks.
12333         (gst_system_clock_obtain): Set the name on object construction.
12334         Avoid double-checked locking.
12335
12336 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
12337
12338         * gst/gsturi.c: (gst_element_make_from_uri):
12339           Fix potential endless loop.
12340
12341 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12342
12343         * check/Makefile.am:
12344           add gsttag
12345         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
12346         (main):
12347           move over from testsuite dir and clean up
12348         * configure.ac:
12349         * gst/gsttag.c:
12350         * testsuite/Makefile.am:
12351         * testsuite/tags/.cvsignore:
12352         * testsuite/tags/Makefile.am:
12353         * testsuite/tags/merge.c:
12354           remove testsuite/tags
12355
12356 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12357
12358         * docs/gst/gstreamer-sections.txt:
12359         * docs/gst/tmpl/gstenumtypes.sgml:
12360         * win32/gstenumtypes.c:
12361           clean up documentation build a little
12362
12363 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12364
12365         * check/gstcheck.h:
12366           add macros for checking refcounts on objects and caps
12367         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
12368           add some more unit tests
12369         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
12370         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
12371           fix leaked refcounts (I hope :)) so unittest works
12372         * gst/gstpad.h:
12373           whitespace removal
12374
12375 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12376
12377         * configure.ac: back to HEAD
12378
12379 === release 0.9.1 ===
12380
12381 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12382
12383         * NEWS:
12384         * RELEASE:
12385           updated
12386
12387 2005-06-17  Andy Wingo  <wingo@pobox.com>
12388
12389         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
12390         assert; it's always possible that the pad gets deactivated in
12391         between the checks in gstpad.c and the implementation. Rely on
12392         finish_preroll() to return a FLUSHING or similar instead of on the
12393         assert.
12394         
12395         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
12396         clock and post an EOS message if we come out of finish_preroll in
12397         the playing state.
12398
12399 2005-06-16  David Schleef  <ds@schleef.org>
12400
12401         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
12402         (gst_capsfilter_set_property): Allow NULL as possible value
12403         for filter_caps property, indicating GST_CAPS_ANY.
12404
12405 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12406
12407         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
12408           fix debug output
12409         * gst/schedulers/Makefile.am:
12410           use libgst prefix
12411         * gstreamer.spec.in:
12412           fix spec for it
12413
12414 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12415
12416         * gstreamer.spec.in:
12417           clean up
12418
12419 2005-06-08  Andy Wingo  <wingo@pobox.com>
12420
12421         * gst/gstutils.c: RPAD fixes all around.
12422         (gst_element_link_pads): Refcounting fixes.
12423
12424         * tools/gst-inspect.c:
12425         * tools/gst-xmlinspect.c:
12426         * parse/grammar.y:
12427         * gst/base/gsttypefindhelper.c:
12428         * gst/base/gstbasesink.c:
12429         * gst/gstqueue.c: RPAD fixes.
12430
12431         * gst/gstghostpad.h:
12432         * gst/gstghostpad.c: New ghost pad implementation as full proxy
12433         pads. The tricky thing is they provide both source and sink
12434         interfaces, since they proxy the internal pad for the external
12435         pad, and vice versa. Implement with lower-level ProxyPad objects,
12436         with the interior proxy pad as a child of the exterior ghost pad.
12437         Should write a doc on this.
12438         
12439         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
12440         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
12441         gst_object API.
12442         
12443         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
12444         pads are real pads. No ghost pads in this file. Not documenting
12445         the myriad s/RPAD/PAD/ and REALIZE fixes.
12446         (gst_pad_class_init): Add properties for "direction" and
12447         "template". Both are construct-only, so they can't change during
12448         the life of the pad. Fixes properly deriving from GstPad.
12449         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
12450         derived objects, just set properties when creating the objects via
12451         g_object_new.
12452         (gst_pad_get_parent): Implement as a function, return NULL if the
12453         parent is not an element.
12454         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
12455         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
12456         
12457         * gst/gstobject.c (gst_object_class_init): Make name a construct
12458         property. Don't set it in the object init.
12459
12460         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
12461         with UNKNOWN direction.
12462         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
12463         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
12464         (gst_element_remove_pad): Remove ghost-pad special cases.
12465         (gst_element_pads_activate): Remove rpad cruft.
12466
12467         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
12468         catch the pad's-parent-not-an-element case.
12469
12470         * gst/gst.h: Include gstghostpad.h.
12471
12472         * gst/gst.c (init_post): No more real, ghost pads.
12473
12474         * gst/Makefile.am: Add gstghostpad.[ch].
12475
12476         * check/Makefile.am:
12477         * check/gst/gstbin.c:
12478         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
12479         into a bin creates ghost pads, and that the refcounts are right.
12480         Partly moved from gstbin.c.
12481
12482 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12483
12484         * check/gst-libs/.cvsignore:
12485         * check/gst/.cvsignore:
12486         * check/pipelines/.cvsignore:
12487           ignore more
12488         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
12489         (START_TEST), (cleanup_suite), (main):
12490           add some tests related to cleanup after running pipelines
12491
12492 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12493
12494         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
12495           add a testsuite for GstBuffer
12496
12497 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12498
12499         * gst/gstminiobject.h:
12500           add defines for accessing the refcount
12501
12502 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
12503
12504         * Makefile.am: added support for html unit test coverage reports
12505
12506 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
12507
12508         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12509           Free existing caps if the capsfilter changes. Add a FIXME about
12510           setting those caps on the pads.
12511
12512         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
12513           Before adding a ghost pad to a parent bin, check that there isn't
12514           already one for the element on the bin. Prevents infinite recursion
12515           when using decodebin in parse pipelines. Andy says he'll rewrite the
12516           way this works anyway, so ignore the hack.
12517
12518 2005-06-02  Andy Wingo  <wingo@pobox.com>
12519
12520         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
12521         file size, pass it on to the type find helper.
12522
12523         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
12524         segment_start and segment_end properly according to the seek
12525         method. Segment_end is still a bit flaky because offset can be
12526         negative for CUR and END cases, but it takes -1 as an "unset"
12527         value.
12528
12529 2005-06-02  Wim Taymans  <wim@fluendo.com>
12530
12531         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
12532         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
12533         (gst_basesink_activate):
12534         * gst/base/gstbasesink.h:
12535         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12536         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
12537         (gst_pad_query), (gst_pad_start_task):
12538         * gst/gstpad.h:
12539         * gst/gstqueue.c: (gst_queue_bufferalloc),
12540         (gst_queue_handle_sink_event), (gst_queue_chain):
12541         Bufferalloc: return GstFlowReturn to more accuratly report
12542         why allocation failed.
12543
12544 2005-06-02  Wim Taymans  <wim@fluendo.com>
12545
12546         * gst/gstpipeline.c: (gst_pipeline_send_event):
12547         Take snapshot of state without blocking.
12548
12549 2005-06-02  Wim Taymans  <wim@fluendo.com>
12550
12551         * docs/design/part-TODO.txt:
12552         * docs/design/part-caps.txt:
12553         * docs/design/part-clocks.txt:
12554         * docs/design/part-negotiation.txt:
12555         * docs/design/part-preroll.txt:
12556         Small doc updates 
12557
12558 2005-05-30  Wim Taymans  <wim@fluendo.com>
12559
12560         * gst/elements/gstidentity.c: (gst_identity_event),
12561         (gst_identity_transform), (gst_identity_get_property):
12562         Protect last_message property as it is accessed from
12563         multiple threads.
12564
12565 2005-05-30  Wim Taymans  <wim@fluendo.com>
12566
12567         * gst/gstelement.c: (gst_element_init),
12568         (gst_element_pads_activate), (gst_element_change_state):
12569         Slicker pad activation code.
12570
12571 2005-05-30  Wim Taymans  <wim@fluendo.com>
12572
12573         * gst/Makefile.am:
12574         * gst/gstelement.h:
12575         * gst/gstelementfactory.h:
12576         * gst/gsttypes.h:
12577         Move elementfactory methods to separate .h file.
12578
12579 2005-05-30  Wim Taymans  <wim@fluendo.com>
12580
12581         * docs/design/part-overview.txt:
12582         * gst/gstsystemclock.h:
12583         Small typo fixes, doc updates.
12584
12585 2005-05-30  Wim Taymans  <wim@fluendo.com>
12586
12587         * gst/gst.c: (gst_init_get_popt_table), (init_post),
12588         (init_popt_callback):
12589         Remove cpu-opt flag.
12590
12591 2005-05-30  Wim Taymans  <wim@fluendo.com>
12592
12593         * gst/gstbuffer.c: (gst_subbuffer_finalize),
12594         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
12595         * gst/gstbuffer.h:
12596         Avoid typechecking in places where not needed.
12597         Added accessor for malloc_data.
12598
12599 2005-05-30  Wim Taymans  <wim@fluendo.com>
12600
12601         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
12602         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
12603         (gst_pad_configure_sink), (gst_pad_configure_src),
12604         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
12605         (gst_pad_start_task):
12606         Propagate errors from _set_caps() in configure_src/sink
12607         functions instead of returning TRUE.
12608         FLUSH events can travel up and downstream
12609
12610
12611 2005-05-30  Wim Taymans  <wim@fluendo.com>
12612
12613         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
12614         (gst_basesink_activate):
12615         Handle EOS in preroll.
12616
12617 2005-05-30  Wim Taymans  <wim@fluendo.com>
12618
12619         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12620         (gst_queue_loop), (gst_queue_handle_src_event):
12621         Remove old pieces of code
12622         Flushing the queue in an upstream event is a very bad idea.
12623
12624 2005-05-26  Andy Wingo  <wingo@pobox.com>
12625
12626         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
12627         gst_value_set_mini_object so as to add a ref on the object (which
12628         will be removed when the value is unset).
12629
12630         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
12631         arg type in ::handoff.
12632
12633         * gst/gstelement.c (gst_element_change_state): Also deactivate
12634         pads in READY->NULL, just in case the element didn't make it to
12635         PAUSED. Wingo tested, Wim approved.
12636
12637 2005-05-26  Wim Taymans  <wim@fluendo.com>
12638
12639         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12640         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
12641         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
12642         A flushing pad cannot be used to alloc_buffer from.
12643
12644 2005-05-26  Wim Taymans  <wim@fluendo.com>
12645
12646         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
12647         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
12648         (gst_bus_source_dispatch), (gst_bus_source_finalize),
12649         (gst_bus_create_watch), (gst_bus_add_watch_full):
12650         * gst/gstbus.h:
12651         Implement a real GSource and use g_main_context_wakeup() to
12652         signal new messages instead of the socketpair.
12653
12654 2005-05-25  Wim Taymans  <wim@fluendo.com>
12655
12656         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
12657         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
12658         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12659         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
12660         (gst_pad_send_event), (gst_pad_start_task):
12661         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
12662         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
12663         (gst_queue_sink_activate), (gst_queue_src_activate),
12664         (gst_queue_change_state):
12665         * gst/gstqueue.h:
12666         Fix state changes for non sinks. We now change sinks, then elements
12667         with unconnected srcpads, then the rest.
12668         More efficient queue unlocking in flush and state changes.
12669         Set the pad activate mode even if it does not have an activate
12670         function.
12671
12672 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12673
12674         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
12675           Don't go in pull mode for non-seekable sources.
12676         * gst/elements/gsttypefindelement.h:
12677         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12678         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
12679         (free_entry), (stop_typefinding),
12680         (gst_type_find_element_handle_event), (find_peek),
12681         (gst_type_find_element_chain), (do_pull_typefind),
12682         (gst_type_find_element_change_state):
12683           Allow typefinding (w/o seeking) in push-mode, simplified version
12684           of what was in 0.8.
12685         * gst/gstutils.c: (gst_buffer_join):
12686         * gst/gstutils.h:
12687           gst_buffer_join() from 0.8.
12688
12689 2005-05-25  Wim Taymans  <wim@fluendo.com>
12690
12691         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12692         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
12693         (gst_pad_send_event), (gst_pad_start_task):
12694         Disable attempt at mode switching until it is figured out.
12695
12696 2005-05-25  Wim Taymans  <wim@fluendo.com>
12697
12698         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
12699         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
12700         (gst_basesink_finish_preroll), (gst_basesink_chain),
12701         (gst_basesink_loop), (gst_basesink_activate),
12702         (gst_basesink_change_state):
12703         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
12704         (gst_basesrc_get_range), (gst_basesrc_loop),
12705         (gst_basesrc_activate):
12706         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12707         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12708         (gst_real_pad_init), (gst_real_pad_set_property),
12709         (gst_real_pad_get_property), (gst_pad_set_active),
12710         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
12711         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
12712         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
12713         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
12714         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12715         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
12716         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
12717         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
12718         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
12719         (gst_pad_stop_task):
12720         * gst/gstpad.h:
12721         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12722         (gst_queue_loop), (gst_queue_src_activate):
12723         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
12724         (gst_task_get_state):
12725         * gst/gsttask.h:
12726         * gst/schedulers/threadscheduler.c:
12727         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
12728         Implement gst_pad_pause/start/stop_task(), take STREAM lock
12729         in task function.
12730         Remove ACTIVE pad flag, use FLUSHING everywhere
12731         Added _pad_chain(), _pad_get_range() to call chain/getrange 
12732         functions.
12733         Add locks around IS_FLUSHING when reading.
12734         Take STREAM lock in chain(), get_range() functions so plugins
12735         don't need to take it anymore.
12736         
12737
12738
12739 2005-05-25  Wim Taymans  <wim@fluendo.com>
12740
12741         * tools/gst-launch.c: (event_loop):
12742         Unref message after using its contents instead of
12743         before.
12744
12745 2005-05-24  Wim Taymans  <wim@fluendo.com>
12746
12747         * docs/design/draft-ghostpads.txt:
12748         * docs/design/draft-push-pull.txt:
12749         * docs/design/draft-query.txt:
12750         * docs/design/part-overview.txt:
12751         Docs updates, added general overview doc.
12752
12753 2005-05-21  David Schleef  <ds@schleef.org>
12754
12755         * docs/gst/tmpl/old/GstBin.sgml:
12756         * docs/gst/tmpl/old/GstBuffer.sgml:
12757         * docs/gst/tmpl/old/GstCaps.sgml:
12758         * docs/gst/tmpl/old/GstClock.sgml:
12759         * docs/gst/tmpl/old/GstCompat.sgml:
12760         * docs/gst/tmpl/old/GstData.sgml:
12761         * docs/gst/tmpl/old/GstElement.sgml:
12762         * docs/gst/tmpl/old/GstEvent.sgml:
12763         * docs/gst/tmpl/old/GstIndex.sgml:
12764         * docs/gst/tmpl/old/GstStructure.sgml:
12765         * docs/gst/tmpl/old/GstTag.sgml:
12766         * docs/gst/tmpl/old/cothreads.sgml:
12767         * docs/gst/tmpl/old/cothreads_compat.sgml:
12768         * docs/gst/tmpl/old/gettext.sgml:
12769         * docs/gst/tmpl/old/gobject2gtk.sgml:
12770         * docs/gst/tmpl/old/grammar.tab.sgml:
12771         * docs/gst/tmpl/old/gst-i18n-app.sgml:
12772         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
12773         * docs/gst/tmpl/old/gst_private.sgml:
12774         * docs/gst/tmpl/old/gstaggregator.sgml:
12775         * docs/gst/tmpl/old/gstarch.sgml:
12776         * docs/gst/tmpl/old/gstatomic_impl.sgml:
12777         * docs/gst/tmpl/old/gstbufferstore.sgml:
12778         * docs/gst/tmpl/old/gstdata_private.sgml:
12779         * docs/gst/tmpl/old/gstdisksink.sgml:
12780         * docs/gst/tmpl/old/gstdisksrc.sgml:
12781         * docs/gst/tmpl/old/gstelementfactory.sgml:
12782         * docs/gst/tmpl/old/gstextratypes.sgml:
12783         * docs/gst/tmpl/old/gstfakesink.sgml:
12784         * docs/gst/tmpl/old/gstfakesrc.sgml:
12785         * docs/gst/tmpl/old/gstfdsink.sgml:
12786         * docs/gst/tmpl/old/gstfdsrc.sgml:
12787         * docs/gst/tmpl/old/gstfilesink.sgml:
12788         * docs/gst/tmpl/old/gstfilesrc.sgml:
12789         * docs/gst/tmpl/old/gsthttpsrc.sgml:
12790         * docs/gst/tmpl/old/gstidentity.sgml:
12791         * docs/gst/tmpl/old/gstindexfactory.sgml:
12792         * docs/gst/tmpl/old/gstmarshal.sgml:
12793         * docs/gst/tmpl/old/gstmd5sink.sgml:
12794         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
12795         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
12796         * docs/gst/tmpl/old/gstpadtemplate.sgml:
12797         * docs/gst/tmpl/old/gstpipefilter.sgml:
12798         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
12799         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
12800         * docs/gst/tmpl/old/gstshaper.sgml:
12801         * docs/gst/tmpl/old/gstspider.sgml:
12802         * docs/gst/tmpl/old/gstspideridentity.sgml:
12803         * docs/gst/tmpl/old/gststatistics.sgml:
12804         * docs/gst/tmpl/old/gsttee.sgml:
12805         * docs/gst/tmpl/old/gsttimecache.sgml:
12806         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
12807         * docs/gst/tmpl/old/gstxmlregistry.sgml:
12808         * docs/gst/tmpl/old/gthread-cothreads.sgml:
12809         * docs/gst/tmpl/old/types.sgml:
12810           I didn't intend to add these or check them in.
12811
12812 2005-05-19  David Schleef  <ds@schleef.org>
12813
12814         * configure.ac: Use -no-common everywhere.  In a sane world, it
12815           would be the default in libtool, because without it, you can't
12816           build DLLs on Windows.
12817         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
12818         * docs/gst/gstreamer-sections.txt:
12819         * docs/gst/tmpl/gstcpu.sgml:
12820         * docs/gst/tmpl/gstdata.sgml:
12821         * docs/gst/tmpl/gstthread.sgml:
12822
12823 2005-05-19  David Schleef  <ds@schleef.org>
12824
12825         * gst/gstminiobject.c: (gst_value_set_mini_object),
12826         (gst_value_take_mini_object), (gst_value_get_mini_object):
12827         * gst/gstminiobject.h: Add GValue set/get functions.
12828
12829 2005-05-19  Wim Taymans  <wim@fluendo.com>
12830
12831         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
12832         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
12833         (gst_subbuffer_init), (gst_buffer_is_span_fast):
12834         * gst/gstbuffer.h:
12835         * gst/gstbus.c: (gst_bus_post):
12836         * gst/gstelement.c: (gst_element_get_random_pad):
12837         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
12838         Make subbufer unref the parent in finalize.
12839         some more debugging info.
12840
12841
12842 2005-05-19  Wim Taymans  <wim@fluendo.com>
12843
12844         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12845         (gst_basesink_init), (gst_basesink_finalize),
12846         (gst_basesink_activate), (gst_basesink_change_state):
12847         Don't free preroll queue too early.
12848
12849 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12850
12851         * gst/Makefile.am:
12852         * gst/ROADMAP:
12853           Hi, I'm outdated. Please shoot me.
12854
12855 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12856
12857         * gst/gstpipeline.c: (gst_pipeline_send_event):
12858           Do not access variables after they have been deleted.
12859
12860 2005-05-19  Wim Taymans  <wim@fluendo.com>
12861
12862         * tools/gst-inspect.c: (print_plugin_features):
12863         A plugin feature does unfortunatly not use the
12864         object name yet...
12865
12866 2005-05-18  Wim Taymans  <wim@fluendo.com>
12867
12868         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
12869         Port _span() functions to new subbuffers.
12870
12871 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12872
12873         * gst/gstbin.c: (gst_bin_add_func):
12874           Fix clock settery in bins when adding kids after the clock has
12875           been selected.
12876
12877 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12878
12879         * gst/elements/gstidentity.c: (gst_identity_class_init):
12880           Workaround until signals support GstMiniObject.
12881
12882 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
12883
12884         * gst/gstbuffer.c:
12885         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
12886
12887 2005-05-18  Wim Taymans  <wim@fluendo.com>
12888
12889         * gst/base/Makefile.am:
12890         * gst/base/gstadapter.c: (gst_adapter_base_init),
12891         (gst_adapter_class_init), (gst_adapter_init),
12892         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
12893         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
12894         (gst_adapter_flush), (gst_adapter_available),
12895         (gst_adapter_available_fast):
12896         * gst/base/gstadapter.h:
12897         Ported and added adapter to the base classes.
12898
12899 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12900
12901         * gst/gst.c:
12902         * gst/gstmessage.c:
12903           Make sure the class is reffed/unreffed once before threads can be
12904           used.  Fixes #304551.
12905
12906 2005-05-17  Wim Taymans  <wim@fluendo.com>
12907
12908         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
12909         (gst_basesink_chain_unlocked), (gst_basesink_activate):
12910         * gst/gstminiobject.c: (gst_mini_object_get_type),
12911         (gst_mini_object_free):
12912         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
12913         (gst_pad_push), (gst_pad_push_event):
12914         * gst/gstqueue.c: (gst_queue_change_state):
12915         Don't queue buffers in basesink when we are flushing.
12916         Unref buffer when flushing in basesink.
12917         Flush queue when going to READY
12918         Unref buffer when _push() returns an error.
12919         Don't free MiniObject instance when refcount is incremented
12920         in _finalize() so that we can recover objects.
12921
12922 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12923
12924         * docs/manual/advanced-schedulers.xml:
12925         * docs/manual/appendix-checklist.xml:
12926         * docs/pwg/advanced-clock.xml:
12927         * docs/pwg/advanced-interfaces.xml:
12928         * docs/pwg/advanced-request.xml:
12929         * docs/pwg/advanced-types.xml:
12930         * docs/pwg/intro-preface.xml:
12931         * examples/plugins/example.c: (gst_example_get_type),
12932         (gst_example_class_init), (gst_example_chain),
12933         (gst_example_set_property), (gst_example_get_property),
12934         (gst_example_change_state), (plugin_init):
12935         * examples/plugins/example.h:
12936           small doc fixes
12937
12938 2005-05-17  Wim Taymans  <wim@fluendo.com>
12939
12940         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
12941         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
12942         * gst/gstqueue.c: (gst_queue_change_state):
12943         Clear queue when going to READY.
12944         Remove IN_SETCAPS flag too.
12945
12946 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
12947
12948         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
12949           Remove implicit cast from gboolean to GstElementStateReturn;
12950           make sure we still return failure in paused => ready case if
12951           the parent class fails to change state and our own stop 
12952           vfunc succeeds.
12953
12954 2005-05-17  Wim Taymans  <wim@fluendo.com>
12955
12956         * tools/gst-launch.c: (event_loop):
12957         Message was unreffed too soon.
12958
12959 2005-05-16  Andy Wingo  <wingo@pobox.com>
12960
12961         * gst/gstbin.c (sink_iterator_filter): Err... um...
12962
12963         * check/gst/gstbin.c (test_ghost_pads): New test for the
12964         ghosting-if-elements-not-in-same-bin behavior.
12965
12966 2005-05-16  David Schleef  <ds@schleef.org>
12967
12968         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
12969         accessing refcount directly.
12970
12971 2005-05-15  David Schleef  <ds@schleef.org>
12972
12973         * check/Makefile.am: remove GstData checks
12974         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
12975         * gst/Makefile.am: add miniobject, remove data
12976         * gst/gst.h: add miniobject, remove data
12977         * gst/gstdata.c: remove
12978         * gst/gstdata.h: remove
12979         * gst/gstdata_private.h: remove
12980         * gst/gsttypes.h: remove GstEvent and GstMessage
12981         * gst/gstelement.c: (gst_element_post_message): fix for API changes
12982         * gst/gstmarshal.list: change BOXED -> OBJECT
12983
12984         Implement GstMiniObject.
12985         * gst/gstminiobject.c:
12986         * gst/gstminiobject.h:
12987
12988         Modify to be subclasses of GstMiniObject.
12989         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
12990         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
12991         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
12992         (gst_subbuffer_get_type), (gst_subbuffer_init),
12993         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
12994         (gst_buffer_span):
12995         * gst/gstbuffer.h:
12996         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
12997         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
12998         (_gst_event_copy), (gst_event_new):
12999         * gst/gstevent.h:
13000         * gst/gstmessage.c: (_gst_message_initialize),
13001         (gst_message_get_type), (gst_message_class_init),
13002         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
13003         (gst_message_new), (gst_message_new_error),
13004         (gst_message_new_warning), (gst_message_new_tag),
13005         (gst_message_new_state_changed), (gst_message_new_application):
13006         * gst/gstmessage.h:
13007         * gst/gstprobe.c: (gst_probe_perform),
13008         (gst_probe_dispatcher_dispatch):
13009         * gst/gstprobe.h:
13010         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
13011         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
13012         (_gst_query_copy), (gst_query_new):
13013
13014         Update elements for GstData -> GstMiniObject changes
13015         * gst/gstquery.h:
13016         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
13017         (gst_queue_chain), (gst_queue_loop):
13018         * gst/elements/gstbufferstore.c:
13019         (gst_buffer_store_add_buffer_func),
13020         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
13021         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13022         (gst_fakesink_render):
13023         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13024         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
13025         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
13026         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
13027         (gst_filesrc_create_read):
13028         * gst/elements/gstidentity.c: (gst_identity_class_init):
13029         * gst/elements/gsttypefindelement.c:
13030         (gst_type_find_element_src_event), (free_entry_buffers),
13031         (gst_type_find_element_handle_event):
13032         * libs/gst/dataprotocol/dataprotocol.c:
13033         (gst_dp_header_from_buffer):
13034         * libs/gst/dataprotocol/dataprotocol.h:
13035         * libs/gst/dataprotocol/dp-private.h:
13036
13037 2005-05-15  David Schleef  <ds@schleef.org>
13038
13039         * gst/elements/gstelements.c: Don't include headers that were
13040         just removed.
13041
13042 2005-05-15  David Schleef  <ds@schleef.org>
13043
13044         * gst/elements/Makefile.am: Remove some elements that don't
13045         need to be in the core (or even exist at all).
13046         * gst/elements/gstaggregator.c:
13047         * gst/elements/gstaggregator.h:
13048         * gst/elements/gstmd5sink.c:
13049         * gst/elements/gstmd5sink.h:
13050         * gst/elements/gstmultifilesrc.c:
13051         * gst/elements/gstmultifilesrc.h:
13052         * gst/elements/gstpipefilter.c:
13053         * gst/elements/gstpipefilter.h:
13054         * gst/elements/gstshaper.c:
13055         * gst/elements/gstshaper.h:
13056         * gst/elements/gststatistics.c:
13057         * gst/elements/gststatistics.h:
13058         * po/POTFILES.in: Remove above files.
13059
13060 2005-05-14  Andy Wingo  <wingo@pobox.com>
13061
13062         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
13063         so as to get the refs right.
13064         (sink_iterator_filter): New function, wraps bin_element_is_sink,
13065         unreffing objects that don't pass the filter.
13066
13067         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
13068         gst_element_set_bus.
13069         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
13070         normal cases, this will destroy the bus.
13071
13072         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
13073         object.
13074
13075         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
13076         has no sinks.
13077
13078 2005-05-13  Andy Wingo  <wingo@pobox.com>
13079
13080         * gst/gstutils.c (gst_element_link_pads): Instead of calling
13081         gst_pad_link, call pad_link_maybe_ghosting,
13082         (pad_link_maybe_ghosting): Links pads, making sure that the
13083         elements being linked are in the same bin.
13084         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
13085         Helpers for pad_link_maybe_ghosting.
13086
13087 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
13088
13089         * configure.ac:
13090           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
13091
13092 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
13093
13094         * docs/design/part-element-source.txt:
13095           Mention GstPushSrc
13096
13097 2005-05-12  Wim Taymans  <wim@fluendo.com>
13098
13099         * gst/base/gstbasesink.c: (gst_basesink_init),
13100         (gst_basesink_activate):
13101         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
13102         (gst_basesrc_is_seekable):
13103         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13104         (bin_element_is_sink), (gst_bin_change_state):
13105         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
13106         * gst/gstelement.h:
13107         Identify sinks by their flag to avoid overly complicated
13108         checks (fow now).
13109         Do state changes even for elements not reachable from the
13110         sinks.
13111         BaseSink is a sink now :)
13112         Some more debugging info in the basesrc.
13113
13114
13115 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13116
13117         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
13118           Implement _query on a bin, similar to _send_event.
13119
13120 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
13121
13122         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
13123           Discont event offset format should be GST_FORMAT_BYTES,
13124           not GST_FORMAT_TIME.
13125
13126 2005-05-12  Wim Taymans  <wim@fluendo.com>
13127
13128         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
13129         Same fix as Ronald's but without the signal. 
13130
13131 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13132
13133         * gst/gstutils.c: (gst_element_query_position):
13134           No, an element is not a pad.
13135
13136 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13137
13138         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
13139         (gst_bin_get_state):
13140           If a child is removed from a bin while we remove the child from
13141           the bin and while we're retrieving its state, signal this to the
13142           get_state function so we abort the wait (instead of waiting for
13143           a timeout) and can immediately re-iterate over all other elements.
13144
13145 2005-05-12  Wim Taymans  <wim@fluendo.com>
13146
13147         * gst/base/Makefile.am:
13148         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
13149         (gst_basesrc_start):
13150         * gst/base/gstbasesrc.h:
13151         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
13152         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
13153         (gst_pushsrc_init), (gst_pushsrc_create):
13154         * gst/base/gstpushsrc.h:
13155         Added is_seekable to BaseSrc
13156         Added simple PushSrc.
13157
13158 2005-05-11  Wim Taymans  <wim@fluendo.com>
13159
13160         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
13161         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13162         (gst_element_link_pads), (gst_element_query_position),
13163         (gst_element_query_convert), (intersect_caps_func),
13164         (gst_pad_query_position), (gst_pad_query_convert):
13165         Fix refcounting in utils function.
13166         No point in trying to activate a pad when it's added, it could
13167         be added from the state change function and then we deadlock, the
13168         element has to decide what to do.
13169
13170 2005-05-10  Andy Wingo  <wingo@pobox.com>
13171
13172         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
13173         *all* the arguments.
13174
13175         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
13176         stream lock if it's a FLUSH_DONE; normal flushes don't get the
13177         lock (according to the docs -- if this is wrong change the docs).
13178
13179         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
13180         flush messages in the NULL state.
13181
13182         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
13183         message immediately and return.
13184         (gst_bus_set_flushing): New function. If a bus is flushing, it
13185         flushes out any queued messages and immediately unrefs new
13186         messages. This is so when an element goes to NULL, all of the
13187         unhandled messages coming from it can be freed, and their
13188         references to the element dropped. In other words: message source
13189         ref considered harmful :P
13190
13191         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
13192         we're finished with it.
13193
13194         * gst/gstmessage.c (gst_message_new_state_changed): 
13195
13196 2005-05-10  Wim Taymans  <wim@fluendo.com>
13197
13198         * gst/gstvalue.c: (gst_value_compare_flags),
13199         (gst_value_serialize_flags), (gst_value_deserialize_flags),
13200         (_gst_value_initialize):
13201         Added flags serialize/deserialize/compare code.
13202
13203 2005-05-09  Andy Wingo  <wingo@pobox.com>
13204
13205         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
13206         Intersect the peer's caps with our caps.
13207
13208 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13209
13210         * gst/base/gsttypefindhelper.c: (helper_find_peek):
13211         * gst/elements/gsttypefindelement.c: (find_peek):
13212           Handle negative offsets better. Fixes decodebin.
13213
13214 2005-05-09  Wim Taymans  <wim@fluendo.com>
13215
13216         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
13217         (gst_base_transform_event):
13218         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
13219         Implement accept_caps.
13220         Fix silly lock/unlock mismatch in base class.
13221
13222 2005-05-09  Wim Taymans  <wim@fluendo.com>
13223
13224         * docs/design/draft-push-pull.txt:
13225         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
13226         * gst/elements/gstfilesink.c: (gst_filesink_init),
13227         (gst_filesink_query):
13228         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
13229         (gst_type_find_handle_src_query), (find_element_get_length):
13230         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
13231         * gst/gstelement.h:
13232         * gst/gstmessage.c:
13233         * gst/gstmessage.h:
13234         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
13235         (gst_real_pad_get_caps_unlocked),
13236         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
13237         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13238         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
13239         (gst_real_pad_dispose), (gst_real_pad_finalize),
13240         (gst_pad_load_and_link), (gst_pad_save_thyself),
13241         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
13242         (gst_pad_check_pull_range), (gst_pad_pull_range),
13243         (gst_pad_template_get_type), (gst_pad_template_class_init),
13244         (gst_pad_template_init), (gst_pad_template_dispose),
13245         (name_is_valid), (gst_static_pad_template_get),
13246         (gst_pad_template_new), (gst_static_pad_template_get_caps),
13247         (gst_pad_template_get_caps), (gst_pad_set_element_private),
13248         (gst_pad_get_element_private), (gst_pad_start_task),
13249         (gst_pad_pause_task), (gst_pad_stop_task),
13250         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
13251         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
13252         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
13253         (gst_ghost_pad_new):
13254         * gst/gstpad.h:
13255         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
13256         (gst_query_new_position), (gst_query_set_position),
13257         (gst_query_parse_position), (gst_query_new_convert),
13258         (gst_query_set_convert), (gst_query_parse_convert):
13259         * gst/gstquery.h:
13260         * gst/gstqueryutils.c:
13261         * gst/gstqueryutils.h:
13262         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13263         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
13264         (gst_queue_handle_src_query):
13265         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13266         (gst_element_query_position), (gst_element_query_convert),
13267         (intersect_caps_func), (gst_pad_query_position),
13268         (gst_pad_query_convert):
13269         * gst/gstutils.h:
13270         * tools/gst-inspect.c: (print_pad_info):
13271         * tools/gst-xmlinspect.c: (print_element_info):
13272         Remove old query functions. Ported old code.
13273         Added position/convert helper functions to gstutils.
13274         Reordered gstpad.c code, grouping relevant things.
13275         Remove gst_message_new(), always need to speficy a specific
13276         message.
13277
13278
13279 2005-05-09  Andy Wingo  <wingo@pobox.com>
13280
13281         * gst/gstiterator.h: Add some includes.
13282
13283         * gst/gstqueryutils.h: Include more headers.
13284
13285         * gst/gstpad.h:
13286         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
13287         some uses of gst_pad_query.
13288
13289         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
13290         NULL out parameters.
13291         (gst_query_new_position): New proc, allocates a new position
13292         query.
13293
13294         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
13295         gstqueryutils.c to the build.
13296
13297         * gst/gststructure.c (gst_structure_set_valist): Implement with
13298         the generic G_VALUE_COLLECT.
13299         
13300 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
13301
13302         * gst/Makefile.am: (gst_headers):
13303         Added gstqueryutils.h to the list of headers to install, that was
13304         a 'nachty' move wingo :)
13305
13306 2005-05-06  Andy Wingo  <wingo@pobox.com>
13307
13308         * gst/gstquery.h
13309         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
13310         GstData, init a memchunk.
13311         (standard_definitions): Add a few query types, deprecate a few.
13312         (gst_query_get_type): New proc.
13313         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
13314         implementation.
13315         (gst_query_new_application, gst_query_get_structure): New public
13316         procs.
13317
13318         * docs/design/draft-query.txt: Removed LINKS from the query types,
13319         because all the rest can be dispatched to other pads -- seemed
13320         ugly to have a query that couldn't be dispatched. internal_links
13321         is fine as a pad method.
13322
13323         * gst/gstpad.h: Add query2 as a pad method, add the new functions
13324         in gstpad.c, but maintain binary compatibility for the moment.
13325         Will fix before 0.9 is out.
13326
13327         * gst/gstqueryutils.c: 
13328         * gst/gstqueryutils.h: New files, implement 3 methods for each
13329         query type: parse_query, parse_response, and set. Probably need an
13330         allocator as well.
13331
13332         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
13333
13334         * gst/elements/gstfilesink.c (gst_filesink_query2):
13335         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
13336         query_types, and formats methods.
13337
13338         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
13339         (gst_pad_set_query2_function): New functions.
13340         (gst_real_pad_init): Set query2_default as the default query2
13341         function. Basically just dispatches to internally linked pads.
13342
13343         Needs review!
13344         
13345         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
13346         without using the atomic operations. Only one thread can possibly
13347         be accessing the data at this point. Changed so as to avoid
13348         gst_atomic operations.
13349
13350 2005-05-06  Wim Taymans  <wim@fluendo.com>
13351
13352         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
13353         Also set caps if we use the fallback buffer alloc.
13354
13355 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
13356
13357         * docs/gst/Makefile.am:
13358         * docs/gst/gstreamer-docs.sgml:
13359         * docs/gst/gstreamer-sections.txt:
13360         * docs/gst/tmpl/gstatomic.sgml:
13361         * docs/gst/tmpl/gstmemchunk.sgml:
13362         * testsuite/elements/struct_i386.h:
13363         * win32/GStreamer.vcproj:
13364         * win32/Makefile:
13365           Purge GstAtomic stuff from docs and win32 makefiles as well
13366
13367 2005-05-06  Wim Taymans  <wim@fluendo.com>
13368
13369         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
13370         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
13371         * gst/gstpad.c: (gst_pad_peer_get_caps):
13372         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13373         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
13374         (gst_queue_src_activate), (gst_queue_change_state):
13375         * gst/gstqueue.h:
13376         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13377         (intersect_caps_func):
13378         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
13379         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
13380         Some fixes for the peer_get_caps() change.
13381
13382 2005-05-06  Wim Taymans  <wim@fluendo.com>
13383
13384         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
13385         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
13386         (gst_basesink_activate):
13387         Actually do something with error codes returned from the push
13388         functions.
13389
13390 2005-05-06  Wim Taymans  <wim@fluendo.com>
13391
13392         * docs/design/part-element-sink.txt:
13393         * docs/design/part-element-source.txt:
13394         * gst/base/gstbasesink.c: (gst_basesink_class_init),
13395         (gst_basesink_event), (gst_basesink_activate):
13396         * gst/base/gstbasesink.h:
13397         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
13398         (gst_basesrc_activate):
13399         * gst/base/gstbasesrc.h:
13400         * gst/gstelement.c: (gst_element_pads_activate):
13401         Some more documentation.
13402         Fixed scheduling decision in _pads_activate().
13403
13404 2005-05-05  Andy Wingo  <wingo@pobox.com>
13405
13406         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
13407         the test suite.
13408
13409 2005-05-05  Wim Taymans  <wim@fluendo.com>
13410
13411         * gst/base/Makefile.am:
13412         * gst/base/gstbasesink.h:
13413         * gst/base/gstbasesrc.c: (gst_basesrc_init),
13414         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
13415         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
13416         (gst_collectpads_class_init), (gst_collectpads_init),
13417         (gst_collectpads_finalize), (gst_collectpads_new),
13418         (gst_collectpads_set_function), (gst_collectpads_add_pad),
13419         (find_pad), (gst_collectpads_remove_pad),
13420         (gst_collectpads_is_active), (gst_collectpads_collect),
13421         (gst_collectpads_collect_range), (gst_collectpads_start),
13422         (gst_collectpads_stop), (gst_collectpads_peek),
13423         (gst_collectpads_pop), (gst_collectpads_available),
13424         (gst_collectpads_read), (gst_collectpads_flush),
13425         (gst_collectpads_chain):
13426         * gst/base/gstcollectpads.h:
13427         * gst/elements/Makefile.am:
13428         * gst/elements/gstelements.c:
13429         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13430         (gst_fakesink_get_times), (gst_fakesink_event),
13431         (gst_fakesink_preroll), (gst_fakesink_render):
13432         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
13433         (gst_filesink_init), (gst_filesink_set_location),
13434         (gst_filesink_open_file), (gst_filesink_close_file),
13435         (gst_filesink_pad_query), (gst_filesink_event),
13436         (gst_filesink_render), (gst_filesink_change_state):
13437         * gst/elements/gstfilesink.h:
13438         Added object to help in making collect pad based elements.
13439         Ported filesink.
13440         Make event function in sink baseclass return gboolean.
13441
13442 2005-05-05  Wim Taymans  <wim@fluendo.com>
13443
13444         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
13445         (gst_bin_get_by_name):
13446         * gst/gstbuffer.h:
13447         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
13448         (gst_clock_finalize):
13449         * gst/gstdata.c: (gst_data_replace):
13450         * gst/gstdata.h:
13451         * gst/gstelement.c: (gst_element_request_pad),
13452         (gst_element_pads_activate):
13453         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
13454         (gst_object_unref):
13455         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13456         (gst_pad_set_checkgetrange_function),
13457         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
13458         (gst_pad_check_pull_range), (gst_pad_pull_range),
13459         (gst_static_pad_template_get_caps), (gst_pad_start_task),
13460         (gst_pad_pause_task), (gst_pad_stop_task):
13461         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13462         (gst_element_request_pad), (gst_pad_proxy_getcaps):
13463         Fix name lookup in GstBin.
13464         Added _data_replace() function and _buffer_replace()
13465         Use finalize method to clean up clock.
13466         Fix refcounting on request pads.
13467         Fix pad schedule mode error.
13468         Some more object refcounting debug info,
13469
13470
13471 2005-05-04  Andy Wingo <wingo@pobox.com>
13472
13473         * check/Makefile.am:
13474         * docs/gst/tmpl/gstatomic.sgml:
13475         * docs/gst/tmpl/gstplugin.sgml:
13476         * gst/base/gstbasesink.c: (gst_basesink_activate):
13477         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
13478         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
13479         (gst_basesrc_query), (gst_basesrc_set_property),
13480         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
13481         (gst_basesrc_activate):
13482         * gst/base/gstbasesrc.h:
13483         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
13484         (gst_base_transform_src_activate):
13485         * gst/elements/gstelements.c:
13486         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13487         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
13488         * gst/elements/gsttee.c: (gst_tee_sink_activate):
13489         * gst/elements/gsttypefindelement.c: (find_element_get_length),
13490         (gst_type_find_element_checkgetrange),
13491         (gst_type_find_element_activate):
13492         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
13493         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
13494         (gst_caps_load_thyself):
13495         * gst/gstelement.c: (gst_element_pads_activate),
13496         (gst_element_save_thyself), (gst_element_restore_thyself):
13497         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
13498         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
13499         * gst/gstpad.h:
13500         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
13501         (gst_xml_parse_file), (gst_xml_parse_memory),
13502         (gst_xml_get_element), (gst_xml_make_element):
13503         * gst/indexers/gstfileindex.c: (gst_file_index_load),
13504         (_file_index_id_save_xml), (gst_file_index_commit):
13505         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
13506         (read_enum), (load_pad_template), (load_feature), (load_plugin),
13507         (load_paths):
13508         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
13509         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
13510         * tools/gst-complete.c: (main):
13511         * tools/gst-compprep.c: (main):
13512         * tools/gst-inspect.c: (print_element_properties_info):
13513         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
13514         * tools/gst-xmlinspect.c: (print_element_properties):
13515         GCC 4 fixen.
13516         
13517 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13518
13519         * gst/gstplugin.c: (gst_plugin_check_module),
13520         (gst_plugin_check_file), (gst_plugin_load_file):
13521             apply patch from #172526 to make register work on MacOSX
13522
13523 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13524
13525         * docs/gst/tmpl/gstconfig.sgml:
13526         * gst/gstconfig.h.in:
13527           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
13528         * testsuite/debug/printf_extension.c: (main):
13529           Do not use GST_PTR_FORMAT on pointers to types with
13530           sizeof < sizeof(gpointer).  Fixes test on 64-bit
13531         * testsuite/elements/property.h:
13532           use correct printf format
13533
13534 2005-05-02  Wim Taymans  <wim@fluendo.com>
13535
13536         * docs/design/draft-push-pull.txt:
13537         * docs/design/draft-query.txt:
13538         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
13539         (gst_basesrc_start):
13540         Added draft for new query API.
13541         Added draft for better selecting scheduling methods.
13542         Make basesrc ignore length if the subclass does not support
13543         it.
13544
13545 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13546
13547         * gst/Makefile.am:
13548           possible fixes for automake-1.5 - _LIBADD is reserved
13549
13550 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13551
13552         * docs/faq/Makefile.am:
13553         * docs/manual/Makefile.am:
13554         * docs/manuals.mak:
13555         * docs/pwg/Makefile.am:
13556         * gst/Makefile.am:
13557           possible fixes for automake-1.5
13558
13559 2005-04-28  Wim Taymans  <wim@fluendo.com>
13560
13561         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13562         (gst_basesink_pad_getcaps), (gst_basesink_init),
13563         (gst_basesink_do_sync):
13564         * gst/gstclock.c: (gst_clock_entry_new):
13565         * gst/gstevent.c: (gst_event_discont_get_value):
13566         * gst/gstpipeline.c: (pipeline_bus_handler),
13567         (gst_pipeline_change_state):
13568         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
13569         Better debugging of clocking info.
13570         Allow NULL values when getting discont values.
13571
13572 2005-04-27  Wim Taymans  <wim@fluendo.com>
13573
13574         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13575         * check/gst/gstpad.c: (gst_pad_suite):
13576         Increase timeout for checks.
13577
13578 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13579
13580         * check/Makefile.am:
13581           fix the broken rule for cleanup.  Apparently this rule is
13582           only needed on FC2, so maybe this warrants further autotool
13583           inspection.
13584
13585 2005-04-26  Wim Taymans  <wim@fluendo.com>
13586
13587         * gst/gsttrashstack.h:
13588         Ooohh. a nasty one! After having a failed pop() from the stack,
13589         it's possible that the stack is empty. In that case, don't
13590         follow the NULL pointer.
13591
13592 2005-04-25  Wim Taymans  <wim@fluendo.com>
13593
13594         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13595         (gst_pad_set_checkgetrange_function),
13596         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
13597         (gst_pad_check_pull_range), (gst_pad_pull_range),
13598         (gst_static_pad_template_get_caps), (gst_pad_start_task),
13599         (gst_pad_pause_task), (gst_pad_stop_task):
13600         * gst/gstplugin.c: (gst_plugin_load):
13601         * gst/gstplugin.h:
13602         Remove gst_library_load as it does more harm than good with
13603         the new g_module flags.
13604         Revert bogus caps template check in pad linking, pad caps
13605         are important when linking not the template, which is more
13606         general than the current caps.
13607
13608 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13609
13610         * gst/autoplug/.cvsignore:
13611         * gst/autoplug/Makefile.am:
13612         * gst/autoplug/gstsearchfuncs.c:
13613         * gst/autoplug/gstsearchfuncs.h:
13614         * gst/autoplug/gstspider.c:
13615         * gst/autoplug/gstspider.h:
13616         * gst/autoplug/gstspideridentity.c:
13617         * gst/autoplug/gstspideridentity.h:
13618         * gst/autoplug/spidertest.c:
13619           Die, spider, die.
13620
13621 2005-04-25  Wim Taymans  <wim@fluendo.com>
13622
13623         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13624         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
13625         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
13626         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
13627         * gst/gstpad.h:
13628         Added stubs for unimplemented functions. 
13629
13630 2005-04-24  David Schleef  <ds@schleef.org>
13631
13632         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
13633         please fix.
13634
13635 2005-04-24  David Schleef  <ds@schleef.org>
13636
13637         Convert everything from GstAtomicInt to g_atomic_int_*, and
13638         remove gstatomic.
13639         * gst/Makefile.am:
13640         * gst/gstatomic.c:
13641         * gst/gstatomic.h:
13642         * gst/gstatomic_impl.h:
13643         * gst/gstbuffer.c:
13644         * gst/gstcaps.c:
13645         * gst/gstcaps.h:
13646         * gst/gstclock.c:
13647         * gst/gstclock.h:
13648         * gst/gstdata.c:
13649         * gst/gstdata.h:
13650         * gst/gstdata_private.h:
13651         * gst/gstevent.c:
13652         * gst/gstinfo.c:
13653         * gst/gstinfo.h:
13654         * gst/gstmessage.c:
13655         * gst/gstobject.c:
13656         * gst/gstobject.h:
13657         * gst/gststructure.c:
13658         * gst/gststructure.h:
13659         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
13660         * gst/gstutils.h:
13661
13662 2005-04-24  David Schleef  <ds@schleef.org>
13663
13664         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
13665         make the regressions tests work.  Remove some code that is no
13666         longer true.
13667         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
13668         Disable warning for pads without templates.
13669
13670 2005-04-24  David Schleef  <ds@schleef.org>
13671
13672         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
13673         functions that handle filtered links.
13674         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
13675         removed functions.
13676         * gst/gstutils.c: Fix/remove utility functions that handle
13677         filtered caps.
13678         * gst/gstutils.h:
13679         * gst/gstvalue.c: Add serialization/deserialization of caps
13680         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
13681         requires fixing so that the filter caps notation creates
13682         a capsfilter element and sets the filter_caps property.  I
13683         think everyone probably wants to keep the shorthand notation.
13684         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
13685         * docs/gst/tmpl/gstpad.sgml:
13686
13687         * gst/elements/gstelements.c: Register capsfilter element.
13688         * gst/Makefile.am: fix spacing
13689         * docs/random/ds/0.9-suggested-changes: random
13690
13691 2005-04-23  David Schleef  <ds@schleef.org>
13692
13693         * gst/elements/Makefile.am:
13694         * gst/elements/gstcapsfilter.c: New element that acts like an
13695         identity, but filters caps.  Will eventually replace filtered
13696         caps in pad linking.
13697         * gst/gstutils.c: (gst_element_create_all_pads): New function
13698         to create all the ALWAYS pads that are registered with an
13699         element class.  This functionality should eventually be
13700         merged in with GstElement initialization.
13701         * gst/gstutils.h:
13702         * testsuite/trigger/README: part of trigger test code that should
13703         have been checked in a long time ago.
13704
13705 2005-04-23  David Schleef  <ds@schleef.org>
13706
13707         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
13708         needed with new versions of libtool (nobody will confirm this),
13709         and hard to carry around.
13710         * gst/autoplug/Makefile.am:
13711         * gst/base/Makefile.am:
13712         * gst/elements/Makefile.am:
13713         * gst/indexers/Makefile.am:
13714         * gst/schedulers/Makefile.am:
13715         * libs/gst/bytestream/Makefile.am:
13716         * libs/gst/control/Makefile.am:
13717         * libs/gst/dataprotocol/Makefile.am:
13718         * libs/gst/getbits/Makefile.am:
13719
13720 2005-04-21  Wim Taymans  <wim@fluendo.com>
13721
13722         * docs/design/draft-push-pull.txt:
13723         * docs/design/part-MT-refcounting.txt:
13724         * docs/design/part-TODO.txt:
13725         * docs/design/part-caps.txt:
13726         * docs/design/part-events.txt:
13727         * docs/design/part-gstbus.txt:
13728         * docs/design/part-gstpipeline.txt:
13729         * docs/design/part-messages.txt:
13730         * docs/design/part-push-pull.txt:
13731         * docs/design/part-query.txt:
13732         Some more docs.
13733
13734 2005-04-21  Wim Taymans  <wim@fluendo.com>
13735
13736         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
13737         (gst_message_new), (gst_message_new_error),
13738         (gst_message_new_warning), (gst_message_new_tag),
13739         (gst_message_new_state_changed), (gst_message_new_application),
13740         (gst_message_get_structure):
13741         * gst/gstmessage.h:
13742         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13743         (gst_structure_copy_conditional):
13744         Use parent refcount in GstMessage to ensure GstStructure
13745         consistency.
13746         Cleaned up headers a bit.
13747         
13748
13749 2005-04-20  Wim Taymans  <wim@fluendo.com>
13750
13751         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13752         (gst_basesink_pad_getcaps), (gst_basesink_init),
13753         (gst_basesink_chain_unlocked):
13754         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
13755         (gst_type_find_helper):
13756         * gst/elements/gsttypefindelement.c:
13757         (gst_type_find_element_have_type), (gst_type_find_element_init),
13758         (stop_typefinding), (gst_type_find_element_handle_event),
13759         (find_suggest), (gst_type_find_element_chain),
13760         (gst_type_find_element_checkgetrange),
13761         (gst_type_find_element_getrange), (do_typefind),
13762         (gst_type_find_element_activate):
13763         * gst/gstbuffer.c: (_gst_buffer_sub_free),
13764         (gst_buffer_default_free), (gst_buffer_default_copy),
13765         (gst_buffer_set_caps):
13766         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
13767         (gst_caps_replace):
13768         * gst/gstmessage.c: (gst_message_new),
13769         (gst_message_new_state_changed):
13770         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13771         (gst_pad_set_checkgetrange_function),
13772         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
13773         (gst_pad_set_caps), (gst_pad_check_pull_range),
13774         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
13775         * gst/gstpad.h:
13776         * gst/gsttypefind.c: (gst_type_find_register):
13777         Make gst_caps_replace() work like other _replace() functions.
13778         Use _caps_replace() where possible.
13779         Make sure _message_new() initialises its field.
13780         Add gst_static_pad_template_get_caps()
13781
13782
13783 2005-04-18  Andy Wingo  <wingo@pobox.com>
13784
13785         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
13786         on the peer, not the pad. I think that was a typo. Pass an extra
13787         arg to see if random access is possible. Activate the pads as
13788         PULL_RANGE if possible.
13789
13790         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
13791
13792         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
13793         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
13794         to PROP_....
13795
13796 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13797
13798         * docs/faq/using.xml:
13799           Add note on gstreamer-properties (#154996).
13800
13801 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13802
13803         * docs/random/bbb/optional-properties:
13804           Some analysis on optional properties.
13805
13806 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13807
13808         * docs/gst/tmpl/gstelementfactory.sgml:
13809         * gst/gstelement.h:
13810         * gst/gstelementfactory.c: (gst_element_factory_init),
13811         (gst_element_factory_cleanup), (gst_element_register),
13812         (__gst_element_factory_add_static_pad_template),
13813         (gst_element_factory_get_static_pad_templates),
13814         (gst_element_factory_can_src_caps),
13815         (gst_element_factory_can_sink_caps):
13816         * gst/registries/Makefile.am:
13817         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
13818         (gst_xml_registry_class_init), (gst_xml_registry_init),
13819         (gst_xml_registry_new), (gst_xml_registry_set_property),
13820         (gst_xml_registry_get_property), (get_time), (make_dir),
13821         (gst_xml_registry_get_perms_func),
13822         (plugin_times_older_than_recurse), (plugin_times_older_than),
13823         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
13824         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
13825         (add_to_char_array), (read_string), (read_uint), (read_enum),
13826         (load_pad_template), (load_feature), (load_plugin), (load_paths),
13827         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
13828         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
13829         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
13830         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
13831         (gst_xml_registry_rebuild):
13832         * gst/registries/gstlibxmlregistry.h:
13833         * tools/gst-compprep.c: (main):
13834         * tools/gst-inspect.c: (print_pad_templates_info):
13835         * tools/gst-xmlinspect.c: (print_element_info):
13836           Use libxml2 for registry parsing, use staticpadtemplates in
13837           elementfactories. Makes gst_init() +/- 10x faster.
13838
13839 2005-04-12  Wim Taymans  <wim@fluendo.com>
13840
13841         * gst/base/Makefile.am:
13842         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13843         (gst_basesink_pad_getcaps), (gst_basesink_init),
13844         (gst_basesink_event), (gst_basesink_change_state):
13845         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13846         (gst_basesrc_init), (gst_basesrc_query),
13847         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
13848         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
13849         (gst_basesrc_check_get_range), (gst_basesrc_loop),
13850         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
13851         (gst_basesrc_stop), (gst_basesrc_activate),
13852         (gst_basesrc_change_state):
13853         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13854         (helper_find_suggest), (gst_type_find_helper):
13855         * gst/base/gsttypefindhelper.h:
13856         * gst/elements/Makefile.am:
13857         * gst/elements/gstelements.c:
13858         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13859         (gst_fakesink_get_times), (gst_fakesink_event),
13860         (gst_fakesink_preroll), (gst_fakesink_render):
13861         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13862         (gst_fakesrc_init), (gst_fakesrc_event_handler),
13863         (gst_fakesrc_get_property), (gst_fakesrc_create),
13864         (gst_fakesrc_start), (gst_fakesrc_stop):
13865         * gst/elements/gstfakesrc.h:
13866         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
13867         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
13868         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
13869         (gst_filesrc_create_read), (gst_filesrc_create),
13870         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
13871         (gst_filesrc_start):
13872         * gst/elements/gsttypefindelement.c:
13873         (gst_type_find_element_have_type), (gst_type_find_element_init),
13874         (start_typefinding), (stop_typefinding), (push_buffer_store),
13875         (gst_type_find_element_handle_event),
13876         (gst_type_find_element_chain),
13877         (gst_type_find_element_checkgetrange),
13878         (gst_type_find_element_getrange), (do_typefind),
13879         (gst_type_find_element_activate),
13880         (gst_type_find_element_change_state):
13881         * gst/elements/gsttypefindelement.h:
13882         * gst/gstpipeline.c: (pipeline_bus_handler):
13883         Added typefind helper.
13884         Small preroll fix in the base sink.
13885         Disable typefind code in basesrc.
13886         Crude port of typefindelement.
13887         Fakesrc cleanups.
13888
13889
13890 2005-04-11  Wim Taymans  <wim@fluendo.com>
13891
13892         * check/gst/gstbus.c: (gstbus_suite):
13893         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
13894         * check/gstcheck.h:
13895           Fix up the timeout so that the test does not fail.
13896
13897 2005-04-06  Wim Taymans  <wim@fluendo.com>
13898
13899         * gst/base/README:
13900         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13901         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
13902         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
13903         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
13904         (gst_basesrc_check_get_range), (gst_basesrc_loop),
13905         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
13906         (gst_basesrc_stop), (gst_basesrc_activate),
13907         (gst_basesrc_change_state), (basesrc_find_peek),
13908         (basesrc_find_suggest), (gst_basesrc_type_find):
13909         * gst/base/gstbasesrc.h:
13910         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
13911         (gst_filesrc_class_init), (gst_filesrc_init),
13912         (gst_filesrc_finalize), (gst_filesrc_set_location),
13913         (gst_filesrc_set_property), (gst_filesrc_get_property),
13914         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
13915         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
13916         (gst_filesrc_create_read), (gst_filesrc_create),
13917         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
13918         * gst/elements/gstfilesrc.h:
13919         * gst/gstelement.c: (gst_element_get_state_func),
13920         (gst_element_lost_state), (gst_element_pads_activate):
13921         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13922         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
13923         (gst_pad_pull_range):
13924         * gst/gstpad.h:
13925         More work on the generic source base class, implement seeking,
13926         query.
13927         Make filesrc extend the base source class.
13928         Added gst_pad_set_checkgetrange_function to GstPad.
13929
13930 2005-04-06  Andy Wingo  <wingo@pobox.com>
13931
13932         * pkgconfig/gstreamer-base.pc.in:
13933         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
13934
13935         * pkgconfig/Makefile.am:
13936         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
13937
13938 2005-04-04  Wim Taymans  <wim@fluendo.com>
13939
13940         * gst/base/Makefile.am:
13941         * gst/base/README:
13942         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13943         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13944         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13945         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
13946         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13947         (gst_basesrc_base_init), (gst_basesrc_class_init),
13948         (gst_basesrc_init), (gst_basesrc_get_formats),
13949         (gst_basesrc_get_query_types), (gst_basesrc_query),
13950         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
13951         (gst_basesrc_set_property), (gst_basesrc_get_property),
13952         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
13953         (gst_basesrc_loop), (gst_basesrc_activate),
13954         (gst_basesrc_change_state):
13955         * gst/base/gstbasesrc.h:
13956         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
13957         (gst_fakesrc_class_init), (gst_fakesrc_init),
13958         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
13959         (gst_fakesrc_get_property), (gst_fakesrc_create):
13960         * gst/elements/gstfakesrc.h:
13961         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
13962         (gst_filesrc_open_file), (gst_filesrc_loop),
13963         (gst_filesrc_activate), (filesrc_find_peek),
13964         (gst_filesrc_type_find):
13965         Made base source class, make fakesrc extend it.
13966         Add comments to basesink class.
13967         Some filesrc cleanup.
13968
13969 2005-03-31  David Schleef  <ds@schleef.org>
13970
13971         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
13972         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
13973         expected to link against libgstreamer.
13974         * gst/base/Makefile.am: link against libgstreamer
13975         * gst/elements/Makefile.am: same
13976
13977 2005-03-31  Andy Wingo  <wingo@pobox.com>
13978
13979         * tests/instantiate/Makefile.am:
13980         * tests/instantiate/caps.c: Add test to test speed of caps copy
13981         and free.
13982
13983         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
13984         GMemChunk to be fair.
13985
13986         * gst/gsttrashstack.h: Remove warning about using the fallback
13987         trash stack implementation, it's still faster than malloc.
13988
13989 2005-03-30  Andy Wingo  <wingo@pobox.com>
13990
13991         * tests/complexity.c: Add a copyright.
13992
13993 2005-03-31  Wim Taymans  <wim@fluendo.com>
13994
13995         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
13996         (gst_base_transform_class_init), (gst_base_transform_init),
13997         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
13998         (gst_base_transform_get_property),
13999         (gst_base_transform_sink_activate),
14000         (gst_base_transform_src_activate),
14001         (gst_base_transform_change_state):
14002         * gst/base/gstbasetransform.h:
14003         * gst/elements/gstidentity.c: (gst_identity_class_init),
14004         (gst_identity_event), (gst_identity_check_perfect),
14005         (gst_identity_transform), (gst_identity_start),
14006         (gst_identity_stop):
14007         Added start/stop methods to transform base class so subclasses 
14008         don't need to deal with state changes even.
14009
14010 2005-03-31  Wim Taymans  <wim@fluendo.com>
14011
14012         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
14013         (gst_event_new_discontinuous), (gst_event_discont_get_value):
14014         * gst/gstevent.h:
14015         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14016         (gst_pad_pull_range):
14017         Added rate to the discont event to prepare for variable speed
14018         and reverse playback.
14019
14020 2005-03-29  David Schleef  <ds@schleef.org>
14021
14022         * configure.ac:
14023         * testsuite/trigger/Makefile.am:
14024         * testsuite/trigger/trigger.c: A little example program to show
14025         how trigger-based elements can work.
14026
14027 2005-03-29  Wim Taymans  <wim@fluendo.com>
14028
14029         * gst/base/Makefile.am:
14030         * gst/base/README:
14031         * gst/base/gstbasesink.c: (gst_basesink_get_type),
14032         (gst_basesink_base_init), (gst_basesink_class_init),
14033         (gst_basesink_pad_getcaps), (gst_basesink_init),
14034         (gst_basesink_activate), (gst_basesink_change_state):
14035         * gst/base/gstbasesink.h:
14036         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
14037         (gst_base_transform_base_init), (gst_base_transform_finalize),
14038         (gst_base_transform_class_init), (gst_base_transform_init),
14039         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
14040         (gst_base_transform_event), (gst_base_transform_getrange),
14041         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
14042         (gst_base_transform_set_property),
14043         (gst_base_transform_get_property),
14044         (gst_base_transform_sink_activate),
14045         (gst_base_transform_src_activate),
14046         (gst_base_transform_change_state):
14047         * gst/base/gstbasetransform.h:
14048         * gst/elements/gstidentity.c: (gst_identity_finalize),
14049         (gst_identity_class_init), (gst_identity_init),
14050         (gst_identity_event), (gst_identity_check_perfect),
14051         (gst_identity_transform), (gst_identity_set_property),
14052         (gst_identity_get_property), (gst_identity_change_state):
14053         * gst/elements/gstidentity.h:
14054         * gst/gstelement.c: (gst_element_get_state_func),
14055         (gst_element_lost_state), (gst_element_pads_activate):
14056         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14057         (gst_pad_check_pull_range), (gst_pad_pull_range):
14058         * gst/gstpad.h:
14059         Simplify pad activation.
14060         Added function to check if pull_range can be performed.
14061         Error out when pulling inactive or flushing pads.
14062         Removed const from refcounted types as it does not make sense.
14063         Simplify pad templates in basesink
14064         Added base class for simple 1-to-1 transforms.
14065         Make identity subclass the base transform.
14066
14067 2005-03-29  Andy Wingo  <wingo@pobox.com>
14068
14069         * docs/libs/gstreamer-libs-overrides.txt: 
14070         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
14071         really don't understand what's going on, but like whatever. I want
14072         green buildbot!
14073
14074         * docs/gst/Makefile.am:
14075         * docs/libs/Makefile.am: Dist the overrides files.
14076
14077         * check/Makefile.am (clean-local): Remove .libs directories.
14078
14079         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
14080         elements to EXTRA_DIST, so po/ files are happy.
14081
14082         * po/POTFILES.in: Er, remove it here.
14083
14084         * po/POTFILES: Remove gstspider.c.
14085
14086         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
14087
14088         * docs/libs/gstreamer-libs-docs.sgml: 
14089         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
14090         bytestream.
14091
14092         * tests/complexity.c (main): Set the length of the preroll queue
14093         on the sinks to prevent a lockup.
14094
14095         * libs/gst/dataprotocol/Makefile.am: 
14096         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
14097         the same as the one in check/gst-libs/gdp.c.
14098
14099         * po/, docs/gst/: Commit automatic changes to docs and po files.
14100
14101         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
14102         the versioned libgstbase.
14103
14104         * check/Makefile.am: Depend on an unversioned gst-register, seems
14105         to make autoconf happier.
14106
14107         * gst/base/Makefile.am: Make libgstbase a versioned lib.
14108
14109 2005-03-28  Wim Taymans  <wim@fluendo.com>
14110
14111         * configure.ac:
14112         * docs/design/part-gstelement.txt:
14113         * docs/design/part-negotiation.txt:
14114         * docs/design/part-preroll.txt:
14115         * docs/design/part-scheduling.txt:
14116         * docs/design/part-states.txt:
14117         * gst/Makefile.am:
14118         * gst/base/Makefile.am:
14119         * gst/base/README:
14120         * gst/base/gstbasesink.c: (gst_basesink_get_template),
14121         (gst_basesink_base_init), (gst_basesink_class_init),
14122         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
14123         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
14124         (gst_basesink_set_pad_functions),
14125         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
14126         (gst_basesink_set_property), (gst_basesink_get_property),
14127         (gst_base_sink_get_template), (gst_base_sink_get_caps),
14128         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
14129         (gst_basesink_preroll_queue_push),
14130         (gst_basesink_preroll_queue_empty),
14131         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
14132         (gst_basesink_event), (gst_basesink_get_times),
14133         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
14134         (gst_basesink_chain_unlocked), (gst_basesink_chain),
14135         (gst_basesink_loop), (gst_basesink_activate),
14136         (gst_basesink_change_state):
14137         * gst/base/gstbasesink.h:
14138         * gst/elements/Makefile.am:
14139         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
14140         (gst_fakesink_class_init), (gst_fakesink_init),
14141         (gst_fakesink_set_property), (gst_fakesink_get_property),
14142         (gst_fakesink_get_times), (gst_fakesink_event),
14143         (gst_fakesink_preroll), (gst_fakesink_render),
14144         (gst_fakesink_change_state):
14145         * gst/elements/gstfakesink.h:
14146         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
14147         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
14148         * gst/gstelement.c: (gst_element_add_pad),
14149         (gst_element_get_state_func), (gst_element_abort_state),
14150         (gst_element_commit_state), (gst_element_lost_state),
14151         (gst_element_set_state), (gst_element_pads_activate):
14152         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
14153         * gst/gstpipeline.c: (gst_pipeline_send_event),
14154         (gst_pipeline_change_state):
14155         Added state change code.
14156         Added/updated docs.
14157         Added sink base class, make fakesink extend the base class.
14158         Small cleanups in GstPipeline.
14159
14160 2005-03-26  David Schleef  <ds@schleef.org>
14161
14162         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
14163         is broken and should be implemented in a different library.
14164         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
14165         * gst/gst.h: remove gstcpu.h
14166         * gst/gstcpu.c: remove
14167         * gst/gstcpu.h: remove
14168         * gst/Makefile.am.future: Remove this file.  It's ancient.
14169
14170 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14171
14172         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
14173         (gst_bin_send_event):
14174           Add default event/set_manager handlers. The set_manager handler
14175           takes care that the manager is distributed over kids that were
14176           already in the bin before the manager was set. The event handler
14177           is a utility virtual function that sends the event over all sinks,
14178           so that gst_element_send_event (bin, event); has the expected
14179           behaviour.
14180         * gst/gstpad.c: (gst_pad_event_default):
14181           Re-install default event handling for discontinuities, so that
14182           seeking works without requiring hacks in applications or extra
14183           code in sinks.
14184         * gst/gstpipeline.c: (gst_pipeline_class_init),
14185         (gst_pipeline_send_event):
14186           Half hack, half utility: set a pipeline to PAUSED for seek events,
14187           since that is the only way we can guarantee a/v sync. Means that
14188           you can do gst_element_seek (pipeline, method, pos); on a pipeline
14189           and it "just works".
14190
14191 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14192
14193         * gst/gstpipeline.c: (gst_pipeline_use_clock):
14194           Lock/unlock mismatch.
14195
14196 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14197
14198         * docs/faq/gst-uninstalled:
14199           add gst-plugins-base
14200         * docs/gst/Makefile.am:
14201           don't error out until docs are fixed
14202         * docs/gst/gstreamer.types:
14203           remove thread
14204
14205 2005-03-22  Wim Taymans  <wim@fluendo.com>
14206
14207         * check/Makefile.am:
14208         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
14209         * gst/gststructure.c: (gst_structure_set_valist),
14210         (gst_structure_copy_conditional):
14211         Activated more tests.
14212         Added message test.
14213         Added G_TYPE_POINTER to GstStructure.
14214         
14215
14216 2005-03-22  Wim Taymans  <wim@fluendo.com>
14217
14218         * docs/design/part-TODO.txt:
14219         * docs/design/part-events.txt:
14220         * docs/design/part-gstbin.txt:
14221         * docs/design/part-gstbus.txt:
14222         * docs/design/part-gstpipeline.txt:
14223         * docs/design/part-messages.txt:
14224         * gst/gstbus.c:
14225         * gst/gstmessage.c:
14226         Docs updates
14227
14228 2005-03-21  Wim Taymans  <wim@fluendo.com>
14229
14230         * gst/gstbus.c: (gst_bus_post):
14231         Fix copy-and-paste error.
14232
14233 2005-03-21  Wim Taymans  <wim@fluendo.com>
14234
14235         * check/Makefile.am:
14236         * gst/Makefile.am:
14237         * gst/elements/Makefile.am:
14238         * gst/elements/gstelements.c:
14239         * gst/elements/gstfakesink.c: (gst_fakesink_init),
14240         (gst_fakesink_event), (gst_fakesink_chain):
14241         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14242         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
14243         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
14244         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
14245         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
14246         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
14247         (gst_fakesrc_loop), (gst_fakesrc_activate),
14248         (gst_fakesrc_change_state):
14249         * gst/elements/gstfakesrc.h:
14250         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
14251         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
14252         (gst_filesrc_open_file), (gst_filesrc_loop),
14253         (gst_filesrc_activate), (gst_filesrc_change_state),
14254         (filesrc_find_peek), (filesrc_find_suggest),
14255         (gst_filesrc_type_find):
14256         * gst/elements/gstidentity.c: (gst_identity_finalize),
14257         (gst_identity_class_init), (gst_identity_init),
14258         (gst_identity_proxy_getcaps), (identity_queue_push),
14259         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
14260         (gst_identity_getrange), (gst_identity_chain),
14261         (gst_identity_sink_loop), (gst_identity_src_loop),
14262         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
14263         (gst_identity_set_property), (gst_identity_get_property),
14264         (gst_identity_change_state):
14265         * gst/elements/gstidentity.h:
14266         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
14267         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
14268         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
14269         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
14270         (gst_tee_sink_activate):
14271         * gst/elements/gsttee.h:
14272         * gst/gst.c: (gst_register_core_elements), (init_post):
14273         * gst/gst.h:
14274         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
14275         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
14276         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
14277         (gst_bin_change_state):
14278         * gst/gstbin.h:
14279         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
14280         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
14281         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
14282         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
14283         (gst_bus_set_sync_handler), (gst_bus_create_watch),
14284         (bus_watch_callback), (bus_watch_destroy),
14285         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
14286         (poll_timeout), (gst_bus_poll):
14287         * gst/gstbus.h:
14288         * gst/gstcaps.h:
14289         * gst/gstdata.h:
14290         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
14291         (gst_element_post_message), (gst_element_message_full),
14292         (gst_element_get_state_func), (gst_element_get_state),
14293         (gst_element_abort_state), (gst_element_commit_state),
14294         (gst_element_lost_state), (gst_element_set_state),
14295         (gst_element_pads_activate), (gst_element_change_state),
14296         (gst_element_dispose), (gst_element_set_manager_func),
14297         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
14298         (gst_element_set_manager), (gst_element_get_manager),
14299         (gst_element_set_bus), (gst_element_get_bus),
14300         (gst_element_set_scheduler), (gst_element_get_scheduler):
14301         * gst/gstelement.h:
14302         * gst/gstevent.c: (gst_event_new_segment_seek),
14303         (gst_event_new_flush):
14304         * gst/gstevent.h:
14305         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
14306         (_gst_message_free), (gst_message_get_type), (gst_message_new),
14307         (gst_message_new_eos), (gst_message_new_error),
14308         (gst_message_new_warning), (gst_message_new_tag),
14309         (gst_message_new_state_changed), (gst_message_new_application),
14310         (gst_message_get_structure), (gst_message_parse_tag),
14311         (gst_message_parse_state_changed), (gst_message_parse_error),
14312         (gst_message_parse_warning):
14313         * gst/gstmessage.h:
14314         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
14315         (gst_real_pad_set_property), (gst_pad_set_active),
14316         (gst_pad_is_active), (gst_pad_set_blocked_async),
14317         (gst_pad_set_blocked), (gst_pad_is_blocked),
14318         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
14319         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
14320         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
14321         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
14322         (gst_pad_link_filtered), (gst_pad_relink_filtered),
14323         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
14324         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
14325         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
14326         (gst_pad_set_caps), (gst_pad_configure_sink),
14327         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
14328         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
14329         (gst_real_pad_dispose), (gst_real_pad_finalize),
14330         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
14331         (gst_pad_event_default_dispatch), (gst_pad_event_default),
14332         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
14333         * gst/gstpad.h:
14334         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
14335         (pipeline_bus_handler), (gst_pipeline_change_state),
14336         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
14337         * gst/gstpipeline.h:
14338         * gst/gstprobe.h:
14339         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
14340         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
14341         (gst_queue_link_src), (gst_queue_bufferalloc),
14342         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
14343         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
14344         (gst_queue_loop), (gst_queue_handle_src_event),
14345         (gst_queue_handle_src_query), (gst_queue_src_activate),
14346         (gst_queue_change_state):
14347         * gst/gstqueue.h:
14348         * gst/gstscheduler.c: (gst_scheduler_init),
14349         (gst_scheduler_dispose), (gst_scheduler_create_task),
14350         (gst_scheduler_factory_create):
14351         * gst/gstscheduler.h:
14352         * gst/gststructure.c: (gst_structure_get_type),
14353         (gst_structure_copy_conditional):
14354         * gst/gststructure.h:
14355         * gst/gsttaginterface.h:
14356         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
14357         (gst_task_init), (gst_task_dispose), (gst_task_create),
14358         (gst_task_get_state), (gst_task_start), (gst_task_stop),
14359         (gst_task_pause):
14360         * gst/gsttask.h:
14361         * gst/gstthread.c:
14362         * gst/gstthread.h:
14363         * gst/gsttypes.h:
14364         * gst/schedulers/Makefile.am:
14365         * gst/schedulers/cothreads_compat.h:
14366         * gst/schedulers/entryscheduler.c:
14367         * gst/schedulers/faircothreads.c:
14368         * gst/schedulers/faircothreads.h:
14369         * gst/schedulers/fairscheduler.c:
14370         * gst/schedulers/gstbasicscheduler.c:
14371         * gst/schedulers/gstoptimalscheduler.c:
14372         * gst/schedulers/gthread-cothreads.h:
14373         * gst/schedulers/threadscheduler.c:
14374         (gst_thread_scheduler_task_get_type),
14375         (gst_thread_scheduler_task_class_init),
14376         (gst_thread_scheduler_task_init),
14377         (gst_thread_scheduler_task_start),
14378         (gst_thread_scheduler_task_stop),
14379         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
14380         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
14381         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
14382         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
14383         (plugin_init):
14384         * libs/gst/Makefile.am:
14385         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
14386         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
14387         (gst_file_pad_parent_set):
14388         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14389         (gst_dp_event_from_packet):
14390         * tests/complexity.c: (main):
14391         * tests/mass_elements.c: (main):
14392         * testsuite/states/locked.c: (message_received), (main):
14393         * testsuite/states/parent.c: (main):
14394         * tools/gst-inspect.c: (print_element_flag_info),
14395         (print_implementation_info), (print_pad_info):
14396         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
14397         (main):
14398         * tools/gst-md5sum.c: (event_loop), (main):
14399         * tools/gst-typefind.c: (main):
14400         * tools/gst-xmlinspect.c: (print_element_info):
14401         Next big merge.
14402         Added GstBus for mainloop integration.
14403         Added GstMessage for sending notifications on the bus.
14404         Added GstTask as an abstraction for pipeline entry points.
14405         Removed GstThread.
14406         Removed Schedulers.
14407         Simplified GstQueue for multithreaded core.
14408         Made _link threadsafe, removed old capsnego.
14409         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
14410         Added pad blocking functions.
14411         Reworked scheduling functions in GstPad to prepare for
14412         scheduling updates soon.
14413         Moved events out of data stream.
14414         Simplified GstEvent types.
14415         Added return values to push/pull.
14416         Removed clocking from GstElement.
14417         Added prototypes for state change function for next merge.
14418         Removed iterate from bins and state change management.
14419         Fixed some elements, disabled others for now.
14420         Fixed -inspect and -launch.
14421         Added check for GstBus.
14422
14423 2005-03-10  Wim Taymans  <wim@fluendo.com>
14424
14425         * docs/design/part-MT-refcounting.txt:
14426         * docs/design/part-clocks.txt:
14427         * docs/design/part-gstelement.txt:
14428         * docs/design/part-gstobject.txt:
14429         * docs/design/part-standards.txt:
14430         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14431         (gst_bin_remove_func), (gst_bin_remove):
14432         * gst/gstbin.h:
14433         * gst/gstbuffer.c:
14434         * gst/gstcaps.h:
14435         * testsuite/clock/clock1.c: (main):
14436         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
14437         (main):
14438         * testsuite/dlopen/loadgst.c: (do_test):
14439         * testsuite/refcounting/bin.c: (add_remove_test1),
14440         (add_remove_test2), (main):
14441         * testsuite/refcounting/element.c: (main):
14442         * testsuite/refcounting/element_pad.c: (main):
14443         * testsuite/refcounting/pad.c: (main):
14444         * tools/gst-launch.c: (sigint_handler_sighandler):
14445         * tools/gst-typefind.c: (main):
14446         Doc updates.
14447         Added doc about clock.
14448         removed gst_bin_iterate_recurse_up(), marked methods
14449         for removal.
14450         Fix more testsuites.
14451
14452 2005-03-09  Wim Taymans  <wim@fluendo.com>
14453
14454         * gst/gstpad.c: (gst_pad_get_direction),
14455         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
14456         (gst_pad_collect_valist):
14457         * testsuite/bins/interface.c: (main):
14458         * testsuite/caps/audioscale.c: (test_caps):
14459         * testsuite/caps/caps.c: (test1), (test2), (test3):
14460         * testsuite/caps/deserialize.c: (main):
14461         * testsuite/caps/enumcaps.c: (main):
14462         * testsuite/caps/filtercaps.c: (main):
14463         * testsuite/caps/intersect2.c: (main):
14464         * testsuite/caps/random.c: (main):
14465         * testsuite/caps/renegotiate.c: (my_fixate), (main):
14466         * testsuite/caps/sets.c: (check_caps):
14467         * testsuite/caps/simplify.c: (check_caps), (main):
14468         * testsuite/caps/subtract.c: (check_caps):
14469         Fix _pad_get_direction wrt ghostpads.
14470         Fix caps testsuite.
14471
14472 2005-03-09  Wim Taymans  <wim@fluendo.com>
14473
14474         * check/Makefile.am:
14475         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
14476         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
14477         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
14478         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
14479         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
14480         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
14481         (gst_bin_remove), (gst_bin_iterate_recurse_up),
14482         (bin_element_is_sink), (gst_bin_iterate_sinks),
14483         (gst_bin_iterate_all_by_interface):
14484         * gst/gstbin.h:
14485         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
14486         (gst_element_change_state), (gst_element_dispose),
14487         (gst_element_finalize), (gst_element_set_loop_function):
14488         * gst/gstelement.h:
14489         * gst/gstiterator.c: (find_custom_fold_func):
14490         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
14491         (gst_pad_collectv), (gst_pad_collect_valist),
14492         (gst_pad_template_new):
14493         * gst/gstpipeline.c: (gst_pipeline_class_init),
14494         (gst_pipeline_dispose), (gst_pipeline_set_property),
14495         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
14496         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
14497         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
14498         * gst/gstutils.h:
14499         * gst/schedulers/entryscheduler.c:
14500         * gst/schedulers/gstbasicscheduler.c:
14501         (gst_basic_scheduler_cothreaded_chain),
14502         (gst_basic_scheduler_chain_add_element):
14503         * testsuite/bins/interface.c: (main):
14504         Added GstBin test.
14505         Added GstSystemClock test.
14506         Implemented clock distribution code in GstBin.
14507         Implemented iterate sinks method for future use.
14508         Rearranged gstelement.h
14509         Fix GstIterator comparison bug.
14510         Moved some code to GstPipeline, mostly clocking related.
14511
14512 2005-03-09  Wim Taymans  <wim@fluendo.com>
14513
14514         * configure.ac:
14515         * gst/gst_private.h:
14516         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14517         (gst_bin_remove_func), (gst_bin_remove),
14518         (gst_bin_get_by_name_recurse_up):
14519         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
14520         (gst_clock_id_compare_func), (gst_clock_id_wait),
14521         (gst_clock_id_wait_async), (gst_clock_init),
14522         (gst_clock_adjust_unlocked), (gst_clock_get_time):
14523         * gst/gstelement.h:
14524         * gst/gstinfo.c: (_gst_debug_init):
14525         * gst/gstobject.h:
14526         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
14527         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
14528         * gst/gstpad.h:
14529         Bump version number, we're now 0.9.0
14530         Add future debugging category.
14531         Fix NULL _unref() in _get_by_name_recurse_up
14532         Rearrange gstpad.h.
14533         Update some docs.
14534
14535 2005-03-08  Wim Taymans  <wim@fluendo.com>
14536
14537         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
14538         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
14539         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
14540         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
14541         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
14542         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
14543         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
14544         * gst/elements/gstidentity.c: (gst_identity_class_init):
14545         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
14546         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
14547         * gst/elements/gstshaper.c: (gst_shaper_class_init):
14548         * gst/elements/gststatistics.c: (gst_statistics_class_init):
14549         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
14550         (gst_tee_link):
14551         * gst/gstelement.c: (gst_element_class_init),
14552         (gst_element_base_class_init), (gst_element_init),
14553         (gst_element_get_random_pad), (gst_element_wait_state_change),
14554         (gst_element_change_state), (gst_element_dispose),
14555         (gst_element_finalize), (gst_element_set_loop_function):
14556         * gst/gstelement.h:
14557         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
14558         * gst/gstthread.c: (gst_thread_class_init),
14559         (gst_thread_release_children_locks), (gst_thread_change_state):
14560         * gst/schedulers/gstbasicscheduler.c:
14561         (gst_basic_scheduler_loopfunc_wrapper),
14562         (gst_basic_scheduler_chain_wrapper),
14563         (gst_basic_scheduler_src_wrapper),
14564         (gst_basic_scheduler_remove_element):
14565         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
14566         Remove threadsafe properties. Fix elements because GObject
14567         complains when installing a property before declaring a
14568         set/get_property handler.
14569         Rearrange gstelement.h file, use STATE macros for state locks.
14570         Free mutexes in the finalize method instead of dispose.
14571
14572 2005-03-08  Wim Taymans  <wim@fluendo.com>
14573
14574         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
14575         * gst/gstthread.c: (gst_thread_release_children_locks):
14576         Added parentage check.
14577         Fix build og GstThread again.
14578
14579 2005-03-08  Wim Taymans  <wim@fluendo.com>
14580
14581         * docs/design/part-MT-refcounting.txt:
14582         * docs/design/part-conventions.txt:
14583         * docs/design/part-gstobject.txt:
14584         * docs/design/part-relations.txt:
14585         * docs/design/part-standards.txt:
14586         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14587         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
14588         (gst_bin_get_by_name), (gst_bin_get_by_interface),
14589         (gst_bin_iterate_all_by_interface):
14590         * gst/gstbuffer.h:
14591         * gst/gstclock.h:
14592         * gst/gstelement.c: (gst_element_class_init),
14593         (gst_element_change_state), (gst_element_set_loop_function):
14594         * gst/gstelement.h:
14595         * gst/gstiterator.c:
14596         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
14597         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
14598         (gst_object_dispatch_properties_changed), (gst_object_set_name),
14599         (gst_object_set_parent), (gst_object_unparent),
14600         (gst_object_check_uniqueness):
14601         * gst/gstobject.h:
14602         Docs updates, clean up some headers.
14603
14604 2005-03-07  Wim Taymans  <wim@fluendo.com>
14605
14606         * check/.cvsignore:
14607         * check/Makefile.am:
14608         * check/gst-libs/.cvsignore:
14609         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
14610         * check/gst/.cvsignore:
14611         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
14612         (START_TEST), (gstbus_suite), (main):
14613         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
14614         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
14615         (gst_data_suite), (main):
14616         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
14617         (add_fold_func), (gstiterator_suite), (main):
14618         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
14619         (thread_name_object), (thread_name_object_default),
14620         (gst_object_name_compare), (gst_object_suite), (main):
14621         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
14622         (gst_pad_suite), (main):
14623         * check/gstcheck.c: (gst_check_log_message_func),
14624         (gst_check_log_critical_func), (gst_check_init):
14625         * check/gstcheck.h:
14626         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
14627         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
14628         Added checks.
14629
14630 2005-03-07  Wim Taymans  <wim@fluendo.com>
14631
14632         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
14633         (gst_list_iterator_next), (gst_list_iterator_resync),
14634         (gst_list_iterator_free), (gst_iterator_new_list),
14635         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
14636         (gst_iterator_free), (gst_iterator_push), (filter_next),
14637         (filter_resync), (filter_uninit), (filter_free),
14638         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
14639         (gst_iterator_foreach), (find_custom_fold_func),
14640         (gst_iterator_find_custom):
14641         * gst/gstiterator.h:
14642         Added missing files.
14643
14644 2005-03-07  Wim Taymans  <wim@fluendo.com>
14645
14646         * Makefile.am:
14647         * configure.ac:
14648         * docs/design/part-MT-refcounting.txt:
14649         * docs/design/part-conventions.txt:
14650         * docs/design/part-gstobject.txt:
14651         * docs/design/part-relations.txt:
14652         * examples/mixer/mixer.c: (main):
14653         * examples/thread/thread.c: (eos), (main):
14654         * gst/Makefile.am:
14655         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14656         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
14657         (gst_spider_plug_from_srcpad):
14658         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
14659         (gst_spider_identity_change_state),
14660         (gst_spider_identity_sink_loop_type_finding):
14661         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
14662         * gst/elements/gstidentity.c: (gst_identity_init):
14663         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
14664         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
14665         * gst/elements/gsttypefindelement.c: (free_entry):
14666         * gst/gst.c:
14667         * gst/gst.h:
14668         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
14669         (gst_bin_set_clock_func), (gst_bin_auto_clock),
14670         (gst_bin_set_index), (gst_bin_set_element_sched),
14671         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
14672         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
14673         (gst_bin_iterate_elements), (iterate_child_recurse),
14674         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
14675         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
14676         (compare_interface), (gst_bin_get_by_interface),
14677         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
14678         * gst/gstbin.h:
14679         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
14680         (gst_buffer_default_free), (gst_buffer_default_copy),
14681         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
14682         (gst_buffer_create_sub):
14683         * gst/gstbuffer.h:
14684         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
14685         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
14686         (gst_caps_unref), (gst_static_caps_get),
14687         (gst_caps_remove_and_get_structure), (gst_caps_append),
14688         (gst_caps_append_structure), (gst_caps_remove_structure),
14689         (gst_caps_copy_nth), (gst_caps_set_simple),
14690         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
14691         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
14692         (gst_caps_structure_intersect_field), (gst_caps_intersect),
14693         (gst_caps_structure_subtract_field), (gst_caps_subtract),
14694         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
14695         (gst_caps_structure_figure_out_union),
14696         (gst_caps_switch_structures), (gst_caps_do_simplify),
14697         (gst_caps_replace), (gst_caps_from_string),
14698         (gst_caps_copy_conditional):
14699         * gst/gstcaps.h:
14700         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
14701         (_gst_clock_id_free), (gst_clock_id_unref),
14702         (gst_clock_id_compare_func), (gst_clock_id_wait),
14703         (gst_clock_id_wait_async), (gst_clock_class_init),
14704         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
14705         (gst_clock_get_time), (gst_clock_set_time_adjust),
14706         (gst_clock_set_property), (gst_clock_get_property):
14707         * gst/gstclock.h:
14708         * gst/gstcompat.h:
14709         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
14710         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
14711         * gst/gstdata.h:
14712         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
14713         (gst_element_requires_clock), (gst_element_provides_clock),
14714         (gst_element_set_clock), (gst_element_clock_wait),
14715         (gst_element_wait), (gst_element_set_time_delay),
14716         (gst_element_is_indexable), (gst_element_add_pad),
14717         (gst_element_add_ghost_pad), (gst_element_remove_pad),
14718         (pad_compare_name), (gst_element_get_static_pad),
14719         (gst_element_request_pad), (gst_element_get_request_pad),
14720         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
14721         (gst_element_class_get_pad_template_list),
14722         (gst_element_class_get_pad_template), (gst_element_error_func),
14723         (gst_element_get_random_pad), (gst_element_get_event_masks),
14724         (gst_element_send_event), (gst_element_seek),
14725         (gst_element_get_query_types), (gst_element_query),
14726         (gst_element_get_formats), (gst_element_convert),
14727         (gst_element_is_locked_state), (gst_element_set_locked_state),
14728         (gst_element_sync_state_with_parent), (gst_element_change_state),
14729         (gst_element_finalize), (gst_element_yield),
14730         (gst_element_interrupt), (gst_element_set_scheduler),
14731         (gst_element_get_scheduler), (gst_element_set_loop_function):
14732         * gst/gstelement.h:
14733         * gst/gstevent.h:
14734         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
14735         (gst_format_get_by_nick), (gst_format_get_details),
14736         (gst_format_iterate_definitions):
14737         * gst/gstformat.h:
14738         * gst/gstindex.c: (gst_index_gtype_resolver):
14739         * gst/gstinfo.c:
14740         * gst/gstinfo.h:
14741         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
14742         (gst_mem_chunk_free):
14743         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
14744         (gst_object_ref), (gst_object_unref), (gst_object_sink),
14745         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
14746         (gst_object_dispatch_properties_changed),
14747         (gst_object_set_name_default), (gst_object_set_name),
14748         (gst_object_get_name), (gst_object_set_name_prefix),
14749         (gst_object_get_name_prefix), (gst_object_set_parent),
14750         (gst_object_get_parent), (gst_object_unparent),
14751         (gst_object_check_uniqueness), (gst_object_save_thyself),
14752         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
14753         (gst_object_set_property), (gst_object_get_property),
14754         (gst_object_get_path_string):
14755         * gst/gstobject.h:
14756         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
14757         (gst_real_pad_init), (gst_real_pad_get_property),
14758         (gst_pad_custom_new), (gst_pad_get_direction),
14759         (gst_pad_set_active), (gst_pad_is_active),
14760         (gst_pad_set_event_function), (gst_pad_is_linked),
14761         (gst_pad_link_free), (gst_pad_link_intersect),
14762         (gst_pad_link_fixate), (gst_pad_set_caps),
14763         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
14764         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
14765         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
14766         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
14767         (gst_pad_get_caps), (gst_pad_peer_get_caps),
14768         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
14769         (gst_pad_realize), (gst_pad_get_allowed_caps),
14770         (gst_real_pad_dispose), (gst_real_pad_finalize),
14771         (gst_pad_collectv), (gst_pad_collect_valist),
14772         (gst_pad_template_dispose), (gst_pad_template_new),
14773         (gst_pad_get_internal_links):
14774         * gst/gstpad.h:
14775         * gst/gstpipeline.c: (gst_pipeline_dispose),
14776         (gst_pipeline_change_state):
14777         * gst/gstpipeline.h:
14778         * gst/gstplugin.c:
14779         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
14780         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
14781         * gst/gstpluginfeature.h:
14782         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
14783         * gst/gstquery.c: (_gst_query_type_initialize),
14784         (gst_query_type_register), (gst_query_type_get_by_nick),
14785         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
14786         * gst/gstquery.h:
14787         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
14788         * gst/gstscheduler.c: (gst_scheduler_add_element),
14789         (gst_scheduler_factory_create):
14790         * gst/gststructure.c: (gst_structure_set_parent_refcount),
14791         (gst_structure_free), (gst_structure_set_name),
14792         (gst_structure_id_set_value), (gst_structure_set_value),
14793         (gst_structure_set_valist), (gst_structure_remove_field),
14794         (gst_structure_remove_fields),
14795         (gst_structure_remove_fields_valist),
14796         (gst_structure_remove_all_fields), (gst_structure_foreach),
14797         (gst_structure_map_in_place),
14798         (gst_caps_structure_fixate_field_nearest_int),
14799         (gst_caps_structure_fixate_field_nearest_double):
14800         * gst/gststructure.h:
14801         * gst/gstsystemclock.c: (gst_system_clock_class_init),
14802         (gst_system_clock_init), (gst_system_clock_dispose),
14803         (gst_system_clock_async_thread),
14804         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
14805         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
14806         * gst/gstsystemclock.h:
14807         * gst/gsttag.c: (gst_tag_list_add_value_internal),
14808         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
14809         * gst/gsttaginterface.c:
14810         * gst/gstthread.c: (gst_thread_dispose),
14811         (gst_thread_release_children_locks), (gst_thread_change_state),
14812         (gst_thread_main_loop):
14813         * gst/gsttrashstack.h:
14814         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
14815         * gst/gsttypes.h:
14816         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14817         (gst_element_request_pad), (gst_element_get_pad_from_template),
14818         (gst_element_request_compatible_pad),
14819         (gst_element_get_compatible_pad_filtered),
14820         (gst_element_get_compatible_pad), (gst_element_state_get_name),
14821         (gst_element_link_pads_filtered), (gst_element_link_filtered),
14822         (gst_element_link_many), (gst_element_link),
14823         (gst_element_link_pads), (gst_element_unlink_pads),
14824         (gst_element_unlink_many), (gst_element_unlink),
14825         (gst_pad_can_link_filtered), (gst_pad_can_link),
14826         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
14827         (gst_object_default_error), (gst_bin_add_many),
14828         (gst_bin_remove_many), (gst_element_populate_std_props),
14829         (gst_element_class_install_std_props), (gst_buffer_merge),
14830         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
14831         (link_fold_func), (gst_pad_proxy_setcaps):
14832         * gst/gstutils.h:
14833         * gst/gstvalue.c: (gst_value_deserialize_string):
14834         * gst/parse/grammar.y:
14835         * gst/schedulers/gstbasicscheduler.c:
14836         (gst_basic_scheduler_cothreaded_chain),
14837         (gst_basic_scheduler_chain_recursive_add),
14838         (gst_basic_scheduler_pad_link):
14839         * gst/schedulers/gstoptimalscheduler.c:
14840         (get_group_schedule_function),
14841         (gst_opt_scheduler_state_transition),
14842         (gst_opt_scheduler_add_element), (element_get_reachables_func):
14843         * libs/gst/bytestream/bytestream.c:
14844         * libs/gst/dataprotocol/dataprotocol.c:
14845         (gst_dp_header_from_buffer):
14846         * po/nb.po:
14847         * po/ru.po:
14848         * tests/threadstate/threadstate2.c: (eos):
14849         * tools/gst-compprep.c: (main):
14850         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
14851         (print_pad_info), (print_children_info):
14852         * tools/gst-launch.c: (idle_func), (main):
14853         * tools/gst-md5sum.c: (idle_func), (main):
14854         * tools/gst-xmlinspect.c: (print_element_info):
14855         First THREADED backport attempt, focusing on adding locks and
14856         making sure the API is threadsafe. Needs more work. More docs
14857         follow this week.
14858
14859 2005-02-24  Andy Wingo  <wingo@pobox.com>
14860
14861         * tests/bench-complexity.scm:
14862         * tests/complexity.gnuplot: New files, good for running complexity
14863         benchmarks.
14864
14865         * tests/Makefile.am:
14866         * tests/complexity.c: New test, sets up N elements, at each level
14867         teeing into M streams per element. Eeeenteresting.
14868
14869         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
14870         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
14871         running bench-mass_elements.scm.
14872
14873         * tests/bench-mass_elements.scm: New script, runs mass_elements
14874         for various numbers of identities, outputting the results to a
14875         file. Requires guile 1.6. Just for testing.
14876
14877 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14878
14879         * gst/schedulers/fairscheduler.c:
14880           compile with debug disabled
14881
14882 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14883
14884         * configure.ac:
14885           hunting season on 0.9 is now OPEN