gst/gstinfo.h: Add GST_STR_NULL to the second string.
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-02-19  Julien MOUTTE  <julien@moutte.net>
2
3         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
4         * gst/gstpad.c: (gst_pad_set_event_function),
5         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
6         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
7         2 strings. You can't use the STR_NULL macro on that.
8
9 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
10
11         * gst/gstpad.c: (gst_pad_set_event_function),
12         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13         (gst_pad_set_getcaps_function)
14         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
15                 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
16                 So now, we can use --gst-debug-level=5 on Windows
17         * win32/common/libgstcontroller.def:
18           Added export of gst_controller_init
19         * win32/vs6/libgstcontroller.dsp:
20           Fixed Release post build configuration
21
22 2006-02-17  Wim Taymans  <wim@fluendo.com>
23
24         * tests/check/gst/gstquery.c: (GST_START_TEST):
25         Added another check.
26
27 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
28
29         * plugins/elements/gsttypefindelement.c: (find_peek):
30           We can do peeks at non-zero offsets, as long as they
31           fall within the buffer we have.
32
33 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
34
35         * tests/check/Makefile.am:
36         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
37         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
38         (parse_suite), (main):
39           Add testsuite for parse launch syntax
40
41 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
42
43         * plugins/elements/gsttypefindelement.c:
44         (gst_type_find_element_chain):
45           When typefinding is unsuccessful in the chain function, don't
46           error out immediately. Only error out with NO_CAPS_FOUND if
47           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
48           otherwise simply wait for more data so we can try typefinding
49           again with more data later. Also, don't attempt to typefind
50           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
51           this should improve typefinding from network sources where the
52           size of the first buffer can be somewhat random.
53
54 2006-02-14  Wim Taymans  <wim@fluendo.com>
55
56         * docs/gst/gstreamer-sections.txt:
57         * gst/gstpadtemplate.c:
58         * gst/gstpadtemplate.h:
59         Fix padtemplate docs, fixes #328805.
60
61 2006-02-14  Wim Taymans  <wim@fluendo.com>
62
63         * tools/gst-launch.c: (main):
64         NO_PREROLL is not an ERROR so don't send confusing messages
65         to the user.
66
67 2006-02-14  Wim Taymans  <wim@fluendo.com>
68
69         * gst/gstregistry.c: (gst_registry_get_default),
70         (_gst_registry_cleanup):
71         Protect default registry with lock and ref/sink it.
72         Fixes #324818, patch by Torsten Schoenfeld.
73
74 2006-02-14  Wim Taymans  <wim@fluendo.com>
75
76         * gst/gstbuffer.c:
77         * gst/gstquery.c: (gst_query_list_add_format),
78         (gst_query_set_formatsv), (gst_query_parse_formats_length),
79         (gst_query_parse_formats_nth):
80         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
81         Docs fixes.
82
83 2006-02-14  Wim Taymans  <wim@fluendo.com>
84
85         * docs/gst/gstreamer-sections.txt:
86         Reworked query docs.
87
88         * gst/gstquery.c: (gst_query_new_formats),
89         (gst_query_list_add_format), (gst_query_set_formats),
90         (gst_query_set_formatsv), (gst_query_parse_formats_length),
91         (gst_query_parse_formats_nth):
92         * gst/gstquery.h:
93         Flesh out formats query, added some new methods.
94         Fix part of #324398.
95
96         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
97         Added query creation tests.
98
99 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
100
101         * gst/gstpad.c: (fixate_value):
102         Add a default fixation for fraction lists.
103
104 2006-02-13  Wim Taymans  <wim@fluendo.com>
105
106         * gst/gsttask.c: (gst_task_init), (gst_task_func),
107         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
108         (gst_task_join):
109         * gst/gsttask.h:
110         Detect and warn for obvious deadlocks. fixes #320340
111         Fix error case where lock was not released.
112
113         * tests/check/Makefile.am:
114         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
115         (task_func), (gst_element_suite), (main):
116         Add task check.
117
118 2006-02-13  Wim Taymans  <wim@fluendo.com>
119
120         * docs/gst/gstreamer-sections.txt:
121         * gst/gstbus.c:
122         Add new functions to docs.
123
124 2006-02-13  Wim Taymans  <wim@fluendo.com>
125
126         * docs/design/part-TODO.txt:
127         Updated TODO list, basesrc supports seeking to non-bytes
128         formats.
129
130         * docs/design/part-element-sink.txt:
131         Update docs.
132
133         * gst/gstbin.c: (bin_replace_message),
134         (gst_bin_handle_message_func):
135         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
136         * gst/gstevent.c: (gst_event_finalize):
137         * gst/gstpad.c: (gst_pad_event_default_dispatch),
138         (gst_pad_send_event):
139         Use shiny new _TYPE_NAME macros.
140
141         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
142         Move debug statement up.
143
144         * gst/gstelement.c: (gst_element_set_locked_state):
145         Add some debugging.
146
147 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
148
149         * docs/gst/gstreamer-sections.txt:
150         * gst/gstmessage.h:
151         * gst/gstquery.h:
152           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
153           macros (#330906). Also, document the already existing
154           GST_QUERY_TYPE macro.
155
156 2006-02-13  Wim Taymans  <wim@fluendo.com>
157
158         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
159         (event_probe), (GST_START_TEST):
160         Only events up to the pipeline EOS are counted, there are
161         some more when going to NULL currently which we don't care
162         about for now.
163
164 2006-02-13  Wim Taymans  <wim@fluendo.com>
165
166         * gst/gstpad.c: (gst_pad_send_event):
167         Correctly check flushing and emit probes. fixes #330125
168
169 2006-02-10  Andy Wingo  <wingo@pobox.com>
170
171         * gst/gstbus.c (gst_bus_class_init): Declare our private data
172         structure.
173         (gst_bus_init): Cache the location of the private data in the
174         instance structure.
175         (gst_bus_enable_sync_message_emission) 
176         (gst_bus_disable_sync_message_emission): Implement new public
177         functions.
178         (gst_bus_post): Emit the sync-message signal if the user asked for
179         it. Fixes #330684.
180
181         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
182         location of the bus-private structuure.
183         (gst_bus_enable_sync_message_emission)
184         (gst_bus_disable_sync_message_emission): New public functions.
185
186 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
187
188         * docs/pwg/building-boiler.xml:
189         PWG patch from #326800 (Patch by Vincent Torri)
190
191 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
192
193         * configure.ac:
194         * docs/Makefile.am:
195         * docs/design/Makefile.am:
196           Dist design docs.
197
198 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
199
200         * configure.ac:
201           back to CVS
202
203 === release 0.10.3 ===
204
205 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
206
207         * configure.ac:
208           releasing 0.10.3, "Like a virgin"
209
210 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
211
212         * configure.ac:
213           2nd prerelease of 0.10.3
214           Bump libtool versioning.
215
216 2006-02-07  Andy Wingo  <wingo@pobox.com>
217
218         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
219         update last_stop if we're in TIME format and the timestamp is
220         valid.
221
222         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
223         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
224         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
225         If we get a new newsegment with a different format, adapt
226         accordingly.
227
228         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
229         of 0. Not a problem, really.
230
231         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
232         warn if sync=true.
233
234 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
235
236         * configure.ac:
237           Prelease of 0.10.3
238
239 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
240
241         * win32/vs7:
242           project files updated to the default vs7 configuration
243         * win32/common/libgstbase.def:
244         * win32/common/libgstreamer.def:
245           added new symbols,
246           removed empty lines,
247           sorted all exported symbols alphabetically
248         * win32/common/dirent.c:
249         * win32/common/dirent.h:
250         * win32/common/gchar.h:
251           use windows line end.
252           
253 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
254
255         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
256           Send EOS event when stopping.
257
258 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
259
260         * docs/README:
261           Tell folks what to do if the plugin-foobar.xml file
262           hasn't been generated for a newly-added plugin.
263
264 2006-02-05  Julien MOUTTE  <julien@moutte.net>
265
266         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
267         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
268         (gst_collect_pads_start), (gst_collect_pads_stop),
269         (gst_collect_pads_event): Collectpads now holds a reference
270         to the GstPad that was added. Indeed we don't want to look
271         at pads that might just go away with no warning...
272
273 2006-02-05  Julien MOUTTE  <julien@moutte.net>
274
275         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
276         (gst_collect_pads_start), (gst_collect_pads_stop),
277         (gst_collect_pads_event), (gst_collect_pads_chain):
278         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
279         Mark Nauwelaerts's patch on bug #328491.
280
281 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
282
283         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
284         (gst_utils_suite):
285           Add some simple tests for gst_parse_bin_from_description() and
286           gst_bin_find_unconnected_pad() (#329069).
287
288 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
289
290         * tools/gst-launch.c: (event_loop), (main):
291           Catch errors during preroll (#320084).
292
293 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
294
295         * plugins/elements/gsttypefindelement.c:
296         (gst_type_find_element_activate):
297           Post TYPE_NOT_FOUND error message when typefinding
298           is unsuccessful in the activate function as well.
299
300 2006-02-02  Wim Taymans  <wim@fluendo.com>
301
302         * docs/design/part-element-sink.txt:
303         Updated doc.
304
305 2006-02-02  Wim Taymans  <wim@fluendo.com>
306
307         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
308         (gst_base_sink_render_object),
309         (gst_base_sink_queue_object_unlocked):
310         Only keep track of prerollable items when we are 
311         prerolling.
312         Before rendering after preroll, always check if we
313         have queued items.
314         Added some more debugging.
315
316 2006-02-02  Wim Taymans  <wim@fluendo.com>
317
318         * gst/gstelement.c: (gst_element_continue_state),
319         (gst_element_set_state_func), (gst_element_change_state):
320         Fixed #326576, been running this for quite some time with
321         no regressions at all.
322
323 2006-02-02  Wim Taymans  <wim@fluendo.com>
324
325         * common/gst.supp:
326         Added more suppressions
327
328 2006-02-02  Wim Taymans  <wim@fluendo.com>
329
330         * docs/design/part-element-sink.txt:
331         Updated document.
332
333         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
334         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
335         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
336         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
337         (gst_base_sink_do_sync), (gst_base_sink_render_object),
338         (gst_base_sink_preroll_object),
339         (gst_base_sink_queue_object_unlocked),
340         (gst_base_sink_queue_object), (gst_base_sink_event),
341         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
342         (gst_base_sink_loop), (gst_base_sink_activate_pull),
343         (gst_base_sink_get_position), (gst_base_sink_change_state):
344         * libs/gst/base/gstbasesink.h:
345         Totally refactored matching the design doc.
346         Use two segments, one to clip incomming buffers and another to
347         perform sync.
348         Handle queueing correctly, bypass the queue when playing.
349         Make EOS cancelable.
350         Handle errors correctly when operating in pull based mode.
351
352         * tests/check/elements/fakesink.c: (GST_START_TEST),
353         (fakesink_suite):
354         Added new check for sinks.
355
356 2006-02-02  Wim Taymans  <wim@fluendo.com>
357
358         * gst/gstsegment.c: (gst_segment_clip):
359         No reason to refuse to clip when start == -1
360
361 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
362
363         * docs/README:
364         * docs/manual/intro-basics.xml:
365         * docs/manual/intro-preface.xml:
366         * docs/manual/manual.xml:
367         * docs/pwg/advanced-dparams.xml:
368         * docs/pwg/intro-basics.xml:
369         * docs/pwg/intro-preface.xml:
370         * docs/pwg/pwg.xml:
371           describe dparams (controller) for plugins
372           unify docs a little more
373
374 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
375
376         * docs/gst/gstreamer-sections.txt:
377         * gst/gstutils.c: (element_find_unconnected_pad),
378         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
379         * gst/gstutils.h:
380           Add new API: gst_parse_bin_from_description() and
381           gst_bin_find_unconnected_pad() (#329069).
382
383 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
384
385         * docs/manual/README:
386           uncover a nasty detail of the docs build
387
388 2006-01-31  Wim Taymans  <wim@fluendo.com>
389
390         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
391         Don't cache duration messages if we're not going to use or
392         free them.
393
394 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
395
396         * docs/manual/advanced-dparams.xml:
397         * docs/pwg/advanced-dparams.xml:
398           more dparam docs
399         * gst/gstindex.c:
400           fix docs
401         * libs/gst/controller/lib.c: (gst_controller_init):
402           init just once
403
404 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
405
406         * gst/gstelement.c: (gst_element_message_full):
407           also show file/line/func if no additional debug was given
408
409 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
410         
411         * win32/vs7/grammar.vcproj:
412                 activate copy of autogenerated files for Release mode
413
414 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
415         
416         * win32/common/libgstreamer.def:
417                 export gst_value_compare
418
419 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
420
421         * plugins/elements/Makefile.am:
422         * plugins/elements/gstelements.c:
423         * plugins/elements/gstfdsink.c: (_do_init),
424         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
425         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
426         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
427         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
428         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
429         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
430         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
431         * plugins/elements/gstfdsink.h:
432         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
433
434 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
435
436         * docs/manual/advanced-dparams.xml:
437           describe controller
438         * docs/manual/advanced-position.xml:
439         * docs/manual/basics-init.xml:
440         * docs/manual/manual.xml:
441         * docs/manual/titlepage.xml:
442         * docs/pwg/pwg.xml:
443         * docs/pwg/titlepage.xml:
444           cleanup xml (more to come)
445         * libs/gst/controller/gstcontroller.c:
446           fix typo
447
448 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
449         
450         * win32/vs6/grammar.dsp:
451                 add autogen of gstmarshal.c,h for Release mode
452                 
453 2006-01-30  Wim Taymans  <wim@fluendo.com>
454
455         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
456         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
457         (gst_base_sink_handle_object), (gst_base_sink_event),
458         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
459         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
460         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
461         (gst_base_sink_deactivate), (gst_base_sink_activate),
462         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
463         (gst_base_sink_query), (gst_base_sink_change_state):
464         Basesink cleanups, remove some old code.
465         Handle the case where a subclass can preroll in the render
466         method (mostly audiosinks).
467         Handle more events.
468         Remove some locks around variables that are now protected
469         with the PREROLL_LOCK (clock_id, flushing, ..).
470         Optimize position query some more, do correct locking.
471         Remove old code to push queue in state change, this is not
472         needed anymore since preroll blocks on all prerollable items 
473         now.
474         Almost implemented as described in design doc.
475
476 2006-01-30  Wim Taymans  <wim@fluendo.com>
477
478         * tests/check/gst/gstbin.c: (GST_START_TEST):
479         Wait for refcount to settle down before checking.
480
481 2006-01-30  Wim Taymans  <wim@fluendo.com>
482
483         * docs/design/part-element-sink.txt:
484         Pseudo code overview of desired sink behaviour regarding
485         preroll.
486
487 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
488         * win32/vs6/grammar.dsp:
489                 fix some bugs in Release mode for autogenerated files
490                 
491 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
492         * win32/common/libgstbase.def:
493         * win32/common/libgstreamer.def:
494                 export some new symbols: gst_base_src_set_format,
495                 gst_iterator_next, gst_structure_set_valist
496
497 2006-01-29  Julien MOUTTE  <julien@moutte.net>
498
499         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
500         Set pad functions unconditionally. Fixes #329105.
501
502 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
503         * win32/vs8:
504                 add vs8 project files created by Sergey Scobich
505
506 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
507
508         * gst/gstutils.c: (gst_element_unlink_pads):
509         Don't leak pad references.
510
511         * tests/check/elements/fakesink.c: (GST_START_TEST):
512         * tests/check/generic/sinks.c: (GST_START_TEST):
513         * tests/check/generic/states.c: (GST_START_TEST):
514         * tests/check/gst/gstbin.c: (GST_START_TEST):
515         * tests/check/gst/gstcaps.c: (GST_START_TEST):
516         * tests/check/gst/gstelement.c: (GST_START_TEST):
517         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
518         * tests/check/gst/gstiterator.c: (GST_START_TEST):
519         * tests/check/gst/gstvalue.c: (GST_START_TEST):
520         Fix a bunch of leaks. Make generic/sinks.c
521         use a bit less cpu by slowing the buffer rate
522         between fakesrc and fakesink.
523         
524 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
525         * gst/gstcaps.c:
526         * gst/gstelement.c: (gst_element_send_event):
527         * gst/gstevent.c:
528         * gst/gstinfo.c:
529         * gst/gstiterator.c:
530         * gst/gstiterator.h:
531         * gst/gstpad.c: (gst_pad_send_event):
532         * gst/gststructure.c:
533         * gst/gsturi.c:
534         * gst/gstutils.c:
535         * gst/gstvalue.c:
536         * libs/gst/base/gstadapter.c:
537           doc fixes, to link to function, just write gst_cool_function(), don't
538           prefix with '#'
539
540 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
541
542         * plugins/elements/gsttee.c: (gst_tee_do_push),
543         (gst_tee_handle_buffer):
544         Always prefer an actual return value from a src
545         pad in place of NOT_LINKED. This means we return
546         WRONG_STATE when all src pads are WRONG_STATE
547         instead of NOT_LINKED.
548
549         Lock when replacing the last message to prevent
550         racing with the get_property method.
551
552         Add debug output
553
554 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
555
556         * tests/check/Makefile.am:
557         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
558         (main):
559         Add a very simple check that should have caught the memleak I fixed
560         last night (if not for the slice allocator hiding it)
561
562 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
563
564         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
565         (gst_bin_remove_func), (gst_bin_handle_message_func),
566         (bin_query_duration_fold), (bin_query_generic_fold):
567         Clean up references to the clock provider when disposed or when
568         handling a clock-lost message from it.
569
570         Unref sinks when performing a query via gst_iterator_fold, as the
571         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
572
573         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
574         (gst_clock_set_master):
575         Drop our reference to the master clock, if any, when we are disposed.
576
577         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
578         Chain up in dispose. 
579
580 2006-01-26  Wim Taymans  <wim@fluendo.com>
581
582         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
583         Add some debugging.
584
585 2006-01-26  Julien MOUTTE  <julien@moutte.net>
586
587         * plugins/elements/gsttee.c: (gst_tee_do_push),
588         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
589         handles pad being NOT_LINKED or in WRONG_STATE.
590
591 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
592
593         * win32/MANIFEST:
594           more updating
595
596 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
597
598         * win32/MANIFEST:
599           remove obsolete entry
600
601 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
602
603         * docs/gst/gstreamer-sections.txt:
604         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
605         (gst_bin_iterate_sources), (gst_bin_send_event):
606         * gst/gstbin.h:
607         * gst/gstelement.c: (gst_element_send_event):
608         * gst/gstevent.c:
609         * gst/gstpad.c: (gst_pad_send_event):
610           added code for downstream events, reviewed docs in gstevent.c
611
612 2006-01-25  Julien MOUTTE  <julien@moutte.net>
613
614         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
615         We only query position using the clock in the playing state.
616         Query peer in the other cases.
617         * win32/common/config.h: Updates.
618
619 2006-01-24  Wim Taymans  <wim@fluendo.com>
620
621         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
622         A clock entry that is scheduled for the exact time of the
623         clock is still in time.
624
625         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
626         (gst_base_sink_do_sync):
627         Add some more debug info.
628
629 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
630
631         * win32/vs7:
632           Add new vs7 project files and solution.
633
634 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
635
636         * win32/vs7:
637           all files removed as they were out-dated.
638
639 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
640
641         * docs/random/release:
642           update notes
643         * gst/gstbin.c: (gst_bin_init):
644         * gst/gstbus.c: (gst_bus_new):
645         * gst/gstbus.h:
646         * gst/gstpipeline.c: (gst_pipeline_init):
647           use gst_bus_new(), improve logging, fix docs
648         * win32/common/config.h:
649           update for cvs build
650
651 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
652
653         * autogen.sh:
654           up required version of automake to 1.7
655
656 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
657
658         * win32/common/libgstreamer.def:
659           export gst_buffer_is_metadata_writable
660
661 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
662
663         * docs/gst/gstreamer-sections.txt:
664         * gst/gstevent.h:
665           Add gst_event_replace() (#327001)
666
667 2006-01-20  Wim Taymans  <wim@fluendo.com>
668
669         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
670         Make it actually compile too..
671
672 2006-01-20  Wim Taymans  <wim@fluendo.com>
673
674         * gst/gstcaps.c:
675         Clarify behaviour of _is_equal() when passing NULL parameters.
676
677         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
678         (gst_pad_set_caps):
679         Cleanups. Don't unref NULL caps.
680         When setting the same caps, protect caps of the pad with
681         proper lock.
682         Use full functionality of _is_equal() when comparing caps.
683
684 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
685
686         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
687         Don't loop infinitely if there are no buffers to present. Partially
688         fixes #327197, but collectpads is just broken for reusing elements
689         to do multiple encodes atm.
690
691 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
692
693         * tools/gst-inspect.c: (print_element_features):
694         * tools/gst-xmlinspect.c: (main):
695         URL_HANDLER is not a plugin feature we can search for in
696         the registry.
697
698 2006-01-19  Edward Hervey  <edward@fluendo.com>
699
700         * gst/gstelement.c: (gst_element_pads_activate): 
701         When activating, do src pads first, then sink pads.
702         When de-activating, do sink pads first, then src pads.
703
704 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
705
706         * docs/gst/gstreamer-sections.txt:
707         Add gst_index_add_associationv to the docs
708
709 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
710
711         * gst/gstevent.c:
712           Fix docs typo
713
714         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
715         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
716           Do some refactoring. Doesn't actually change functionality,
717           but makes landing the DRAIN event easier later.
718
719 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
720
721         * docs/pwg/advanced-scheduling.xml:
722           Update from 0.9.x to 0.10 API and make example a bit
723           clearer.
724
725 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
726
727         * docs/gst/gstreamer-sections.txt:
728         Add gst_buffer_(is|make)_metadata_writable methods.
729
730 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
731
732         * docs/design/part-sparsestreams.txt:
733         Update sparse streams doc, hopefully for greater clarity
734
735 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
736
737         * docs/design/part-events.txt:
738         Remove mention of FILLER events.
739         Add DRAIN event.
740
741         * docs/design/part-sparsestreams.txt:
742         Write some things about using NEWSEGMENT to keep sparse streams
743         flowing.
744
745 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
746
747         * gst/gstbin.c: (gst_bin_dispose):
748           Guard gst_object_unref call against a NULL object (dispose
749           can theoretically be called multiple times).
750           
751 2006-01-18  Wim Taymans  <wim@fluendo.com>
752
753         * gst/gstbin.c: (gst_bin_element_set_state):
754         * gst/gstclock.c: (gst_clock_id_wait):
755         Added some more debug info.
756
757         * libs/gst/base/gstadapter.c:
758         Added more docs.
759
760         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
761         (gst_base_sink_do_sync), (gst_base_sink_chain):
762         Added some comments.
763
764 2006-01-18  Wim Taymans  <wim@fluendo.com>
765
766         * tests/check/Makefile.am:
767         * tests/check/elements/fakesink.c: (chain_async_buffer),
768         (chain_async), (chain_async_return), (GST_START_TEST),
769         (fakesink_suite), (main):
770         Added fakesink test that checks prerolling and clipping
771         behaviour.
772
773         * tests/check/gst/gstutils.c: (GST_START_TEST):
774         Make check run faster so that buildbots don't timeout.
775
776 2006-01-18  Wim Taymans  <wim@fluendo.com>
777
778         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
779         (gst_base_sink_do_sync):
780         Some cleanups.
781         When the sink finishes blocking on the preroll buffer, it can
782         immediatly render it instead of rendering when the next buffer
783         arrives.
784
785 2006-01-18  Wim Taymans  <wim@fluendo.com>
786
787         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
788         (gst_base_sink_get_property), (gst_base_sink_do_sync),
789         (gst_base_sink_chain):
790         Small cleanups.
791         GST_ELEMENT_CLOCK and sync are protected with LOCK.
792         Don't store _last_stop if the buffer is dropped.
793
794 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
795
796         * plugins/elements/gsttypefindelement.c:
797         (gst_type_find_element_class_init):
798           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
799           object method handler that sets the caps on the pad and we want
800           that to happen before we emit the signal (fixes e.g. feeding a
801           plain text file to decodebin).
802
803 2006-01-18  Christian Schaller  <Christian@fluendo.com>
804
805         * gst/gstplugin.c: Add MPL and Proprietary as license options
806
807 2006-01-18  Andy Wingo  <wingo@pobox.com>
808
809         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
810         symbol was exported before, it appears this was just an oversight.
811         Fixes #168703.
812         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
813
814         * gst/gstindex.c (gst_index_add_associationv): Changed int in
815         prototype to gint. OK since this prototype was not in the header.
816
817 2006-01-17  Andy Wingo  <wingo@pobox.com>
818
819         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
820         registry while we remove plugins.
821
822         * tools/gst-inspect.c (print_element_info): Don't unref the
823         factory arg, that should be the responsibility of whatever code
824         received the ref. Fixes a double-free when called from
825         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
826         (main): Unref the factory if we have one.
827         (print_element_list): No change -- relies on the
828         plugin_feature_list_free to free the list of features.
829
830 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
831
832         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
833         (gst_buffer_make_metadata_writable):
834         * gst/gstbuffer.h:
835         * libs/gst/base/gstbasetransform.c:
836         (gst_base_transform_prepare_output_buf):
837         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
838         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
839           Replace gst_buffer_(make|is)_metadata_writable patch now
840           that the release is out.
841
842 2006-01-17  Andy Wingo  <wingo@pobox.com>
843
844         * gst/gstregistry.c: Reflow design comment. Update so as to speak
845         in the present tense without reference to versions.
846
847         * gst/gstregistry.c (gst_registry_add_plugin)
848         (gst_registry_remove_plugin, gst_registry_remove_feature)
849         (gst_registry_find_feature, gst_registry_get_feature_list)
850         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
851         (gst_registry_lookup, gst_registry_scan_path)
852         (_gst_registry_remove_cache_plugins)
853         (gst_registry_get_feature_list_by_plugin): Add argument
854         validation.
855
856 === release 0.10.2 ===
857
858 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
859
860         * configure.ac:
861           releasing 0.10.2, "If man is five"
862
863 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
864
865         * gst/gstbuffer.c:
866         * gst/gstbuffer.h:
867         * libs/gst/base/gstbasetransform.c:
868         (gst_base_transform_prepare_output_buf):
869         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
870         * tests/check/gst/gstbuffer.c: (gst_test_suite):
871           Back out patch until after the release.
872
873 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
874
875         * gst/gstminiobject.c:
876           Spelling fix in docs.
877         * ChangeLog - remove conflict indicator
878
879 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
880
881         Reviewed By: Andy Wingo
882
883         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
884         (gst_buffer_make_metadata_writable):
885         * gst/gstbuffer.h:
886           Add gst_buffer_(is|make)_metadata_writable as analogues of
887           gst_buffer_(is|make)_writable.
888
889         * libs/gst/base/gstbasetransform.c:
890         (gst_base_transform_prepare_output_buf):
891         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
892           Use name gst_buffer_(is|make)_metadata_writable functions.
893
894         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
895           Test gst_buffer_(is|make)_metadata_writable
896         
897           (Closes: #324162)
898
899 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
900
901         * docs/manual/Makefile.am:
902           don't do parallel make
903         * configure.ac:
904           AC_SUBST HOST_CPU
905         * win32/common/config.h.in:
906           add generations for HOST_CPU and GST_MAJORMINOR
907         * win32/common/config.h:
908           commit generated result
909
910 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
911
912         * docs/manual/appendix-integration.xml:
913           Update GNOME integration section to use gst_init_get_option_group()
914           instead of the old popt stuff (#322911). Also, GNOME applications
915           should  now use gconf*sink and gconf*src instead of the old gconf
916           helper lib we had.
917
918 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
919
920
921         * docs/gst/gstreamer-docs.sgml:
922         * docs/gst/gstreamer-sections.txt:
923         * docs/libs/gstreamer-libs-sections.txt:
924           add new API entries to the docs
925         * libs/gst/controller/Makefile.am:
926         * libs/gst/controller/gstcontroller.c:
927         * libs/gst/controller/gstcontroller.h:
928         * libs/gst/controller/gstcontrollerprivate.h:
929         * libs/gst/controller/gsthelper.c:
930         * libs/gst/controller/gstinterpolation.c:
931           move private structs to private header
932         * po/README:
933           gstreamer-0.7 -> gstreamer-0.10
934         * tests/check/libs/struct_i386.h:
935           remove private structs
936
937 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
938
939         * plugins/indexers/Makefile.am:
940           Fixes as part of #317048
941
942 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
943
944         * plugins/indexers/Makefile.am:
945           fix #316086 - compilation when mmap is missing
946
947 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
948
949         * libs/gst/base/gstbasesink.c:
950           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
951           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
952         * win32/common/config.h:
953           added some defines GST_MAJORMINOR and HOST_CPU
954         * win32/common/libgstbase.def:
955         * win32/common/libgstreamer.def:
956           added some exported functions.
957
958 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
959
960         * libs/gst/controller/gstcontroller.c:
961         (gst_controlled_property_set_interpolation_mode),
962         (gst_controlled_property_new):
963         * libs/gst/controller/gstcontroller.h:
964         * libs/gst/controller/gstinterpolation.c:
965         (interpolate_none_get_string_value_array):
966           make G_TYPE_STRING controlable
967
968 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
969
970         * tools/README:
971         * tools/gst-feedback.1.in:
972         * tools/gst-inspect.1.in:
973         * tools/gst-launch.1.in:
974         * tools/gst-md5sum.1.in:
975         * tools/gst-typefind.1.in:
976         * tools/gst-xmlinspect.1.in:
977         * tools/gst-xmllaunch.1.in:
978           cleanup man-pages, remove reference to gst-register, document env-vars
979
980 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
981
982         * gst/gstbuffer.c: (gst_buffer_span):
983           gst_buffer_span should copy the timestamp of the first buffer
984           if they were both originally overlapping subbuffers of the 
985           same parent, using the same logic as the 'slow copy' case.
986
987 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
988
989         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
990           Need to awaken ALL the pads when we pop a buffer, otherwise
991           collectpads only works when there is 2 input streams.
992
993 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
994
995         * docs/random/ensonic/media-device-daemon.txt:
996           more ideas (dbus)
997         * gst/gstbuffer.c:
998           fix doc example, add clarification
999         * tools/gst-launch.1.in:
1000           add initial info about GST_PLUGIN_PATH, needs more work
1001
1002 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1003
1004         * docs/manual/basics-bins.xml:
1005         * docs/manual/basics-elements.xml:
1006         * docs/manual/intro-basics.xml:
1007           Some more minor docs additions and updates.
1008
1009 2006-01-11  Wim Taymans  <wim@fluendo.com>
1010
1011         * docs/manual/basics-bins.xml:
1012         * docs/manual/basics-elements.xml:
1013         Some small fixes as pointed out by Ser-ver on IRC.
1014
1015 2006-01-10  Edward Hervey  <edward@fluendo.com>
1016
1017         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1018         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
1019         the single-segment mode.
1020
1021 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
1022
1023         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1024
1025         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
1026         (gst_base_src_perform_seek), (gst_base_src_send_event),
1027         (gst_base_src_set_property), (gst_base_src_get_property),
1028         (gst_base_src_loop), (gst_base_src_start),
1029         (gst_base_src_activate_push):
1030         * libs/gst/base/gstbasesrc.h:
1031           Name (private) union; makes Sun's Forte compiler happy (#324900).
1032
1033 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1034
1035         * README:
1036           gst-register is gone.
1037
1038 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1039
1040         * gst/gstvalue.c: (_gst_value_initialize):
1041           make the G_TYPE_DATE instantiation work if debug is disabled
1042
1043 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
1044
1045         * gst/gstmessage.c: (gst_message_parse_tag),
1046         (gst_message_parse_error), (gst_message_parse_warning):
1047           Don't crash when return location for error/warning debug
1048           string is NULL; add fact that return locations can be
1049           NULL to docs where appropriate.
1050
1051 2006-01-05  Wim Taymans  <wim@fluendo.com>
1052
1053         * gst/gstplugin.c: (gst_plugin_load_file):
1054         Replace strdup by g_strdup.
1055
1056 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1057
1058         * docs/pwg/advanced-types.xml:
1059           fix doc borkage
1060
1061 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1062
1063         submitted by: Abel Cheung
1064
1065         * po/LINGUAS:
1066         * po/zh_TW.po:
1067           Added Chinese (traditional) translation
1068
1069 2006-01-04  Wim Taymans  <wim@fluendo.com>
1070
1071         * docs/manual/basics-pads.xml:
1072         * docs/plugins/Makefile.am:
1073         * docs/plugins/gstreamer-plugins-docs.sgml:
1074         * docs/plugins/gstreamer-plugins-sections.txt:
1075         * docs/pwg/advanced-clock.xml:
1076         * docs/pwg/advanced-scheduling.xml:
1077         * docs/pwg/advanced-types.xml:
1078         * plugins/elements/gstfdsink.c:
1079         * plugins/elements/gstfdsrc.c:
1080         * plugins/elements/gstfdsrc.h:
1081         * plugins/elements/gstidentity.c: (gst_identity_class_init):
1082         * plugins/elements/gstidentity.h:
1083         * plugins/elements/gstqueue.h:
1084         * plugins/elements/gsttee.c:
1085         * plugins/elements/gsttee.h:
1086         * plugins/elements/gsttypefindelement.c:
1087         (gst_type_find_element_class_init):
1088         * plugins/elements/gsttypefindelement.h:
1089         Small updates to various docs.
1090         Added core plugins to docs.
1091
1092 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1093
1094         * common/gst.supp:
1095           add a suppression for liboil's uninitialized variable
1096
1097 2006-01-02  James Livingston  <jrl at ids dot org dot au>
1098
1099         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1100
1101         * gst/gstutils.h:
1102           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
1103           macro, so that gcc doesn't complain if the -Wmissing-prototypes
1104           compiler switch is being used (#325429).
1105
1106 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
1107
1108         * gst/gstbin.c: (gst_bin_query):
1109           Disable duration query caching in bins until it gets
1110           fixed (see #324807).
1111
1112 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
1113
1114         * tools/gst-inspect.c: (print_element_properties_info):
1115           Handle properties of POINTER and BOXED type.
1116
1117 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
1118
1119         * gst/gst.c: (init_post):
1120           Init tags stuff and some other things before loading
1121           any static plugins (there may be other static plugins
1122           than just the GStreamer ones, and they may want to
1123           register their own tags or formats or whatever, and
1124           preferably without segfaulting).
1125
1126         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
1127           Print at least a warning in the debug logs if we drop a
1128           query just because we don't know how to adjust the value
1129           in the particular format.
1130
1131 2005-12-24  David Schleef  <ds@schleef.org>
1132
1133         * tools/gstreamer-completion:
1134           Replacement for gst-complete written in sh and sed.  Only
1135           completes names of features, but that's 90% of what I want
1136           it for.  Properties are not available in registry.xml.  (Maybe
1137           they should be...)
1138
1139 === release 0.10.1 ===
1140
1141 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
1142
1143         * configure.ac:
1144           releasing 0.10.1, "Nollaig chridheil"
1145
1146 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
1147
1148         * docs/faq/cvs.xml:
1149           Add missing quote, should be make ERROR_CFLAGS="".
1150
1151 2005-12-20  Wim Taymans  <wim@fluendo.com>
1152
1153         * docs/design/part-trickmodes.txt:
1154         More documentation on trickmodes.
1155
1156 2005-12-20  Edward Hervey  <edward@fluendo.com>
1157
1158         * gst/gstcaps.c: (gst_static_caps_get_type):
1159         * gst/gstcaps.h:
1160           API addition: GST_TYPE_STATIC_CAPS
1161         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
1162         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
1163         * gst/gstpadtemplate.h:
1164           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
1165         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
1166         bindings.
1167
1168 2005-12-18  Wim Taymans  <wim@fluendo.com>
1169
1170         * libs/gst/base/gstadapter.c:
1171         * libs/gst/base/gstadapter.h:
1172         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1173         (gst_base_sink_get_position):
1174         * libs/gst/base/gstbasesink.h:
1175         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1176         (gst_base_src_default_query), (gst_base_src_default_do_seek),
1177         (gst_base_src_do_seek), (gst_base_src_perform_seek),
1178         (gst_base_src_send_event), (gst_base_src_update_length),
1179         (gst_base_src_get_range), (gst_base_src_loop),
1180         (gst_base_src_start):
1181         * libs/gst/base/gstbasesrc.h:
1182         * libs/gst/base/gstbasetransform.h:
1183         * libs/gst/base/gstcollectpads.h:
1184         * libs/gst/base/gstpushsrc.c:
1185         * libs/gst/base/gstpushsrc.h:
1186         * libs/gst/dataprotocol/dataprotocol.c:
1187         * libs/gst/dataprotocol/dataprotocol.h:
1188         * libs/gst/net/gstnetclientclock.h:
1189         * libs/gst/net/gstnettimeprovider.h:
1190         Documentation updates.
1191
1192 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
1193
1194         * docs/manual/basics-helloworld.xml:
1195           Remove superfluous closing bracket in helloworld example.
1196
1197 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
1198
1199         * tools/gst-launch.1.in:
1200           Update gst-launch man page; add a section with useful
1201           environment variables. Fixes #323882.
1202
1203 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
1204
1205         * gst/gst.c:
1206         * gst/gst_private.h:
1207           change some char* into char[]
1208
1209 2005-12-16  Wim Taymans  <wim@fluendo.com>
1210
1211         * gst/gstregistryxml.c: (load_feature):
1212         Cleanups.
1213         Don't use g_object_unref on GstObjects so that we avoid
1214         leaks on unsafe glibs.
1215
1216 2005-12-16  Wim Taymans  <wim@fluendo.com>
1217
1218         * gst/gstbin.c: (gst_bin_recalc_state):
1219         Small doc updates.
1220
1221 2005-12-16  Wim Taymans  <wim@fluendo.com>
1222
1223         * common/check.mak:
1224         Added make forever target for check.
1225
1226 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1227
1228         * gst/gst.c: (init_post):
1229           make the registry cache file HOST_CPU-dependent
1230
1231 2005-12-16  Andy Wingo  <wingo@pobox.com>
1232
1233         * plugins/elements/gstbufferstore.c
1234         (gst_buffer_store_cleared_func): Pay attention to g_list_append
1235         return value.
1236
1237         * tests/check/gst/gstobject.c
1238         (test_fake_object_name_threaded_unique): Pay attention to
1239         g_list_sort return value.
1240
1241 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1242
1243         * tools/gst-feedback-m.m:
1244           Update for 0.9/0.10 (fixes #323870).
1245
1246 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
1247
1248         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
1249           Fix lcopy for mini objects, the mini object needs to be ref'ed.
1250           
1251         * tests/check/gst/gstminiobject.c: (my_foo_init),
1252         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
1253         (test_value_collection), (gst_mini_object_suite):
1254           Add test to ensure refcounts end up as expected when passing
1255           GstMiniObjects through g_object_get() and g_object_set().
1256
1257 2005-12-14  Julien MOUTTE  <julien@moutte.net>
1258
1259         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1260         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
1261         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
1262         of collectpads. This version removes a lot of races without
1263         touching API/ABI. Yay !
1264
1265 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
1266
1267         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
1268           Don't allow activation of a srcpad in pull_range if it has no
1269           getrange function.
1270           Change some debug statements to be a little clearer
1271
1272         * plugins/elements/gsttypefindelement.c:
1273         (gst_type_find_handle_src_query):
1274           Check that we have a peer before executing queries thereupon.
1275
1276         * tests/examples/metadata/read-metadata.c: (message_loop):
1277           Use gst_bus_pop instead of gst_bus_poll when we just want it to
1278           immediately return us any available message with 0 timeout.
1279
1280 2005-12-12  Michael Smith  <msmith@fluendo.com>
1281
1282         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
1283           Don't unref factories after calling them.
1284         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
1285         * plugins/elements/gsttypefindelement.c:
1286         (gst_type_find_element_chain):
1287           Free lists of factories after using them. Fixing typefinding memory
1288           leaks.
1289
1290 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1291
1292         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1293         (gst_plugin_feature_load):
1294           more meaningful debug output
1295         * configure.ac:
1296         * tests/Makefile.am:
1297         * tests/old/examples/Makefile.am:
1298           make make distcheck happy again
1299
1300 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
1301
1302         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
1303           Catch the special case where we are operating chain-based,
1304           but the downstream peer pad has no chain function. Emit a
1305           custom error message in this case instead of letting the
1306           core generate one implying that this is some sort of core
1307           bug. It's not, it just means that whatever got plugged
1308           into the pipeline downstream when we announced the type
1309           can only operate pull-based, while our source can only
1310           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
1311           Error string has not been marked for translation yet, as
1312           it probably needs some more work first.
1313
1314         (gst_type_find_element_get_best_possibility):
1315           Add helper function to find the best of all available
1316           found possibilities that qualify given the min. threshold.
1317
1318         (gst_type_find_element_handle_event):
1319           Fix the case where we get an EOS while still in TYPEFIND
1320           mode (we want to chose the best of all possible types,
1321           not just the first type that happens to be in our unsorted
1322           list of possible types).
1323
1324         (gst_type_find_element_chain):
1325           Make sure we return GST_FLOW_ERROR when we errored out
1326           in stop_typefinding(); also, don't just find the best of
1327           all found type entries and then use the last examined
1328           type entry, but actually use the best entry.
1329
1330 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
1331
1332         * tests/examples/typefind/typefind.c: (type_found):
1333         * tests/examples/xml/runxml.c: (xml_loaded):
1334           More gcc4 fixes and a mem leak fix.
1335
1336 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1337
1338         * tests/examples/xml/createxml.c: (object_saved):
1339           gcc 4 fixes
1340
1341 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1342
1343         * tests/Makefile.am:
1344           enable the examples even more
1345
1346 2005-12-12  Andy Wingo  <wingo@pobox.com>
1347
1348         * libs/gst/net/gstnettimeprovider.c
1349         (gst_net_time_provider_class_init, gst_net_time_provider_init)
1350         (gst_net_time_provider_set_property)
1351         (gst_net_time_provider_get_property):
1352         API addition: Export "active" as a GObject property.
1353         (gst_net_time_provider_thread): Only respond to time queries if
1354         the time provider is active.
1355
1356         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
1357         NetTimeProvider, preserving binary compat.
1358
1359 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1360
1361         * tests/examples/controller/audio-example.c: (main):
1362         * tests/examples/launch/Makefile.am:
1363           convert comments again
1364
1365 2005-12-12  Wim Taymans  <wim@fluendo.com>
1366
1367         * libs/gst/base/gstpushsrc.c:
1368         Fix typo.
1369
1370 2005-12-12  Wim Taymans  <wim@fluendo.com>
1371
1372         * docs/libs/gstreamer-libs-sections.txt:
1373         Added new symbol to docs.
1374
1375         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1376         (gst_base_src_init), (gst_base_src_set_format),
1377         (gst_base_src_default_query), (gst_base_src_query),
1378         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
1379         (gst_base_src_perform_seek), (gst_base_src_send_event),
1380         (gst_base_src_default_event), (gst_base_src_event_handler),
1381         (gst_base_src_set_property), (gst_base_src_get_property),
1382         (gst_base_src_wait), (gst_base_src_do_sync),
1383         (gst_base_src_update_length), (gst_base_src_get_range),
1384         (gst_base_src_check_get_range), (gst_base_src_loop),
1385         (gst_base_src_default_negotiate), (gst_base_src_start),
1386         (gst_base_src_activate_push), (gst_base_src_activate_pull),
1387         (gst_base_src_change_state):
1388         * libs/gst/base/gstbasesrc.h:
1389         Implement seeking to other formats than _BYTES.
1390         Implement more seeking methods correctly.
1391         Doc updates.
1392         Added query vmethod.
1393         Added do_seek vmethod to make life easier for subclasses
1394         when seeking.
1395         API addition: gst_base_src_set_format()
1396
1397 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1398
1399         * tests/examples/Makefile.am:
1400           added that too
1401
1402 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1403
1404         * configure.ac:
1405         * docs/random/ensonic/media-device-daemon.txt:
1406         * tests/examples/controller/.cvsignore:
1407         * tests/examples/controller/Makefile.am:
1408         * tests/examples/controller/audio-example.c: (main):
1409         * tests/examples/helloworld/.cvsignore:
1410         * tests/examples/helloworld/Makefile.am:
1411         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
1412         * tests/examples/launch/.cvsignore:
1413         * tests/examples/launch/Makefile.am:
1414         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
1415         * tests/examples/metadata/.cvsignore:
1416         * tests/examples/metadata/Makefile.am:
1417         * tests/examples/metadata/read-metadata.c: (message_loop),
1418         (make_pipeline), (print_tag), (main):
1419         * tests/examples/queue/.cvsignore:
1420         * tests/examples/queue/Makefile.am:
1421         * tests/examples/queue/queue.c: (event_loop), (main):
1422         * tests/examples/typefind/.cvsignore:
1423         * tests/examples/typefind/Makefile.am:
1424         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
1425         (main):
1426         * tests/examples/xml/.cvsignore:
1427         * tests/examples/xml/Makefile.am:
1428         * tests/examples/xml/createxml.c: (object_saved), (main):
1429         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
1430         * tests/old/examples/Makefile.am:
1431         * tests/old/examples/TODO:
1432         * tests/old/examples/controller/.cvsignore:
1433         * tests/old/examples/controller/Makefile.am:
1434         * tests/old/examples/controller/audio-example.c:
1435         * tests/old/examples/helloworld/.cvsignore:
1436         * tests/old/examples/helloworld/Makefile.am:
1437         * tests/old/examples/helloworld/helloworld.c:
1438         * tests/old/examples/launch/.cvsignore:
1439         * tests/old/examples/launch/Makefile.am:
1440         * tests/old/examples/launch/mp3parselaunch.c:
1441         * tests/old/examples/launch/mp3play:
1442         * tests/old/examples/manual/Makefile.am:
1443         * tests/old/examples/metadata/Makefile.am:
1444         * tests/old/examples/metadata/read-metadata.c:
1445         * tests/old/examples/queue/.cvsignore:
1446         * tests/old/examples/queue/Makefile.am:
1447         * tests/old/examples/queue/queue.c:
1448         * tests/old/examples/typefind/.cvsignore:
1449         * tests/old/examples/typefind/Makefile.am:
1450         * tests/old/examples/typefind/typefind.c:
1451         * tests/old/examples/xml/.cvsignore:
1452         * tests/old/examples/xml/Makefile.am:
1453         * tests/old/examples/xml/createxml.c:
1454         * tests/old/examples/xml/runxml.c:
1455           applied some simple fixing to some examples
1456           re-enabled the working examples
1457
1458 2005-12-12  Wim Taymans  <wim@fluendo.com>
1459
1460         * gst/gstsegment.c: (gst_segment_init),
1461         (gst_segment_set_last_stop), (gst_segment_set_seek),
1462         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1463         (gst_segment_to_running_time):
1464         Added more documentation.
1465         Make sure the last_pos value is updated properly.
1466         Make sure to_stream_time and to_running_time don't
1467         operate on wrong values.
1468
1469         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1470         Update check.
1471
1472 2005-12-12  Michael Smith  <msmith@fluendo.com>
1473
1474         * plugins/elements/gsttypefindelement.c: (free_entry),
1475         (gst_type_find_element_chain):
1476           Now that we're not leaking factories, make sure we keep references
1477           to them while we need them.
1478
1479 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1480
1481         * tests/check/gst/struct_i386.h:
1482           ifdef out the XML structs
1483
1484 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1485
1486         * gst/gstvalue.c: (gst_value_transform_double_fraction):
1487           floor is not needed, F is always positive; this obviates the
1488           need for adding -lm when building without libxml
1489
1490 2005-12-12  Wim Taymans  <wim@fluendo.com>
1491
1492         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1493         Take current playback rate into account when reporting
1494         the position.
1495
1496 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1497
1498         * docs/manual/mime-world.fig:
1499           Let's try this again, this time with a file that is
1500           actually in XFig format.
1501
1502 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1503
1504         * docs/manual/mime-world.fig:
1505           Add audioconvert element to diagram so that it
1506           matches the text and the code (fixes #319526).
1507
1508 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1509
1510         * docs/pwg/building-chainfn.xml:
1511         * docs/pwg/building-pads.xml:
1512         * docs/pwg/building-state.xml:
1513         * docs/pwg/other-source.xml:
1514           Update state change stuff for 0.10 (fixes #322969).
1515
1516 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1517
1518         * docs/manual/advanced-dataaccess.xml:
1519         * docs/manual/appendix-checklist.xml:
1520         * docs/manual/appendix-programs.xml:
1521         * docs/manual/basics-pads.xml:
1522         * docs/manual/highlevel-components.xml:
1523         * docs/manual/manual.xml:
1524           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
1525           add converters in front of pipelines; remove curly
1526           brackets for threads stuff, they no longer exist; use
1527           GST_TYPE_FRACTION for framerates; update some pieces of
1528           code to 0.10, but there's plenty more to do.
1529
1530         * docs/manual/appendix-porting.xml:
1531           Expand on asynchroneous state changes; s/0.9/0.10/;
1532           mention disappearance of gst_init_get_popt_table()
1533           (fixes #322916).
1534
1535 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1536
1537         * docs/faq/using.xml:
1538           Spider no longer exists, and neither does gst-launch-ext.
1539           Update examples to use decodebin and playbin and put
1540           converters in front of sinks (fixes #323726).
1541
1542 2005-12-09  Michael Smith  <msmith@fluendo.com>
1543
1544         * plugins/elements/gsttypefindelement.c: (find_peek),
1545         (gst_type_find_element_chain):
1546           Fix leaking element factories in typefinding.
1547           Fix problem where we forgot about a probable type on non-seekable
1548           files, and thus later mis-typefound it.
1549
1550 2005-12-09  Michael Smith  <msmith@fluendo.com>
1551
1552         * common/m4/gst-makecontext.m4:
1553         * common/m4/gst-mcsc.m4:
1554         * configure.ac:
1555         * win32/common/config.h:
1556         * win32/common/config.h.in:
1557           Remove makecontext stuff; not used in 0.10 and causes problems on
1558           HPUX according to bug #322441
1559
1560 2005-12-07  Wim Taymans  <wim@fluendo.com>
1561
1562         * tests/check/Makefile.am:
1563         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
1564         (main):
1565         * tests/check/libs/struct_i386.h:
1566         Added ABI check for libs
1567
1568 2005-12-07  Wim Taymans  <wim@fluendo.com>
1569
1570         * tests/check/Makefile.am:
1571         And add the struct_i386.h to dist.
1572
1573 2005-12-07  Wim Taymans  <wim@fluendo.com>
1574
1575         * tests/check/Makefile.am:
1576         * tests/check/gst/.cvsignore:
1577         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
1578         (main):
1579         * tests/check/gst/struct_i386.h:
1580         Added check for ABI compatibility.
1581
1582 2005-12-07  Wim Taymans  <wim@fluendo.com>
1583
1584         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1585         (gst_fake_src_get_times), (gst_fake_src_create):
1586         Fix broken sync option, fixes #323259
1587
1588 2005-12-07  Wim Taymans  <wim@fluendo.com>
1589
1590         * gst/gstbuffer.c:
1591         Small docs update.
1592
1593         * gst/gstcaps.c: (gst_caps_is_equal):
1594         Don't assert on NULL <--> X. Fixes #323260
1595
1596         * gst/gstminiobject.c: (gst_mini_object_replace):
1597         If we're doing atomic operations, we might just as well use
1598         the proper way to get an atomic pointer.
1599
1600         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1601         Clean up debugging.
1602
1603 2005-12-07  Michael Smith  <msmith@fluendo.com>
1604
1605         * gst/parse/grammar.y:
1606           Remove handling of { } for threads.
1607
1608 2005-12-06  David Schleef  <ds@schleef.org>
1609
1610         * libs/gst/base/gstbasetransform.c: speling fix.
1611
1612 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1613
1614         * docs/libs/tmpl/gstdataprotocol.sgml:
1615         * docs/random/omega/testing/gstobject.c:
1616         * gst/gst.c:
1617         * gst/gstclock.c:
1618         * gst/gstelement.c:
1619         * gst/gstelementfactory.c:
1620         * gst/gsterror.c:
1621         * gst/gstevent.c:
1622         * gst/gstghostpad.c:
1623         * gst/gstinfo.c:
1624         * gst/gstpadtemplate.c:
1625         * gst/gstregistryxml.c:
1626         * gst/gsttaglist.c:
1627         * gst/gsttagsetter.c:
1628         * gst/gsttypefind.c:
1629         * gst/gstvalue.c:
1630         * libs/gst/base/gstbasesrc.c:
1631         * libs/gst/net/gstnetclientclock.c:
1632         * libs/gst/net/gstnettimeprovider.c:
1633         * plugins/elements/gstfakesrc.c:
1634         * plugins/elements/gstfdsrc.c:
1635         * plugins/elements/gstfilesrc.c:
1636         * plugins/elements/gstidentity.c:
1637         * plugins/elements/gstqueue.c:
1638         * plugins/elements/gsttypefindelement.c:
1639         * plugins/indexers/gstfileindex.c:
1640         * plugins/indexers/gstmemindex.c:
1641         * tests/check/gst/gsttag.c:
1642         * tests/old/examples/cutter/cutter.c:
1643         * tests/old/examples/mixer/mixer.c:
1644         * tests/old/examples/xml/runxml.c: (main):
1645         * tests/old/testsuite/caps/normalisation.c:
1646         * tests/old/testsuite/debug/global.c:
1647         * tests/old/testsuite/parse/parse1.c:
1648         * tools/gst-xmlinspect.c:
1649         * win32/common/dirent.c:
1650           expand tabs
1651
1652 === release 0.10.0 ===
1653
1654 2005-12-05   <thomas (at) apestaart (dot) org>
1655
1656         * configure.ac:
1657           releasing 0.10.0, "Maroilles"
1658
1659 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1660
1661         submitted by: Funda Wang <fundawang@linux.net.cn>
1662
1663         * po/LINGUAS:
1664         * po/zh_CN.po:
1665           added Chinese (Traditional) translation
1666
1667 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1668
1669         * docs/gst/gstreamer-sections.txt:
1670         * docs/libs/tmpl/gstdataprotocol.sgml:
1671         * docs/random/thomasvs/TODO:
1672         * gst/gstutils.c:
1673         * gst/gstutils.h:
1674           fix docs
1675
1676 2005-12-05  Andy Wingo  <wingo@pobox.com>
1677
1678         patch by: Wim Taymans <wim@fluendo.com>
1679
1680         * libs/gst/base/gstbasetransform.c
1681         (gst_base_transform_prepare_output_buf)
1682         (gst_base_transform_buffer_alloc):
1683         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
1684         alloc_buffer_and_set_caps.
1685
1686         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
1687         set_caps on the source pad.
1688         (gst_pad_alloc_buffer_and_set_caps): New function, does what
1689         alloc_buffer used to do. Fixes #322874.
1690
1691         * docs/gst/gstreamer-sections.txt: 
1692         * docs/design/part-negotiation.txt: 
1693         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
1694         changes.
1695
1696 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1697
1698         patch by: Sebastien Moutte
1699
1700         * win32/MANIFEST:
1701         * win32/common/config.h.in:
1702         * win32/vs6/libgstcontroller.dsp:
1703           win32 build fixes
1704
1705 2005-12-05  Wim Taymans  <wim@fluendo.com>
1706
1707         * gst/gstcaps.c: (gst_caps_is_equal):
1708         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1709         (gst_fake_src_create):
1710         Back out previous code changes, leave doc updates, file bugs 
1711         instead. 
1712
1713 2005-12-05  Wim Taymans  <wim@fluendo.com>
1714
1715         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1716         (gst_fake_src_get_times), (gst_fake_src_create):
1717         * plugins/elements/gstfakesrc.h:
1718         Fix broken sync code.
1719
1720 2005-12-05  Wim Taymans  <wim@fluendo.com>
1721
1722         * gst/gstcaps.c: (gst_caps_is_equal):
1723         Comparing NULL against !NULL yields different caps, not a
1724         failure.
1725
1726 2005-12-05  Wim Taymans  <wim@fluendo.com>
1727
1728         * gst/gstpipeline.c:
1729         Fix small typo in docs.
1730
1731 2005-12-05  Andy Wingo  <wingo@pobox.com>
1732
1733         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
1734
1735         * gst/gst.c (init_post): remove hard-coded 0.9 location for
1736         registries/plugins with a MAJORMINOR one.
1737         (plugin_desc): Rename library from gstcoreleements to
1738         staticelements. Fixes #323222.
1739
1740 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
1741
1742         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
1743           Change debug category to 'collectpads' from 'collect_pads'
1744           (fixes #323250).
1745
1746 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
1747
1748         patch by: Sebastien Moutte
1749
1750         * libs/gst/controller/gstinterpolation.c:
1751           use convert function for uint64/double
1752         * win32/vs6/libgstcontroller.dsp:
1753           link to GLib
1754
1755 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
1756
1757         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
1758         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
1759         * gst/gstutils.h:
1760         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1761           add tests that seem to show that the guint64/gdouble conversions
1762           are correct.
1763
1764 2005-12-02  Wim Taymans  <wim@fluendo.com>
1765
1766         * gst/gstregistry.c: (gst_registry_add_path):
1767         * gst/gstregistry.h:
1768         * gst/gstregistryxml.c:
1769         Fix docs again.
1770
1771 2005-12-02  Wim Taymans  <wim@fluendo.com>
1772
1773         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1774         (gst_util_uint64_scale_int):
1775         Small cleanup.
1776
1777         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1778         Add debug log line.
1779
1780         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
1781         Add FIXME.
1782
1783 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1784
1785         * win32/MANIFEST:
1786         * win32/common/config.h:
1787         * win32/vs6/gstreamer.dsw:
1788         * win32/vs6/libgstcoreelements.dsp:
1789         * win32/vs6/libgstelements.dsp:
1790           renamed core elements plugin
1791
1792 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1793
1794         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
1795         (get_candidates):
1796           do piece-wise major/minor comparison so 0.9 < 0.10
1797           also allow .exe extensions for tools
1798
1799 2005-12-02  Michael Smith  <msmith@fluendo.com>
1800
1801         * gst/gst.c:
1802           Escape a % to make gtkdoc happier; bug 322958.
1803
1804 === release 0.9.7 ===
1805
1806 2005-12-01   <thomas (at) apestaart (dot) org>
1807
1808         * configure.ac:
1809           releasing 0.9.7, "My Dog Has No Nose"
1810
1811 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1812
1813         * common/gst-xmlinspect.py:
1814         * configure.ac:
1815         * docs/libs/tmpl/gstdataprotocol.sgml:
1816         * docs/random/release:
1817         * po/af.po:
1818         * po/az.po:
1819         * po/bg.po:
1820         * po/ca.po:
1821         * po/cs.po:
1822         * po/de.po:
1823         * po/en_GB.po:
1824         * po/fr.po:
1825         * po/it.po:
1826         * po/nb.po:
1827         * po/nl.po:
1828         * po/ru.po:
1829         * po/sq.po:
1830         * po/sr.po:
1831         * po/sv.po:
1832         * po/tr.po:
1833         * po/uk.po:
1834         * po/vi.po:
1835         * win32/common/config.h:
1836         * win32/common/config.h.in:
1837         * win32/vs6/gst_inspect.dsp:
1838         * win32/vs6/gst_launch.dsp:
1839         * win32/vs6/libgstbase.dsp:
1840         * win32/vs6/libgstelements.dsp:
1841         * win32/vs6/libgstreamer.dsp:
1842         * win32/vs7/GStreamer.vcproj:
1843         * win32/vs7/gst-inspect.vcproj:
1844         * win32/vs7/gst-launch.vcproj:
1845         * win32/vs7/libgstbase.vcproj:
1846           bump GST_MAJORMINOR to 0.10
1847           reset libtool version
1848
1849 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1850
1851         * po/LINGUAS:
1852         * po/bg.po:
1853           Added Bulgarian translation by (Alexander Shopov)
1854
1855 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1856
1857         * tests/check/gst/gstplugin.c:
1858           fix test
1859
1860 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1861
1862         * common/gst-xmlinspect.py:
1863         * common/gtk-doc-plugins.mak:
1864         * configure.ac:
1865         * docs/Makefile.am:
1866         * docs/gst/Makefile.am:
1867         * docs/gst/gstreamer-docs.sgml:
1868         * docs/gst/gstreamer-sections.txt:
1869         * docs/gst/gstreamer.types:
1870         * docs/gst/gstreamer.types.in:
1871         * docs/plugins/Makefile.am:
1872         * docs/plugins/gstreamer-plugins-docs.sgml:
1873         * docs/plugins/gstreamer-plugins-sections.txt:
1874         * docs/plugins/gstreamer-plugins.types:
1875         * docs/plugins/inspect.stamp:
1876         * docs/plugins/inspect/plugin-coreelements.xml:
1877         * docs/plugins/inspect/plugin-coreindexers.xml:
1878         * docs/plugins/scanobj-build.stamp:
1879         * gstreamer.spec.in:
1880         * plugins/elements/Makefile.am:
1881         * plugins/elements/gstelements.c:
1882         * plugins/elements/gstfakesink.c:
1883         * plugins/elements/gstfakesrc.c:
1884         * plugins/elements/gstfilesink.c:
1885         * plugins/elements/gstfilesrc.c:
1886         * plugins/elements/gstqueue.c:
1887         * plugins/indexers/Makefile.am:
1888         * plugins/indexers/gstindexers.c:
1889           document core plugins in a separate document just like all the
1890           others
1891           rename these plugins to something starting with core
1892
1893 2005-12-01  Andy Wingo  <wingo@pobox.com>
1894
1895         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
1896         padding here before, but it missed the commit.
1897
1898 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1899
1900         * libs/gst/controller/gstinterpolation.c:
1901           whitespace prices have crashed, we should feel free to use some now
1902           use gst_guint64_to_gdouble
1903
1904 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1905
1906         * libs/gst/controller/gstcontroller.c:
1907         * libs/gst/controller/gsthelper.c:
1908         * libs/gst/controller/gstinterpolation.c:
1909         * libs/gst/controller/lib.c:
1910           wrap config.h include
1911
1912 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1913
1914         * docs/gst/gstreamer-sections.txt:
1915           update docs
1916
1917 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1918
1919         * plugins/elements/gstelements.c:
1920         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
1921         (gst_fd_sink__class_init), (gst_fd_sink__init),
1922         (gst_fd_sink__chain), (gst_fd_sink__set_property),
1923         (gst_fd_sink__get_property):
1924         * plugins/elements/gstfdsink.h:
1925         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
1926         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
1927         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
1928         (gst_fd_src_unlock), (gst_fd_src_set_property),
1929         (gst_fd_src_get_property), (gst_fd_src_create),
1930         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
1931         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
1932         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
1933         (gst_fd_src_uri_handler_init):
1934         * plugins/elements/gstfdsrc.h:
1935         * plugins/elements/gstqueue.c: (gst_queue_get_type):
1936           more anal cleanup
1937
1938 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1939
1940         * docs/gst/Makefile.am:
1941         * docs/gst/gstreamer.types.in:
1942         * gst/Makefile.am:
1943           fix the docs build
1944
1945 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1946
1947         * configure.ac:
1948         * gst/Makefile.am:
1949         * gst/gst.c:
1950         * gst/gstplugin.h:
1951         * gst/gstregistry.h:
1952         * tests/benchmarks/complexity.c:
1953         * tests/benchmarks/mass-elements.c:
1954         * tests/check/Makefile.am:
1955         * tools/Makefile.am:
1956         * tools/gst-inspect.c:
1957         * tools/gst-xmlinspect.c:
1958           various fixes to make
1959           --disable-nls --disable-registry --disable-loadsave
1960           --disable-parse --disable-gst-debug
1961           work and get the core .so down to 360444 bytes after stripping
1962
1963 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1964
1965         * Makefile.am:
1966         * configure.ac:
1967           descend into tests
1968         * docs/random/thomasvs/TODO:
1969         * tests/Makefile.am:
1970         * tests/README:
1971           add a README
1972
1973 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
1974
1975         * win32/GStreamer.vcproj:
1976         * win32/MANIFEST:
1977         * win32/Makefile:
1978         * win32/Makefile.inspect:
1979         * win32/Makefile.launch:
1980         * win32/Makefile.register:
1981         * win32/README.txt:
1982         * win32/gst-inspect.vcproj:
1983         * win32/gst-launch.vcproj:
1984         * win32/gst-register.vcproj:
1985         * win32/gstelements.vcproj:
1986         * win32/gstgetbits.def:
1987         * win32/gstgetbits.vcproj:
1988         * win32/gstreamer-dbg.def:
1989         * win32/gstreamer.def:
1990         * win32/libgstbase.def:
1991         * win32/libgstbase.vcproj:
1992         * win32/link_oldruntime.c:
1993         * win32/mman.c:
1994         * win32/mman.h:
1995         * win32/mman.inl:
1996         * win32/msvc71.sln:
1997           move even more stuff, win32/ is nice and clean now
1998
1999 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2000
2001         * libs/gst/control/.cvsignore:
2002         * win32/MANIFEST:
2003         * win32/config.h:
2004         * win32/dirent.c:
2005         * win32/dirent.h:
2006         * win32/gstbytestream.def:
2007         * win32/gstbytestream.vcproj:
2008         * win32/gstconfig.h:
2009         * win32/gstenumtypes.c:
2010         * win32/gstenumtypes.h:
2011         * win32/gstoptimalscheduler.vcproj:
2012         * win32/gstversion.h:
2013         * win32/gtchar.h:
2014         * win32/testsuite/bins.vcproj:
2015         * win32/testsuite/bytestream.vcproj:
2016         * win32/testsuite/caps.vcproj:
2017         * win32/testsuite/cleanup.vcproj:
2018         * win32/testsuite/clock.vcproj:
2019         * win32/testsuite/debug.vcproj:
2020         * win32/testsuite/dlopen.vcproj:
2021         * win32/testsuite/dynparams.vcproj:
2022         * win32/testsuite/elements.vcproj:
2023         * win32/testsuite/ghostpads.vcproj:
2024         * win32/testsuite/indexers.vcproj:
2025         * win32/testsuite/negotiation.vcproj:
2026         * win32/testsuite/parse.vcproj:
2027         * win32/testsuite/plugin.vcproj:
2028         * win32/testsuite/refcounting.vcproj:
2029         * win32/testsuite/schedulers.vcproj:
2030         * win32/testsuite/states.vcproj:
2031         * win32/testsuite/tags.vcproj:
2032         * win32/testsuite/threads.vcproj:
2033           remove old win32 stuff that isn't maintained and should be
2034           reorganized
2035
2036 2005-11-30  Andy Wingo  <wingo@pobox.com>
2037
2038         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
2039         loading the gst.interfaces python module bork.
2040
2041         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
2042         available since GLib 2.2. Fixes #318031.
2043
2044 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2045
2046         * Makefile.am:
2047         * check/.cvsignore:
2048         * check/Makefile.am:
2049         * check/elements/.cvsignore:
2050         * check/elements/fakesrc.c:
2051         * check/elements/fdsrc.c:
2052         * check/elements/identity.c:
2053         * check/generic/.cvsignore:
2054         * check/generic/states.c:
2055         * check/gst-libs/.cvsignore:
2056         * check/gst-libs/controller.c:
2057         * check/gst-libs/gdp.c:
2058         * check/gst/.cvsignore:
2059         * check/gst/capslist.h:
2060         * check/gst/gst.c:
2061         * check/gst/gstbin.c:
2062         * check/gst/gstbuffer.c:
2063         * check/gst/gstbus.c:
2064         * check/gst/gstcaps.c:
2065         * check/gst/gstelement.c:
2066         * check/gst/gstevent.c:
2067         * check/gst/gstghostpad.c:
2068         * check/gst/gstiterator.c:
2069         * check/gst/gstmessage.c:
2070         * check/gst/gstminiobject.c:
2071         * check/gst/gstobject.c:
2072         * check/gst/gstpad.c:
2073         * check/gst/gstpipeline.c:
2074         * check/gst/gstplugin.c:
2075         * check/gst/gstsegment.c:
2076         * check/gst/gststructure.c:
2077         * check/gst/gstsystemclock.c:
2078         * check/gst/gsttag.c:
2079         * check/gst/gstutils.c:
2080         * check/gst/gstvalue.c:
2081         * check/net/.cvsignore:
2082         * check/net/gstnetclientclock.c:
2083         * check/net/gstnettimeprovider.c:
2084         * check/pipelines/.cvsignore:
2085         * check/pipelines/cleanup.c:
2086         * check/pipelines/simple_launch_lines.c:
2087         * check/pipelines/stress.c:
2088         * check/states/.cvsignore:
2089         * check/states/sinks.c:
2090         * configure.ac:
2091         * examples/Makefile.am:
2092         * examples/appreader/.cvsignore:
2093         * examples/appreader/Makefile.am:
2094         * examples/appreader/appreader.c:
2095         * examples/controller/.cvsignore:
2096         * examples/controller/Makefile.am:
2097         * examples/controller/audio-example.c:
2098         * examples/cutter/.cvsignore:
2099         * examples/cutter/Makefile.am:
2100         * examples/cutter/cutter.c:
2101         * examples/cutter/cutter.h:
2102         * examples/events/Makefile.am:
2103         * examples/events/seek.c:
2104         * examples/helloworld/.cvsignore:
2105         * examples/helloworld/Makefile.am:
2106         * examples/helloworld/helloworld.c:
2107         * examples/helloworld2/.cvsignore:
2108         * examples/helloworld2/Makefile.am:
2109         * examples/helloworld2/helloworld2.c:
2110         * examples/launch/.cvsignore:
2111         * examples/launch/Makefile.am:
2112         * examples/launch/mp3parselaunch.c:
2113         * examples/launch/mp3play:
2114         * examples/manual/.cvsignore:
2115         * examples/manual/Makefile.am:
2116         * examples/manual/extract.pl:
2117         * examples/metadata/Makefile.am:
2118         * examples/metadata/read-metadata.c:
2119         * examples/mixer/.cvsignore:
2120         * examples/mixer/Makefile.am:
2121         * examples/mixer/mixer.c:
2122         * examples/mixer/mixer.h:
2123         * examples/pingpong/.cvsignore:
2124         * examples/pingpong/Makefile.am:
2125         * examples/pingpong/pingpong.c:
2126         * examples/plugins/.cvsignore:
2127         * examples/plugins/Makefile.am:
2128         * examples/plugins/example.c:
2129         * examples/plugins/example.h:
2130         * examples/pwg/.cvsignore:
2131         * examples/pwg/Makefile.am:
2132         * examples/pwg/extract.pl:
2133         * examples/queue/.cvsignore:
2134         * examples/queue/Makefile.am:
2135         * examples/queue/queue.c:
2136         * examples/queue2/.cvsignore:
2137         * examples/queue2/Makefile.am:
2138         * examples/queue2/queue2.c:
2139         * examples/queue3/.cvsignore:
2140         * examples/queue3/Makefile.am:
2141         * examples/queue3/queue3.c:
2142         * examples/queue4/.cvsignore:
2143         * examples/queue4/Makefile.am:
2144         * examples/queue4/queue4.c:
2145         * examples/retag/.cvsignore:
2146         * examples/retag/Makefile.am:
2147         * examples/retag/retag.c:
2148         * examples/retag/transcode.c:
2149         * examples/thread/.cvsignore:
2150         * examples/thread/Makefile.am:
2151         * examples/thread/thread.c:
2152         * examples/typefind/.cvsignore:
2153         * examples/typefind/Makefile.am:
2154         * examples/typefind/typefind.c:
2155         * examples/xml/.cvsignore:
2156         * examples/xml/Makefile.am:
2157         * examples/xml/createxml.c:
2158         * examples/xml/runxml.c:
2159         * tests/Makefile.am:
2160         * tests/check/Makefile.am:
2161         * testsuite/.cvsignore:
2162         * testsuite/Makefile.am:
2163         * testsuite/Rules:
2164         * testsuite/caps/.cvsignore:
2165         * testsuite/caps/Makefile.am:
2166         * testsuite/caps/app_fixate.c:
2167         * testsuite/caps/audioscale.c:
2168         * testsuite/caps/caps.c:
2169         * testsuite/caps/caps.h:
2170         * testsuite/caps/caps_strings:
2171         * testsuite/caps/compatibility.c:
2172         * testsuite/caps/deserialize.c:
2173         * testsuite/caps/enumcaps.c:
2174         * testsuite/caps/eratosthenes.c:
2175         * testsuite/caps/filtercaps.c:
2176         * testsuite/caps/fixed.c:
2177         * testsuite/caps/fraction-convert.c:
2178         * testsuite/caps/fraction-multiply-and-zero.c:
2179         * testsuite/caps/intersect2.c:
2180         * testsuite/caps/intersection.c:
2181         * testsuite/caps/normalisation.c:
2182         * testsuite/caps/random.c:
2183         * testsuite/caps/renegotiate.c:
2184         * testsuite/caps/sets.c:
2185         * testsuite/caps/simplify.c:
2186         * testsuite/caps/string-conversions.c:
2187         * testsuite/caps/structure.c:
2188         * testsuite/caps/subtract.c:
2189         * testsuite/caps/union.c:
2190         * testsuite/debug/.cvsignore:
2191         * testsuite/debug/Makefile.am:
2192         * testsuite/debug/category.c:
2193         * testsuite/debug/commandline.c:
2194         * testsuite/debug/global.c:
2195         * testsuite/debug/output.c:
2196         * testsuite/debug/printf_extension.c:
2197         * testsuite/dlopen/.cvsignore:
2198         * testsuite/dlopen/Makefile.am:
2199         * testsuite/dlopen/dlopen_gst.c:
2200         * testsuite/dlopen/loadgst.c:
2201         * testsuite/elements/.cvsignore:
2202         * testsuite/elements/Makefile.am:
2203         * testsuite/elements/gst-inspect-check.in:
2204         * testsuite/elements/struct_i386.h:
2205         * testsuite/elements/struct_size.c:
2206         * testsuite/indexers/.cvsignore:
2207         * testsuite/indexers/Makefile.am:
2208         * testsuite/indexers/cache1.c:
2209         * testsuite/indexers/indexdump.c:
2210         * testsuite/parse/.cvsignore:
2211         * testsuite/parse/Makefile.am:
2212         * testsuite/parse/parse1.c:
2213         * testsuite/parse/parse2.c:
2214         * testsuite/plugin/.cvsignore:
2215         * testsuite/plugin/Makefile.am:
2216         * testsuite/plugin/README:
2217         * testsuite/plugin/dynamic.c:
2218         * testsuite/plugin/linked.c:
2219         * testsuite/plugin/loading.c:
2220         * testsuite/plugin/registry.c:
2221         * testsuite/plugin/static.c:
2222         * testsuite/plugin/static2.c:
2223         * testsuite/plugin/testplugin.c:
2224         * testsuite/plugin/testplugin2.c:
2225         * testsuite/plugin/testplugin2_s.c:
2226         * testsuite/plugin/testplugin_s.c:
2227         * testsuite/refcounting/.cvsignore:
2228         * testsuite/refcounting/Makefile.am:
2229         * testsuite/refcounting/bin.c:
2230         * testsuite/refcounting/element.c:
2231         * testsuite/refcounting/element_pad.c:
2232         * testsuite/refcounting/mainloop.c:
2233         * testsuite/refcounting/mem.c:
2234         * testsuite/refcounting/mem.h:
2235         * testsuite/refcounting/object.c:
2236         * testsuite/refcounting/pad.c:
2237         * testsuite/refcounting/sched.c:
2238         * testsuite/refcounting/thread.c:
2239         * testsuite/states/.cvsignore:
2240         * testsuite/states/Makefile.am:
2241         * testsuite/states/bin.c:
2242         * testsuite/states/locked.c:
2243         * testsuite/states/parent.c:
2244         * testsuite/threads/.cvsignore:
2245         * testsuite/threads/159566.c:
2246         * testsuite/threads/159852.c:
2247         * testsuite/threads/Makefile.am:
2248         * testsuite/threads/queue.c:
2249         * testsuite/threads/signals.c:
2250         * testsuite/threads/staticrec.c:
2251         * testsuite/threads/thread.c:
2252         * testsuite/threads/threadb.c:
2253         * testsuite/threads/threadc.c:
2254         * testsuite/threads/threadd.c:
2255         * testsuite/threads/threade.c:
2256         * testsuite/threads/threadf.c:
2257         * testsuite/threads/threadg.c:
2258         * testsuite/threads/threadh.c:
2259         * testsuite/threads/threadi.c:
2260           move all of these under tests
2261
2262 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2263
2264         * configure.ac:
2265         * tests/Makefile.am:
2266           fix distcheck
2267
2268 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2269
2270         * docs/gst/gstreamer-sections.txt:
2271         * tests/sched/.cvsignore:
2272         * tests/sched/Makefile.am:
2273         * tests/sched/cases/(fs-fs).xml:
2274         * tests/sched/cases/(fs-i-fs).xml:
2275         * tests/sched/cases/(fs-i-i-fs).xml:
2276         * tests/sched/cases/(fs-i-q[i-fs]).xml:
2277         * tests/sched/dynamic-pipeline.c:
2278         * tests/sched/interrupt1.c:
2279         * tests/sched/interrupt2.c:
2280         * tests/sched/interrupt3.c:
2281         * tests/sched/runtestcases:
2282         * tests/sched/runxml.c:
2283         * tests/sched/sched-stress.c:
2284         * tests/sched/sort.c:
2285         * tests/sched/testcases:
2286         * tests/sched/testcases1.tc:
2287         * tests/seeking/.cvsignore:
2288         * tests/seeking/Makefile.am:
2289         * tests/seeking/seeking1.c:
2290         * tests/threadstate/.cvsignore:
2291         * tests/threadstate/Makefile.am:
2292         * tests/threadstate/test1.c:
2293         * tests/threadstate/test2.c:
2294         * tests/threadstate/threadstate1.c:
2295         * tests/threadstate/threadstate2.c:
2296         * tests/threadstate/threadstate3.c:
2297         * tests/threadstate/threadstate4.c:
2298         * tests/threadstate/threadstate5.c:
2299           remove obsolete tests
2300         * configure.ac:
2301         * tests/bench-complexity.scm:
2302         * tests/bench-mass_elements.scm:
2303         * tests/complexity.c:
2304         * tests/complexity.gnuplot:
2305         * tests/instantiate/.cvsignore:
2306         * tests/instantiate/Makefile.am:
2307         * tests/instantiate/caps.c:
2308         * tests/mass_elements.c:
2309         * tests/network-clock-utils.scm:
2310         * tests/network-clock.scm:
2311         * tests/plot-data:
2312         First pass at cleaning up tests/ dir before moving the rest
2313         Combined with CVS surgery
2314
2315 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2316
2317         * po/POTFILES.in:
2318           queue has moved, update
2319
2320 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2321
2322         * docs/gst/gstreamer-sections.txt:
2323           remove double entries from the docs
2324         * gst/gst_private.h:
2325         * gst/gstinfo.c: (_gst_debug_init):
2326           remove the THREAD debug category
2327         * gst/Makefile.am:
2328         * gst/gstqueue.c:
2329         * gst/gstqueue.h:
2330         * docs/gst/gstreamer.types:
2331         * plugins/elements/gstqueue.c: (gst_queue_get_type),
2332         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
2333           completely move queue and fix up debugging categories
2334
2335 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2336
2337         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2338           make initialization portable, using LL is not
2339
2340 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2341
2342         * win32/common/gstconfig.h:
2343           add large padding
2344
2345 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2346
2347         * win32/common/libgstreamer.def:
2348           rename symbols; sort base section
2349
2350 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2351
2352         * gst/gstclock.c: (do_linear_regression):
2353           remove crack non-portable handrolled DEBUG macro
2354
2355 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2356
2357         * docs/random/release:
2358           update notes
2359         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2360         (gst_object_flags_get_type), (register_gst_bin_flags),
2361         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2362         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2363         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2364         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
2365         (gst_caps_flags_get_type), (register_gst_clock_return),
2366         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2367         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2368         (gst_clock_flags_get_type), (register_gst_state),
2369         (gst_state_get_type), (register_gst_state_change_return),
2370         (gst_state_change_return_get_type), (register_gst_state_change),
2371         (gst_state_change_get_type), (register_gst_element_flags),
2372         (gst_element_flags_get_type), (register_gst_core_error),
2373         (gst_core_error_get_type), (register_gst_library_error),
2374         (gst_library_error_get_type), (register_gst_resource_error),
2375         (gst_resource_error_get_type), (register_gst_stream_error),
2376         (gst_stream_error_get_type), (register_gst_event_type_flags),
2377         (gst_event_type_flags_get_type), (register_gst_event_type),
2378         (gst_event_type_get_type), (register_gst_seek_type),
2379         (gst_seek_type_get_type), (register_gst_seek_flags),
2380         (gst_seek_flags_get_type), (register_gst_format),
2381         (gst_format_get_type), (register_gst_index_certainty),
2382         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2383         (gst_index_entry_type_get_type),
2384         (register_gst_index_lookup_method),
2385         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2386         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2387         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2388         (gst_index_flags_get_type), (register_gst_debug_level),
2389         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2390         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2391         (gst_iterator_result_get_type), (register_gst_iterator_item),
2392         (gst_iterator_item_get_type), (register_gst_message_type),
2393         (gst_message_type_get_type), (register_gst_mini_object_flags),
2394         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2395         (gst_pad_link_return_get_type), (register_gst_flow_return),
2396         (gst_flow_return_get_type), (register_gst_activate_mode),
2397         (gst_activate_mode_get_type), (register_gst_pad_direction),
2398         (gst_pad_direction_get_type), (register_gst_pad_flags),
2399         (gst_pad_flags_get_type), (register_gst_pad_presence),
2400         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2401         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2402         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2403         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2404         (gst_plugin_flags_get_type), (register_gst_rank),
2405         (gst_rank_get_type), (register_gst_query_type),
2406         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2407         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2408         (gst_tag_flag_get_type), (register_gst_task_state),
2409         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2410         (gst_alloc_trace_flags_get_type),
2411         (register_gst_type_find_probability),
2412         (gst_type_find_probability_get_type), (register_gst_uri_type),
2413         (gst_uri_type_get_type), (register_gst_parse_error),
2414         (gst_parse_error_get_type):
2415         * win32/common/gstenumtypes.h:
2416         * win32/common/gstversion.h:
2417           update visual studio generated files
2418
2419 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2420
2421         * win32/vs6/libgstbase.dsp:
2422         * win32/vs6/libgstelements.dsp:
2423           update project files for new locations
2424
2425 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2426
2427         * Makefile.am:
2428           remove some files
2429         * README:
2430           reinstate and update
2431         * DEVEL:
2432         * REQUIREMENTS:
2433           removed
2434         * LICENSE:
2435         * docs/random/LICENSE:
2436           moved to random
2437
2438 2005-11-30  Edward Hervey  <edward@fluendo.com>
2439
2440         * gst/gsttypefind.c: (gst_type_find_register):
2441         * gst/gsttypefind.h:
2442         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
2443         (gst_type_find_factory_dispose):
2444         * gst/gsttypefindfactory.h:
2445         Fix memory leak in GstTypeFindFactory.
2446
2447 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2448
2449         * gst/gst.c:
2450         * plugins/elements/Makefile.am:
2451         * plugins/elements/gstelements.c:
2452         * plugins/elements/gstqueue.c:
2453           move queue from core to the elements plugin
2454
2455 2005-11-29  Andy Wingo  <wingo@pobox.com>
2456
2457         * libs/gst/base/gstbasetransform.h: 
2458         * libs/gst/base/gstbasesrc.h: 
2459         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
2460
2461         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
2462         of pointers by which to pad very extensible base classes (like the
2463         ones in libs/gst/base).
2464
2465 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2466
2467         * docs/gst/gstreamer-docs.sgml:
2468         * docs/gst/gstreamer-sections.txt:
2469         * docs/libs/gstreamer-libs-docs.sgml:
2470         * docs/libs/gstreamer-libs-sections.txt:
2471           moving documentation from core to lib
2472
2473 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2474
2475         * check/Makefile.am:
2476         * configure.ac:
2477         * docs/gst/Makefile.am:
2478         * gst/Makefile.am:
2479         * gst/base/.cvsignore:
2480         * gst/base/Makefile.am:
2481         * gst/base/README:
2482         * gst/base/gstadapter.c:
2483         * gst/base/gstadapter.h:
2484         * gst/base/gstbasesink.c:
2485         * gst/base/gstbasesink.h:
2486         * gst/base/gstbasesrc.c:
2487         * gst/base/gstbasesrc.h:
2488         * gst/base/gstbasetransform.c:
2489         * gst/base/gstbasetransform.h:
2490         * gst/base/gstcollectpads.c:
2491         * gst/base/gstcollectpads.h:
2492         * gst/base/gstpushsrc.c:
2493         * gst/base/gstpushsrc.h:
2494         * gst/base/gsttypefindhelper.c:
2495         * gst/base/gsttypefindhelper.h:
2496         * gst/check/Makefile.am:
2497         * gst/check/gstcheck.c:
2498         * gst/check/gstcheck.h:
2499         * gst/net/Makefile.am:
2500         * gst/net/gstnet.h:
2501         * gst/net/gstnetclientclock.c:
2502         * gst/net/gstnetclientclock.h:
2503         * gst/net/gstnettimepacket.c:
2504         * gst/net/gstnettimepacket.h:
2505         * gst/net/gstnettimeprovider.c:
2506         * gst/net/gstnettimeprovider.h:
2507         * libs/gst/Makefile.am:
2508         * libs/gst/base/Makefile.am:
2509         * libs/gst/base/gstbasetransform.c:
2510         * libs/gst/check/Makefile.am:
2511         * plugins/elements/Makefile.am:
2512         * po/POTFILES.in:
2513           CVS surgery + support to move base, check, and net out of gst
2514           and into libs/gst
2515
2516 2005-11-29  Andy Wingo  <wingo@pobox.com>
2517
2518         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
2519
2520         * gst/gststructure.h (struct _GstStructure): Only one pointer of
2521         padding.
2522
2523         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
2524
2525         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
2526
2527         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
2528
2529         * gst/gstobject.h: (struct _GstObject): Only one pointer of
2530         padding; reduces object size by about 30%. We don't expect
2531         anything else to go into gstobject.
2532
2533         * gst/gstminiobject.h (struct _GstMiniObject)
2534         (struct _GstMiniObjectClass): Only one pointer of padding; the
2535         payload is only a pointer and two ints anyway. For the class there
2536         are only two methods as well.
2537         
2538         * gst/gstelement.h (struct _GstElementClass): Removed
2539         the state_changed signal callback, it is not used.
2540
2541 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2542
2543         * docs/gst/gstreamer.types:
2544           fix includes, though they are a little dinky
2545
2546 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2547
2548         * check/Makefile.am:
2549           look in the right place for elements, a lot more chance of
2550           success
2551         * gst/Makefile.am:
2552           remove indexers and elements subdirs
2553         * plugins/Makefile.am:
2554           make indexers conditional
2555
2556 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2557
2558         * Makefile.am:
2559         * configure.ac:
2560         * plugins/elements/Makefile.am:
2561         * plugins/elements/gstcapsfilter.c:
2562         * plugins/elements/gstfilesink.c:
2563         * plugins/elements/gstfilesrc.c:
2564         * plugins/elements/gstidentity.c:
2565         * plugins/indexers/Makefile.am:
2566           do CVS surgery and related build fixery to move elements
2567           and indexers in a new gstreamer/plugins directory, out of the
2568           gst/ directory
2569
2570 2005-11-29  Andy Wingo  <wingo@pobox.com>
2571
2572         * check/Makefile.am:
2573         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2574         * pkgconfig/gstreamer-net.pc.in:
2575         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
2576         #322257.
2577
2578 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2579
2580         * tools/Makefile.am:
2581         * tools/gst-complete.1.in:
2582         * tools/gst-complete.c:
2583         * tools/gst-compprep.1.in:
2584         * tools/gst-compprep.c:
2585           removing -compprep and -complete
2586
2587 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2588
2589         * gst/gstevent.c: (gst_event_new_new_segment),
2590         (gst_event_parse_new_segment):
2591         * gst/gstevent.h:
2592           fix #320529 - clean up new_segment API and structure.
2593           Let's hope everyone was using the methods, and not the structure.
2594
2595 2005-11-29  Edward Hervey  <edward@fluendo.com>
2596
2597         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2598         (gst_base_sink_event), (gst_base_sink_do_sync),
2599         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
2600         Properly handle non GST_FORMAT_TIME segment
2601         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2602         Properly handle non GST_FORMAT_TIME segment
2603         * gst/gstsegment.c:
2604         This function is valid if the accumulator is 0 and the format
2605         is different from the requested format.
2606         
2607 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2608
2609         * docs/gst/gstreamer-sections.txt:
2610         Add gst_query_new_seeking and gst_query_parse_seeking to the
2611         docs.
2612
2613 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2614
2615         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
2616           Treat a pad alloc with new caps the same as if we were not
2617           negotiated, in order to allow a changing upstream output
2618           to produce a new format of data.
2619
2620 2005-11-29  Edward Hervey  <edward@fluendo.com>
2621
2622         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2623         (gst_base_transform_event), (gst_base_transform_eventfunc):
2624         The event virtual method is now properly implemented, with a default
2625         handler
2626         Sub classes should call the parent_class event method. They should
2627         return FALSE if they had a problem handling the given event, or don't
2628         want GstBaseTransform to send that even downstream
2629         * gst/elements/gstidentity.c: (gst_identity_class_init),
2630         (gst_identity_init), (gst_identity_event),
2631         (gst_identity_transform_ip), (gst_identity_set_property),
2632         (gst_identity_get_property):
2633         * gst/elements/gstidentity.h:
2634         Added the single-segment boolean property.
2635         If set to TRUE, it will output a single segment of data, starting from
2636         0, will eat up all incoming newsegment, and modify the timestamp of the
2637         buffers accordingly
2638
2639 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
2640
2641         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
2642           Don't ref NULL target pad (#322751). Improve docs.
2643
2644 2005-11-29  Michael Smith  <msmith@fluendo.com>
2645
2646         * gst/gstregistryxml.c: (load_plugin):
2647           Don't crash if we failed to load a feature from a plugin. 
2648
2649 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2650
2651         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
2652         (GST_START_TEST):
2653           use more check API and less GLib API
2654
2655 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2656
2657         * Makefile.am:
2658           don't run checks if we don't have check
2659         * common/check.mak:
2660           remove the registry when running make torture
2661         * docs/gst/gstreamer-sections.txt:
2662           remove second multiply
2663         * gst/gstqueue.c: (gst_queue_loop):
2664           fix a compile warning when disabling debug
2665
2666 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2667
2668         * gst/gstinfo.h:
2669         Hey! Let's print the pad name if the pointer != NULL instead
2670         of when it == NULL :-)
2671
2672 2005-11-28  Wim Taymans  <wim@fluendo.com>
2673
2674         * check/gst/gstutils.c: (GST_START_TEST):
2675         Updated check, add some scaling accuracy checking code.
2676
2677         * gst/gstutils.c: (gst_util_div128_64),
2678         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
2679         (gst_util_uint64_scale_int):
2680         Fix 6 times faster division code. Optimize for common 
2681         1/1 and less common X/1 cases.
2682
2683 2005-11-28  Wim Taymans  <wim@fluendo.com>
2684
2685         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2686         More checks.
2687
2688         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
2689         (do_linear_regression), (gst_clock_add_observation):
2690         Cleanups.
2691         Release lock when the clock cannot be slaved.
2692         Catch the case where the regression returned an invalid denominator.
2693
2694         * gst/gstutils.c: (gst_util_div128_64_iterate),
2695         (gst_util_div128_64), (gst_util_uint64_scale_int64),
2696         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
2697         Add protentially more performant non-iterative 128/64 divide function
2698         that unfortunatly does not work yet.
2699         Shortcut the trivial 0/X = 0 case.
2700         Remove the warnings on overflow.
2701
2702 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2703
2704         * gst/gstplugin.c: (gst_plugin_register_func):
2705           everything causing a plugin not to load should be at least a WARNING
2706
2707 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
2708
2709         * docs/random/ensonic/dparams.txt:
2710           some TODOs for the next dev cycle
2711         * libs/gst/controller/gstcontroller.c:
2712         (gst_controlled_property_set_interpolation_mode),
2713         (gst_controlled_property_new):
2714         * libs/gst/controller/gstcontroller.h:
2715           use base type to assign acccessor functions
2716
2717 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2718
2719         * check/Makefile.am:
2720         Oops, that should have been top_srcdir
2721
2722 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2723
2724         * check/Makefile.am:
2725         * check/elements/fdsrc.c: (GST_START_TEST):
2726         Use a cmdline define to specify the location of a file to use for
2727         testing, to avoid breaking distcheck.
2728
2729 2005-11-28  Andy Wingo  <wingo@pobox.com>
2730
2731         * gst/gstpad.c (fixate_value): Use array functions for arrays.
2732
2733 2005-11-28  Edward Hervey  <edward@fluendo.com>
2734
2735         * tools/gst-launch.c: (main):
2736         Clarify the output strings, makes it easier to translate.
2737         Fixes #322626
2738
2739 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2740
2741         * gst/Makefile.am:
2742           don't try and build net if we don't even have <sys/socket.h>
2743
2744 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
2745
2746         * check/Makefile.am:
2747         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
2748         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
2749           Add tests for fdsrc seekability
2750
2751         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
2752         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
2753         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
2754         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
2755         * gst/elements/gstfdsrc.h:
2756           fdsrc should not be a 'live' source.
2757           Implement seeking on seekable fd's.
2758
2759         * gst/gstquery.c: (gst_query_new_seeking),
2760         (gst_query_parse_seeking):
2761         * gst/gstquery.h:
2762           Implement SEEKING query functions: 
2763             *_new_seeking and *_parse_seeking
2764
2765 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
2766
2767         * gst/gstelement.c: (gst_element_dispose):
2768           don't loop forever
2769
2770         * gst/gstiterator.c:
2771         * gst/gststructure.c:
2772           doc fixes
2773
2774         * libs/gst/controller/gstcontroller.c:
2775         (gst_controlled_property_set_interpolation_mode):
2776         * libs/gst/controller/gstcontroller.h:
2777         * libs/gst/controller/gstinterpolation.c:
2778         (interpolate_none_get_enum_value_array):
2779           support controlling enums
2780
2781 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
2782
2783         * gst/gstvalue.c:
2784           Improve documentation for gst_value_union().
2785
2786         * gst/gstvalue.h:
2787           Change return value for union, intersect and subtract functions
2788           from gint to gboolean.
2789
2790 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
2791
2792         * gst/gstvalue.c: (gst_value_serialize_any_list),
2793         (gst_value_transform_any_list_string),
2794         (gst_value_deserialize_list), (gst_value_deserialize_array),
2795         (gst_value_set_int_range), (gst_value_deserialize_int_range),
2796         (gst_value_set_double_range), (gst_value_deserialize_double_range),
2797         (gst_value_set_fraction_range_full),
2798         (gst_value_deserialize_fraction_range),
2799         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
2800         (gst_value_deserialize_boolean),
2801         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
2802         (gst_value_serialize_float), (gst_value_deserialize_float),
2803         (gst_string_wrap), (gst_value_deserialize_string),
2804         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
2805         (gst_value_union_int_range_int_range),
2806         (gst_value_intersect_int_range_int_range),
2807         (gst_value_intersect_double_range_double_range),
2808         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
2809         (gst_value_subtract_int_range_int_range),
2810         (gst_value_subtract_double_double_range),
2811         (gst_value_subtract_double_range_double_range),
2812         (gst_value_deserialize_fraction):
2813         * gst/gstvalue.h:
2814           Use gint, gdouble and gchar in our API instead of int, double and
2815           char (and make usage in gstvalue.c more consistent).
2816
2817 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2818
2819         * check/Makefile.am:
2820         * libs/gst/controller/Makefile.am:
2821         * libs/gst/dataprotocol/Makefile.am:
2822           fix up Makefile.am and remove GST_ENABLE_NEW
2823
2824 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2825
2826         * configure.ac:
2827         * gst/Makefile.am:
2828         * gst/base/Makefile.am:
2829         * gst/check/Makefile.am:
2830         * gst/elements/Makefile.am:
2831         * gst/net/Makefile.am:
2832           update LDFLAGS use some more
2833
2834 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2835
2836         * common/m4/gst-doc.m4:
2837           Fixes #312589
2838
2839 2005-11-26  Edward Hervey  <edward@fluendo.com>
2840
2841         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2842         This shouldn't issue a g_warning since it returns NULL if it
2843         couldn't find the plugin, and all functions using this behave
2844         properly on a NULL return. Switching to a GST_WARNING.
2845
2846 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
2847
2848         * gst/gstbin.c: (gst_bin_handle_message_func):
2849         Don't leak clock messages.
2850
2851 2005-11-25  Wim Taymans  <wim@fluendo.com>
2852
2853         * gst/gstutils.c: (gst_util_uint64_scale_int64),
2854         (gst_util_uint64_scale_int):
2855         Optimisations, remove unneeded vars.
2856
2857 2005-11-25  Wim Taymans  <wim@fluendo.com>
2858
2859         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2860         Added more checks for the high precision uint64 cases.
2861
2862         * gst/gstutils.c: (gst_util_uint64_scale_int64),
2863         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
2864         Implement high precision (guint64 * guint64) / guint64.
2865
2866 2005-11-24  Wim Taymans  <wim@fluendo.com>
2867
2868         * gst/base/gstbasesrc.c: (gst_base_src_query):
2869         Fix wrong percentage query.
2870
2871         * gst/gstutils.c: (gst_util_uint64_scale),
2872         (gst_util_uint64_scale_int):
2873         Add some more common cases that can be handled 
2874         efficiently to _scale.
2875
2876 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2877
2878         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
2879         (gst_mini_object_suite):
2880           don't use check calls from threads; check probably isn't
2881           threadsafe and using a lock to make it threadsafe would
2882           defeat the purpose of this check
2883         * gst/check/gstcheck.c:
2884         * gst/check/gstcheck.h:
2885           use GST_DEBUG some more
2886
2887 2005-11-24  Wim Taymans  <wim@fluendo.com>
2888
2889         * gst/gstutils.c: (gst_util_uint64_scale),
2890         (gst_util_uint64_scale_int):
2891         Chain trivial case to _scale_int.
2892
2893 2005-11-24  Wim Taymans  <wim@fluendo.com>
2894
2895         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2896         Added test for scaling.
2897
2898         * gst/gstclock.h:
2899         Small doc fix.
2900
2901         * gst/gstutils.c: (gst_util_uint64_scale_int):
2902         Implemented high precision scaling code.
2903
2904 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
2905
2906         * gst/gstinfo.h:
2907           do not crash on pad==NULL
2908
2909 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2910
2911         Patch by: Stefan Kost
2912
2913         * common/gtk-doc.mak:
2914         * docs/gst/Makefile.am:
2915         * docs/libs/Makefile.am:
2916           Fix distcheck issues for the libraries docs build
2917           Closes #319599.
2918
2919 2005-11-24  Michael Smith <msmith@fluendo.com>
2920
2921         * docs/manual/basics-helloworld.xml:
2922           Fix bug #315027: memory leak in example code in docs.
2923
2924 2005-11-24  Michael Smith <msmith@fluendo.com>
2925
2926         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
2927           Unlock the PREROLL_LOCK in a failure case.
2928
2929 2005-11-24  Wim Taymans  <wim@fluendo.com>
2930
2931         * docs/gst/gstreamer-sections.txt:
2932         * gst/base/gstadapter.h:
2933         * gst/base/gstbasesink.h:
2934         * gst/base/gstbasesrc.h:
2935         * gst/base/gstbasetransform.h:
2936         * gst/base/gstpushsrc.h:
2937         * gst/elements/gstfakesink.h:
2938         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
2939         * gst/elements/gstfakesrc.h:
2940         * gst/elements/gstfilesink.h:
2941         * gst/elements/gstfilesrc.h:
2942         * gst/gst.c:
2943         * gst/gstbin.c:
2944         * gst/gstbuffer.c: (_gst_buffer_copy):
2945         * gst/gstbus.h:
2946         * gst/gstcaps.c:
2947         * gst/gstchildproxy.c:
2948         * gst/gstclock.c:
2949         * gst/gstelement.c:
2950         * gst/gstelementfactory.c:
2951         * gst/gstelementfactory.h:
2952         * gst/gstevent.c:
2953         * gst/gstghostpad.h:
2954         * gst/gstindex.h:
2955         * gst/gstinterface.h:
2956         * gst/gstminiobject.c:
2957         * gst/gstminiobject.h:
2958         * gst/gstpad.c:
2959         * gst/gstpad.h:
2960         * gst/gstpadtemplate.h:
2961         * gst/gstpipeline.h:
2962         * gst/gstpluginfeature.h:
2963         * gst/gstquery.h:
2964         * gst/gstqueue.h:
2965         * gst/gsttaglist.c:
2966         * gst/gsttaglist.h:
2967         * gst/gsttagsetter.c:
2968         * gst/gsttagsetter.h:
2969         * gst/gsttrace.c:
2970         * gst/gsttrace.h:
2971         * gst/gsttypefind.h:
2972         * gst/gsturi.h:
2973         * gst/gstvalue.c:
2974         * gst/net/gstnetclientclock.c:
2975         * gst/net/gstnetclientclock.h:
2976         * gst/net/gstnettimepacket.c:
2977         * gst/net/gstnettimeprovider.c:
2978         * gst/net/gstnettimeprovider.h:
2979         Doc fixes.
2980
2981 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
2982
2983         * configure.ac: back to HEAD
2984
2985 === release 0.9.6 ===
2986
2987 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
2988
2989         * configure.ac:
2990           releasing 0.9.6, "Always On Time"
2991
2992 2005-11-23  Wim Taymans  <wim@fluendo.com>
2993
2994         * docs/gst/gstreamer-sections.txt:
2995         * gst/glib-compat.c:
2996         * gst/gsttagsetter.c:
2997         * gst/gstvalue.c:
2998         * gst/net/gstnetclientclock.c:
2999         * gst/net/gstnettimepacket.h:
3000         Doc updates.
3001
3002 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3003
3004         * docs/faq/using.xml:
3005         * docs/libs/tmpl/gstcontrol.sgml:
3006         * docs/manual/advanced-dparams.xml:
3007         * docs/manual/appendix-checklist.xml:
3008         * docs/manual/basics-elements.xml:
3009         * docs/pwg/other-source.xml:
3010         * docs/random/moving-plugins:
3011         * gst/gstpad.c:
3012         * tools/gst-launch.1.in:
3013           remove mentions of sinesrc
3014
3015 2005-11-23  Michael Smith <msmith@fluendo.com>
3016
3017         * docs/gst/gstreamer-sections.txt:
3018           Update for new API and API changes.
3019         * gst/gstobject.h:
3020           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
3021         * gst/gstvalue.c:
3022           Documentation typo fix.
3023         * gst/net/gstnettimepacket.c:
3024           Documentation fixes for arguments.
3025
3026 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
3027
3028         * gst/gststructure.c: (gst_structure_get_fraction),
3029         (gst_structure_parse_value),
3030         (gst_structure_fixate_field_nearest_fraction):
3031         * gst/gststructure.h:
3032         * gst/gstutils.c: (gst_util_uint64_scale_int):
3033         * gst/gstutils.h:
3034         * scripts/update-funcnames:
3035         API Changes. 
3036         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
3037         Make gst_structure_fixate_field_nearest_fraction take a numerator
3038         and denominator argument instead of a GValue
3039         add gst_structure_get_fraction helper function.
3040
3041 2005-11-23  Wim Taymans  <wim@fluendo.com>
3042
3043         * docs/design/part-TODO.txt:
3044         Update TODO.
3045
3046         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3047         * gst/net/gstnetclientclock.h:
3048         Use parent fields for timeout and window_size.
3049
3050 2005-11-23  Andy Wingo  <wingo@pobox.com>
3051
3052         * check/net/gstnetclientclock.c (test_functioning): Adjust to
3053         rate_num/rate_denom change.
3054
3055         * gst/net/gstnetclientclock.c
3056         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
3057         OBJECT_LOCK. Don't call add_observation with the lock.
3058
3059         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
3060         fraction.
3061         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
3062         rate fraction.
3063         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
3064         deal with rate as a fraction whose numerator and denominator are
3065         GstClockTime values.
3066         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
3067         master; the other fields are protected by the SLAVE_LOCK.
3068         (do_linear_regression): Note that this must be called with the
3069         SLAVE_LOCK.
3070         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
3071         OBJECT_LOCK. Call set_calibration instead of touching the
3072         variables directly.
3073         (gst_clock_set_property, gst_clock_get_property): Protect
3074         master/slave parameters with the SLAVE_LOCK.
3075
3076         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
3077         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
3078         note that all of the instance variables that add_observation and
3079         the set_master functions use are protected by that lock and not
3080         the OBJECT_LOCK.
3081         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
3082
3083         * gst/gstclock.c (gst_clock_add_observation): No longer requires
3084         the caller to take the object lock.
3085
3086 2005-11-23  Wim Taymans  <wim@fluendo.com>
3087
3088         * gst/gsterror.c: (_gst_core_errors_init):
3089         * gst/gsterror.h:
3090         Add error for clock stuff.
3091
3092         * gst/gstpipeline.c: (gst_pipeline_change_state),
3093         (gst_pipeline_set_clock):
3094         Post clock error when clock cannot be used in a pipeline.
3095
3096 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
3097
3098         * docs/gst/gstreamer-sections.txt:
3099           make two symbols from gstinfo private for the docs
3100         * gst/base/gstcollectpads.h:
3101         * gst/gstutils.c:
3102           fix doc typos, update docs
3103
3104 2005-11-22  Wim Taymans  <wim@fluendo.com>
3105
3106         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
3107         (gst_base_sink_wait), (gst_base_sink_do_sync),
3108         (gst_base_sink_handle_event):
3109         * gst/base/gstbasesink.h:
3110         No need to store the clock, the parent element class already
3111         has it.
3112
3113         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
3114         Updates for clock_set returning a gboolean
3115
3116         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
3117         (gst_clock_id_wait_async), (gst_clock_class_init),
3118         (gst_clock_init), (gst_clock_finalize),
3119         (gst_clock_get_internal_time), (gst_clock_get_time),
3120         (gst_clock_slave_callback), (gst_clock_set_master),
3121         (gst_clock_get_master), (do_linear_regression),
3122         (gst_clock_add_observation), (gst_clock_set_property),
3123         (gst_clock_get_property):
3124         * gst/gstclock.h:
3125         Implement master/slave. When setting a clock as a slave, a
3126         periodic timeout is scheduled to sample master and slave times.
3127         Then the slave clock is recalibrated to match offset and rate
3128         of the master clock.
3129         Update logging a bit.
3130         Add flag so that a clock can state that is cannot be slaved to
3131         another clock.
3132
3133         * gst/gstelement.c: (gst_element_set_clock):
3134         * gst/gstelement.h:
3135         The set clock returns a gboolean for when an element cannot
3136         deal with the selected clock in the pipeline. 
3137
3138         * gst/gstpipeline.c: (gst_pipeline_change_state),
3139         (gst_pipeline_set_clock):
3140         * gst/gstpipeline.h:
3141         Handle the case where the selected clock cannot be set on
3142         the pipeline.
3143
3144         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
3145         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
3146         (gst_net_client_clock_set_property),
3147         (gst_net_client_clock_get_property),
3148         (gst_net_client_clock_observe_times):
3149         * gst/net/gstnetclientclock.h:
3150         Use regression code in GstClock parent, remove duplicated
3151         functionality.
3152
3153 2005-11-22  Michael Smith <msmith@fluendo.com>
3154
3155         * gst/gstutils.c: (gst_util_clock_time_scale):
3156         * gst/gstutils.h:
3157         * docs/gst/gstreamer-sections.txt:
3158           Rename method to have extra underscore.
3159
3160 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3161
3162         * gst/elements/Makefile.am:
3163         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
3164         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
3165         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
3166         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
3167         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
3168         * gst/elements/gstfakesrc.h:
3169         * gst/gstqueue.c: (queue_leaky_get_type):
3170           correctly fix GEnumValues so that nick is the short lowercase
3171           dashed tag
3172         * tools/gst-inspect.c: (print_element_properties_info):
3173           also show the nick, since it's useful to use from parse_launch
3174           syntax
3175           Fixes #322139
3176
3177 2005-11-22  Michael Smith <msmith@fluendo.com>
3178
3179         * gst/gstutils.c: (gst_util_clocktime_scale):
3180         * gst/gstutils.h:
3181         * docs/gst/gstreamer-sections.txt:
3182           Add util method for scaling a clocktime by a fraction. Useful 
3183           implementation is left as an exercise for the reader.
3184
3185 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3186
3187         * gst/gstvalue.c: (gst_value_collect_fraction_range):
3188         If needed, allocate storage in the destination value during
3189         collection.
3190
3191 2005-11-22  Edward Hervey  <edward@fluendo.com>
3192
3193         * docs/gst/gstreamer-sections.txt:
3194         * gst/Makefile.am:
3195         * gst/gst.h:
3196         * gst/gsturitype.c:
3197         * gst/gsturitype.h:
3198         * gst/gstutils.c: (gst_util_set_object_arg):
3199         * tools/gst-compprep.c: (main):
3200         * tools/gst-inspect.c: (print_element_properties_info):
3201         Removed GstURI, closes bug #321061
3202
3203 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3204
3205         * check/gst/gststructure.c: (GST_START_TEST):
3206         * gst/gststructure.c: (gst_structure_parse_value):
3207           Oops, broke automatic string type parsing.
3208           Add a test to catch it in future.
3209
3210 2005-11-22  Andy Wingo  <wingo@pobox.com>
3211
3212         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
3213         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
3214         Actually rename the function implementations. Grr.
3215
3216 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3217
3218         * check/gst/capslist.h:
3219           Comment test cases
3220         * check/gst/gststructure.c: (GST_START_TEST),
3221         (gst_structure_suite):
3222           Test automatic value type detection in gst_structure_from_string.
3223         * gst/gststructure.c: (gst_structure_parse_value):
3224           Add fraction as a type we try and guess automatically in
3225           caps/structure strings.
3226
3227 2005-11-22  Andy Wingo  <wingo@pobox.com>
3228
3229         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
3230
3231         * gst/gsttagsetter.h:
3232         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
3233         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
3234         (gst_tag_setter_add_tag_valist)
3235         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
3236         _add_values, _add_valist, and _add_valist_values. Since this is an
3237         interface the function suffixes should be more explicit so
3238         language binding don't end up with element.add_valist ->
3239         gst_tag_setter_add_valist, for example. Fixes #322069.
3240
3241 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3242
3243         * check/gst/gstcaps.c: (GST_START_TEST):
3244           Extend caps string tests to check that a caps to string
3245           conversion is reversible and produces the same caps.
3246
3247         * gst/gststructure.c: (gst_structure_value_get_generic_type):
3248           Output "fraction" as the generic type fraction range, so caps
3249           serialisation and deserialisation works.
3250         * check/gst/capslist.h:
3251         * gst/gstvalue.c: (gst_value_deserialize_fraction):
3252           Support 'MIN' and 'MAX' for deserialising fractions.
3253
3254 2005-11-22  Andy Wingo  <wingo@pobox.com>
3255
3256         * gst/gstevent.h (gst_event_new_new_segment)
3257         (gst_event_parse_new_segment, gst_event_new_buffer_size)
3258         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
3259         Renamed from *_newsegment, *_buffersize, *_notarget.
3260
3261         * scripts/update-funcnames: New script, performs the changes
3262         listed above.
3263
3264 2005-11-22  Wim Taymans  <wim@fluendo.com>
3265
3266         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3267         Make sure the GstFlowReturn is returned.
3268
3269         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
3270         (gst_bus_add_signal_watch):
3271         * gst/gstbus.h:
3272         add gst_bus_add_signal_watch_full.
3273
3274         * gst/gstplugin.c: (gst_plugin_load_file):
3275         Small style cleanup.
3276
3277 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3278
3279         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
3280           Block the fakesrc srcpad when we send an event, to avoid
3281           contention on the stream_lock causing random test failures.
3282
3283 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3284
3285         * check/gst/gstvalue.c: (GST_START_TEST):
3286         * gst/gstvalue.c: (gst_value_fraction_subtract):
3287           Fix subtraction.
3288
3289 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
3290
3291         * gst/gst.h:
3292           include "gstchildproxy.h"
3293         * gst/gstchildproxy.h:
3294         * libs/gst/controller/gstcontroller.h:
3295           use G_GNUC_NULL_TERMINATED
3296
3297 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3298
3299         * check/gst/capslist.h:
3300         * check/gst/gstcaps.c: (GST_START_TEST):
3301         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3302         * gst/gststructure.c: (gst_structure_parse_range),
3303         (gst_structure_fixate_field_nearest_fraction):
3304         * gst/gststructure.h:
3305         * gst/gstvalue.c: (gst_value_init_fraction_range),
3306         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
3307         (gst_value_collect_fraction_range),
3308         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
3309         (gst_value_set_fraction_range_full),
3310         (gst_value_get_fraction_range_min),
3311         (gst_value_get_fraction_range_max),
3312         (gst_value_serialize_fraction_range),
3313         (gst_value_transform_fraction_range_string),
3314         (gst_value_compare_fraction_range),
3315         (gst_value_deserialize_fraction_range),
3316         (gst_value_intersect_fraction_fraction_range),
3317         (gst_value_intersect_fraction_range_fraction_range),
3318         (gst_value_subtract_fraction_fraction_range),
3319         (gst_value_subtract_fraction_range_fraction),
3320         (gst_value_subtract_fraction_range_fraction_range),
3321         (gst_value_collect_fraction), (gst_value_fraction_multiply),
3322         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
3323         (gst_value_transform_string_fraction), (_gst_value_initialize):
3324         * gst/gstvalue.h:
3325           Implement fraction ranges and extend GstFraction to support
3326           arithmetic subtraction, as well as deserialization from integer
3327           strings such as "100"
3328           Add a testsuite as for int and double range set operations
3329
3330 2005-11-21  Andy Wingo  <wingo@pobox.com>
3331
3332         * gst/gsttaglist.h: 
3333         * gst/gstcaps.h: 
3334         * gst/gststructure.h: Add glib-compat.h.
3335
3336 2005-11-21  Wim Taymans  <wim@fluendo.com>
3337
3338         * gst/gstbin.c: (gst_bin_change_state_func):
3339         Fix for #321595
3340
3341 2005-11-21  Wim Taymans  <wim@fluendo.com>
3342
3343         * gst/gstsegment.h:
3344         And add a nice define too.
3345
3346 2005-11-21  Wim Taymans  <wim@fluendo.com>
3347
3348         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
3349         (gst_segment_new), (gst_segment_free), (gst_segment_init),
3350         (gst_segment_set_duration), (gst_segment_set_last_stop),
3351         (gst_segment_set_seek), (gst_segment_set_newsegment),
3352         (gst_segment_to_stream_time), (gst_segment_to_running_time),
3353         (gst_segment_clip):
3354         * gst/gstsegment.h:
3355         Make binding friendly.
3356
3357 2005-11-21  Andy Wingo  <wingo@pobox.com>
3358
3359         * gst/gsttagsetter.h: 
3360         * gst/gsttaglist.h: 
3361         * gst/gststructure.h: 
3362         * gst/gstcaps.h: 
3363         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
3364         #319940.
3365
3366         * gst/gsterror.c (_gst_core_errors_init):
3367         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
3368         category.
3369
3370         * gst/Makefile.am (gst_headers): Add glib-compat.h.
3371         (noinst_HEADERS): noinst the -private.
3372
3373 2005-11-21  Michael Smith <msmith@fluendo.com>
3374
3375         * gst/gstplugin.h:
3376         * gst/gstregistry.h:
3377           Remove unimplemented declarations for which we can see no sensible
3378           use.
3379
3380 2005-11-21  Andy Wingo  <wingo@pobox.com>
3381
3382         * gst/gst.h: Include glib-compat.h.
3383
3384         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
3385
3386         * gst/glib-compat.c: Include the public and the private header.
3387
3388         * gst/glib-compat-private.h: Copied here from glib-compat.h.
3389
3390         * gst/gstvalue.c: 
3391         * gst/gstpad.c: 
3392         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
3393
3394         * check/gst/gstevent.c (create_custom_events): Check that
3395         FLUSH_STOP is serialized.
3396
3397         * check/elements/identity.c (event_func): 
3398         * check/elements/fakesrc.c (event_func): No stream lock, the core
3399         takes it.
3400
3401         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
3402         stream lock taking, yay.
3403
3404         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
3405         ensure that core takes the stream lock.
3406
3407         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
3408         lock name change.
3409
3410         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
3411         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
3412         it already. For the flush start we do take it though so we get the
3413         right preroll state change messages.
3414
3415         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
3416         the stream lock here, the core does it for us.
3417
3418         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
3419         GST_STREAM_GET_LOCK.
3420         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
3421         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
3422         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
3423         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
3424         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
3425         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
3426
3427         * gst/gstpad.c: Update for stream lock name change.
3428
3429         * gst/base/gstbasesink.c: Update for preroll lock name change.
3430
3431 2005-11-21  Wim Taymans  <wim@fluendo.com>
3432
3433         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
3434         (gst_clock_get_master):
3435         * gst/gstclock.h:
3436         * gst/gstsystemclock.c: (gst_system_clock_init):
3437         Convert Clock flags to object flags.
3438         Added methods to manage master/slave clocks.
3439
3440 2005-11-21  Wim Taymans  <wim@fluendo.com>
3441
3442         * check/gst/gstsegment.c: (GST_START_TEST):
3443         * docs/design/part-TODO.txt:
3444         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3445         (gst_base_sink_event), (gst_base_sink_do_sync),
3446         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3447         (gst_base_sink_query), (gst_base_sink_change_state):
3448         * gst/base/gstbasesink.h:
3449         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3450         (gst_base_src_default_newsegment),
3451         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3452         (gst_base_src_get_range), (gst_base_src_loop),
3453         (gst_base_src_change_state):
3454         * gst/base/gstbasesrc.h:
3455         * gst/base/gstbasetransform.c:
3456         (gst_base_transform_prepare_output_buf),
3457         (gst_base_transform_event), (gst_base_transform_change_state):
3458         * gst/base/gstbasetransform.h:
3459         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3460         (gst_collect_pads_event):
3461         * gst/base/gstcollectpads.h:
3462         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
3463         (gst_fake_src_create):
3464         * gst/elements/gstfakesrc.h:
3465         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3466         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
3467         (gst_segment_set_last_stop), (gst_segment_set_seek),
3468         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
3469         (gst_segment_to_running_time), (gst_segment_clip):
3470         * gst/gstsegment.h:
3471         More segment updates, replace code in plugins with segment
3472         helper functions.
3473
3474 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3475
3476         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
3477         Don't ignore sscanf results
3478
3479 2005-11-21  Andy Wingo  <wingo@pobox.com>
3480
3481         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
3482
3483         * *.h:
3484         * *.c: Ran scripts/update-macros. Oh yes.
3485
3486         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
3487         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
3488         GST_GET_LOCK, etc.
3489
3490         * scripts/update-macros: New script. Run it on your files to
3491         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
3492         well.
3493
3494 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
3495
3496         * docs/gst/Makefile.am:
3497         * docs/gst/gstreamer-docs.sgml:
3498         * docs/gst/gstreamer-sections.txt:
3499         * docs/gst/gstreamer.types:
3500         * gst/gstinfo.h:
3501           more docs fixes, add new api to the docs
3502
3503 2005-11-21  Andy Wingo  <wingo@pobox.com>
3504
3505         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
3506         state_broadcast call.
3507
3508         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
3509
3510 2005-11-21  Julien MOUTTE  <julien@moutte.net>
3511
3512         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
3513         function calls for arrays.
3514
3515 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
3516
3517         * docs/random/ensonic/media-device-daemon.txt:
3518           wild idea, can this be done?
3519         * docs/gst/gstreamer-sections.txt:
3520         * gst/gsterror.h:
3521         * gst/gstfilter.c:
3522         * gst/gstfilter.h:
3523         * gst/gstplugin.h:
3524         * gst/gstpluginfeature.c:
3525         * gst/gsttrace.c:
3526         * gst/gstvalue.c:
3527         * gst/gstvalue.h:
3528           doc fixes and additions
3529
3530 2005-11-21  Andy Wingo  <wingo@pobox.com>
3531
3532         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
3533         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
3534         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
3535         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
3536         private to the basesrc implementation.
3537
3538         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
3539         behalf of event function if necessary. It should no longer be
3540         necessary to take the stream lock in pad's event functions. Fixes
3541         #320299.
3542
3543 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3544         * docs/gst/gstreamer-sections.txt:
3545         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
3546         (gst_structure_fixate_field_nearest_double),
3547         (gst_structure_fixate_field_boolean):
3548         * gst/gststructure.h:
3549         * win32/common/libgstreamer.def:
3550         * win32/gstreamer.def:
3551
3552         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
3553         (#322027)
3554
3555 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3556
3557         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
3558         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
3559         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
3560         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
3561         (gst_fdsrc_uri_handler_init):
3562         * gst/elements/gstfdsrc.h:
3563           Port fd:// URI handler from 0.8 to fdsrc
3564
3565 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3566
3567         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
3568         (gst_value_serialize_fourcc):
3569         * gst/gstvalue.h:
3570           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
3571           consistent with our other format defines (#320324).
3572
3573 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3574
3575         * gst/gstvalue.c: (gst_value_is_fixed):
3576           Revert previous commit. Value lists are by definition
3577           not fixed, as they are a list of possible values.
3578
3579 2005-11-21  Andy Wingo  <wingo@pobox.com>
3580
3581         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
3582         during the stable series if we need it. Fixes #319178.
3583
3584         * gst/gstevent.c (gst_event_new_filler): Removed.
3585
3586         * check/gst/gstevent.c: Update comment about filler events.
3587
3588 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3589
3590         * gst/gstvalue.c: (gst_value_is_fixed):
3591           Should handle both value arrays and value lists.
3592
3593 2005-11-21  Andy Wingo  <wingo@pobox.com>
3594
3595         patch by: Alessandro Dessina <alessandro nnva org>
3596
3597         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
3598         functions to access arrays. Fixes #321962.
3599
3600 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3601
3602         * docs/gst/gstreamer.types:
3603           gst_collectpads_get_type => gst_collect_pads_get_type.
3604           
3605         * gst/base/gstbasetransform.c:
3606           Remove unused SIGNAL_HANDOFF enum.
3607
3608 2005-11-21  Andy Wingo  <wingo@pobox.com>
3609
3610         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
3611         the event type (upstream, downstream, serialized). Renamed
3612         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
3613         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
3614         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
3615
3616         * gst/gstevent.c: Update for new CUSTOM event names.
3617
3618         * check/gst/gstevent.c: Update check for new CUSTOM event names.
3619
3620         * gst/gstevent.h:
3621         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
3622         bug #319392.
3623
3624 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3625
3626         * docs/gst/gstreamer-sections.txt:
3627         * win32/common/libgstbase.def:
3628         * win32/libgstbase.def:
3629         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3630         (gst_collect_pads_class_init), (gst_collect_pads_init),
3631         (gst_collect_pads_finalize), (gst_collect_pads_new),
3632         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
3633         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
3634         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
3635         (gst_collect_pads_start), (gst_collect_pads_stop),
3636         (gst_collect_pads_peek), (gst_collect_pads_pop),
3637         (gst_collect_pads_available), (gst_collect_pads_read),
3638         (gst_collect_pads_flush), (gst_collect_pads_event),
3639         (gst_collect_pads_chain):
3640         * gst/base/gstcollectpads.h:
3641           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
3642           unimplemented functions as unimplemented. Add padding to
3643           GstCollectData. (#320766, #320423)
3644
3645 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3646
3647         * gst/gstmessage.c:
3648           Improve docs for DURATION message (usage of duration parameter)
3649           (#320113)
3650
3651 2005-11-20  Wim Taymans  <wim@fluendo.com>
3652
3653         * check/Makefile.am:
3654         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
3655         (main):
3656         * gst/Makefile.am:
3657         * gst/gst.h:
3658         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
3659         (gst_segment_set_seek), (gst_segment_set_newsegment),
3660         (gst_segment_to_stream_time), (gst_segment_to_running_time),
3661         (gst_segment_clip):
3662         * gst/gstsegment.h:
3663         Added segment helper structure and methods. Not fully implemented
3664         yet.
3665         Added segment check.
3666
3667 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
3668
3669         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3670           Add a deserialisation test for fractions
3671         * examples/metadata/read-metadata.c: (message_loop),
3672         (make_pipeline), (main):
3673           Fix up metadata reading sample.
3674         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3675           Debug format fix
3676         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3677           Don't try and fixate empty caps
3678         * gst/gst_private.h:
3679           Wrap in G_BEGIN_DECLS/G_END_DECLS
3680         * gst/gstvalue.c: (gst_value_collect_fraction),
3681         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
3682         (gst_value_transform_string_fraction),
3683         (gst_value_compare_fraction):
3684           Add some extra guards to ensure that we don't end up 
3685           with an invalid denominator of 0 in a gstfraction and
3686           that fractions always get reduced.
3687
3688 2005-11-20  Wim Taymans  <wim@fluendo.com>
3689
3690         * docs/gst/gstreamer-sections.txt:
3691         * gst/gstbuffer.h:
3692         * gst/gstelement.c:
3693         * gst/gstformat.c:
3694         * gst/gstformat.h:
3695         * gst/gstindex.h:
3696         * gst/gstquery.c:
3697         * gst/gstquery.h:
3698         * gst/gstvalue.c:
3699         Doc fixes.
3700
3701 2005-11-20  Wim Taymans  <wim@fluendo.com>
3702
3703         * docs/design/part-TODO.txt:
3704         * gst/gstcaps.h:
3705         Make a proper enum of the flag.
3706
3707 2005-11-19  Wim Taymans  <wim@fluendo.com>
3708
3709         * docs/design/part-TODO.txt:
3710         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
3711         (gst_format_to_quark), (gst_format_register):
3712         * gst/gstformat.h:
3713         * gst/gstquery.c: (_gst_query_initialize),
3714         (gst_query_type_get_name), (gst_query_type_to_quark),
3715         (gst_query_type_register):
3716         * gst/gstquery.h:
3717         Add type to quark and type to string conversions.
3718
3719 2005-11-19  Andy Wingo  <wingo@pobox.com>
3720
3721         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
3722         #320097.
3723
3724 2005-11-19  Wim Taymans  <wim@fluendo.com>
3725
3726         * docs/design/part-TODO.txt:
3727         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
3728         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
3729         (gst_bin_handle_message_func):
3730         * gst/gstbin.h:
3731         Make message handling overridable.
3732
3733 2005-11-19  Andy Wingo  <wingo@pobox.com>
3734
3735         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
3736
3737         * gst/gstclock.h:
3738         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
3739         be a GstClockTime.
3740         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
3741         is a GstClockTime. Fixes #321710.
3742
3743         * gst/gstclock.h (GstClock): Remove offset property. Add
3744         internal_calibration and external_calibration. Fix padding. Pad
3745         also by GstClockTime so we don't run into problems.
3746
3747         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
3748         (gst_clock_get_rate_offset): Remove.
3749         (gst_clock_set_time_adjust): Remove. Fixes #321712.
3750
3751         * gst/gstutils.h:
3752         * gst/gstutils.c (g_static_rec_cond_wait)
3753         (g_static_rec_cond_timed_wait): Removed, no longer needed.
3754
3755         * gst/gstbin.c: Remove terrible continue_state prototype.
3756
3757         * gst/gstelement.h (gst_element_continue_state): Make public.
3758
3759         * gst/gstelement.h:
3760         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
3761         by continue_state. Fixes #319389.
3762
3763         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
3764         Really fixes #168438. However I don't see anywhere where the
3765         filter function is called... stupid GStreamer...
3766         
3767         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
3768         don't have a dispose function, so it won't get called when the
3769         object is unreffed, but oh well!
3770
3771         * gst/gstindex.c (gst_index_set_filter_full): New API function,
3772         allows a destroy function to be set so user_data can be freed.
3773         Fixes #168438.
3774         (gst_index_set_filter): Call gst_index_set_filter_full.
3775
3776         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
3777
3778         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
3779         string should produce an error, given the lack of a way to
3780         represent NULL strings. Fixes #165650.
3781         
3782         * gst/gstvalue.h: 
3783         * gst/gstvalue.c (gst_value_array_append_value) 
3784         (gst_value_array_prepend_value, gst_value_array_get_size) 
3785         (gst_value_array_get_value): New API, copied from
3786         gst_value_list_*, only operates on arrays.
3787         (gst_value_list_append_value, gst_value_list_prepend_value) 
3788         (gst_value_list_concat, gst_value_list_get_size) 
3789         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
3790
3791         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
3792         init_list, because it works on both.
3793         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
3794         (gst_value_copy_list_or_array): Renamed from copy_list.
3795         (gst_value_free_list_or_array): Renamed from free_list.
3796         (gst_value_collect_list_or_array): Renamed from collect_list.
3797         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
3798         (gst_value_list_or_array_peek_pointer): Renamed from
3799         list_peek_pointer.
3800         (_gst_value_array_value_table, _gst_value_list_value_table):
3801         Update value table functions.
3802         (gst_value_compare_list_or_array): Renamed from compare_list.
3803
3804         * gsttaglist.h: Whoops, foreach function returns void. Also fix
3805         some constness.
3806
3807         * gst/gsttaglist.c:
3808         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
3809         GstTagList*. Fixes #143472.
3810
3811         * gst/gststructure.h: Clarify what the foreach/map functions can
3812         or can't do to their arguments.
3813
3814 2005-11-18  Wim Taymans  <wim@fluendo.com>
3815
3816         * gst/gstclock.c: (gst_clock_set_calibration),
3817         (gst_clock_get_calibration):
3818         Doc and API fixes.
3819         Calibration can be set with internal time equal to current
3820         internal time too.
3821
3822 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3823
3824         * gst/gsterror.c:
3825         * gst/gsterror.h:
3826           document
3827
3828 2005-11-18  Andy Wingo  <wingo@pobox.com>
3829
3830         * configure.ac: 
3831         * pkgconfig/gstreamer-net.pc.in:
3832         * pkgconfig/gstreamer-net-uninstalled.pc.in:
3833         * pkgconfig/Makefile.am: Add net pkgconfig files.
3834
3835 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
3836
3837         * gst/gstcaps.c:
3838         * gst/gstghostpad.c:
3839         * gst/gsttrace.c:
3840         * gst/gstvalue.c:
3841         * gst/gstvalue.h:
3842           docs fixes
3843
3844 2005-11-18  Andy Wingo  <wingo@pobox.com>
3845
3846         * gst/net/gstnetclientclock.c: Turn off debugging.
3847
3848         * check/net/gstnetclientclock.c (test_functioning): Assert that the
3849         times connverge somewhat. Can't make a real test.
3850
3851         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
3852         integer arithmetic. Return the minimum of the domain, which can be
3853         set as "internal" for gst_clock_set_calibration.
3854         (gst_net_client_clock_observe_times): Call _set_calibration.
3855         (gst_net_client_clock_new): Call _set_calibration instead of
3856         rate_offset.
3857
3858         * check/net/gstnetclientclock.c (test_functioning): Use the right
3859         adjustment api.
3860
3861         * gst/gstclock.h:
3862         * gst/gstclock.c (gst_clock_get_calibration) 
3863         (gst_clock_set_calibration): New functions, obsolete the ones I
3864         added yesterday. Doh. Precision issues mean we have to extrapolate
3865         from a point in the more recent past than 1970.
3866         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
3867         obsolete.
3868         (gst_clock_adjust_unlocked): Use the right calibration data.
3869
3870 2005-11-18  Edward Hervey  <edward@fluendo.com>
3871
3872         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
3873         Also reset the ->current_* values in READY->PAUSED
3874
3875 2005-11-18  Andy Wingo  <wingo@pobox.com>
3876
3877         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
3878         Whoops, check the right fd. Also add some debugging.
3879         (gst_net_client_clock_observe_times): Adjust for int64 offset.
3880         (do_linear_regression): Add a crapload of debugging. Subtract off
3881         the minimum values from the input series to discard unneeded bits.
3882         Use only int arithmetic. There is still double arithmetic when
3883         calculating the intercept that needs fixing. Return boolean to
3884         indicate success; FALSE would mean the domain or range is too
3885         great. Still needs fixes.
3886
3887 2005-11-18  Wim Taymans  <wim@fluendo.com>
3888
3889         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
3890         For the current position in stream time, we need to subtract
3891         accumulated time.
3892         
3893         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
3894         Release lock before calling the callback function of async
3895         entries.
3896
3897 2005-11-18  Andy Wingo  <wingo@pobox.com>
3898
3899         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
3900         Port goes all the way to MAXUINT16.
3901
3902         * gst/net/gstnettimeprovider.c: Make the port range the same as
3903         for the kernel: 0 assigns, otherwise ports are less than
3904         MAXUINT16.
3905
3906         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
3907         port change.
3908
3909         * check/net/gstnetclientclock.c (test_functioning): Add the start
3910         of another test. 
3911
3912 2005-11-18  Wim Taymans  <wim@fluendo.com>
3913
3914         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
3915         (gst_bin_remove_func), (bin_bus_handler):
3916         * gst/gstbin.h:
3917         Removing a clock provider from a bin, triggers a clock lost message
3918         so that a new clock will be selected.
3919         Adding a clock to a bin triggers a clock provider message.
3920         Make sure we reselect a clock when we received a clock lost message.
3921         Keep a reference to the element that provided the clock.
3922
3923 2005-11-18  Andy Wingo  <wingo@pobox.com>
3924
3925         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
3926         the clock initially so it produces values around the base time.
3927         (gst_net_client_clock_class_init): Typo fix.
3928         (gst_net_client_clock_thread): Add note on when the socket gets
3929         closed.
3930
3931 2005-11-17  Wim Taymans  <wim@fluendo.com>
3932
3933         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
3934         Free remote and local time arrays.
3935
3936 2005-11-17  Wim Taymans  <wim@fluendo.com>
3937
3938         * gst/net/gstnetclientclock.c: (do_linear_regression),
3939         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
3940         Fix compilation, uninitialized vars and a forgotten continue.
3941
3942 2005-11-17  Andy Wingo  <wingo@pobox.com>
3943
3944         * check/Makefile.am (check_PROGRAMS): 
3945         * check/net/gstnetclientclock.c: Add a most minimal test for the
3946         net client clock. More to come later.
3947
3948         * gst/net/gstnet.h: 
3949         * gst/net/Makefile.am: Add netclientclock.
3950
3951         * gst/net/gstnetclientclock.h:
3952         * gst/net/gstnetclientclock.c: New files, implement an untested
3953         GstClock that takes its time from a network time provider.
3954         Implements the algorithm in network-clock.scm.
3955
3956         * tests/network-clock.scm (*window-size*): Rename from
3957         *queue-length*.
3958         * tests/network-clock.scm (network-time): 
3959         * tests/network-clock-utils.scm (q-push): Update callers.
3960
3961 2005-11-17  Wim Taymans  <wim@fluendo.com>
3962
3963         * gst/gstbin.c: (gst_bin_provide_clock_func),
3964         (gst_bin_sort_iterator_new):
3965         And unref the child too..
3966
3967 2005-11-17  Wim Taymans  <wim@fluendo.com>
3968
3969         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3970         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
3971         Refactor the sort iterator so it can be used while holding the
3972         LOCK too.
3973         Make clock selection select a clock closest to the source.
3974
3975 2005-11-17  Michael Smith <msmith@fluendo.com>
3976
3977         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
3978         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
3979         * gst/gstclock.h:
3980           Anonymous structs are a gcc (and some other compilers) extension, so
3981           don't use them. Since this is only for ABI-compatibility, and our
3982           API/ABI freeze is over in a few days, this whole thing will only
3983           last a few days, so don't bother trying to think up a meaningful
3984           name for the struct.
3985
3986 2005-11-17  Andy Wingo  <wingo@pobox.com>
3987
3988         * gst/gstclock.h (GstClock): Add rate and offset properties,
3989         preserving ABI stability. Add rate/offset accessors. Will file bug
3990         for the freeze break.
3991
3992         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
3993         and offset, trying to keep precision and avoiding
3994         underflow/overflow.
3995         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
3996         functions. Make gst_clock_set_time_adjust obsolete.
3997         (gst_clock_set_time_adjust): Note that this function is obsolete.
3998         Will file bug soon.
3999
4000         * gst/base/gstbasetransform.h: Make the ABI-stability hack
4001         greppable by using GST_PADDING-1+1.
4002
4003 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
4004
4005         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4006
4007         * gst/gstmessage.c: (gst_message_parse_clock_lost):
4008           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
4009
4010         * gst/gstpadtemplate.h:
4011         * gst/gstpluginfeature.h:
4012           Don't use c++ style comments in headers (#321638).
4013
4014 2005-11-16  Andy Wingo  <wingo@pobox.com>
4015
4016         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
4017         buffer.
4018
4019         * check/net/gstnettimeprovider.c: Check to see that the time
4020         provider actually provides times. Works, yo!
4021
4022 2005-11-16  Wim Taymans  <wim@fluendo.com>
4023
4024         * check/Makefile.am:
4025         Enable more tests.
4026
4027         * check/elements/fakesrc.c: (GST_START_TEST):
4028         Set element to NULL before disposing it.
4029
4030 2005-11-16  Andy Wingo  <wingo@pobox.com>
4031
4032         * gst/net/Makefile.am:
4033         * gst/net/gstnet.h:
4034         * gst/net/gstnettimeprovider.c: 
4035         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
4036         provider, include it from gstnet.h, and add it to the build.
4037
4038         * gst/net/gstnettimepacket.h: 
4039         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
4040         sending and receiving.
4041
4042 2005-11-16  Wim Taymans  <wim@fluendo.com>
4043
4044         * check/Makefile.am:
4045         Enable valgrind check.
4046
4047         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
4048         (gst_fake_src_alloc_buffer):
4049         Fix memleak.
4050
4051 2005-11-16  Wim Taymans  <wim@fluendo.com>
4052
4053         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
4054         Call parent finalize too.
4055
4056 2005-11-16  Wim Taymans  <wim@fluendo.com>
4057
4058         * check/Makefile.am:
4059         Enable valgrind check that should work fine now.
4060
4061         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4062         * gst/gstqueue.c: (gst_queue_init):
4063         Fix memleaks in pad allocation.
4064
4065 2005-11-16  Andy Wingo  <wingo@pobox.com>
4066
4067         * gst/net/Makefile.am:
4068         * gst/net/gstnet.h: New part of core to hold network elements and
4069         objects. Put in core because it exposes API that applications want
4070         to use. The library is named libgstnet-tempname right now because
4071         of the existing libgstnet in gst-plugins-base. Solution is
4072         probably to rename the one in plugins-base; will file a bug for
4073         the freeze break.
4074
4075         * gst/net/gstnettimeprovider.c: 
4076         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
4077         get_time call over the network.
4078
4079         * configure.ac: 
4080         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
4081
4082         * check/Makefile.am:
4083         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
4084         get additions shortly.
4085
4086 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4087
4088         * gst/gstpad.c: (gst_pad_new_from_static_template):
4089         * gst/gstpad.h:
4090           add gst_pad_new_from_static_template functions
4091         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
4092         (gst_check_setup_sink_pad):
4093         * gst/elements/gsttee.c: (gst_tee_init):
4094           and use them
4095
4096 2005-11-16  Wim Taymans  <wim@fluendo.com>
4097
4098         * gst/gstpad.c: (gst_pad_pause_task):
4099         Removed warning, it's not really an error either.
4100
4101 2005-11-16  Wim Taymans  <wim@fluendo.com>
4102
4103         * gst/base/gstbasetransform.c:
4104         (gst_base_transform_prepare_output_buf),
4105         (gst_base_transform_event):
4106         Check if the caps are NULL, this can happen if the element
4107         is shutting down and the pad caps are set to NULL.
4108
4109 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4110
4111         * gst/elements/gsttee.c: (gst_tee_init):
4112           fix pad template leak in tee
4113
4114 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4115
4116         * gst/glib-compat.c: (g_value_dup_gst_object):
4117         * gst/glib-compat.h:
4118         * gst/gstpad.c: (gst_pad_set_property):
4119           use gst_object_ref when setting the pad template; this will
4120           trigger the pad template leaks on GLib 2.6 and the slaves
4121
4122 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4123
4124         * gst/glib-compat.c: (gst_flags_get_first_value):
4125         * gst/glib-compat.h:
4126         * gst/gstregistryxml.c:
4127           remove functions copied from GLib 2.6
4128
4129 2005-11-16  Michael Smith <msmith@fluendo.com>
4130
4131         * gst/Makefile.am:
4132           Don't link against VALGRIND_LIBS. That was always the wrong thing to
4133           do, but only breaks with newer valgrind versions. We're not a
4134           valgrind tool, we have no link-time dependencies on libcoregrind.
4135
4136 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4137
4138         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
4139           some debug changes
4140         * gst/gstmessage.h:
4141           typo fixes
4142
4143 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot 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         * gst/gstregistryxml.c: (load_feature):
4149           Revert all these unrefs, they don't even pass make check !
4150
4151 2005-11-15  Johan Dahlin  <johan@gnome.org>
4152
4153         * gst/base/gstbasesrc.c: (gst_base_src_init):
4154         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4155         * gst/gstqueue.c: (gst_queue_init): 
4156         Free pad templates, fixes a couple of leaks.
4157
4158 2005-11-15  Daniel Fischer  <dan at f3c dot com>
4159
4160         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4161
4162         * gst/gstpad.c: (gst_pad_get_property):
4163           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
4164           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
4165           (#321452)
4166
4167 2005-11-15  Wim Taymans  <wim@fluendo.com>
4168
4169         * gst/gstevent.c:
4170         Small doc update.
4171
4172 2005-11-15  Andy Wingo  <wingo@pobox.com>
4173
4174         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
4175
4176         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
4177         using GST_CLOCK_TIME_NONE to disable base time management.
4178         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
4179         time if it was NONE before.
4180         (gst_pipeline_change_state): Only munge the base time if
4181         stream_time != GST_CLOCK_TIME_NONE.
4182
4183         * check/gst/gstpipeline.c (test_base_time): Punt around the
4184         problem of the probe not being called, because that's not the
4185         issue I'm looking at. Add a check that setting stream_time to NONE
4186         disables base time management.
4187         
4188 2005-11-15  Wim Taymans  <wim@fluendo.com>
4189
4190         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4191         segment_stop == -1 at startup.
4192
4193         * gst/base/gstbasetransform.c: (gst_base_transform_event),
4194         (gst_base_transform_change_state):
4195         Init segment values at start.
4196
4197 2005-11-15  Wim Taymans  <wim@fluendo.com>
4198
4199         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4200         0 segment values are 0 in any format.
4201
4202         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4203         * gst/base/gstbasetransform.h:
4204         Parse newsegment correctly in basetransform
4205
4206         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
4207         Sync to clock using updated segment values.
4208
4209 2005-11-15  Andy Wingo  <wingo@pobox.com>
4210
4211         * check/gst/gstpipeline.c (test_base_time): Add check that the
4212         base time and stream time are reset correctly.
4213
4214 2005-11-15  Wim Taymans  <wim@fluendo.com>
4215
4216         * docs/design/part-TODO.txt:
4217         Some more TODO items.
4218
4219 2005-11-15  Andy Wingo  <wingo@pobox.com>
4220
4221         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
4222         error if the user selected "no clock" as the clocking method.
4223
4224         * check/gst/gstpipeline.c (test_base_time): New test for buffer
4225         timestamps with live capture.
4226
4227         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
4228         is 0 but we are a live source, timestamp the buffers using the
4229         element's clock.
4230
4231 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
4232
4233         * docs/gst/gstreamer-sections.txt:
4234         * gst/gsterror.c:
4235         * gst/gstghostpad.c:
4236         * gst/gstobject.h:
4237         * gst/gstxml.c:
4238           more section docs
4239
4240 2005-11-14  Wim Taymans  <wim@fluendo.com>
4241
4242         * common/gst.supp:
4243           add suppressions from Wim's Debian machine
4244
4245 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4246
4247         * common/gst.supp:
4248           add suppressions from Andy's AMD64 Ubuntu machine
4249
4250 2005-11-14  Andy Wingo  <wingo@pobox.com>
4251
4252         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
4253         STATE_LOCK not necessary. Fixes #311489.
4254
4255         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
4256         #305291.
4257
4258         * gst/gstindex.c (gst_index_add_object): Note in the docs that
4259         this function is not implemented.
4260
4261 2005-11-14  Julien MOUTTE  <julien@moutte.net>
4262
4263         * gst/base/gstbasetransform.c:
4264         (gst_base_transform_prepare_output_buf):
4265         Ref the source pad caps while we need them.
4266         Fixes (#321386)
4267
4268 2005-11-11  Wim Taymans  <wim@fluendo.com>
4269
4270         * docs/gst/gstreamer-sections.txt:
4271         Added some docs for GstCollectData.
4272
4273         * gst/base/gstadapter.c:
4274         Some small code example fix.
4275
4276         * gst/base/gstcollectpads.c:
4277         * gst/base/gstcollectpads.h:
4278         Document some more.
4279
4280 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4281
4282         * configure.ac: back to HEAD
4283
4284 === release 0.9.5 ===
4285
4286 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
4287
4288         * configure.ac:
4289           releasing 0.9.5, "Bike Lunch Day"
4290
4291 2005-11-11  Wim Taymans  <wim@fluendo.com>
4292
4293         * gst/gstbuffer.c: (_gst_buffer_copy):
4294         Copy more flags.
4295
4296         * gst/gstcaps.c: (gst_caps_is_equal):
4297         Fix some docs.
4298         Make _is_equal fast in the trivial cases.
4299
4300         * gst/gstminiobject.c:
4301         * gst/gstminiobject.h:
4302         More docs. Spifify .h file.
4303
4304         * gst/gstutils.c:
4305         Small doc update.
4306
4307 2005-11-11  Wim Taymans  <wim@fluendo.com>
4308
4309         * gst/base/gstbasetransform.c:
4310         (gst_base_transform_prepare_output_buf),
4311         (gst_base_transform_handle_buffer):
4312         Small cleanups.
4313         If we're processing a buffer and need to allocate an output
4314         buffer, we cannot accept a format change. If we did get a 
4315         format change, we have to alloc a buffer ourselves of the 
4316         right size.
4317
4318 2005-11-11  Wim Taymans  <wim@fluendo.com>
4319
4320         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
4321         While checking the flag for reentrancy in the gstcaps function
4322         is nice to detect recursive invocations, it also makes it 
4323         impossible to call getcaps from multiple threads, which must be
4324         possible. So, checking for recursive calls has to go.
4325
4326 2005-11-11  Michael Smith <msmith@fluendo.com>
4327
4328         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4329           Don't sync on buffers that fall partially outside our current
4330           segment. Prevents an assertion failure/abort playing some files.
4331
4332 2005-11-10  Andy Wingo  <wingo@pobox.com>
4333
4334         * check/gst/gstbin.c (test_message_state_changed_children): Style
4335         fix..
4336
4337         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
4338         gst_bus_poll with the signal watch. Ensures that poll and a signal
4339         watch see the same messages.
4340
4341         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
4342         a poll and a watch at the same time get the same messages.
4343
4344 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4345
4346         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
4347         * gst/gstcaps.c: (gst_caps_intersect):
4348           Don't call gst_caps_do_simplify - it doesn't respect order of caps
4349           and it's not needed.
4350
4351 2005-11-10  Wim Taymans  <wim@fluendo.com>
4352
4353         * docs/design/part-TODO.txt:
4354         Updated todo.
4355
4356 2005-11-10  Wim Taymans  <wim@fluendo.com>
4357
4358         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4359         * gst/base/gstbasesrc.c: (gst_base_src_wait),
4360         (gst_base_src_do_sync), (gst_base_src_get_range):
4361         Implement clock sync in base class.
4362
4363 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4364
4365         patch by: Tim-Philipp Müller <tim at centricular dot net>
4366
4367         * gst/gststructure.c: (gst_structure_parse_field),
4368         (gst_structure_from_string):
4369           Forward-port a 0.8 patch to handle escaped spaces in structure string,
4370           so that gst_parse_launch() can deal with spaces in filtered link
4371           caps (fixes #164479)
4372         * check/gst/capslist.h:
4373         * check/gst/gststructure.c: (GST_START_TEST):
4374           add unit tests for this change
4375
4376 2005-11-10  Wim Taymans  <wim@fluendo.com>
4377
4378         * docs/gst/gstreamer-sections.txt:
4379         * gst/gstelement.c:
4380         * gst/gstelement.h:
4381         Fix docs, move some STATE macros to private.
4382
4383 2005-11-10  Wim Taymans  <wim@fluendo.com>
4384
4385         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
4386         Added check for bug #317341
4387
4388         * gst/gstbuffer.c:
4389         * gst/gstbuffer.h:
4390         Some more spiffifying.
4391
4392         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
4393         Call peer linkfunction if we are a source pad. Totally fixes
4394         #317341
4395
4396         * gst/gstpad.c:
4397         Update docs, source pads should call the peer linkfunction
4398         so they can atomically perform the pad link.
4399
4400 2005-11-09  Wim Taymans  <wim@fluendo.com>
4401
4402         * gst/gstbuffer.c:
4403         * gst/gstbuffer.h:
4404         Uber-spiffy-spiffify some more.
4405
4406 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
4407
4408         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
4409         * gst/elements/gstfilesink.c: (gst_file_sink_init):
4410         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4411         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
4412         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
4413         * gst/gstpad.c: (gst_pad_init):
4414           Use GST_DEBUG_FUNCPTR() more extensively.
4415
4416 2005-11-09  Wim Taymans  <wim@fluendo.com>
4417
4418         * gst/gstobject.c: (gst_object_class_init):
4419         * gst/gstobject.h:
4420         Documentation fixes.
4421
4422 2005-11-09  Edward Hervey  <edward@fluendo.com>
4423
4424         * gst/gsttypefindfactory.c:
4425         Fix docs.
4426         
4427 2005-11-09  Edward Hervey  <edward@fluendo.com>
4428
4429         * gst/base/gsttypefindhelper.c:
4430         * gst/gsttypefind.c:
4431         * gst/gsttypefind.h:
4432         Fix docs.
4433
4434 2005-11-09  Wim Taymans  <wim@fluendo.com>
4435
4436         * gst/gstiterator.c:
4437         Fix revision data.
4438
4439         * gst/gsttask.c:
4440         * gst/gsttask.h:
4441         Fix docs.
4442
4443 2005-11-09  Wim Taymans  <wim@fluendo.com>
4444
4445         * gst/gstevent.h:
4446         * gst/gsturi.h:
4447         Fix docs.
4448
4449 2005-11-09  Wim Taymans  <wim@fluendo.com>
4450
4451         * docs/gst/gstreamer-sections.txt:
4452         Moved the message async delivery private lock and cond
4453         to the private section.
4454
4455         * gst/gstmessage.c:
4456         * gst/gstmessage.h:
4457         Fixed docs.
4458
4459 2005-11-09  Edward Hervey  <edward@fluendo.com>
4460
4461         * docs/gst/gstreamer-sections.txt:
4462         * gst/gsturi.c:
4463         * gst/gsturi.h:
4464         Document GstURIHandler
4465
4466 2005-11-09  Wim Taymans  <wim@fluendo.com>
4467
4468         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
4469         (gst_iterator_find_custom):
4470         * gst/gstiterator.h:
4471         Fix iterator docs.
4472
4473 2005-11-09  Wim Taymans  <wim@fluendo.com>
4474
4475         * gst/gstbin.h:
4476         Document another field.
4477
4478         * gst/gststructure.c:
4479         * gst/gststructure.h:
4480         Document.
4481
4482 2005-11-09  Wim Taymans  <wim@fluendo.com>
4483
4484         * gst/gstbin.h:
4485         Documented structs.
4486
4487 2005-11-09  Wim Taymans  <wim@fluendo.com>
4488
4489         * docs/gst/gstreamer-sections.txt:
4490         Added some new macros.
4491
4492         * gst/gstclock.c:
4493         * gst/gstclock.h:
4494         * gst/gstobject.h:
4495         Docs updates.
4496
4497 2005-11-09  Wim Taymans  <wim@fluendo.com>
4498
4499         * docs/design/part-TODO.txt:
4500         Some more items for the TODO
4501
4502         * gst/gstcaps.c:
4503         * gst/gstcaps.h:
4504         Document GstCaps.
4505
4506 2005-11-09  Andy Wingo  <wingo@pobox.com>
4507
4508         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
4509         to work on something else now tho...
4510
4511         * gst/base/gstadapter.c: More adapter docs.
4512
4513         * gst/elements/gstfilesink.c (gst_file_sink_start) 
4514         (gst_file_sink_stop): New functions, replace the state change
4515         handler.
4516         (gst_file_sink_class_init): Hook up the start and stop functions.
4517         (gst_file_sink_base_init): Don't set the state change handler any
4518         more. It was a bit ugly too, being set from here...
4519         (gst_file_sink_get_property, gst_file_sink_set_property):
4520         Cleanups...
4521         (gst_file_sink_set_location): More robust check that doesn't call
4522         GST_STATE. Ugggggg.
4523
4524 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
4525
4526         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4527           Hold STREAM_LOCK while pushing newsegment or tag events as well.
4528
4529 2005-11-08  Wim Taymans  <wim@fluendo.com>
4530
4531         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
4532         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
4533         (gst_base_sink_chain), (gst_base_sink_change_state):
4534         * gst/base/gstbasesink.h:
4535         * gst/base/gstbasesrc.h:
4536         * gst/gstelement.h:
4537         * gst/gstevent.h:
4538         Avoid excessive typechecking in macros.
4539
4540         * gst/gstminiobject.c: (gst_mini_object_get_type),
4541         (gst_mini_object_init), (gst_mini_object_new),
4542         (gst_mini_object_free):
4543         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4544         (gst_object_finalize):
4545         Remove cruft code, optimize alloc_trace.
4546
4547 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4548
4549         * docs/faq/gst-uninstalled:
4550           fix up PS1 for systems that try to reset it
4551
4552 2005-11-07  Wim Taymans  <wim@fluendo.com>
4553
4554         * gst/base/gstbasesrc.c: (gst_base_src_init),
4555         (gst_base_src_get_range):
4556         Set the segment_end to -1 initially. Fixed typefind.
4557
4558 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
4559
4560         * gst/base/gstadapter.c:
4561           Debug category should be 'adapter', not 'GstAdapter'.
4562           
4563         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
4564         (gst_collectpads_class_init), (gst_collectpads_init),
4565         (gst_collectpads_peek), (gst_collectpads_pop),
4566         (gst_collectpads_event), (gst_collectpads_chain):
4567           Add debug category and some debugging output. Use boilerplate
4568           macros. Remove some extraneous words from docs.
4569
4570 2005-11-05  Andy Wingo  <wingo@pobox.com>
4571
4572         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
4573         macro.
4574
4575 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
4576
4577         * docs/gst/gstreamer-sections.txt:
4578         * gst/gstcaps.h:
4579         * gst/gstinfo.c:
4580         * gst/gstminiobject.h:
4581         * gst/gstobject.h:
4582         * gst/gstutils.h:
4583           more docs added
4584
4585 2005-11-04  Wim Taymans  <wim@fluendo.com>
4586
4587         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4588         Small update to stop at the configured segment_end
4589         position.
4590
4591 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
4592
4593         * gst/gstregistry.c:
4594         * gst/gstregistry.h:
4595           added missing docs
4596
4597 2005-11-04  Edward Hervey  <edward@fluendo.com>
4598
4599         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4600         Check if we are doing a segment seek and have arrived at the
4601         end of that segment.
4602
4603 2005-11-04  Wim Taymans  <wim@fluendo.com>
4604
4605         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
4606         Don't leak a mutex unlock in case of an error.
4607
4608         * gst/gstbus.h:
4609         Doc fixes.
4610
4611 2005-11-04  Wim Taymans  <wim@fluendo.com>
4612
4613         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
4614         (gst_bus_post):
4615         Get the context to wake up only once.
4616
4617 2005-11-03  Wim Taymans  <wim@fluendo.com>
4618
4619         * check/states/sinks.c: (GST_START_TEST):
4620         Uncomment fixed check.
4621
4622         * docs/design/part-TODO.txt:
4623         Updated TODO.
4624
4625         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4626         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
4627         (gst_base_sink_get_position):
4628         If we are going to PLAYING, post the right pending state
4629         when we post the intermediate paused message.
4630
4631         * gst/gstelement.c: (gst_element_continue_state),
4632         (gst_element_set_state_func), (gst_element_change_state):
4633         Don't post state changes that were between the same state
4634         and were not ASYNC.
4635
4636 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
4637
4638         * docs/gst/gstreamer-sections.txt:
4639         * gst/gstcaps.h:
4640         * gst/gstinfo.c:
4641         * gst/gstminiobject.h:
4642         * gst/gstobject.h:
4643         * gst/gstutils.h:
4644           more docs and doc style fixes
4645
4646 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
4647
4648         * docs/gst/gstreamer-sections.txt:
4649         * gst/gstelement.c:
4650         * gst/gstminiobject.c:
4651         doc fixes
4652
4653 2005-11-03  Andy Wingo  <wingo@pobox.com>
4654
4655         * check/states/sinks.c (test_livesrc_sink): Add checks that the
4656         state-changed messages actually have the right order and the right
4657         values.
4658
4659 2005-11-03  Wim Taymans  <wim@fluendo.com>
4660
4661         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4662         Added some more checks. Specifically the case where NO_PREROLL
4663         elements are in the pipeline.
4664
4665         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4666         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
4667         (gst_base_sink_get_position):
4668         Post READY->PAUSED state change messages too.
4669         Fix bug where VOID was posted as pending state...
4670
4671         * gst/gstbin.c: (gst_bin_recalc_state):
4672         use _element_continue_state() to continue the state change.
4673
4674         * gst/gstelement.c: (gst_element_continue_state),
4675         (gst_element_commit_state), (gst_element_set_state_func),
4676         (gst_element_change_state), (gst_element_change_state_func):
4677         Lots of state change cleanups, assign the STATE_RETURN in
4678         a new continue_state() function that also propagates the
4679         last return value from a state change to the app.
4680         Update some debug statements with proper category.
4681
4682 2005-11-03  Wim Taymans  <wim@fluendo.com>
4683
4684         * docs/design/part-events.txt:
4685         * docs/design/part-gstpipeline.txt:
4686         * docs/design/part-messages.txt:
4687         * docs/design/part-overview.txt:
4688         * docs/design/part-seeking.txt:
4689         * docs/design/part-states.txt:
4690         * docs/design/part-trickmodes.txt:
4691         * docs/manual/advanced-position.xml:
4692         Small docs updates.
4693
4694         * gst/gstobject.h:
4695         People think !! is ugly, this looks better.
4696
4697         * gst/gstpad.c: (gst_pad_set_blocked_async):
4698         Remove !! since it's fixed elsewhere now.
4699
4700 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4701
4702         * gst/gstminiobject.h:
4703         * gst/gstobject.h:
4704           Add !! to _FLAG_IS_SET macros to make the result boolean.
4705
4706 2005-11-03  Edward Hervey  <edward@fluendo.com>
4707
4708         * gst/gstpad.c: (gst_pad_set_blocked_async):
4709         comparing a flag and a gboolean rarely returns coherent results...
4710         Added two characters (!!) to make that work correctly.
4711         
4712 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4713
4714         * gst/gstbus.c: (gst_bus_class_init):
4715           Fix some typos.
4716           
4717         * gst/gstqueue.c: (gst_queue_loop):
4718           Don't assume a miniobject that isn't a buffer is an
4719           event (it could be that there is a refcounting
4720           problem somewhere and the pointer is stale and
4721           refers to an already destroyed miniobject).
4722
4723 2005-11-03  Julien MOUTTE  <julien@moutte.net>
4724
4725         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
4726
4727 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4728
4729         * docs/manual/advanced-position.xml:
4730           Update seek example and explanations to current 0.9 API.
4731
4732         * gst/elements/gsttypefindelement.c:
4733         (gst_type_find_element_activate):
4734           Remove FIXME comment now that the found caps
4735           are unreffed.
4736
4737 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4738
4739         * gst/gstregistryxml.c: (load_feature):
4740           Add another GST_STR_NULL instance
4741
4742 2005-11-02  Edward Hervey  <edward@fluendo.com>
4743
4744         * gst/gstpad.c: (handle_pad_block):
4745         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
4746         
4747 2005-11-02  Wim Taymans  <wim@fluendo.com>
4748
4749         * gst/gstbin.c:
4750         Fix typo in docs.
4751
4752         * gst/gstelement.c: (gst_element_commit_state):
4753         Remove unused value.
4754
4755         * gst/gstiterator.c:
4756         Mention that the returned element is reffed in the docs.
4757
4758 2005-11-02  Wim Taymans  <wim@fluendo.com>
4759
4760         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
4761         (gst_pad_push), (gst_pad_push_event):
4762         Unlock blocked pads when they are flushed.
4763
4764 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4765
4766         * docs/README:
4767         * docs/gst/gstreamer-sections.txt:
4768         * gst/gstbin.c:
4769           doc updates
4770         * gst/gstregistry.c: (gst_registry_scan_path_level):
4771           fix for a nasty little missed situation where an installed plug-in
4772           which was in the cache did not get overridden by an uninstalled one
4773           which was earlier in the plugin path because the newly created plugin
4774           for the uninstalled one (not in the registry) didn't get its
4775           ->registered set to TRUE
4776
4777 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4778
4779         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
4780         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
4781         (gst_collectpads_is_active), (gst_collectpads_collect),
4782         (gst_collectpads_collect_range), (gst_collectpads_start),
4783         (gst_collectpads_stop), (gst_collectpads_peek),
4784         (gst_collectpads_pop), (gst_collectpads_available),
4785         (gst_collectpads_read), (gst_collectpads_flush):
4786           Guard public API with assertions.
4787         
4788         * gst/gstpad.c:
4789           Fix docs for gst_pad_set_link_function().
4790
4791 2005-11-02  Johan Dahlin  <johan@gnome.org>
4792
4793         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
4794         Unref found_caps after we used it.
4795
4796 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4797
4798         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
4799           Don't try to ref NULL.
4800
4801 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4802
4803         * win32/common/config.h.in:
4804           provide a GST_FUNCTION that just gives a string for now
4805
4806 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4807
4808         * win32/common/gstenumtypes.c: (register_gst_object_flags),
4809         (gst_object_flags_get_type), (register_gst_bin_flags),
4810         (gst_bin_flags_get_type), (register_gst_buffer_flag),
4811         (gst_buffer_flag_get_type), (register_gst_bus_flags),
4812         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
4813         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
4814         (gst_clock_return_get_type), (register_gst_clock_entry_type),
4815         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
4816         (gst_clock_flags_get_type), (register_gst_state),
4817         (gst_state_get_type), (register_gst_state_change_return),
4818         (gst_state_change_return_get_type), (register_gst_state_change),
4819         (gst_state_change_get_type), (register_gst_element_flags),
4820         (gst_element_flags_get_type), (register_gst_core_error),
4821         (gst_core_error_get_type), (register_gst_library_error),
4822         (gst_library_error_get_type), (register_gst_resource_error),
4823         (gst_resource_error_get_type), (register_gst_stream_error),
4824         (gst_stream_error_get_type), (register_gst_event_type),
4825         (gst_event_type_get_type), (register_gst_seek_type),
4826         (gst_seek_type_get_type), (register_gst_seek_flags),
4827         (gst_seek_flags_get_type), (register_gst_format),
4828         (gst_format_get_type), (register_gst_index_certainty),
4829         (gst_index_certainty_get_type), (register_gst_index_entry_type),
4830         (gst_index_entry_type_get_type),
4831         (register_gst_index_lookup_method),
4832         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
4833         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
4834         (gst_index_resolver_method_get_type), (register_gst_index_flags),
4835         (gst_index_flags_get_type), (register_gst_debug_level),
4836         (gst_debug_level_get_type), (register_gst_debug_color_flags),
4837         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
4838         (gst_iterator_result_get_type), (register_gst_iterator_item),
4839         (gst_iterator_item_get_type), (register_gst_message_type),
4840         (gst_message_type_get_type), (register_gst_mini_object_flags),
4841         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
4842         (gst_pad_link_return_get_type), (register_gst_flow_return),
4843         (gst_flow_return_get_type), (register_gst_activate_mode),
4844         (gst_activate_mode_get_type), (register_gst_pad_direction),
4845         (gst_pad_direction_get_type), (register_gst_pad_flags),
4846         (gst_pad_flags_get_type), (register_gst_pad_presence),
4847         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
4848         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
4849         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
4850         (gst_plugin_error_get_type), (register_gst_plugin_flags),
4851         (gst_plugin_flags_get_type), (register_gst_rank),
4852         (gst_rank_get_type), (register_gst_query_type),
4853         (gst_query_type_get_type), (register_gst_tag_merge_mode),
4854         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
4855         (gst_tag_flag_get_type), (register_gst_task_state),
4856         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
4857         (gst_alloc_trace_flags_get_type),
4858         (register_gst_type_find_probability),
4859         (gst_type_find_probability_get_type), (register_gst_uri_type),
4860         (gst_uri_type_get_type), (register_gst_parse_error),
4861         (gst_parse_error_get_type):
4862         * win32/common/gstversion.h:
4863           update win32 copies
4864
4865 2005-11-01  Luca Ognibene  <luogni@tin.it>
4866
4867         * gst/gst.c:
4868           fix docs. popt is dead, long live GOption.
4869
4870 2005-10-31  Wim Taymans  <wim@fluendo.com>
4871
4872         * gst/gstbuffer.h:
4873         Small doc fix.
4874
4875 2005-10-31  Andy Wingo  <wingo@pobox.com>
4876
4877         * Boo!
4878
4879         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
4880
4881         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
4882         need to serialize property notifications on GLib 2.8. GLib 2.6 has
4883         the possibility of deadlocks here if code calling notify() or
4884         set() has a lock that can be taken in another notify handler (ABBA
4885         with class lock and e.g. python GIL state lock).
4886
4887 2005-10-28  Julien MOUTTE  <julien@moutte.net>
4888
4889         * gst/gstbus.c: Doc updates.
4890
4891 2005-10-28  Wim Taymans  <wim@fluendo.com>
4892
4893         * docs/design/part-TODO.txt:
4894         * gst/gstiterator.c:
4895         * gst/gstsystemclock.c:
4896         * gst/gstsystemclock.h:
4897         Doc updates.
4898
4899 2005-10-28  Edward Hervey  <edward@fluendo.com>
4900
4901         * docs/gst/gstreamer-docs.sgml:
4902         * docs/gst/gstreamer-sections.txt:
4903         the GstURIType documentation page is private, it only defines GstURIType
4904         which should be defined in the GstURIHandler page
4905         
4906 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
4907
4908         * gst/gstbin.c: (gst_bin_class_init):
4909         * gst/gstbin.h:
4910         * gst/gstutils.c:
4911         Documentation updates.
4912
4913 2005-10-28  Wim Taymans  <wim@fluendo.com>
4914
4915         * docs/gst/gstreamer-sections.txt:
4916         * gst/gstclock.c:
4917         * gst/gstclock.h:
4918         Documented the clocks.
4919
4920 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
4921
4922         * docs/gst/gstreamer-sections.txt:
4923           move some macros to private sections
4924         * gst/gstminiobject.c:
4925         * gst/gstminiobject.h:
4926           add descriptions provided by ds and some more
4927         * gst/gstpad.h:
4928           mark macro as to be removed
4929
4930 2005-10-28  Wim Taymans  <wim@fluendo.com>
4931
4932         * docs/design/part-TODO.txt:
4933         Add an item to TODO.
4934
4935         * gst/gstiterator.c: (gst_iterator_fold),
4936         (gst_iterator_find_custom):
4937         * gst/gstiterator.h:
4938         Add iterator docs.
4939
4940 2005-10-28  Wim Taymans  <wim@fluendo.com>
4941
4942         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
4943         (gst_base_transform_init):
4944         Don't leak class.
4945
4946         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
4947         An EOS event marks the queue as completely filled.
4948
4949 2005-10-27  Wim Taymans  <wim@fluendo.com>
4950
4951         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4952         (gst_base_sink_do_sync), (gst_base_sink_get_position):
4953         Some more debugging.
4954
4955         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
4956         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
4957         (gst_base_transform_event), (gst_base_transform_getrange),
4958         (gst_base_transform_chain):
4959         * gst/base/gstbasetransform.h:
4960         Fix debugging,
4961         Protect transform and concurrent buffer alloc with a new lock.
4962         Try not to break ABI/API.
4963
4964 2005-10-27  Wim Taymans  <wim@fluendo.com>
4965
4966         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
4967         (gst_base_src_init), (gst_base_src_query),
4968         (gst_base_src_default_newsegment),
4969         (gst_base_src_configure_segment), (gst_base_src_do_seek),
4970         (gst_base_src_send_event), (gst_base_src_event_handler),
4971         (gst_base_src_pad_get_range), (gst_base_src_loop),
4972         (gst_base_src_unlock), (gst_base_src_default_negotiate),
4973         (gst_base_src_start), (gst_base_src_deactivate),
4974         (gst_base_src_activate_push), (gst_base_src_change_state):
4975         Move some stuff around and cleanup things.
4976
4977 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
4978
4979         * gst/base/gstbasesrc.c: (gst_base_src_query):
4980           Add missing break statements.
4981
4982 2005-10-27  Wim Taymans  <wim@fluendo.com>
4983
4984         * check/gst/gstbin.c: (GST_START_TEST):
4985         An extra refcount is taken in basesrc.
4986
4987         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
4988         (gst_base_src_get_range), (gst_base_src_pad_get_range),
4989         (gst_base_src_loop):
4990         Small cleanups, check for flushing after being unlocked from the 
4991         LIVE_LOCK. take refcounts correctly (not yet everywhere).
4992         Don't send out EOS when going to READY.
4993
4994 2005-10-27  Wim Taymans  <wim@fluendo.com>
4995
4996         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
4997         (gst_base_sink_get_position):
4998         Some more debug.
4999
5000         * gst/gstbin.c: (message_check), (bin_replace_message),
5001         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5002         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
5003         (bin_query_duration_init), (bin_query_duration_fold),
5004         (bin_query_duration_done), (bin_query_generic_fold),
5005         (gst_bin_query):
5006         * tools/gst-launch.c: (main):
5007         Remove old option.
5008
5009 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
5010
5011         * examples/controller/audio-example.c: (main):
5012         * examples/queue/queue.c: (event_loop):
5013         * gst/base/gstbasetransform.h:
5014         * gst/gstelement.c: (gst_element_send_event):
5015         * gst/gstevent.h:
5016         * gst/gstpad.c: (gst_pad_send_event):
5017           fixing examples
5018           fixing docs typos
5019           changing log priority in error situations
5020
5021 2005-10-25  Wim Taymans  <wim@fluendo.com>
5022
5023         * gst/gstbin.c: (message_check), (bin_replace_message),
5024         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5025         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
5026         (bin_query_duration_init), (bin_query_duration_fold),
5027         (bin_query_duration_done), (bin_query_generic_fold),
5028         (gst_bin_query):
5029         Some doc and debug updates.
5030         Cache previously requested query DURATION for speed. invalidate
5031         cached duration if element posts a DURATION message.
5032
5033 2005-10-25  Wim Taymans  <wim@fluendo.com>
5034
5035         * docs/design/part-TODO.txt:
5036         Update TODO.
5037
5038         * gst/gstbin.c: (message_check), (bin_replace_message),
5039         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5040         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
5041         (bin_query_duration_init), (bin_query_duration_fold),
5042         (bin_query_duration_done), (bin_query_generic_fold),
5043         (gst_bin_query):
5044         Handle SEGMENT_START/DONE messages correctly.
5045         More evolved query algorithm that handles duration queries
5046         correctly.
5047
5048         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
5049         (gst_element_get_state_func), (gst_element_abort_state),
5050         (gst_element_commit_state), (gst_element_lost_state):
5051         Some more debugging.
5052
5053         * gst/gstmessage.h:
5054         Added doc.
5055
5056 2005-10-25  Wim Taymans  <wim@fluendo.com>
5057
5058         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
5059         Don't use invalid stream_time.
5060
5061         * gst/gstevent.c: (gst_event_new_newsegment):
5062         stream_time in newsegment cannot be undefined.
5063
5064 2005-10-24  Wim Taymans  <wim@fluendo.com>
5065
5066         * gst/gstbus.c:
5067         Doc fix.
5068
5069         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
5070         (gst_queue_loop):
5071         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
5072
5073 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
5074
5075         * docs/libs/tmpl/gstdparam.sgml:
5076         * docs/libs/tmpl/gstdplinint.sgml:
5077         * docs/libs/tmpl/gstdpman.sgml:
5078         * docs/libs/tmpl/gstdpsmooth.sgml:
5079         * docs/libs/tmpl/gstunitconvert.sgml:
5080           these are obsolete
5081
5082 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5083
5084         * configure.ac:
5085           back to HEAD
5086
5087 === release 0.9.4 ===
5088
5089 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5090
5091         * configure.ac:
5092           releasing 0.9.4, "Tyrannosaurus Rex"
5093
5094 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
5095
5096         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
5097         (gst_file_sink_get_current_offset):
5098           Use fseeko() and ftello() if available. When falling back on
5099           lseek() to get the current offset, fflush() first to make sure
5100           everything is up-to-date and we get the right offset.
5101
5102 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5103
5104         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5105         * gst/base/gstbasesrc.c: (gst_base_src_loop):
5106         * gst/gsterror.c: (_gst_stream_errors_init):
5107         * gst/gsterror.h:
5108         * gst/gstqueue.c: (gst_queue_loop):
5109         * po/POTFILES.in:
5110           remove prematurely added error category and clean up the instances
5111
5112 2005-10-21  Wim Taymans  <wim@fluendo.com>
5113
5114         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5115         (gst_base_sink_get_position), (gst_base_sink_query),
5116         (gst_base_sink_change_state):
5117         Simply set the right flag when going to playing, that's all
5118         we need to do instead of calling a function inside the object
5119         lock (that could take the lock as well and deadlock)
5120
5121 2005-10-21  Wim Taymans  <wim@fluendo.com>
5122
5123         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
5124         (gst_base_src_loop):
5125         Don't warn, the peer element knows what to do best when
5126         the seek failed, it might try something else.
5127
5128 2005-10-21  Wim Taymans  <wim@fluendo.com>
5129
5130         * gst/base/gstbasesrc.c: (gst_base_src_init),
5131         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
5132         Fix seeking.
5133
5134 2005-10-21  Wim Taymans  <wim@fluendo.com>
5135
5136         * docs/design/part-segments.txt:
5137         More docs.
5138
5139         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5140         Correctly set caps, even on the subbufer.
5141
5142 2005-10-21  Wim Taymans  <wim@fluendo.com>
5143
5144         * docs/gst/gstreamer-docs.sgml:
5145         * docs/gst/gstreamer-sections.txt:
5146         * gst/gstelement.h:
5147         * gst/gstevent.c:
5148         * gst/gstevent.h:
5149         * gst/gstmessage.h:
5150         * gst/gstpad.h:
5151         * gst/gstparse.h:
5152         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
5153         * gst/gsttask.h:
5154         * gst/gstutils.c:
5155         * gst/gstutils.h:
5156         And 2% more doc coverage.
5157
5158 2005-10-21  Andy Wingo  <wingo@pobox.com>
5159
5160         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
5161         position reporting.
5162
5163 2005-10-20  Wim Taymans  <wim@fluendo.com>
5164
5165         * gst/gsterror.c: (gst_error_get_message):
5166         * gst/gstparse.h:
5167         * gst/gstquery.h:
5168         * gst/gststructure.c:
5169         * gst/gsttrace.c:
5170         * gst/gstutils.c:
5171         More docs.
5172
5173 2005-10-20  Wim Taymans  <wim@fluendo.com>
5174
5175         * gst/gstbuffer.h:
5176         * gst/gstpad.c:
5177         * gst/gstparse.c:
5178         Another 1% more coverage.
5179
5180 2005-10-20  Wim Taymans  <wim@fluendo.com>
5181
5182         * docs/gst/gstreamer-sections.txt:
5183         * gst/gstelement.c: (gst_element_get_state_func),
5184         (gst_element_abort_state), (gst_element_commit_state),
5185         (gst_element_lost_state):
5186         * gst/gstevent.h:
5187         * gst/gstquery.c: (gst_query_set_position),
5188         (gst_query_parse_position), (gst_query_set_duration),
5189         (gst_query_parse_duration), (gst_query_new_convert):
5190         * gst/gstutils.c:
5191         Yay! 1% more docs coverage.
5192
5193 2005-10-20  Wim Taymans  <wim@fluendo.com>
5194
5195         * gst/gstpad.h:
5196         * gst/gstquery.c: (gst_query_set_position),
5197         (gst_query_parse_position), (gst_query_set_duration),
5198         (gst_query_parse_duration), (gst_query_new_convert):
5199         * gst/gstquery.h:
5200         * gst/gstutils.c: (gst_element_query_convert):
5201         * gst/gstutils.h:
5202         Docs and consistency fixes.
5203
5204 2005-10-20  Wim Taymans  <wim@fluendo.com>
5205
5206         * gst/gsttask.c:
5207         * gst/gsttask.h:
5208         More docs.
5209
5210 2005-10-20  Wim Taymans  <wim@fluendo.com>
5211
5212         * gst/gstbin.c: (message_check), (bin_replace_message),
5213         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5214         (update_degree), (gst_bin_sort_iterator_next),
5215         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
5216         Reworked the message handling a bit, cache the messages instead of
5217         only the senders. alows us to do more in the future.
5218
5219 2005-10-20  Wim Taymans  <wim@fluendo.com>
5220
5221         * docs/design/part-TODO.txt:
5222         Update TODO
5223
5224         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
5225         (gst_base_sink_query):
5226         Don't use clock time to report position when in EOS.
5227
5228 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
5229
5230         * tools/gst-inspect.c: (print_interfaces),
5231         (print_element_properties_info), (print_element_info):
5232           Fix interface output with gst-inspect -a; don't print
5233           newlines after double/float properties.
5234
5235 2005-10-20  Wim Taymans  <wim@fluendo.com>
5236
5237         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
5238         (gst_base_sink_query):
5239         Speed up current position calculation.
5240
5241         * gst/base/gstbasesrc.c: (gst_base_src_query),
5242         (gst_base_src_default_newsegment):
5243         Correctly set stream position in newsegment.
5244
5245         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
5246         (update_degree), (gst_bin_sort_iterator_next),
5247         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
5248         * gst/gstmessage.c: (gst_message_new_custom):
5249         Clean up debugging info
5250
5251         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
5252         (gst_queue_loop), (gst_queue_handle_src_query):
5253         Pause task faster.
5254
5255 2005-10-19  Wim Taymans  <wim@fluendo.com>
5256
5257         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5258         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
5259         Fix query handling again.
5260
5261 2005-10-19  Wim Taymans  <wim@fluendo.com>
5262
5263         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5264         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
5265         * gst/base/gstbasesrc.c: (gst_base_src_query):
5266         * gst/elements/gstfilesink.c: (gst_file_sink_query):
5267         * gst/elements/gsttypefindelement.c:
5268         (gst_type_find_handle_src_query), (find_element_get_length),
5269         (gst_type_find_element_activate):
5270         API change fix.
5271
5272         * gst/gstquery.c: (gst_query_new_position),
5273         (gst_query_set_position), (gst_query_parse_position),
5274         (gst_query_new_duration), (gst_query_set_duration),
5275         (gst_query_parse_duration), (gst_query_set_segment),
5276         (gst_query_parse_segment):
5277         * gst/gstquery.h:
5278         Bundling query position/duration is not a good idea since duration
5279         does not change much and we don't want to recalculate it for every
5280         position query, so they are separated again..
5281         Base value in segment query is not needed.
5282
5283         * gst/gstqueue.c: (gst_queue_handle_src_query):
5284         * gst/gstutils.c: (gst_element_query_position),
5285         (gst_element_query_duration), (gst_pad_query_position),
5286         (gst_pad_query_duration):
5287         * gst/gstutils.h:
5288         Updates for query API change.
5289         Added some docs here and there.
5290
5291 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5292
5293         * check/gst/gstbin.c: (GST_START_TEST):
5294         * check/gst/gstghostpad.c: (GST_START_TEST):
5295         * check/pipelines/cleanup.c: (GST_START_TEST):
5296           wait on thread to die so we can check refcount correctly
5297
5298 2005-10-18  Wim Taymans  <wim@fluendo.com>
5299
5300         * check/pipelines/stress.c: (GST_START_TEST):
5301         Make check a little more time consuming.
5302
5303 2005-10-18  Wim Taymans  <wim@fluendo.com>
5304
5305         * check/Makefile.am:
5306         * check/pipelines/stress.c: (GST_START_TEST),
5307         (simple_launch_lines_suite), (main):
5308         Small state change torture test.
5309
5310         * docs/design/part-states.txt:
5311         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5312         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
5313         (gst_base_sink_change_state):
5314         Never take state lock from streaming thread, clean up ugly
5315         hacks. Unfortunatly core does not yet support nice ways to
5316         async commit state.
5317         
5318         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
5319         (bin_bus_handler):
5320         Start state recalc if a STATE_DIRTY message is posted, but only
5321         on the toplevel bin.
5322
5323         * gst/gstelement.c: (gst_element_sync_state_with_parent),
5324         (gst_element_get_state_func), (gst_element_abort_state),
5325         (gst_element_commit_state), (gst_element_lost_state),
5326         (gst_element_set_state_func), (gst_element_change_state):
5327         * gst/gstelement.h:
5328         State variables are now protected with the LOCK, the state
5329         lock is only used to serialize _set_state().
5330
5331 2005-10-18  Wim Taymans  <wim@fluendo.com>
5332
5333         * check/gst/gstbin.c: (GST_START_TEST):
5334         * check/gst/gstmessage.c: (GST_START_TEST):
5335         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5336         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
5337         (bin_bus_handler):
5338         * gst/gstelement.c: (gst_element_abort_state),
5339         (gst_element_commit_state), (gst_element_lost_state):
5340         * gst/gstmessage.c: (gst_message_new_state_changed),
5341         (gst_message_new_state_dirty), (gst_message_new_segment_start),
5342         (gst_message_new_segment_done), (gst_message_new_duration),
5343         (gst_message_parse_state_changed),
5344         (gst_message_parse_segment_start),
5345         (gst_message_parse_segment_done), (gst_message_parse_duration):
5346         * gst/gstmessage.h:
5347         * tools/gst-launch.c: (event_loop):
5348         Seriously, this is better than a previous commit as we only need
5349         to notify the fact that an element changed state in a streaming
5350         thread, marking the state of the parents dirty, hence the 
5351         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
5352         message.
5353
5354 2005-10-18  Wim Taymans  <wim@fluendo.com>
5355
5356         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
5357         (gst_bin_recalc_func):
5358         * gst/gstelement.c: (gst_element_set_clock),
5359         (gst_element_abort_state), (gst_element_lost_state):
5360         Cleanups, prepare for state change fixes.
5361
5362 2005-10-18  Wim Taymans  <wim@fluendo.com>
5363
5364         * gst/gstbin.h:
5365         * gst/gstelement.c: (gst_element_class_init),
5366         (gst_element_set_state), (gst_element_set_state_func):
5367         * gst/gstelement.h:
5368         Pending ABI changes.
5369         GThreadPool in GstBinClass to monitor async state changes.
5370         state_cookie in GstElement to detect concurrent gst/set state.
5371         set_state is now virtual too in case a very complicated element
5372         has to be constructed.
5373
5374 2005-10-18  Wim Taymans  <wim@fluendo.com>
5375
5376         * check/gst/gstbin.c: (GST_START_TEST):
5377         * check/gst/gstmessage.c: (GST_START_TEST):
5378         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5379         * gst/gstbin.c: (bin_bus_handler):
5380         * gst/gstelement.c: (gst_element_commit_state),
5381         (gst_element_lost_state):
5382         * gst/gstmessage.c: (gst_message_new_state_changed),
5383         (gst_message_new_segment_start), (gst_message_new_segment_done),
5384         (gst_message_new_duration), (gst_message_parse_state_changed),
5385         (gst_message_parse_segment_start),
5386         (gst_message_parse_segment_done), (gst_message_parse_duration):
5387         * gst/gstmessage.h:
5388         * tools/gst-launch.c: (event_loop):
5389         Make messages future proof.
5390         state-change gets a flag if it was a message comming from the
5391         streaming thread.
5392         segment-start/stop can also be specified in other formats.
5393         A message to notify an app that a pipeline changed playback 
5394         duration.
5395         Also fix a GstMessage leak in -launch
5396
5397 2005-10-18  Andy Wingo  <wingo@pobox.com>
5398
5399         * gst/gstelement.c (gst_element_dispose): More helpful message.
5400
5401 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5402
5403         reviewed by: <delete if not using a buddy>
5404
5405         * common/gtk-doc.mak:
5406
5407 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5408
5409         * gst/gstregistry.c: (gst_registry_scan_path_level):
5410           unref a plug-in we get that was already initialized
5411
5412 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
5413
5414         * docs/gst/gstreamer-sections.txt:
5415         * docs/libs/gstreamer-libs-sections.txt:
5416         * gst/gstelement.h:
5417           add new api entries
5418           hide internal macro
5419
5420 2005-10-17  Andy Wingo  <wingo@pobox.com>
5421
5422         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
5423         cleanup.
5424
5425         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
5426
5427         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
5428
5429         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
5430         (gst_element_get_state_func): Better debug message.
5431         (gst_element_commit_state): s/INFO/DEBUG/.
5432         (gst_element_lost_state, gst_element_change_state): 
5433
5434         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
5435         (gst_message_new_custom): s/INFO/LOG/.
5436
5437 2005-10-17  Michael Smith <msmith@fluendo.com>
5438
5439         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5440           Check if end time is valid using end time, not start time.
5441
5442 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
5443
5444         * check/gst-libs/controller.c: (GST_START_TEST),
5445         (gst_controller_suite):
5446         * libs/gst/controller/gstcontroller.c:
5447         (gst_controlled_property_set_interpolation_mode):
5448         * libs/gst/controller/gstcontroller.h:
5449         * libs/gst/controller/gstinterpolation.c:
5450         * testsuite/controller/.cvsignore:
5451         * testsuite/controller/Makefile.am:
5452         * testsuite/controller/interpolator.c:
5453           merge controller testsuites
5454           fix broken tests
5455           remove mem-chunk from docs
5456
5457 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5458
5459         * gst/gstmemchunk.c:
5460         * gst/gstmemchunk.h:
5461         * gst/gsttrashstack.c:
5462         * gst/gsttrashstack.h:
5463           out.  get out.  you're fired.  to the Attic !
5464
5465 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5466
5467         * gst/gstcaps.c: (gst_caps_intersect):
5468           fix signedness issues in a (hopefully) correct way
5469         * gst/gstelement.c: (gst_element_pads_activate):
5470           some debugging
5471         * gst/gstobject.c: (gst_object_set_parent):
5472           some debugging
5473
5474 2005-10-17  Julien MOUTTE  <julien@moutte.net>
5475
5476         * gst/gstvalue.h: Fix prototypes.
5477
5478 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5479
5480         * docs/gst/gstreamer-sections.txt:
5481         * gst/gst.c: (gst_version_string):
5482         * gst/gst.h:
5483         * gst/gstversion.h.in:
5484         * win32/common/libgstreamer.def:
5485           add gst_version_string ()
5486
5487 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5488
5489         * configure.ac:
5490           clean up further
5491         * gst/gst.c: (init_post):
5492         * win32/common/config.h.in:
5493           it's PLUGINDIR now
5494         * gst/gstcaps.c: (gst_caps_intersect):
5495           use gint64, the range could be bigger than a guint
5496
5497 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5498
5499         * gst/gstclock.h:
5500           document potential problem in 2038
5501
5502 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5503
5504         * gst/gstcaps.c: (gst_caps_intersect):
5505           Fix guint j diving under 0
5506
5507 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5508
5509         * configure.ac:
5510         * win32/common/config.h:
5511         * win32/common/config.h.in:
5512           check for process.h, declares getpid() on Windows
5513         * gst/gstinfo.c:
5514           include process.h if we have it
5515         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
5516         * gst/gstmemchunk.h:
5517           fix signedness issues
5518         * win32/common/libgstreamer.def:
5519           fix get_type's
5520
5521 2005-10-16  Julien MOUTTE  <julien@moutte.net>
5522
5523         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
5524         fix. Because of unsigned ints, caps intersection was going nuts and
5525         trying to access structures with G_MAXUINT index. That fixes
5526         videotestsrc ! ffmpegcolorspace ! fakesink
5527         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
5528         consistency.
5529
5530 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5531
5532         * configure.ac:
5533           use the gettext macro
5534         * gst/elements/gstelements.c:
5535         * gst/gst.c:
5536         * gst/indexers/gstindexers.c:
5537           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
5538         * win32/common/config.h:
5539           updated config.h
5540         * win32/common/config.h.in:
5541           add the template to generate config.h
5542         * win32/common/gstenumtypes.c:
5543         * win32/common/gstversion.h:
5544           updated copies
5545
5546 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5547
5548         * gst/gst.c: (gst_version):
5549         * gst/gstversion.h.in:
5550           add the nano
5551
5552 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5553
5554         * gst/gstevent.h:
5555           Oops, add missing closing bracket.
5556
5557 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5558
5559         * configure.ac:
5560           use common m4's for argument checking
5561
5562 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5563
5564         * docs/gst/gstreamer-sections.txt:
5565         * gst/gstevent.h:
5566           Add GST_EVENT_TYPE_NAME() macro.
5567
5568 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5569
5570         * gst/gstinfo.c:
5571         * gst/gstpluginfeature.c:
5572         * gst/gsttask.c:
5573           privatize more symbols
5574
5575 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5576
5577         * configure.ac:
5578           add srcdir, builddir includes to GST_ALL_CFLAGS, since
5579           everything that uses GStreamer API should have the includes
5580
5581 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5582
5583         * docs/gst/gstreamer-sections.txt:
5584         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
5585         * gst/gstvalue.h:
5586           give each value a _get_type, removes the DATA exports
5587
5588 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5589
5590         * gst/gst.c:
5591         * gst/gst.h:
5592           remove _gst_registry_auto_load, not used anymore
5593         * gst/gstbin.c: (gst_bin_get_type):
5594         * gst/gstbin.h:
5595         * gst/gstelement.c: (gst_element_get_type):
5596         * gst/gstelement.h:
5597         * gst/gstobject.c: (gst_object_get_type):
5598         * gst/gstobject.h:
5599         * gst/gstpad.c: (gst_pad_get_type):
5600         * gst/gstpad.h:
5601           make _get_type functions similar, fixes data export from library
5602
5603 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5604
5605         * configure.ac:
5606           correctly make conditionals
5607         * gst/elements/Makefile.am:
5608         * gst/elements/gstelements.c:
5609           fix typo causing fdsrc not to build
5610
5611 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5612
5613         * testsuite/Makefile.am:
5614         * testsuite/bytestream/.cvsignore:
5615         * testsuite/bytestream/Makefile.am:
5616         * testsuite/bytestream/filepadsink.c:
5617         * testsuite/bytestream/gstbstest.c:
5618         * testsuite/bytestream/test1.c:
5619         * testsuite/bytestream/testfile1:
5620         * testsuite/caps/normalisation.c:
5621         * testsuite/caps/random.c: (main):
5622         * testsuite/cleanup/.cvsignore:
5623         * testsuite/cleanup/Makefile.am:
5624         * testsuite/cleanup/cleanup1.c:
5625         * testsuite/cleanup/cleanup2.c:
5626         * testsuite/cleanup/cleanup3.c:
5627         * testsuite/cleanup/cleanup4.c:
5628         * testsuite/cleanup/cleanup5.c:
5629         * testsuite/controller/interpolator.c:
5630         * testsuite/debug/printf_extension.c: (main):
5631         * testsuite/elements/tee.c:
5632         * testsuite/negotiation/.cvsignore:
5633         * testsuite/negotiation/Makefile.am:
5634         * testsuite/negotiation/pad_link.c:
5635         * testsuite/pad/Makefile.am:
5636         * testsuite/pad/chainnopull.c:
5637         * testsuite/pad/getnopush.c:
5638         * testsuite/pad/link.c:
5639         * testsuite/refcounting/sched.c: (create_pipeline):
5640         * testsuite/registry/Makefile.am:
5641         * testsuite/registry/gst-print-formats.c:
5642         * testsuite/schedulers/.cvsignore:
5643         * testsuite/schedulers/142183-2.c:
5644         * testsuite/schedulers/142183.c:
5645         * testsuite/schedulers/143777-2.c:
5646         * testsuite/schedulers/143777.c:
5647         * testsuite/schedulers/147713.c:
5648         * testsuite/schedulers/147819.c:
5649         * testsuite/schedulers/147894-2.c:
5650         * testsuite/schedulers/147894.c:
5651         * testsuite/schedulers/Makefile.am:
5652         * testsuite/schedulers/group_link.c:
5653         * testsuite/schedulers/queue_link.c:
5654         * testsuite/schedulers/relink.c:
5655         * testsuite/schedulers/unlink.c:
5656         * testsuite/schedulers/unref.c:
5657         * testsuite/schedulers/useless_iteration.c:
5658         * testsuite/states/bin.c:
5659           clean out/remove some stuff from the testsuite directories
5660
5661 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5662
5663         * configure.ac:
5664           check for some headers
5665         * gst/elements/Makefile.am:
5666         * gst/elements/gstelements.c:
5667           don't compile fdsrc without sys/socket.h
5668         * gst/indexers/Makefile.am:
5669         * gst/indexers/gstindexers.c: (plugin_init):
5670           don't compile fileindex without mmap
5671
5672 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5673
5674         * configure.ac:
5675           reorganize
5676           clean up
5677           document more
5678           remove cruft
5679         * check/Makefile.am:
5680         * docs/gst/Makefile.am:
5681         * examples/helloworld/Makefile.am:
5682         * gst/Makefile.am:
5683         * gst/base/Makefile.am:
5684         * gst/check/Makefile.am:
5685         * gst/elements/Makefile.am:
5686         * gst/indexers/Makefile.am:
5687         * gst/parse/Makefile.am:
5688         * libs/gst/controller/Makefile.am:
5689         * libs/gst/dataprotocol/Makefile.am:
5690         * examples/helloworld/helloworld.c: (event_loop):
5691           compile fixes, though it's not being compiled currently
5692
5693 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5694
5695         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
5696           Add some simple tests for the new taglist date API.
5697
5698 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5699
5700         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
5701         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
5702           Beautify 'last-message' output: print 'none' for buffer timestamps
5703           and durations if none is set; improve alignment with next messages.
5704
5705 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5706
5707         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
5708         * gst/gstpluginfeature.h:
5709         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
5710         * gst/gstregistry.h:
5711         * docs/gst/gstreamer-sections.txt:
5712           Add new API to check plugin feature version requirements.
5713
5714         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
5715           Some basic tests for the above.         
5716
5717 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5718
5719         * gst/gststructure.c: (gst_structure_to_string):
5720           guard against NULL printf - happens when for example
5721           a message structure with GstClock gets serialized
5722
5723 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5724
5725         * gst/base/gstcollectpads.c: (gst_collectpads_event):
5726           Fix presumable copy'n'pasto.
5727
5728 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5729
5730         * gst/elements/gstfakesrc.h:
5731         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
5732         * gst/elements/gsttypefindelement.c:
5733           fix some signedness
5734         * gst/elements/gstfilesink.c: (gst_file_sink_render):
5735           I wonder if this could actually write +2GB files before
5736
5737 2005-10-13  Andy Wingo  <wingo@pobox.com>
5738
5739         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
5740         Fix Timmeke Waymans bug.
5741         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
5742         string of the proper length to gst_caps_from_string. There's a
5743         potential for, before this fix, that this could cause someone
5744         connecting over the network to cause a segfault if the payload is
5745         not NUL-terminated.
5746
5747 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
5748
5749         * docs/design/draft-push-pull.txt:
5750         * docs/design/part-overview.txt:
5751         * docs/random/TODO-pre-0.9:
5752         * docs/random/old/ChangeLog.gstreamer:
5753         * gst/base/gstpushsrc.c:
5754         * gst/gstclock.c:
5755           fixed typos
5756
5757 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5758
5759         * gst/glib-compat.c: (gst_flags_get_first_value):
5760         * gst/glib-compat.h:
5761         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
5762         (gst_value_compare_double), (gst_value_serialize_flags):
5763           GLib 2.6 g_flags_get_first_value has a bug that triggers an
5764           infinite loop
5765
5766 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5767
5768         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5769         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5770           fix up debugging
5771         * tools/gst-launch.c: (event_loop):
5772           print out clock nicely
5773
5774 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5775
5776         * docs/gst/gstreamer-sections.txt:
5777         * gst/gsttaglist.h:
5778         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
5779         (gst_tag_list_get_date_index):
5780           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
5781           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
5782
5783 2005-10-13  Julien MOUTTE  <julien@moutte.net>
5784
5785         * gst/base/gstcollectpads.c: (gst_collectpads_event),
5786         (gst_collectpads_chain):
5787         * gst/base/gstcollectpads.h: Handle newsegment and store informations
5788         in CollectData.
5789
5790 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
5791
5792         * docs/gst/gstreamer-sections.txt:
5793         * gst/gst.c:
5794         * gst/gsterror.h:
5795         * tools/gst-inspect.c: (main):
5796         * tools/gst-launch.c: (main):
5797         * tools/gst-run.c: (main):
5798         * tools/gst-xmlinspect.c: (main):
5799           fix GOption context leaks
5800           doc fixes
5801
5802 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5803
5804         * gst/gstbus.c:
5805           use HAVE_UNISTD_H
5806         * win32/common/config.h:
5807           update config
5808         * win32/vs6/grammar.dsp:
5809         * win32/vs6/libgstelements.dsp:
5810         * win32/vs6/libgstreamer.dsp:
5811           update vs6 files
5812
5813 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5814
5815         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5816         * gst/base/gstbasesrc.c: (gst_base_src_query):
5817           fix more guint64<->gdouble conversions
5818
5819 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5820
5821         * Makefile.am:
5822           add win32-update target
5823         * win32/common/gstconfig.h:
5824         * win32/common/gstenumtypes.c:
5825         * win32/common/gstenumtypes.h:
5826         * win32/common/gstversion.h:
5827           add files that visual studio can't generate
5828
5829 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5830
5831         * Makefile.am:
5832           add a win32-update target
5833         * configure.ac:
5834
5835 2005-10-12  Wim Taymans  <wim@fluendo.com>
5836
5837         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5838         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
5839         * gst/gstelement.c: (gst_element_commit_state),
5840         (gst_element_set_state):
5841         Protect flags with proper lock.
5842         unref provided cached clock in dispose.
5843
5844 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
5845
5846         * gst/gst.c:
5847         * gst/gstminiobject.h:
5848         * gst/gstpad.h:
5849         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
5850           removed unused flags from miniobject
5851           doc fixes
5852
5853 2005-10-12  Wim Taymans  <wim@fluendo.com>
5854
5855         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
5856         (gst_file_sink_event), (gst_file_sink_render):
5857         Flush before seeking.
5858
5859 2005-10-12  Andy Wingo  <wingo@pobox.com>
5860
5861         * gst/gst.c (gst_init_check): Ignore unknown options, as has
5862         always been the case.
5863
5864 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
5865
5866         * check/gst/gstbin.c: (GST_START_TEST):
5867         * docs/gst/gstreamer-sections.txt:
5868         * gst/base/gstbasesink.c: (gst_base_sink_init):
5869         * gst/base/gstbasesrc.c: (gst_base_src_init),
5870         (gst_base_src_get_range), (gst_base_src_check_get_range),
5871         (gst_base_src_start), (gst_base_src_stop):
5872         * gst/base/gstbasesrc.h:
5873         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
5874         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5875         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
5876         (bin_bus_handler):
5877         * gst/gstbin.h:
5878         * gst/gstbuffer.h:
5879         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
5880         * gst/gstbus.h:
5881         * gst/gstelement.c: (gst_element_is_locked_state),
5882         (gst_element_set_locked_state), (gst_element_commit_state),
5883         (gst_element_set_state):
5884         * gst/gstelement.h:
5885         * gst/gstindex.c: (gst_index_init):
5886         * gst/gstindex.h:
5887         * gst/gstminiobject.h:
5888         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
5889         (gst_object_set_parent):
5890         * gst/gstobject.h:
5891         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
5892         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
5893         * gst/gstpad.h:
5894         * gst/gstpadtemplate.h:
5895         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
5896         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
5897         * gst/gstpipeline.h:
5898         * gst/indexers/gstfileindex.c: (gst_file_index_load),
5899         (gst_file_index_commit):
5900         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
5901         * testsuite/pad/link.c: (gst_test_src_init),
5902         (gst_test_filter_init), (gst_test_sink_init):
5903         * testsuite/states/locked.c: (main):
5904           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
5905           moved bitshift from macro to enum definition
5906
5907 2005-10-12  Wim Taymans  <wim@fluendo.com>
5908
5909         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
5910         * gst/elements/gstfilesink.c: (gst_file_sink_event),
5911         (gst_file_sink_render):
5912         Some more debugging info.
5913
5914 2005-10-12  Wim Taymans  <wim@fluendo.com>
5915
5916         * docs/design/part-states.txt:
5917         * tools/gst-launch.c: (main):
5918         Some doc updates.
5919         Revert non-intentional change.
5920
5921 2005-10-12  Wim Taymans  <wim@fluendo.com>
5922
5923         * check/gst/gstbin.c: (GST_START_TEST):
5924         * check/gst/gstelement.c: (GST_START_TEST):
5925         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
5926         * check/gst/gstghostpad.c: (GST_START_TEST):
5927         * check/gst/gstpipeline.c: (GST_START_TEST):
5928         * check/pipelines/simple_launch_lines.c: (run_pipeline):
5929         * check/states/sinks.c: (GST_START_TEST):
5930         * gst/elements/gsttypefindelement.c: (stop_typefinding):
5931         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5932         (gst_bin_remove_func), (gst_bin_get_state_func),
5933         (gst_bin_recalc_state), (gst_bin_change_state_func),
5934         (bin_bus_handler):
5935         * gst/gstelement.c: (gst_element_get_state_func),
5936         (gst_element_get_state), (gst_element_abort_state),
5937         (gst_element_commit_state), (gst_element_set_state),
5938         (gst_element_change_state), (gst_element_change_state_func):
5939         * gst/gstelement.h:
5940         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
5941         (gst_pipeline_provide_clock_func):
5942         * gst/gstutils.c: (gst_element_link_pads_filtered):
5943         * tools/gst-launch.c: (main):
5944         * tools/gst-typefind.c: (main):
5945         Use GstClockTime in _get_state() instead of GTimeVal.
5946         Remove old code in gstutils.c
5947
5948 2005-10-12  Andy Wingo  <wingo@pobox.com>
5949
5950         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
5951         removed.
5952
5953         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
5954         there is no task. Shouldn't affect any code, as nothing in our
5955         plugins checks this return value.
5956         (gst_pad_stop_task): Also take the stream lock if the pad has no
5957         task. Docs updated.
5958
5959 2005-10-12  Wim Taymans  <wim@fluendo.com>
5960
5961         * gst/gstpad.c: (pre_activate), (post_activate),
5962         (gst_pad_activate_pull), (gst_pad_activate_push):
5963         Cleanup activation code. Reset old state if
5964         activation failed.
5965
5966 2005-10-12  Wim Taymans  <wim@fluendo.com>
5967
5968         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5969         (gst_base_sink_change_state):
5970         No need to prerol after receiving EOS.
5971
5972         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
5973         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
5974         * gst/elements/gstidentity.c: (gst_identity_event):
5975         Print events more verbosely.
5976
5977 2005-10-12  Wim Taymans  <wim@fluendo.com>
5978
5979         * check/Makefile.am:
5980         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
5981         * check/states/sinks2.c:
5982         Moved sinks2 testcode in sinks check.
5983
5984         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
5985         (gst_bin_remove_func), (gst_bin_recalc_state),
5986         (gst_bin_change_state_func), (bin_bus_handler):
5987         Fix potential race condition when _get_state() iterated over an
5988         ASYNC element right before it posted a state completion.
5989
5990         * gst/gstclock.h:
5991         Do proper cast here.
5992
5993         * gst/gstevent.c: (gst_event_new_newsegment),
5994         (gst_event_parse_newsegment):
5995         A playback rate of 0.0 is not allowed.
5996
5997 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
5998
5999         * win32/common/config.h:
6000         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
6001         (_trewinddir), (_ttelldir), (_tseekdir):
6002         * win32/common/dirent.h:
6003         * win32/common/gtchar.h:
6004         * win32/common/libgstbase.def:
6005         * win32/common/libgstreamer.def:
6006         * win32/vs6/grammar.dsp:
6007         * win32/vs6/gst_inspect.dsp:
6008         * win32/vs6/gst_launch.dsp:
6009         * win32/vs6/gstreamer.dsw:
6010         * win32/vs6/libgstbase.dsp:
6011         * win32/vs6/libgstelements.dsp:
6012         * win32/vs6/libgstreamer.dsp:
6013           Visual Studio 6 project files, and a new common directory.
6014           Phear.
6015
6016 2005-10-11  Wim Taymans  <wim@fluendo.com>
6017
6018         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6019         (gst_base_sink_do_sync), (gst_base_sink_query),
6020         (gst_base_sink_change_state):
6021         * gst/base/gstbasesink.h:
6022         Correctly parse newsegment info.
6023
6024 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6025
6026         * gst/gst.c: (init_post):
6027           split plugin paths correctly
6028
6029 2005-10-11  Wim Taymans  <wim@fluendo.com>
6030
6031         * check/gst/gstevent.c: (GST_START_TEST):
6032         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6033         (gst_base_sink_change_state):
6034         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
6035         * gst/base/gstbasetransform.c: (gst_base_transform_event):
6036         * gst/elements/gstfilesink.c: (gst_file_sink_event):
6037         * gst/gstevent.c: (gst_event_new_newsegment),
6038         (gst_event_parse_newsegment):
6039         * gst/gstevent.h:
6040         Added extra flag to newsegment for future API freeze.
6041         Updated check and base elements.
6042
6043 2005-10-11  Julien MOUTTE  <julien@moutte.net>
6044
6045         * gst/base/gstcollectpads.c: (gst_collectpads_init),
6046         (gst_collectpads_add_pad), (gst_collectpads_pop),
6047         (gst_collectpads_event), (gst_collectpads_chain):
6048         * gst/base/gstcollectpads.h: Handle EOS correctly.
6049
6050 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6051
6052         * tools/gst-launch.c: (main):
6053           more null protecting
6054
6055 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6056
6057         * gst/gst-i18n-lib.h:
6058           check for ENABLE_NLS, not GETTEXT_PACKAGE
6059         * gst/gstregistry.c: (gst_registry_add_plugin),
6060         (gst_registry_scan_path_level),
6061         (_gst_registry_remove_cache_plugins):
6062           protect possibly NULL strings
6063         * gst/parse/types.h:
6064           config.h already included before
6065         * tools/gst-inspect.c: (main):
6066           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
6067           check for ENABLE_NLS, not GETTEXT_PACKAGE
6068         * tools/gst-launch.c: (main):
6069           check for ENABLE_NLS, not GETTEXT_PACKAGE
6070
6071 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6072
6073         * configure.ac:
6074           if we don't have glib, fail before testing 2.8
6075         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
6076           fix a leak, should fix plugins-base testsuite
6077
6078 2005-10-11  Andy Wingo  <wingo@pobox.com>
6079
6080         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
6081         take the mode we're going to as an arg. Go head and set the mode
6082         and flushing flags now, so that if the activate function starts a
6083         thread all the flags will be in the right state.
6084         (post_activate): Renamed also. Just handle making sure streaming
6085         finishes for the deactivation case, and setting the deactivated
6086         mode.
6087         (gst_pad_set_active): Complain loudly if deactivation fails.
6088         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
6089         (gst_pad_activate_push): Adapt to pre/post_activate changes,
6090         remove the terrible hack.
6091
6092 2005-10-11  Wim Taymans  <wim@fluendo.com>
6093
6094         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
6095         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
6096         (gst_bin_recalc_state), (gst_bin_change_state_func),
6097         (gst_bin_dispose), (bin_bus_handler):
6098         * gst/gstbin.h:
6099         Prepare to make current EOS message queue more generic.
6100         Fix some typos.
6101
6102         * gst/gstevent.c: (gst_event_new_newsegment),
6103         (gst_event_parse_newsegment):
6104         * gst/gstevent.h:
6105         Rename base to stream_time.
6106
6107         * gst/gstmessage.h:
6108         Fix typo in docs.
6109
6110 2005-10-11  Wim Taymans  <wim@fluendo.com>
6111
6112         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
6113         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
6114         (gst_bin_change_state_func), (bin_bus_handler):
6115         * gst/gstbin.h:
6116         Work on proper clock selection.
6117
6118 2005-10-11  Edward Hervey  <edward@fluendo.com>
6119
6120         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
6121         * libs/gst/controller/gstcontroller.h:
6122         Added GList* version of _remove_properties() in order to be able to wrap
6123         it in bindings.
6124
6125 2005-10-11  Wim Taymans  <wim@fluendo.com>
6126
6127         * docs/design/part-states.txt:
6128         Some more docs.
6129
6130         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
6131         (gst_bin_change_state_func), (bin_bus_handler):
6132         Doc updates. Don't distribute the same clock over and over again.
6133
6134         * gst/gstclock.c:
6135         * gst/gstclock.h:
6136         Doc updates.
6137
6138         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
6139         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
6140         (gst_pad_send_event):
6141         * gst/gstpad.h:
6142         Make probe emission threadsafe again.
6143         Register quarks and move _get_name() from utils.
6144         Doc updates.
6145
6146         * gst/gstpipeline.c: (gst_pipeline_class_init),
6147         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
6148         Only redistribute the clock of it changed.
6149
6150         * gst/gstsystemclock.h:
6151         Doc updates. 
6152
6153         * gst/gstutils.c:
6154         * gst/gstutils.h:
6155         Moved the _flow_get_name() to GstPad.
6156
6157 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6158
6159         * check/gst-libs/gdp.c: (GST_START_TEST):
6160         * check/gst/gstcaps.c: (GST_START_TEST):
6161         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
6162         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
6163         (gst_dp_packet_from_caps):
6164           fix more valgrind warnings before turning up the heat
6165
6166 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6167
6168         * gst/parse/grammar.y:
6169           some cleanup before the hacking
6170
6171 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6172
6173         * gst/base/gstbasesrc.c: (gst_base_src_query):
6174           use conversions
6175         * gst/gstutils.c: (gst_guint64_to_gdouble),
6176         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
6177         * gst/gstutils.h:
6178           externalize, basesrc uses it
6179           obviously the implementation needs testing
6180
6181 2005-10-10  Wim Taymans  <wim@fluendo.com>
6182
6183         * tests/sched/Makefile.am:
6184         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
6185         (make_pipeline3), (make_pipeline4), (print_elem), (main):
6186
6187 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6188
6189         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
6190           apparently converting from guint64 to double is not implemented
6191           on MSVC
6192
6193 2005-10-10  Wim Taymans  <wim@fluendo.com>
6194
6195         * check/Makefile.am:
6196         * check/generic/states.c: (GST_START_TEST):
6197         * check/gst/gstbin.c: (GST_START_TEST):
6198         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6199         * check/states/sinks.c: (GST_START_TEST):
6200         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
6201         (main):
6202         Check fixes, use API as stated in design docs, remove hacks.
6203
6204         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6205         (gst_base_sink_change_state):
6206         Catch stopping our task while we're shutting down.
6207
6208         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
6209         (gst_bin_remove_func), (gst_bin_get_state_func),
6210         (gst_bin_recalc_state), (gst_bin_change_state_func),
6211         (bin_bus_handler):
6212         * gst/gstbin.h:
6213         * gst/gstelement.c: (gst_element_init),
6214         (gst_element_get_state_func), (gst_element_abort_state),
6215         (gst_element_commit_state), (gst_element_lost_state),
6216         (gst_element_set_state), (gst_element_change_state),
6217         (gst_element_change_state_func):
6218         * gst/gstelement.h:
6219         New state change algorithm (see #318116)
6220
6221         * gst/gstpipeline.c: (gst_pipeline_class_init),
6222         (gst_pipeline_init), (gst_pipeline_set_property),
6223         (gst_pipeline_get_property), (do_pipeline_seek),
6224         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
6225         * gst/gstpipeline.h:
6226         Remove crude state change hacks.
6227
6228         * gst/gstutils.h:
6229         Remove crude hacks.
6230
6231         * tools/gst-launch.c: (main):
6232         Fixes for state change. Needs some more work to fully use the
6233         new stuff.
6234
6235 2005-10-10  Andy Wingo  <wingo@pobox.com>
6236
6237         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
6238
6239         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
6240         this flag, but it's not even in GLib 2.6. Odd. Hack around the
6241         issue.
6242
6243 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6244
6245         * gst/gstiterator.c: (gst_iterator_new):
6246           Fix my previous commit: GTypes passed to gst_iterator_new()
6247           can be fundamental types.
6248
6249 2005-10-10  Wim Taymans  <wim@fluendo.com>
6250
6251         * gst/gstelement.c: (gst_element_iterate_pad_list),
6252         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
6253         (gst_element_iterate_sink_pads):
6254         Use src/sink pads lists for the respective iterators instead
6255         of filtering.
6256
6257 2005-10-10  Andy Wingo  <wingo@pobox.com>
6258
6259         Merged in popt removal + GOption addition patch from Ronald, bug
6260         #169772.
6261
6262         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
6263         GstElement macros around, remove popt-related symbols, add goption
6264         stuff.
6265
6266         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
6267         
6268         * docs/gst/Makefile.am:
6269         * docs/libs/Makefile.am: No POPT_CFLAGS.
6270         
6271         * examples/manual/Makefile.am:
6272         * docs/manual/basics-init.xml: Doc updates with an example.
6273         
6274         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
6275         (gst_init), (parse_one_option), (parse_goption_arg):
6276         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
6277         bit of hand merging and debugging to get the GOption stuff working
6278         tho.
6279         
6280         * tests/Makefile.am:
6281         * tools/Makefile.am:
6282         * tools/gst-inspect.c: (main):
6283         * tools/gst-launch.c: (main):
6284         * tools/gst-run.c: (main):
6285         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
6286
6287 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6288
6289         * gst/gstiterator.c: (gst_iterator_new):
6290           Add assertions to make sure passed GType is likely to really
6291           be a GType (as the compiler won't catch it if the size and
6292           GType arguments get mixed up, see #318447).
6293
6294 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
6295
6296         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6297
6298         * gst/gstbin.c: (gst_bin_iterate_sorted):
6299           Pass GType and size arguments to gst_iterator_new() in the right
6300           order (maybe we should make _new() take the GType as first argument
6301           just like _new_list()?) (#318447).
6302           
6303
6304 2005-10-10  Wim Taymans  <wim@fluendo.com>
6305
6306         * gst/gstelement.c: (gst_element_finalize):
6307         And free the GStaticRecMutex too
6308
6309 2005-10-10  Andy Wingo  <wingo@pobox.com>
6310
6311         * gst/gstelement.c (gst_element_init, gst_element_finalize):
6312         Allocate and free the mutex properly.
6313
6314         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
6315         New macros.
6316         (GstElement): The state_lock is now recursive. Rebuild your
6317         plugins, suckers. Old macros adapted.
6318
6319         * docs/gst/gstreamer-sections.txt: Doc updates.
6320
6321         * gst/gstutils.h:
6322         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
6323         (g_static_rec_cond_wait): Ported from state changes patch, while
6324         we wait on bug #317802 to be solved in a well-distributed GLib.
6325
6326         * gst/gstelement.c (gst_element_change_state_func): Renamed from
6327         gst_element_change_state, variable name changes.
6328         (gst_element_change_state): Split out of gst_element_set_state in
6329         preparation for the state change merge. Doesn't pay attention to
6330         the 'transition' argument.
6331         (gst_element_set_state): Updates, hopefully purely cosmetic.
6332         (gst_element_sync_state_with_parent): MT-safety. Ported from the
6333         state change patch.
6334         (gst_element_get_state_func): Renamed from get_state, cosmetic
6335         changes.
6336
6337 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6338
6339         * gst/elements/gstelements.c:
6340         * win32/GStreamer.vcproj:
6341         * win32/config.h:
6342         * win32/dirent.c: (_tseekdir):
6343         * win32/gst-inspect.vcproj:
6344         * win32/gst-launch.vcproj:
6345         * win32/gstconfig.h:
6346         * win32/gstelements.vcproj:
6347         * win32/gstenumtypes.c: (gst_object_flags_get_type):
6348         * win32/gstreamer.def:
6349         * win32/msvc71.sln:
6350           updates for the win32 build (patch from Sebastien Moutte)
6351
6352 2005-10-10  Andy Wingo  <wingo@pobox.com>
6353
6354         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
6355         gst_bin_get_state, cleaned up (but no logic changes).
6356         (bin_element_is_sink): Comment updates.
6357         (sink_iterator_filter): Remove needless cast.
6358         (gst_bin_iterate_sinks): Doc update.
6359         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
6360         cleaned up (but no logic changes).
6361
6362         * check/states/sinks.c (test_src_sink): Cleanups from the state
6363         change patch.
6364         (test_livesrc_sink): Sync on the state.
6365
6366         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
6367         the state change patch.
6368
6369         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
6370         change patch.
6371
6372         * check/gst/gstbin.c: Merge in some style fixes and additional
6373         checks from Wim's state change patch.
6374
6375 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6376
6377         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6378         (gst_type_find_helper):
6379           Check whether we have the requested data already in our list of
6380           cached buffers before pulling a new buffer; also make the buffer
6381           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
6382
6383 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6384
6385         * gst/gstcaps.c:
6386         * gst/gstevent.c:
6387           doc updates
6388         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
6389           don't use long long, it's not portable.  Replacing with
6390           gint64 seems to work; let's hope no skeletons fall out of the closet.
6391
6392 2005-10-10  Andy Wingo  <wingo@pobox.com>
6393
6394         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
6395
6396 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
6397
6398         * docs/gst/gstreamer-sections.txt:
6399         * gst/gstevent.c:
6400         * gst/gstevent.h:
6401         * gst/gstinfo.c:
6402         * gst/gstinfo.h:
6403         * gst/gstmessage.c: (gst_message_parse_state_changed):
6404         * gst/gstpad.c:
6405         * gst/gstpad.h:
6406           more docs, fix compilation
6407
6408 2005-10-09  Philippe Khalaf <burger@speedy.org>
6409         * gst/gstmessage.c:
6410           Fixed a few forgotten variables on previous commit
6411
6412 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6413
6414         * gst/base/gsttypefindhelper.c: (helper_find_peek):
6415           Fix evil typefind crasher: getrange() might return a short
6416           buffer at the end of a file, but gst_type_find_peek() must
6417           either return the full data as requested or NULL, but
6418           never a short buffer.
6419
6420 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6421
6422         * gst/gstmessage.c: (gst_message_new_state_changed),
6423         (gst_message_parse_state_changed):
6424         * gst/gstmessage.h:
6425           don't use "new", it's a C++ keyword
6426
6427 2005-10-08  Wim Taymans  <wim@fluendo.com>
6428
6429         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
6430         * gst/gstelement.c: (gst_element_post_message):
6431         * gst/gstpipeline.c: (gst_pipeline_change_state):
6432         Small docs and debug updates.
6433
6434 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
6435
6436         * docs/gst/gstreamer-sections.txt:
6437         * gst/gstelementfactory.c:
6438         * gst/gstevent.c:
6439         * gst/gsttaglist.c:
6440           more docs
6441
6442 2005-10-08  Wim Taymans  <wim@fluendo.com>
6443
6444         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
6445         (gst_bin_dispose), (bin_bus_handler):
6446         Fix typos, add comments.
6447         Clear EOS list when going to PAUSED from any direction and do it
6448         in a threadsafe way.
6449         Get base time in a threadsafe way too.
6450         Fix confusing debug in the change_state function.
6451         Various other small cleanups.
6452         
6453         * gst/gstelement.c: (gst_element_post_message):
6454         Fix very verbose bus posting code.
6455
6456         * gst/gstpipeline.c: (gst_pipeline_class_init),
6457         (gst_pipeline_set_property), (gst_pipeline_get_property),
6458         (gst_pipeline_change_state):
6459         Small ARG_ -> PROP_ cleanup
6460
6461 2005-10-08  Wim Taymans  <wim@fluendo.com>
6462
6463         * gst/gstbin.c: (is_eos), (bin_bus_handler):
6464         Do a less CPU demanding EOS check because we can.
6465
6466 2005-10-08  Wim Taymans  <wim@fluendo.com>
6467
6468         * libs/gst/dataprotocol/dataprotocol.c:
6469         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6470         (gst_dp_packet_from_event):
6471         * libs/gst/dataprotocol/dataprotocol.h:
6472         * libs/gst/dataprotocol/dp-private.h:
6473         It's about time we bump the version number.
6474         Since event types don't fit in the guint8 anymore describing
6475         the payload type, make payload type 16 bits wide.
6476
6477 2005-10-08  Wim Taymans  <wim@fluendo.com>
6478
6479         * docs/design/part-TODO.txt:
6480         * docs/design/part-clocks.txt:
6481         * docs/design/part-events.txt:
6482         * docs/design/part-gstbin.txt:
6483         * docs/design/part-gstelement.txt:
6484         * docs/design/part-gstpipeline.txt:
6485         * docs/design/part-live-source.txt:
6486         * docs/design/part-messages.txt:
6487         * docs/design/part-overview.txt:
6488         * docs/design/part-states.txt:
6489         Many doc updates.
6490
6491 2005-10-08  Wim Taymans  <wim@fluendo.com>
6492
6493         * gst/gstevent.c:
6494         * gst/gstevent.h:
6495         Fix event quark registration.
6496         Add some space between events so we can insert them in the
6497         right groups.
6498
6499 2005-10-08  Wim Taymans  <wim@fluendo.com>
6500
6501         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6502         (gst_base_sink_handle_buffer):
6503         Better log message.
6504
6505         * gst/gstbus.h:
6506         * gst/gstelement.h:
6507         More docs.
6508
6509         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
6510         (gst_queue_set_property), (gst_queue_get_property):
6511         * gst/gstqueue.h:
6512         Remove old unused properties.
6513
6514 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
6515         * docs/gst/gstreamer-sections.txt:
6516         * gst/gstmessage.c:
6517         * gst/gstmessage.h:
6518         * gst/gstminiobject.c:
6519         * gst/gstminiobject.h:
6520         * gst/gstobject.h:
6521         * gst/gstpad.h:
6522         * gst/gstutils.h:
6523           lots of new docs and doc fixes
6524
6525 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6526
6527         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
6528         * gst/gstplugin.h:
6529         * gst/gstregistry.c: (gst_registry_lookup_locked),
6530         (gst_registry_scan_path_level):
6531         * gst/gstregistryxml.c: (load_plugin):
6532           Only ever load one plugin for a given plugin basename.
6533           This ensures correct overriding of GST_PLUGIN_PATH over
6534           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
6535           system installed plugins.
6536
6537 2005-10-08  Wim Taymans  <wim@fluendo.com>
6538
6539         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6540         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
6541         Prepare for doing QOS.
6542
6543 2005-10-08  Wim Taymans  <wim@fluendo.com>
6544
6545         * check/gst/gstbin.c: (GST_START_TEST):
6546         * check/pipelines/cleanup.c: (GST_START_TEST):
6547         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
6548         Allow new clock message too.
6549
6550 2005-10-08  Wim Taymans  <wim@fluendo.com>
6551
6552         * gst/gstmessage.c: (gst_message_new_error),
6553         (gst_message_new_warning), (gst_message_new_tag),
6554         (gst_message_new_state_changed), (gst_message_new_clock_provide),
6555         (gst_message_new_clock_lost), (gst_message_new_new_clock),
6556         (gst_message_new_segment_start), (gst_message_new_segment_done),
6557         (gst_message_parse_state_changed),
6558         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
6559         (gst_message_parse_new_clock):
6560         * gst/gstmessage.h:
6561         Also carry the clock in question.
6562
6563 2005-10-08  Wim Taymans  <wim@fluendo.com>
6564
6565         * gst/gstmessage.c: (gst_message_new_custom),
6566         (gst_message_new_eos), (gst_message_new_error),
6567         (gst_message_new_warning), (gst_message_new_tag),
6568         (gst_message_new_state_changed), (gst_message_new_clock_provide),
6569         (gst_message_new_new_clock), (gst_message_new_segment_start),
6570         (gst_message_new_segment_done), (gst_message_parse_state_changed),
6571         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
6572         * gst/gstmessage.h:
6573         Clean up.
6574         Added clock related messages.
6575
6576         * gst/gstpipeline.c: (gst_pipeline_change_state):
6577         Post message when the clock changed.
6578
6579         * tools/gst-launch.c: (event_loop):
6580         Print new clock.
6581
6582 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6583
6584         * tools/gst-inspect.c: (print_element_properties_info):
6585           Can't pass NULL strings to g_print() on windows.
6586
6587 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6588
6589         * docs/Makefile.am:
6590         * docs/gst/Makefile.am:
6591         * docs/gst/gstreamer-docs.sgml:
6592         * docs/gst/running.xml:
6593         * docs/version.entities.in:
6594           add a chapter on running GStreamer.
6595           document GST_DEBUG and GST_PLUGIN* env vars
6596
6597 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6598
6599         * Makefile.am:
6600           remove include dir
6601         * configure.ac:
6602           remove PLUGINS_BUILDDIR stuff
6603         * gst/gst.c: (init_post):
6604           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
6605         * idiottest.mak:
6606           remove, it was condescending and not needed
6607
6608 2005-10-08  Wim Taymans  <wim@fluendo.com>
6609
6610         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6611         (gst_base_sink_handle_object), (gst_base_sink_event),
6612         (gst_base_sink_wait), (gst_base_sink_handle_event),
6613         (gst_base_sink_change_state):
6614         * gst/base/gstbasesink.h:
6615         Repost EOS message while going to PLAYING if still EOS.
6616         Make sure that when receiving a FLUSH_START we don't attempt
6617         to sync on the clock anymore.
6618
6619 2005-10-08  Wim Taymans  <wim@fluendo.com>
6620
6621         * tools/gst-launch.c: (event_loop):
6622         Better message printout.
6623
6624 2005-10-08  Wim Taymans  <wim@fluendo.com>
6625
6626         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
6627         (gst_bin_child_proxy_get_children_count):
6628         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6629         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
6630         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
6631         (gst_child_proxy_set_valist):
6632         * gst/parse/grammar.y:
6633         Make ChildProxy threadsafe and fix mem leaks.
6634
6635 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6636
6637         * gst/gst.c: (init_post):
6638           debug the GST_PLUGIN_ env vars
6639
6640 2005-10-08  Wim Taymans  <wim@fluendo.com>
6641
6642         * check/gst/gstbin.c: (GST_START_TEST):
6643         * check/gst/gstmessage.c: (GST_START_TEST):
6644         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
6645         * gst/gstelement.c: (gst_element_commit_state),
6646         (gst_element_lost_state):
6647         * gst/gstmessage.c: (gst_message_new_state_changed),
6648         (gst_message_parse_state_changed):
6649         * gst/gstmessage.h:
6650         * tools/gst-launch.c: (event_loop):
6651         Added extra field to STATE_CHANGE message with the pending
6652         state, which will be different from the new state soon.
6653
6654 2005-10-08  Wim Taymans  <wim@fluendo.com>
6655
6656         * gst/gstbus.c: (gst_bus_pop):
6657         * gst/gstclock.c:
6658         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6659         Small cleanups and doc updates.
6660
6661 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6662
6663         * gst/gst.c: (init_pre):
6664         * gst/gstbin.c: (gst_bin_add_func):
6665           log distributing clocks and base time
6666         * gst/gstregistry.c: (gst_registry_add_plugin),
6667         (gst_registry_scan_path_level), (gst_registry_scan_path):
6668           clean up the debugging output a little
6669         * gst/gstutils.c: (gst_element_state_get_name):
6670           warn about a memleak (I've actually seen this be used, though
6671           it was probably a bug)
6672
6673 2005-10-07  Wim Taymans  <wim@fluendo.com>
6674
6675         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6676         (gst_base_src_init), (gst_base_src_default_newsegment),
6677         (gst_base_src_newsegment), (gst_base_src_do_seek),
6678         (gst_base_src_loop), (gst_base_src_start):
6679         * gst/base/gstbasesrc.h:
6680         Make the newsegment event customizable by subclasses.
6681
6682 2005-10-07  Wim Taymans  <wim@fluendo.com>
6683
6684         * gst/gstevent.c: (gst_event_new_buffersize),
6685         (gst_event_parse_buffersize):
6686         * gst/gstevent.h:
6687         New event for future idea.
6688
6689 2005-10-07  Andy Wingo  <wingo@pobox.com>
6690
6691         * gst/gstelement.c (gst_element_post_message): Doc update.
6692
6693         * docs/gst/gstreamer-sections.txt: Update.
6694
6695         * gst/gstmessage.c (gst_message_new_application): Made into a
6696         function like honest API calls.
6697         (gst_message_new_element): New message type.
6698
6699         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
6700
6701         * check/elements/fakesrc.c (test_no_preroll): New check, checks
6702         that setting a live fakesrc to PAUSED returns NO_PREROLL both
6703         times.
6704
6705         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
6706         NO_PREROLL from gst_element_change_state to fall through.
6707
6708 2005-10-07  Wim Taymans  <wim@fluendo.com>
6709
6710         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
6711         (gst_ghost_pad_do_activate_push):
6712         Activating a ghostpad with no internal pad in push mode
6713         is ok.
6714
6715 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6716
6717         * gst/gstobject.h:
6718           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
6719           Fixes compilation on Windows.
6720
6721 2005-10-07  Michael Smith <msmith@fluendo.com>
6722
6723         * tools/gst-inspect.c:
6724           Print out feature and plugin count at the end when printing out
6725           all features.
6726
6727 2005-10-04  Michael Smith <msmith@fluendo.com>
6728
6729         * gst/gsterror.c: (_gst_stream_errors_init):
6730           Add another error string used in a few existing plugins.
6731
6732         * gst/gstplugin.c:
6733         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6734         * tools/gst-inspect.c: (print_element_info):
6735           When a feature disappears from a plugin (and the feature exists in
6736           the cached registry file), things went horribly wrong. This isn't a
6737           complete fix, we should actually be removing the 'missing' features
6738           from the features list when we load the actual plugin. That's not
6739           yet implemented. 
6740
6741 2005-10-04  Johan Dahlin  <johan@gnome.org>
6742
6743         * check/gst/gstiterator.c: (GST_START_TEST):
6744         * gst/gstbin.c: (gst_bin_iterate_elements),
6745         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
6746         * gst/gstelement.c: (gst_element_iterate_pads):
6747         * gst/gstformat.c: (gst_format_iterate_definitions):
6748         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
6749         (gst_iterator_new_list), (gst_iterator_filter):
6750         * gst/gstiterator.h:
6751         * gst/gstquery.c: (gst_query_type_iterate_definitions):
6752         Add a GType to GstIterator, update callsites and tests.
6753
6754 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6755
6756         * gst/gstpad.c: (gst_pad_event_default_dispatch):
6757           give events a chance to be handled by event probes when the pad
6758           is not linked
6759
6760 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6761
6762         * gst/gstevent.c: (gst_event_type_get_name),
6763         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
6764         * gst/gstevent.h:
6765           add string representations for event types
6766
6767 2005-10-06  Wim Taymans  <wim@fluendo.com>
6768
6769         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
6770         Don't use NULL pointers.
6771
6772 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6773
6774         * gst/gst_private.h:
6775         * gst/gstbus.c:
6776         * gst/gstelement.c:
6777         * gst/gstinfo.c:
6778         * gst/gstpluginfeature.c:
6779           widen the debug category in output to fit the biggest one we have
6780           add a bus category and use it
6781           play with the colors
6782           fix up some categories
6783
6784 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6785
6786         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
6787           add push activation of sink ghost pads.
6788           Andye, please verify
6789
6790 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6791
6792         * gst/gstutils.c: (gst_element_link_pads):
6793           fix a bug in the case where neither element has a pad
6794         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
6795           add a test for that case
6796
6797 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6798
6799         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
6800           emit have-data before checking for peers.  This allows
6801           for probe handlers to connect elements.  This helps autopluggers.
6802         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
6803         (gst_pad_suite):
6804           add six checks, linked/unlinked with no/true/false probe
6805
6806 2005-10-04  Wim Taymans  <wim@fluendo.com>
6807
6808         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
6809         (gst_fake_sink_event), (gst_fake_sink_preroll),
6810         (gst_fake_sink_render), (gst_fake_sink_change_state):
6811         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
6812         (gst_fake_src_get_property), (gst_fake_src_create),
6813         (gst_fake_src_stop):
6814         * gst/elements/gstidentity.c: (gst_identity_stop):
6815         Protect last_message with lock.
6816
6817 2005-10-04  Edward Hervey  <edward@fluendo.com>
6818
6819         * gst/gstformat.h: 
6820         Added precision in the comments for GST_FORMAT_DEFAULT
6821
6822 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
6823
6824         * tools/gst-launch.c: (main):
6825           Don't try to run erroneous pipelines.
6826
6827 2005-10-04  Julien MOUTTE  <julien@moutte.net>
6828
6829         * gst/gstbus.c: We don't need this header.
6830
6831 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6832
6833         * configure.ac:
6834           back to development
6835
6836 === release 0.9.3 ===
6837
6838 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6839
6840         * README:
6841         * configure.ac:
6842           Releasing 0.9.3, "Unregistered"
6843
6844 2005-10-03  Andy Wingo  <wingo@pobox.com>
6845
6846         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
6847         whereby calling a pad's activatepush() function can start a thread
6848         that starts to push or pull before the pad gets the FLUSHING flag
6849         unset. Hack around it by holding the stream lock until the flag is
6850         set. Need to replace this with a proper solution. Together with
6851         the ghost pad fixes, this fixes mp3 playing/tagreading.
6852
6853         * docs/design/part-gstghostpad.txt: Add a note about activation of
6854         proxy pads outside of ghost pads.
6855
6856         * gst/gstghostpad.c: Implement the ghost pad activation design.
6857
6858 2005-10-02  Andy Wingo  <wingo@pobox.com>
6859
6860         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
6861         It is volatile, after all.
6862
6863         * docs/design/part-gstghostpad.txt: Flesh out activation with
6864         ghost pads.
6865
6866         * gst/base/gstbasesrc.c (gst_base_src_init): Use
6867         GST_DEBUG_FUNCPTR.
6868
6869 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
6870
6871         * configure.ac:
6872           Fix (unused) AM_CONDITIONAL tests.
6873
6874 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
6875
6876         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6877
6878         * gst/gstutils.c: (gst_pad_query_convert):
6879           Add assertion that makes sure src_val is >=0, just like
6880           gst_query_new_convert() has. (#315895)
6881
6882 2005-09-30  Edward Hervey  <edward@fluendo.com>
6883
6884         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
6885         Let's not iterate pads we're not interested in, it avoids getting 
6886         sky-high refcounts on sinkpad.
6887
6888 2005-09-30  Wim Taymans  <wim@fluendo.com>
6889
6890         * gst/gstelement.c: (gst_element_set_state),
6891         (gst_element_change_state):
6892         Small tweak, element in ASYNC remains ASYNC.
6893
6894 2005-09-30  Wim Taymans  <wim@fluendo.com>
6895
6896         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
6897         Only error is an error.
6898
6899         * gst/gstbin.c: (gst_bin_change_state):
6900         Better debugging.
6901
6902         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
6903         Also call pad_block in pad alloc.
6904
6905         * gst/gstutils.c: (gst_flow_get_name):
6906         Better debugging.
6907
6908 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6909
6910         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6911         (gst_base_src_get_range):
6912           Fix documentation typos. Add some more debug info.
6913
6914 2005-09-29  David Schleef  <ds@schleef.org>
6915
6916         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
6917           more end-user friendly.
6918         * tools/gst-inspect.c: (main): Check if command-line argument is
6919           a file and attempt to load that file as a plugin.
6920
6921 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6922
6923         * check/gst/gstbin.c:
6924         * check/states/sinks.c:
6925           fix tests for the new warning
6926         * check/gst/gstpipeline.c:
6927           add a test for pipeline and bus interaction
6928         * gst/gstelement.c:
6929           elements should be NULL if they get disposed; add a warning if not
6930
6931 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6932
6933         * gst/gstobject.c:
6934           for 2.6 refcounting, make debug log more correct by printing
6935           the actual refcounts at the time of swap (Wim)
6936
6937 2005-09-29  Andy Wingo  <wingo@pobox.com>
6938
6939         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
6940         removes signal watches previously added via
6941         gst_bus_add_signal_watch.
6942         (gst_bus_add_signal_watch): Don't return the source id, just store
6943         it on the bus if there wasn't an id already.
6944
6945         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
6946         add_signal_watch and remove_signal_watch.
6947
6948 2005-09-29  Edward Hervey  <edward@fluendo.com>
6949
6950         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
6951         Better if we actually iterate the list :)
6952
6953 2005-09-29  Wim Taymans  <wim@fluendo.com>
6954
6955         * check/gst/gstbin.c: (GST_START_TEST):
6956         Change for new bus API.
6957
6958         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
6959         (send_messages), (GST_START_TEST), (gstbus_suite):
6960         Change for new bus signal API.
6961
6962         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
6963         (gst_bus_source_prepare), (gst_bus_source_check),
6964         (gst_bus_create_watch), (gst_bus_add_watch_full),
6965         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
6966         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
6967         * gst/gstbus.h:
6968         Remove support for multiple GSources operating on different
6969         message types as it is too complex and unneeded when using
6970         signals.
6971         Added support for receiving signals from the bus.
6972
6973 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6974
6975         * docs/libs/tmpl/gstdataprotocol.sgml:
6976         * docs/manual/advanced-dataaccess.xml:
6977         * gst/elements/gstcapsfilter.c:
6978         * gst/gstutils.c:
6979           rename filter-caps to caps property
6980
6981 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6982
6983         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6984           More robust fraction string parsing.
6985
6986         * docs/pwg/appendix-porting.xml:
6987           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
6988
6989 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
6990
6991         * gst/gstcaps.c: (gst_caps_do_simplify):
6992           Thou shalt not free a structure and then continue using it
6993           in the next loop iteration.
6994
6995         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
6996         (gst_caps_suite):
6997           Add test case for caps simplification.
6998
6999 2005-09-29  Wim Taymans  <wim@fluendo.com>
7000
7001         * check/gst/gstbin.c: (GST_START_TEST):
7002         Oops.
7003
7004 2005-09-29  Wim Taymans  <wim@fluendo.com>
7005
7006         * check/gst/gstbin.c: (GST_START_TEST):
7007         Add bus to bin.
7008
7009         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
7010         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
7011         (find_element), (gst_bin_sort_iterator_next),
7012         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7013         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7014         (gst_bin_change_state), (gst_bin_dispose):
7015         A bin does not have a bus, it gets the bus from the parent.
7016
7017         * gst/gstelement.c: (gst_element_requires_clock),
7018         (gst_element_provides_clock), (gst_element_is_indexable),
7019         (gst_element_is_locked_state), (gst_element_change_state),
7020         (gst_element_set_bus_func):
7021         Small cleanups.
7022
7023         * gst/gstpipeline.c: (gst_pipeline_class_init),
7024         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
7025         The pipeline provides a bus.
7026
7027 2005-09-28  Johan Dahlin  <johan@gnome.org>
7028
7029         * gst/gstmessage.c (gst_message_parse_state_changed): Use
7030         gst_structure_get_enum instead of gst_structure_get_int
7031
7032         * gst/gststructure.c (gst_structure_get_enum): Impl.
7033
7034         * gst/gststructure.h (gst_structure_get_enum): Add
7035
7036         * docs/gst/gstreamer-sections.txt: Ditto
7037
7038         * gst/gstmessage.c (gst_message_new_state_changed): Use
7039         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
7040         which does introspection.
7041         Reviewed by Christian Schaller
7042
7043 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
7044
7045         * gst/gstinfo.c: (gst_debug_log_default):
7046           don't do dummy g_strdup()s
7047         * libs/gst/controller/gstcontroller.c:
7048         (on_object_controlled_property_changed),
7049         (gst_controlled_property_new), (gst_controller_new_valist),
7050         (gst_controller_new_list),
7051         (gst_controller_remove_properties_valist), (gst_controller_set),
7052         (gst_controller_get), (gst_controller_sync_values),
7053         (gst_controller_get_value_array), (_gst_controller_class_init),
7054         (gst_controller_get_type):
7055         * libs/gst/controller/gstcontroller.h:
7056         * libs/gst/controller/gstinterpolation.c:
7057         (gst_controlled_property_find_timed_value_node):
7058           convert // to /**/ comments
7059
7060 2005-09-28  Wim Taymans  <wim@fluendo.com>
7061
7062         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
7063         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
7064         (gst_bus_sync_signal_handler):
7065         * gst/gstbus.h:
7066         Added async-message and sync-message signals to the bus.
7067         Added helper BusFunc to emit signals for all posted messages.
7068
7069         * gst/gstmessage.c: (gst_message_type_get_name),
7070         (gst_message_type_to_quark), (gst_message_get_type):
7071         * gst/gstmessage.h:
7072         Register quarks for message names.
7073
7074 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
7075
7076         * docs/libs/gstreamer-libs-sections.txt:
7077         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
7078         (gst_controller_new_list):
7079         * libs/gst/controller/gstcontroller.h:
7080           added another constructor for language bindings
7081
7082 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7083
7084         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7085           add another check
7086         * gst/gstbus.c:
7087           add some doc
7088         * gst/gstinfo.c: (_gst_debug_init):
7089           slightly more readable color for refcount debugging
7090
7091 2005-09-28  Wim Taymans  <wim@fluendo.com>
7092
7093         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
7094         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
7095         (find_element), (gst_bin_sort_iterator_next),
7096         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7097         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7098         (gst_bin_change_state), (gst_bin_dispose):
7099         Small doc fixes. get_clock -> provide_clock.
7100
7101         * gst/gstelement.c: (gst_element_class_init),
7102         (gst_element_provides_clock), (gst_element_provide_clock),
7103         (gst_element_get_clock), (gst_element_commit_state),
7104         (gst_element_lost_state):
7105         * gst/gstelement.h:
7106         Make get/set_clock() symetric. Add provide_clock vmethod since
7107         that is actually what this function does.
7108
7109         * gst/gstpipeline.c: (gst_pipeline_class_init),
7110         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
7111         (gst_pipeline_get_clock):
7112         get_clock -> provide_clock.
7113
7114 2005-09-28  Andy Wingo  <wingo@pobox.com>
7115
7116         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
7117         lieu of real docs...
7118
7119         * gst/elements/gstfdsrc.c: Cleaned up a bit.
7120
7121 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
7122
7123         * gst/elements/gstcapsfilter.c:
7124         * gst/elements/gstfakesink.c:
7125         * gst/elements/gstfakesrc.c:
7126         * gst/elements/gstfdsink.c:
7127         * gst/elements/gstfdsrc.c:
7128         * gst/elements/gstfilesink.c:
7129         * gst/elements/gstfilesrc.c:
7130         * gst/elements/gstidentity.c:
7131         * gst/elements/gsttee.c:
7132         * gst/elements/gsttypefindelement.c:
7133           Make element details static.
7134
7135 2005-09-28  Wim Taymans  <wim@fluendo.com>
7136
7137         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
7138         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
7139         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7140         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7141         (gst_bin_change_state), (gst_bin_dispose):
7142         Some documentation updates.
7143         Clean up dispose handlers.
7144
7145         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
7146         * gst/gstpad.c: (gst_pad_dispose):
7147         Clean up dispose handler.
7148
7149         * gst/gstpipeline.c: (gst_pipeline_change_state):
7150         Removed spurious UNLOCK.
7151
7152 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
7153
7154         * docs/gst/gstreamer-sections.txt:
7155         * gst/base/gstbasesrc.h:
7156         * gst/gstelement.h:
7157         * gst/gstevent.h:
7158         * gst/gstobject.h:
7159         * gst/gstpad.h:
7160         * gst/gstpipeline.c:
7161         * gst/gstpipeline.h:
7162         * gst/gstutils.h:
7163         * gst/gstxml.h:
7164           added two new functions to the docs
7165                 documents all undocumented GstXXXFlags
7166                 completed some incomplete docs 
7167
7168 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7169
7170         * gst/gstbin.c: (gst_bin_dispose):
7171         * gst/gstelement.c: (gst_element_dispose):
7172           remove now useless and leaky resurrection code in dispose
7173         * gst/base/gstbasesrc.c: (gst_base_src_init):
7174         * gst/gstelementfactory.c: (gst_element_factory_create):
7175         * gst/gstobject.c: (gst_object_set_parent):
7176           add some debugging
7177
7178 2005-09-27  Wim Taymans  <wim@fluendo.com>
7179
7180         * docs/design/part-TODO.txt:
7181         Update TODO.
7182
7183         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
7184         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
7185         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7186         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7187         (gst_bin_change_state):
7188         * gst/gstelement.h:
7189         Remove element variable, we keep element info in the iterator now.
7190
7191 2005-09-27  Andy Wingo  <wingo@pobox.com>
7192
7193         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
7194         values.
7195
7196 2005-09-27  Wim Taymans  <wim@fluendo.com>
7197
7198         * check/gst/gstbin.c: (GST_START_TEST):
7199         Enable check that works now.
7200
7201         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
7202         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
7203         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7204         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7205         (gst_bin_change_state):
7206         * gst/gstbin.h:
7207         Redid the state change algorithm using a topological sort algo.
7208         Handles all cases correctly.
7209         Exposed iterator for state change order.
7210
7211         * gst/gstelement.h:
7212         Temp storage for state changes. Need to get rid of this soon.
7213
7214 2005-09-27  Wim Taymans  <wim@fluendo.com>
7215
7216         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
7217         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
7218         (link_fold_func), (gst_pad_proxy_setcaps):
7219         Leak fixes, the fold functions need to unref the passed object and
7220         _get_parent_*() returns ref to parent.
7221
7222 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
7223
7224         * check/gst/gstbuffer.c: (test_make_writable):
7225           Plug leak in test case and fix 'make check-valgrind'
7226
7227 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
7228
7229         * gst/gstbuffer.c: (gst_subbuffer_init):
7230           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
7231           works correctly in all circumstances (we could have just copied
7232           the parent buffer's readonly flag, but conceptually it seems
7233           cleaner to mark all subbuffers as read-only). (based on patch
7234           by Alessandro Decina, #314710).
7235         
7236         * check/gst/gstbuffer.c: (create_read_only_buffer),
7237         (test_make_writable), (test_subbuffer_make_writable),
7238         (gst_test_suite):
7239           Add some tests for gst_buffer_make_writable().
7240
7241 2005-09-27  Wim Taymans  <wim@fluendo.com>
7242
7243         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
7244         use gst_object_has_ancestor().
7245
7246         * gst/gstobject.c: (gst_object_has_ancestor):
7247         * gst/gstobject.h:
7248         gst_object_has_ancestor() copied from gstbin.c as it is a
7249         usefull function.
7250
7251         * tests/instantiate/create.c: (create_all_elements):
7252         * tests/lat.c: (handoff_src), (handoff_sink):
7253         * tests/sched/runxml.c: (main):
7254         * tests/seeking/seeking1.c: (main):
7255         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
7256         (main):
7257         Fix compilation of some tests.
7258
7259 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
7260
7261         * gst/gsterror.h:
7262           Remove comment. GST_TYPE_G_ERROR is here to stay,
7263           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
7264           (#316961, #300610).
7265
7266 2005-09-26  Wim Taymans  <wim@fluendo.com>
7267
7268         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7269         Added check that shows error in state change order.
7270
7271 2005-09-26  Wim Taymans  <wim@fluendo.com>
7272
7273         * gst/gstbin.c: (gst_bin_change_state):
7274         Make state change function use 3 queues again, we were
7275         adding elements in the wrong order.
7276
7277         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
7278         Some debug info,
7279
7280         * gst/gstpad.c: (gst_pad_dispose):
7281         Added some debug info first.
7282
7283 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
7284
7285         * docs/design/draft-push-pull.txt:
7286         * docs/design/part-events.txt:
7287         * docs/design/part-overview.txt:
7288         * docs/design/part-scheduling.txt:
7289           Replace all _pull_region() with _pull_range()
7290           
7291 2005-09-26  Andy Wingo  <wingo@pobox.com>
7292
7293         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
7294
7295         * check/gst-libs/controller.c: Update for controller api change.
7296
7297         * configure.ac: 
7298         * tests/Makefile.am:
7299         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
7300         over by GLib bug 118439.
7301         
7302         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
7303         routines to a function.
7304
7305         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
7306
7307         * libs/gst/controller/gsthelper.c:
7308         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
7309         (gst_object_sync_values): Renamed from sink_values. Ugh.
7310
7311         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
7312
7313         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
7314         Renamed from controller_key, as it is exported.
7315
7316         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
7317
7318 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7319
7320         * gst/Makefile.am:
7321         * gst/gst.h:
7322         * gst/gstpad.h:
7323         * gst/gstpadtemplate.h:
7324         * gst/gstquery.c:
7325         * gst/gstquery.h:
7326         * gst/gstqueryutils.c:
7327         * gst/gstqueryutils.h:
7328           remove queryutils headers after moving the two used functions
7329           to gstquery.  also fixes build problem for gstsiddec
7330
7331 2005-09-26  Michael Smith <msmith@fluendo.com>
7332
7333         * tools/gst-launch.1.in:
7334         Correct documentation in manpage of debug syntax
7335
7336 2005-09-26  Wim Taymans  <wim@fluendo.com>
7337
7338         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
7339         (gst_base_src_is_seekable), (gst_base_src_change_state):
7340         Some more debugging info.
7341
7342 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
7343
7344         * docs/gst/gstreamer-sections.txt:
7345         * gst/base/gstbasetransform.h:
7346         * gst/gstindex.h:
7347           added more docs
7348
7349 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
7350
7351         * docs/gst/.cvsignore:
7352         * docs/gst/tmpl/.cvsignore:
7353         * docs/gst/tmpl/gstpipeline.sgml:
7354         * docs/gst/tmpl/gstplugin.sgml:
7355         * gst/gstpipeline.c:
7356         * gst/gstplugin.c:
7357         * gst/gstplugin.h:
7358           inlined the last two docs files
7359           removed the tmpl directory from cvs (no more conflicts here!)
7360
7361 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
7362
7363         * docs/gst/gstreamer-sections.txt:
7364         * docs/gst/tmpl/.cvsignore:
7365         * docs/gst/tmpl/gstpad.sgml:
7366         * docs/gst/tmpl/gstpadtemplate.sgml:
7367         * gst/Makefile.am:
7368         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
7369         (gst_pad_finalize), (gst_pad_set_pad_template):
7370         * gst/gstpad.h:
7371         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
7372         (gst_pad_template_class_init), (gst_pad_template_init),
7373         (gst_pad_template_dispose), (name_is_valid),
7374         (gst_static_pad_template_get), (gst_pad_template_new),
7375         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
7376         (gst_pad_template_pad_created):
7377         * gst/gstpadtemplate.h:
7378           inlined two more docs
7379           factored gstpadtemplate out of gstpad
7380
7381 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
7382
7383         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
7384         (test_children_state_change_order_semi_sink):
7385           Fix test case: we can't rely on a fixed state change order when
7386           going from READY => PAUSED because the sink might commit its 
7387           new state first when the first buffer created by the source 
7388           reaches the sink before the source has finished its change state.
7389           (Test case still fails at times, see #316856, comment 5 onwards)
7390
7391 2005-09-24  Wim Taymans  <wim@fluendo.com>
7392
7393         * docs/design/part-events.txt:
7394         * docs/design/part-gstbus.txt:
7395         * docs/design/part-gstpipeline.txt:
7396         * docs/design/part-messages.txt:
7397         * docs/design/part-overview.txt:
7398         * docs/design/part-segments.txt:
7399         * gst/gstbin.c:
7400         * gst/gstbuffer.c:
7401         * gst/gstclock.c:
7402         * gst/gstelement.c:
7403         * gst/gstevent.c:
7404         * gst/gstfilter.c:
7405         * gst/gstiterator.c:
7406         Various documentation updates.
7407
7408 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7409
7410         * gst/gstclock.h:
7411           Well, that's embarassing.  Luckily we weren't using
7412           GST_CLOCK_DIFF anywhere.
7413
7414 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7415
7416         * common/gtk-doc.mak:
7417           don't fail on building XML, FC4 slave shows a bunch of doc
7418           missing bits that I don't get
7419         * gst/gstpad.c:
7420         * gst/gstpipeline.c:
7421         * gst/gststructure.c:
7422           some doc updates
7423
7424 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
7425
7426         * docs/design/part-gstbin.txt:
7427         * docs/design/part-gstbus.txt:
7428         * gst/gstbus.c:
7429           Add blurb about how the bus goes into flushing mode and
7430           drops all messages when its bin goes from READY into NULL 
7431           state.
7432
7433 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7434
7435         * docs/gst/gstreamer-sections.txt:
7436         * gst/gststructure.c: (gst_structure_get_clock_time):
7437         * gst/gststructure.h:
7438           add a method to get a GstClockTime out of a structure
7439
7440 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
7441
7442         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
7443         (test_children_state_change_order_semi_sink), (gst_bin_suite):
7444           Added test to check state change order in bins (can still be made
7445           to fail here under heavy disk load; bails out with 'Push on pad
7446           fakesink:sink0, but it was not activated in push mode').
7447
7448         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
7449           Fix state change order when there is only a semi sink (#316856)
7450
7451         * gst/gstbus.c: (gst_bus_class_init):
7452           Use _class_peek_parent(), not _class_ref(); fix docs to say
7453           'default main context' instead of 'mainloop' where that is
7454           what's meant.
7455
7456         * gst/gstelement.c: (gst_element_commit_state),
7457         (gst_element_set_state):
7458           Fix typos in debug messages
7459
7460 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7461
7462         * docs/README:
7463         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
7464         * gst/gstpluginfeature.c:
7465         * gst/gstutils.c:
7466           various doc updates
7467         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7468           change an assert into an error until it gets fixed properly
7469
7470 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
7471
7472         * docs/gst/gstreamer-sections.txt:
7473         * docs/gst/tmpl/.cvsignore:
7474         * docs/gst/tmpl/gstelement.sgml:
7475         * docs/gst/tmpl/gstinfo.sgml:
7476         * docs/gst/tmpl/gstobject.sgml:
7477         * gst/gstelement.c:
7478         * gst/gstelement.h:
7479         * gst/gstinfo.c:
7480         * gst/gstinfo.h:
7481         * gst/gstobject.c: (gst_object_class_init):
7482         * gst/gstobject.h:
7483           inlined 3 more biiiig doc files and added some missing docs on the fly
7484
7485 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7486
7487         * check/gst/.cvsignore:
7488         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
7489         * gst/gstregistryxml.c: (load_plugin),
7490         (gst_registry_xml_save_plugin):
7491           put back source in registry.  add checks for find_plugin.
7492         * testsuite/states/bin.c: (assert_state), (empty_bin),
7493         (test_adding_one_element), (main):
7494         * testsuite/states/locked.c: (main):
7495           some compile/run fixes
7496
7497 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7498
7499         * check/gst/gstvalue.c: (GST_START_TEST):
7500           fix leaks in the test itself
7501
7502 2005-09-22  Wim Taymans  <wim@fluendo.com>
7503
7504         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7505         (gst_base_sink_send_event), (gst_base_sink_peer_query),
7506         (gst_base_sink_query):
7507         Prepare for more accurate position reporting and query
7508         handling.
7509
7510         * gst/gstelement.c: (gst_element_send_event),
7511         (gst_element_set_state):
7512         Add some comment.
7513
7514 2005-09-22  Wim Taymans  <wim@fluendo.com>
7515
7516         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
7517         (gst_query_parse_segment):
7518         * gst/gstquery.h:
7519         More documentation.
7520         Add segment query for future use.
7521
7522 2005-09-22  Wim Taymans  <wim@fluendo.com>
7523
7524         * gst/gstbin.c: (gst_bin_add_func):
7525         Some more debug info.
7526
7527         * gst/gstelement.c: (gst_element_send_event):
7528         Simplify send_event
7529
7530         * gst/gstelement.h:
7531         Don't know how flags got broken.
7532
7533         * gst/gstquery.h:
7534         Added new query.
7535
7536 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
7537
7538         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
7539           Add simplistic test suite for GST_TYPE_DATE serialisation and
7540           deserialisation.
7541
7542 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
7543
7544         * docs/gst/gstreamer-sections.txt:
7545         * gst/gststructure.c: (gst_structure_set_valist),
7546         (gst_structure_get_date):
7547         * gst/gststructure.h:
7548         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
7549         (gst_date_copy), (gst_value_compare_date),
7550         (gst_value_serialize_date), (gst_value_deserialize_date),
7551         (gst_value_transform_date_string),
7552         (gst_value_transform_string_date), (_gst_value_initialize):
7553         * gst/gstvalue.h:
7554           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
7555           bunch of utility functions along with a hack that checks that
7556           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
7557           is required. Part of the grand scheme in #170777.
7558
7559 2005-09-22  Andy Wingo  <wingo@pobox.com>
7560
7561         * gst/gstconfig.h.in: Psych out gtk-doc.
7562
7563         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
7564
7565         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
7566
7567         * tools/gst-inspect.c (print_element_list): Plug some
7568         inconsequential leaks.
7569
7570         * gst/gstregistry.c (gst_registry_get_default): Doc.
7571
7572         * check/gst/gstplugin.c: 
7573         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
7574         * gst/gstelementfactory.c (gst_element_factory_create): 
7575         * gst/gstindexfactory.c (gst_index_factory_create): Update for
7576         refcount changes.
7577
7578         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
7579         (gst_plugin_feature_load): Doc, don't eat refs.
7580
7581         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
7582         (gst_plugin_list_free): Doc.
7583         (gst_plugin_load_file): Doc updates.
7584
7585         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
7586         accessors returning refcounted objects, return a ref.
7587
7588         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
7589         accessor for caps. IDEMPOTENCE. Oh yes.
7590
7591 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
7592
7593         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7594
7595         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7596         (_gst_debug_register_funcptr):
7597           Add mutex to serialise access to the hash table with
7598           the function pointer => function name string mapping;
7599           make that hash table static scope (#316809).
7600
7601         * gst/registries/.cvsignore:
7602           Remove left-over file.
7603
7604 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
7605
7606         * docs/pwg/appendix-porting.xml:
7607           And something about newsegment events and caps-on-buffers to
7608           the porting guide (feel free to improve).
7609
7610 2005-09-21  Andy Wingo  <wingo@pobox.com>
7611
7612         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
7613         data and event probes on the same pad.
7614         (test_buffer_probe_once): Test that removing probes from within
7615         the probe functions works.
7616
7617 2005-09-21  Andy Wingo  <wingo@pobox.com>
7618
7619         * check/gst/gstutils.c: New file.
7620         (test_buffer_probe_n_times): A simple buffer probe test. More to
7621         come, foolios.
7622
7623         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
7624         have-data::buffer, not have-data.
7625         (gst_pad_add_event_probe): Likewise for have-data::event.
7626         (gst_pad_add_data_probe): More docs. The part about 'resolving the
7627         peer' isn't quite right yet though.
7628         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
7629         (gst_pad_remove_data_probe): Change to take the guint handler_id
7630         as their arg, not the function+data, which is more glib-like.
7631
7632         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
7633         the signal emission to indicate if the data is a buffer or an
7634         event.
7635         (gst_pad_get_type): Initialize buffer and event quarks.
7636         (gst_pad_class_init): have-data is now a detailed signal, yes it
7637         is.
7638
7639 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
7640
7641         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7642         * gst/gstutils.c: (gst_util_set_value_from_string),
7643         (gst_util_set_object_arg):
7644           Don't put functional code in g_return_if_fail() or
7645           g_return_val_if_fail() statements, otherwise things will 
7646           break when G_DISABLE_CHECKS is defined during compilation.
7647
7648 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7649
7650         * docs/gst/tmpl/.cvsignore:
7651         * docs/gst/tmpl/gstvalue.sgml:
7652         * gst/gstvalue.c:
7653         * gst/gstvalue.h:
7654           inlied another one and added  some obvious docs
7655
7656 2005-09-21  Wim Taymans  <wim@fluendo.com>
7657
7658         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
7659         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
7660         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
7661         (gst_fdsrc_get_property), (gst_fdsrc_create):
7662         * gst/elements/gstfdsrc.h:
7663         Properly implement fdsrc. Removed signal and timeout,
7664         better implemented somewhere else.
7665
7666 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7667
7668         * docs/gst/tmpl/.cvsignore:
7669         * docs/gst/tmpl/gstimplementsinterface.sgml:
7670         * gst/gstinterface.c:
7671           inlined more docs
7672
7673 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7674
7675         * docs/gst/gstreamer-sections.txt:
7676         * docs/gst/tmpl/.cvsignore:
7677         * docs/gst/tmpl/gstenumtypes.sgml:
7678           remove obsolete doc file
7679
7680 2005-09-21  David Schleef  <ds@schleef.org>
7681
7682         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
7683         little beer, fix a little leak.
7684
7685 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7686
7687         * docs/gst/gstreamer-docs.sgml:
7688         * docs/gst/gstreamer-sections.txt:
7689         * docs/gst/tmpl/.cvsignore:
7690         * gst/Makefile.am:
7691         * gst/gst.h:
7692         * gst/gstbin.c:
7693         * gst/gstelement.h:
7694         * gst/gstindex.c: (gst_index_class_init):
7695         * gst/gstindex.h:
7696         * gst/gstindexfactory.c: (gst_index_factory_get_type),
7697         (gst_index_factory_class_init), (gst_index_factory_init),
7698         (gst_index_factory_finalize), (gst_index_factory_new),
7699         (gst_index_factory_destroy), (gst_index_factory_find),
7700         (gst_index_factory_create), (gst_index_factory_make):
7701         * gst/gstindexfactory.h:
7702         * gst/gstpluginfeature.c:
7703         * gst/gstpluginfeature.h:
7704         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7705           more docs inlined, splitted gstindex.{c,h}
7706
7707 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7708
7709         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7710           fix a leak
7711
7712 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
7713
7714         * gst/elements/gstfilesink.c: (gst_file_sink_init):
7715           Set sync to FALSE by default.
7716
7717 2005-09-20  Wim Taymans  <wim@fluendo.com>
7718
7719         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7720         (gst_base_sink_init):
7721         Make sync property settable from subclass.
7722
7723         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7724         (gst_fake_sink_change_state):
7725         Set sync to FALSE by default.
7726
7727 2005-09-20  Wim Taymans  <wim@fluendo.com>
7728
7729         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
7730         * tools/gst-launch.c: (main):
7731         The timeout handler should have lower priority than the source
7732         so we don't timeout before popping a message with 0 timeout.
7733         Dump error messages after failed state change.
7734
7735 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
7736
7737         * tools/gst-inspect.c: (print_element_properties_info):
7738           Fix two typos.
7739
7740 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7741
7742         * check/gst/gstevent.c:
7743         * gst/elements/gstfakesink.c:
7744         * gst/elements/gstfakesink.h:
7745           remove the sync property from fakesink.
7746           has the side effect of setting sync TRUE
7747           for fakesink, which is a change.  Anyone who knows how
7748           to fix this nicely in a GObject-y way, feel free.
7749
7750 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7751
7752         * docs/gst/gstreamer-docs.sgml:
7753           remove probe refsection
7754
7755 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7756
7757         * check/Makefile.am:
7758           disable valgrinding the controller test again
7759         * docs/gst/gstreamer-sections.txt:
7760           update for api-changes
7761
7762 2005-09-20  Wim Taymans  <wim@fluendo.com>
7763
7764         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7765         (gst_base_sink_set_property), (gst_base_sink_get_property),
7766         (gst_base_sink_do_sync):
7767         * gst/base/gstbasesink.h:
7768         Added sync property to basesink to disable clock sync.
7769
7770 2005-09-20  Andy Wingo  <wingo@pobox.com>
7771
7772         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
7773         eating the caller's refcount.
7774
7775         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
7776         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
7777         refcount.
7778
7779         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
7780         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
7781         of GLib 2.8 public, so we can know which refcount to check in
7782         tests.
7783
7784         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
7785         (gst_object_init): Only set the gst refcount if we're going ahead
7786         with the refcount hack.
7787
7788 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7789
7790         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
7791         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7792           more leaks plumbed, added more debug-logging
7793         * gst/gstmacros.h:
7794           whitespace fix
7795
7796 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7797
7798         * gst/gstmessage.c:
7799           remove include of gstmemchunk.h
7800
7801 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7802
7803         * gst/gstclock.c: (_gst_clock_id_free):
7804           Commit from the Political Party For More Atomic CVS Commits,
7805           so that people don't waste too much of their day fishing
7806           out obvious leaks out of massive commits.
7807           Oh, and fix a pretty damn obvious leak in the memchunk
7808           removal code.
7809
7810 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7811
7812         * check/Makefile.am:
7813         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
7814           plug mem-leak, re-add to valgrindable tests
7815
7816 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7817
7818         * gst/gstplugin.h:
7819           unbreak the build for those who have chronic arthritis
7820           and typing "make check" is just too taxing on the hands
7821
7822 2005-09-20  Andy Wingo  <wingo@pobox.com>
7823
7824         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
7825         really want it out, you should fix plugins at the same time.
7826
7827 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
7828
7829         * configure.ac:
7830         * docs/gst/gstreamer-sections.txt:
7831         * gst/gstobject.c:
7832           added missing symbols to api docs
7833           disable ref-count hack if we have glib >= 2.8
7834
7835 2005-09-19  David Schleef  <ds@schleef.org>
7836
7837         * docs/gst/Makefile.am: Ignore a few more internal headers
7838         * docs/gst/gstreamer-docs.sgml: Remove old sections
7839         * docs/gst/gstreamer-sections.txt: Remove old sections
7840         * docs/gst/tmpl/gstobject.sgml: update
7841         * docs/gst/tmpl/gstplugin.sgml: update
7842         * docs/gst/tmpl/gstpluginfeature.sgml: update
7843         * docs/random/ds/0.9-suggested-changes: update.
7844         * gst/Makefile.am: remove memchunk and trashstack, since they're
7845           not used.
7846         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
7847         * gst/gst.h: don't include some headers
7848         * gst/gstchildproxy.c: add gstmarshal.h
7849         * gst/gstclock.c: Don't use memchunks
7850         * gst/gstminiobject.c: Add some docs
7851         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
7852         * gst/gstobject.h: same
7853         * gst/gstplugin.c: include gstmacros.h
7854         * gst/gstplugin.h: don't include gstmacros.h, since it's private
7855         * gst/gstquery.c: don't use memchunks
7856         * gst/gstregistry.c: rename gst_registry_deinit()
7857         * gst/gstregistry.h: same
7858
7859 2005-09-19  David Schleef  <ds@schleef.org>
7860
7861         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
7862         * docs/libs/gstreamer-libs-sections.txt:
7863         * docs/libs/tmpl/gstgetbits.sgml:
7864         * docs/libs/tmpl/gstputbits.sgml:
7865
7866 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
7867
7868         * win32/gstenumtypes.c:
7869         * win32/gstenumtypes.h:
7870           Update.
7871
7872 2005-09-19  Wim Taymans  <wim@fluendo.com>
7873
7874         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
7875         Automatically PAUSE and RESUME a pipeline when a flushing seek
7876         is performed.
7877
7878 2005-09-19  Andy Wingo  <wingo@pobox.com>
7879
7880         * gst/gstregistry.h: Spacing fixen.
7881
7882 2005-09-19  Wim Taymans  <wim@fluendo.com>
7883
7884         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
7885         Handle state change failure more correctly.
7886
7887 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7888
7889         * check/Makefile.am:
7890         * check/pipelines/cleanup.c: (run_pipeline):
7891         * check/pipelines/simple_launch_lines.c: (run_pipeline),
7892         (GST_START_TEST):
7893           enable cleanup again after fixing the leak
7894         * docs/README:
7895           some more info on docs
7896
7897 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7898
7899         * check/Makefile.am:
7900           re-enable tests now that leaks are plugged
7901         * check/gst/gst.c:
7902         * check/gst/gstbin.c:
7903         * check/gst/gstpipeline.c:
7904           add some more tests while fixing leaks
7905         * common/check.mak:
7906           make sure binaries are uptodate when valgrinding/gdbing
7907         * gst/gst.c:
7908         * gst/gstelementfactory.c:
7909           remove a ref too many, and add a FIXME for when we get
7910           round to disposing of classes
7911         * gst/gstplugin.c:
7912           fix the refcounting when loading a plugin from a file and
7913           the code pretends that the pointer is the same even though
7914           of course it can change
7915         * gst/gstpluginfeature.c:
7916           unref plugins marked cached (a bit confusing as a name)
7917           as the docs state should be done
7918           various doc additions to explain refcounting
7919         * gst/gstregistry.c:
7920         * gst/gstregistryxml.c:
7921           debugging
7922
7923 2005-09-19  Wim Taymans  <wim@fluendo.com>
7924
7925         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
7926         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
7927         (send_messages), (GST_START_TEST), (gstbus_suite):
7928         * check/gst/gstpipeline.c: (GST_START_TEST):
7929         * check/pipelines/cleanup.c: (run_pipeline):
7930         * check/pipelines/simple_launch_lines.c: (run_pipeline),
7931         (GST_START_TEST):
7932         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
7933         (gst_bus_source_check), (gst_bus_source_dispatch),
7934         (gst_bus_create_watch), (gst_bus_add_watch_full),
7935         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
7936         * gst/gstbus.h:
7937         * tools/gst-launch.c: (event_loop):
7938         * tools/gst-md5sum.c: (event_loop):
7939         GstBusHandler -> GstBusFunc, return value has the same meaning as
7940         any other GSource (FALSE == remove source).
7941         _add_watch() and _add_watch_full() now take a MessageType mask to
7942         only handle specific types of messages.
7943         _poll() returns the GstMessage instead of the message type to avoid
7944         race conditions.
7945         _have_pending() takes a MessageType mask now too.
7946         Added testsuite for multiple bus watches.
7947         Fix testsuites and applications for new bus API.
7948
7949 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7950
7951         * check/Makefile.am:
7952           mark a bunch of the tests as to fix until we fix them
7953
7954 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7955
7956         * common/check.mak:
7957           use GST_PLUGIN settings for valgrind tests as well, so we're
7958           valgrinding the correct thing
7959         * gst/gst.c: (init_post):
7960           plug another leak
7961
7962 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7963
7964         * gst/gst.c: (init_post), (gst_deinit):
7965         * gst/gstelementfactory.c: (gst_element_factory_class_init),
7966         (gst_element_factory_finalize), (gst_element_factory_cleanup):
7967         * gst/gstindex.c: (gst_index_factory_class_init),
7968         (gst_index_factory_finalize):
7969         * gst/gstobject.c: (gst_object_dispose):
7970         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
7971         (gst_plugin_load_file), (gst_plugin_desc_free):
7972         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
7973         (gst_plugin_feature_finalize):
7974         * gst/gstregistry.c: (gst_registry_class_init),
7975         (gst_registry_init), (gst_registry_finalize),
7976         (gst_registry_get_default), (gst_registry_deinit):
7977         * gst/gstregistry.h:
7978         * gst/gstregistryxml.c: (load_feature), (load_plugin):
7979           various cleanups and memleak plugging.  make valgrind is happy now.
7980
7981 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
7982
7983         * common/check.mak:
7984           add a check-valgrind target
7985
7986 2005-09-18  David Schleef  <ds@schleef.org>
7987
7988         * tools/gst-inspect.c: Revert the GOption code.
7989
7990 2005-09-17  David Schleef  <ds@schleef.org>
7991
7992         * check/Makefile.am: Fix environment variables.
7993         * check/gst/gstplugin.c: Fix for API changes.
7994         * tools/gst-inspect.c: Fix for API changes.
7995         * tools/gst-xmlinspect.c: Fix for API changes.
7996         * gst/gstelementfactory.c:
7997         * gst/gstplugin.c:
7998         * gst/gstplugin.h:
7999         * gst/gstpluginfeature.c:
8000         * gst/gstpluginfeature.h:
8001         * gst/gstregistry.c:
8002         * gst/gstregistry.h:
8003         * gst/gstregistryxml.c:
8004         * gst/gsttypefind.c:
8005         * gst/gsttypefindfactory.c:
8006         * gst/indexers/gstfileindex.c:
8007         * gst/indexers/gstmemindex.c:
8008         * gst/schedulers/Makefile.am:
8009           Change registry to keep track of both plugins and features,
8010           removing the feature tracking from plugins themselves.
8011
8012 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8013
8014         * check/Makefile.am:
8015         * tools/gst-register.1.in:
8016           remove gst-register
8017
8018 2005-09-15  David Schleef  <ds@schleef.org>
8019
8020         * check/gst/gstplugin.c:
8021         * gst/gstelementfactory.c:
8022         * gst/gstplugin.c:
8023         * gst/gstpluginfeature.c:
8024         * gst/gstregistry.c:
8025           Getting tired of debugging.  Disabled all the unreffing of
8026           plugins and features, which fixes the segfaults, but of
8027           course leaks like crazy.  At least playbin works.
8028
8029 2005-09-15  David Schleef  <ds@schleef.org>
8030
8031         * check/gst/gstplugin.c: (register_check_elements),
8032         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
8033         More testing
8034         * gst/elements/gsttypefindelement.c: Fix refcounting.
8035         * gst/gsttypefind.c:
8036         * gst/gsttypefindfactory.c:
8037         * gst/gsttypefindfactory.h:
8038
8039 2005-09-15  David Schleef  <ds@schleef.org>
8040
8041         * gst/gstindex.c: get refcounting correct.
8042         * gst/gstregistry.c: Handle the case where a feature/plugin is
8043           not found.
8044
8045 2005-09-15  David Schleef  <ds@schleef.org>
8046
8047         * check/Makefile.am:
8048         * check/gst/gstplugin.c: Add test
8049         * gst/gstplugin.c: Fix problems noticed by testsuite
8050         * gst/gstplugin.h:
8051         * gst/gstregistry.c: 
8052         * gst/gstregistry.h:
8053
8054 2005-09-15  David Schleef  <ds@schleef.org>
8055
8056         * gst/gstplugin.c: Implement semi-decent recounting and locking
8057           in plugins and plugin features.
8058         * gst/gstplugin.h:
8059         * gst/gstpluginfeature.c:
8060         * gst/gstpluginfeature.h:
8061         * gst/gstregistry.c:
8062
8063 2005-09-15  Michael Smith <msmith@fluendo.com>
8064
8065         * gst/gstregistry.c: (gst_registry_get_feature_list):
8066           Implement this. Makes oggdemux work; decodebin still broken.
8067
8068 2005-09-14  David Schleef  <ds@schleef.org>
8069
8070         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
8071           #316076)
8072         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
8073         * gst/check/Makefile.am:
8074         * libs/gst/controller/Makefile.am:
8075         * libs/gst/dataprotocol/Makefile.am:
8076
8077 2005-09-14  David Schleef  <ds@schleef.org>
8078
8079         * configure.ac: Remove getbits library.  Nothing uses it, and
8080           it should be in something like liboil if someone did want
8081           to use it.
8082         * libs/gst/Makefile.am:
8083         * libs/gst/getbits/Makefile.am:
8084         * libs/gst/getbits/gbtest.c:
8085         * libs/gst/getbits/getbits.c:
8086         * libs/gst/getbits/getbits.h:
8087         * libs/gst/getbits/gstgetbits_generic.c:
8088         * libs/gst/getbits/gstgetbits_i386.s:
8089         * libs/gst/getbits/gstgetbits_inl.h:
8090
8091 2005-09-14  David Schleef  <ds@schleef.org>
8092
8093         * gst/Makefile.am: Dist glib-compat.h
8094
8095 2005-09-14  David Schleef  <ds@schleef.org>
8096
8097         * configure.ac: Remove gst/registries, since it's no longer used.
8098         * gst/registries/Makefile.am:
8099         * gst/registries/gstlibxmlregistry.c:
8100         * gst/registries/gstlibxmlregistry.h:
8101         * gst/registries/gstxmlregistry.c:
8102         * gst/registries/gstxmlregistry.h:
8103         * gst/registries/registrytest.c:
8104
8105 2005-09-14  David Schleef  <ds@schleef.org>
8106
8107         * gst/glib-compat.h:
8108         * gst/gstregistryxml.c:
8109           Convergence is near.  Seriously.
8110
8111 2005-09-14  David Schleef  <ds@schleef.org>
8112
8113         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8114         * gst/glib-compat.h:
8115           Attempt #4 to appease the buildbots.
8116
8117 2005-09-14  David Schleef  <ds@schleef.org>
8118
8119         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8120           Attempt #3.
8121
8122 2005-09-14  David Schleef  <ds@schleef.org>
8123
8124         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8125         Attempt #2.
8126
8127 2005-09-14  David Schleef  <ds@schleef.org>
8128
8129         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
8130           the new functions.
8131
8132 2005-09-14  David Schleef  <ds@schleef.org>
8133
8134         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8135         * gst/glib-compat.h: Add some functions that are in newer versions
8136           of glib than we care to require.
8137         * gst/gstregistryxml.c: Use them.
8138
8139 2005-09-14  David Schleef  <ds@schleef.org>
8140
8141         * po/POTFILES.in: remove gst-register.c
8142
8143 2005-09-14  David Schleef  <ds@schleef.org>
8144
8145         * docs/gst/gstreamer-docs.sgml:
8146         * docs/gst/gstreamer-sections.txt:
8147         * docs/gst/gstreamer.types:
8148         * docs/gst/tmpl/gstelement.sgml:
8149         * docs/gst/tmpl/gstplugin.sgml:
8150         * docs/gst/tmpl/gstpluginfeature.sgml:
8151           Documentation updates for registry changes.
8152
8153 2005-09-14  David Schleef  <ds@schleef.org>
8154
8155         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
8156           because we don't require glib-2.8.
8157
8158 2005-09-14  David Schleef  <ds@schleef.org>
8159
8160         * gst/gstregistryxml.c: Added.  Essentially moved out of the
8161           registries directory.
8162
8163 2005-09-14  David Schleef  <ds@schleef.org>
8164
8165         * check/Makefile.am:
8166         * check/generic/states.c:
8167         * gst/Makefile.am:
8168         * gst/gst.c:
8169         * gst/gst.h:
8170         * gst/gst_private.h:
8171         * gst/gstelementfactory.c:
8172         * gst/gstindex.c:
8173         * gst/gstinfo.c:
8174         * gst/gstplugin.c:
8175         * gst/gstplugin.h:
8176         * gst/gstpluginfeature.c:
8177         * gst/gstpluginfeature.h:
8178         * gst/gstregistry.c:
8179         * gst/gstregistry.h:
8180         * gst/gstregistrypool.c: remove
8181         * gst/gstregistrypool.h: remove
8182         * gst/gsttypefind.c:
8183         * gst/gsttypefindfactory.c:
8184         * gst/gsturi.c:
8185         * tools/Makefile.am:
8186         * tools/gst-compprep.c:
8187         * tools/gst-inspect.c:
8188         * tools/gst-register.c: remove
8189         * tools/gst-xmlinspect.c:
8190           Registry rewrite.  Changes registry from being a file created
8191           by a tool into a simple cache file created automatically by 
8192           libgstreamer.  Removed gst-register (because it's no longer
8193           needed).  Remove registry pools, because we only have one
8194           registry implementation (XML).  Fix up other subsystems as
8195           necessary.
8196
8197 2005-09-13  Michael Smith <msmith@fluendo.com>
8198
8199         * gst/gstconfig.h.in:
8200           Don't Use windows linking attributes for MinGW. Fixes #316157
8201
8202 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8203
8204         * gst/gstutils.c: (set_state_async_thread_func),
8205         (gst_element_set_state_async):
8206           Apparently people think it's better if this function doesn't
8207           try to set the state to whatever state was asked for on the first
8208           call to this function for any object.  Seriously.
8209
8210 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8211
8212         * check/gst/gstpipeline.c: (GST_START_TEST):
8213         * docs/gst/gstreamer-sections.txt:
8214         * gst/gstutils.c: (set_state_async_thread_func),
8215         (gst_element_set_state_async):
8216         * gst/gstutils.h:
8217           add a "gst_element_set_state_async" method that
8218           sets the state and starts a thread to make sure the state
8219           change completes as best as it can
8220
8221 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8222
8223         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
8224           codify design+behaviour in testsuite after discussion
8225
8226 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8227
8228         * docs/gst/tmpl/gstelement.sgml:
8229         * docs/manual/appendix-quotes.xml:
8230           add a quote
8231         * gst/gstelement.c: (gst_element_set_state):
8232           add some debug
8233
8234 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
8235
8236         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8237         (gst_base_transform_prepare_output_buf),
8238         (gst_base_transform_handle_buffer):
8239         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
8240         (gst_capsfilter_prepare_buf):
8241           Remove the requirement for sub-classes to call the parent
8242           implementation of prepare_output_buffer with a wrapper function.
8243           
8244         * gst/gsttaglist.h:
8245         * gst/gsttagsetter.h:
8246           Fix #define wrapper
8247
8248 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
8249
8250         * docs/gst/gstreamer-sections.txt:
8251           more doc cleanups
8252
8253 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8254
8255         * docs/gst/gstreamer-sections.txt:
8256         * docs/gst/tmpl/gstelement.sgml:
8257         * docs/gst/tmpl/gstplugin.sgml:
8258         * gst/gstminiobject.c:
8259         * gst/gstvalue.h:
8260           docs now stop throwing warnings
8261
8262 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8263
8264         * docs/gst/gstreamer-sections.txt:
8265         * docs/gst/gstreamer.types:
8266         * docs/gst/tmpl/gstpad.sgml:
8267         * docs/gst/tmpl/gsttypes.sgml:
8268         * gst/base/gstadapter.h:
8269         * gst/base/gstbasesink.h:
8270         * gst/base/gstbasesrc.h:
8271         * gst/gstbin.h:
8272         * gst/gstbuffer.h:
8273         * gst/gstbus.h:
8274         * gst/gstcaps.h:
8275         * gst/gstclock.h:
8276         * gst/gstelement.h:
8277         * gst/gstevent.h:
8278         * gst/gstmessage.h:
8279         * gst/gstpad.h:
8280         * gst/gststructure.c:
8281         * gst/registries/gstlibxmlregistry.h:
8282           various documentation fixes
8283
8284 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8285
8286         * docs/gst/gstreamer-sections.txt:
8287         * docs/gst/tmpl/gstvalue.sgml:
8288           rearrange gstvalue section
8289         * gst/gstutils.c: (gst_element_state_get_name):
8290           NONE -> VOID
8291         * gst/gstvalue.c: (_gst_value_initialize):
8292         * gst/gstvalue.h:
8293           doc updates
8294
8295 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
8296
8297         * check/gst-libs/controller.c:
8298           Header include fix.
8299         * gst/base/gstbasetransform.c:
8300         (gst_base_transform_default_prepare_buf),
8301         (gst_base_transform_handle_buffer):
8302         * gst/base/gstbasetransform.h:
8303           Some more basetransform changes and fixes to enable sub-classes
8304           that modify buffer metadata only.
8305         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
8306         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
8307         (gst_capsfilter_prepare_buf):
8308           If the output pad has fixed allowed caps and input buffers 
8309           don't have any, set the fixed caps on outgoing buffers.
8310
8311 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
8312         * check/elements/identity.c: (GST_START_TEST):
8313           Make the error a little clearer when the test fails because
8314           identity made a copy of the buffer.
8315         * docs/gst/gstreamer-sections.txt:
8316           New symbols in gstbasetransform.h
8317         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8318         (gst_base_transform_init), (gst_base_transform_transform_size),
8319         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8320         (gst_base_transform_default_prepare_buf),
8321         (gst_base_transform_get_unit_size),
8322         (gst_base_transform_buffer_alloc),
8323         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
8324         (gst_base_transform_change_state),
8325         (gst_base_transform_set_passthrough),
8326         (gst_base_transform_set_in_place),
8327         (gst_base_transform_is_in_place):
8328         * gst/base/gstbasetransform.h:
8329           Change BaseTransform to separate in_place operate from same_caps
8330           output. in_place implies that the element can perform the transform
8331           on incoming buffers in-place, even if the caps on the output are
8332           different.
8333           Sub-class elements can now implement special buffer allocation
8334           methods for outgoing buffers if they wish to.
8335           Big documentation addition.
8336         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
8337         * gst/elements/gstelements.c:
8338           Changes for basetransform modifications.
8339         * gst/elements/Makefile.am:
8340         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
8341           Compile fix. Extra debug output.
8342
8343 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8344
8345         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
8346         (gst_pad_suite):
8347           add tests for valid pad naming
8348         * gst/check/gstcheck.c: (gst_check_log_message_func),
8349         (gst_check_log_critical_func):
8350           add ASSERT_WARNING
8351           remove printing of code, it is fragile when the code contains
8352           % and the line number is enough info
8353         * gst/check/gstcheck.h:
8354         * gst/gstpad.c: (gst_pad_template_new):
8355           fix memleaks
8356
8357 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8358
8359         * configure.ac:
8360           say what CHECK flags we use
8361         * docs/libs/gstreamer-libs.types:
8362         * libs/gst/controller/Makefile.am:
8363         * libs/gst/controller/gst-controller.c:
8364         * libs/gst/controller/gst-controller.h:
8365         * libs/gst/controller/gst-helper.c:
8366         * libs/gst/controller/gst-interpolation.c:
8367         * libs/gst/controller/gstcontroller.c:
8368         * libs/gst/controller/gsthelper.c:
8369         * libs/gst/controller/gstinterpolation.c:
8370         * tools/gst-inspect.c: (print_plugin_info):
8371           we don't use dashes in header names
8372
8373 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8374
8375         * check/Makefile.am:
8376         * check/gst/.cvsignore:
8377         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
8378         (gst_pipeline_suite), (main):
8379           adding a test for pipelines and state changes
8380         * gst/gstutils.c: (get_state_func):
8381           add some debugging
8382         * gstreamer.spec.in:
8383           fix up spec file
8384
8385 2005-09-08  Michael Smith <msmith@fluendo.com>
8386
8387         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
8388         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
8389         (gst_file_src_is_seekable), (gst_file_src_get_size),
8390         (gst_file_src_start):
8391         * gst/elements/gstfilesrc.h:
8392           Various fixes for unseekable, unmmapable, and non-normal files, so
8393           that fallback to read() rather than mmap() works.
8394         * gst/gstevent.c: (gst_event_new_newsegment):
8395           Allow newsegment events with segment_start == segment_end, as will
8396           correctly happen if you use filesrc on a zero-size file, for
8397           example.
8398
8399 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
8400
8401         * gst/gstplugin.c: (gst_plugin_load_file):
8402           Call g_module_close when we don't load the module
8403
8404         * gst/registries/gstlibxmlregistry.c:
8405         (gst_xml_registry_get_property):
8406           Port leak fix from 0.8
8407
8408 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8409
8410         * docs/gst/gstreamer-docs.sgml:
8411         * docs/gst/tmpl/.cvsignore:
8412         * docs/gst/tmpl/gsttrace.sgml:
8413         * docs/gst/tmpl/gsttrashstack.sgml:
8414         * gst/Makefile.am:
8415         * gst/gst.h:
8416         * gst/gstelement.h:
8417         * gst/gstevent.h:
8418         * gst/gstmessage.c:
8419         * gst/gstmessage.h:
8420         * gst/gsttag.c:
8421         * gst/gsttag.h:
8422         * gst/gsttaginterface.c:
8423         * gst/gsttaginterface.h:
8424         * gst/gsttaglist.c:
8425         * gst/gsttaglist.h:
8426         * gst/gsttagsetter.c:
8427         * gst/gsttagsetter.h:
8428         * gst/gsttrace.c:
8429         * gst/gsttrace.h:
8430         * gst/gsttrashstack.c:
8431           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
8432           inlined docs for gsttrace, gsttrashstack
8433
8434 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8435
8436         * gst/Makefile.am:
8437         * gst/elements/gstbufferstore.h:
8438         * gst/elements/gsttypefindelement.c:
8439         * gst/elements/gsttypefindelement.h:
8440         * gst/gst.h:
8441         * gst/gsttypefind.c:
8442         * gst/gsttypefind.h:
8443         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
8444         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
8445         (gst_type_find_factory_dispose),
8446         (gst_type_find_factory_unload_thyself),
8447         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
8448         (gst_type_find_factory_get_caps),
8449         (gst_type_find_factory_get_extensions),
8450         (gst_type_find_factory_call_function):
8451         * gst/gsttypefindfactory.h:
8452         * gst/registries/gstlibxmlregistry.c:
8453         * gst/registries/gstxmlregistry.c:
8454           splitted gsttypefind into gsttypefind, gsttypefindfactory
8455
8456 2005-09-07  Andy Wingo  <wingo@pobox.com>
8457
8458         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
8459         condition whereby the pad's task function is entered before the
8460         pad_mode variable was set.
8461
8462 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
8463
8464         * gst/gstpad.c: (gst_pad_alloc_buffer):
8465           Catch misbehaving pad_alloc functions that don't
8466           set up caps and do it for them.
8467
8468 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8469
8470         * check/pipelines/simple_launch_lines.c: (run_pipeline):
8471           test for pipe!=NULL
8472         * docs/gst/tmpl/.cvsignore:
8473         * docs/gst/tmpl/gstmemchunk.sgml:
8474         * docs/gst/tmpl/gstparse.sgml:
8475         * docs/gst/tmpl/gsttaglist.sgml:
8476         * docs/gst/tmpl/gsttagsetter.sgml:
8477         * docs/gst/tmpl/gsttypefind.sgml:
8478         * docs/gst/tmpl/gsttypefindfactory.sgml:
8479         * gst/gstmemchunk.c:
8480         * gst/gstparse.c:
8481         * gst/gsttag.c:
8482         * gst/gsttaginterface.c:
8483         * gst/gsttypefind.c:
8484         * gst/gsttypefind.h:
8485           inlined more docs
8486
8487 === release 0.9.2 ===
8488
8489 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8490
8491         * NEWS:
8492         * RELEASE:
8493         * configure.ac:
8494           releasing 0.9.2, "South"
8495
8496 2005-09-05  Andy Wingo  <wingo@pobox.com>
8497
8498         * gst/registries/gstxmlregistry.h:
8499         * gst/registries/gstxmlregistry.c: Um... resurrect...
8500         
8501         * gst/registries/gstxmlregistry.h:
8502         * gst/registries/gstxmlregistry.c: and update to newer API.
8503         Incidentally they should be a bit faster now that they don't have
8504         to parse the caps.
8505         
8506 2005-09-05  Andy Wingo  <wingo@pobox.com>
8507
8508         * gst/registries/gstxmlregistry.h:
8509         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
8510         replaced by the libxml registry a while back
8511
8512 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8513
8514         * docs/gst/tmpl/gstplugin.sgml:
8515         * gst/elements/gstelements.c:
8516         * gst/gst.c:
8517         * gst/gstplugin.c: (gst_plugin_register_func),
8518         (gst_plugin_desc_copy), (gst_plugin_desc_free),
8519         (gst_plugin_get_source):
8520         * gst/gstplugin.h:
8521         * gst/registries/gstlibxmlregistry.c: (load_plugin),
8522         (gst_xml_registry_save_plugin):
8523         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
8524         (gst_xml_registry_save_plugin):
8525         * tools/gst-inspect.c: (print_plugin_info):
8526           add a "source" plugin description field, to represent the source
8527           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
8528           will set it to PACKAGE, which is automake's idea of the name of
8529           the source project.
8530
8531 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8532
8533         * Makefile.am:
8534         * autogen.sh:
8535         * configure.ac:
8536         * docs/Makefile.am:
8537         * docs/faq/Makefile.am:
8538         * docs/gst/tmpl/gstelement.sgml:
8539         * docs/gst/tmpl/gsttypes.sgml:
8540         * docs/htmlinstall.mak:
8541         * docs/manual/Makefile.am:
8542         * docs/pwg/Makefile.am:
8543           reorganize doc build a little
8544           split out docbook and gtk-doc stuff
8545           have two separate --enable's and enable them through autogen
8546           but disable by default in configure (to be similar to other
8547           projects)
8548         * gstreamer.spec.in:
8549           clean up docs install
8550         * po/af.po:
8551         * po/az.po:
8552         * po/ca.po:
8553         * po/cs.po:
8554         * po/de.po:
8555         * po/en_GB.po:
8556         * po/fr.po:
8557         * po/it.po:
8558         * po/nb.po:
8559         * po/nl.po:
8560         * po/ru.po:
8561         * po/sq.po:
8562         * po/sr.po:
8563         * po/sv.po:
8564         * po/tr.po:
8565         * po/uk.po:
8566         * po/vi.po:
8567           translation updates
8568
8569 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
8570
8571         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
8572           Add comment.
8573           
8574         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
8575         (gst_fake_sink_change_state):
8576           Make state change function thread-safe.
8577           
8578         * gst/gstpad.c: (gst_pad_alloc_buffer):
8579           Set offset on generic buffer allocated by fallback.
8580
8581 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
8582
8583         * docs/gst/gstreamer-sections.txt:
8584         * docs/gst/tmpl/gstelement.sgml:
8585         * gst/gstpad.c:
8586         * libs/gst/controller/gst-controller.c:
8587         (gst_controlled_property_set_interpolation_mode),
8588         (gst_controlled_property_new),
8589         (gst_controller_find_controlled_property):
8590          run the wingo-magic script against the docs
8591
8592 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
8593
8594         * docs/gst/gstreamer-docs.sgml:
8595         * docs/gst/gstreamer-sections.txt:
8596         * docs/gst/tmpl/.cvsignore:
8597         * docs/gst/tmpl/gstelementdetails.sgml:
8598         * docs/gst/tmpl/gstelementfactory.sgml:
8599         * gst/gst.c:
8600         * gst/gstbus.c:
8601         * gst/gstelementfactory.c:
8602         * gst/gstelementfactory.h:
8603           merged elementdetails docs into elementfactory docs
8604           inlined both
8605
8606 2005-09-02  Andy Wingo  <wingo@pobox.com>
8607
8608         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
8609         consider this enum an enum and not a flags.
8610
8611 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
8612
8613         * docs/gst/gstreamer-docs.sgml:
8614         * docs/gst/tmpl/.cvsignore:
8615         * docs/gst/tmpl/gstghostpad.sgml:
8616         * docs/gst/tmpl/gstiterator.sgml:
8617         * docs/gst/tmpl/gstmacros.sgml:
8618         * docs/gst/tmpl/gstrealpad.sgml:
8619         * docs/gst/tmpl/gstregistry.sgml:
8620         * docs/gst/tmpl/gstregistrypool.sgml:
8621         * docs/gst/tmpl/gststructure.sgml:
8622         * docs/gst/tmpl/gstsystemclock.sgml:
8623         * docs/gst/tmpl/gsttrace.sgml:
8624         * gst/gstghostpad.c:
8625         * gst/gstmacros.h:
8626         * gst/gstmemchunk.c:
8627         * gst/gstmemchunk.h:
8628         * gst/gstqueue.c:
8629         * gst/gstregistry.c:
8630         * gst/gstregistrypool.c:
8631         * gst/gststructure.c:
8632         * gst/gstsystemclock.c:
8633           more docs inlined
8634
8635 2005-09-02  Andy Wingo  <wingo@pobox.com>
8636
8637         * gst/gstelement.h (GstState): Renamed from GstElementState,
8638         changed to be a normal enum instead of flags.
8639         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
8640         munged to be GST_STATE_CHANGE_*.
8641         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
8642         work with the new state representation.
8643         (GstStateChange): New enumeration of possible state transitions.
8644         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
8645         (GstElementClass::change_state): Pass the GstStateChange along as
8646         an argument. Helps language bindings, so they don't have to use
8647         tricky lock-needing macros like GST_STATE_CHANGE ().
8648
8649         * scripts/update-states (file): New script. Run it on a file to
8650         update it for state naming and API changes. Updates files in
8651         place.
8652
8653         * All files updated for the new API.
8654
8655 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8656
8657         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
8658         * gst/gstutils.c: (gst_util_set_value_from_string),
8659         (gst_util_set_object_arg):
8660           fix a bunch of unchecked return values
8661         * tools/gst-complete.c: (main):
8662         * gstreamer.spec.in:
8663           clean up a little
8664
8665 2005-09-01  Wim Taymans  <wim@fluendo.com>
8666
8667         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8668         (gst_base_sink_event), (gst_base_sink_do_sync),
8669         (gst_base_sink_handle_event):
8670         * gst/base/gstbasesink.h:
8671         Handle newsegments more correctly.
8672
8673         * gst/gstbus.c:
8674         Fix docs.
8675
8676         * gst/gstevent.c: (gst_event_new_newsegment):
8677         A newsegment cannot have a start_time of -1
8678
8679 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
8680
8681         * win32/gstenumtypes.c:
8682         * win32/gstenumtypes.h:
8683           Update
8684
8685 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8686
8687         * libs/gst/controller/gst-controller.c:
8688         (gst_controlled_property_set_interpolation_mode),
8689         (gst_controlled_property_new):
8690          fixed boolean again
8691
8692 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
8693
8694         * docs/faq/gst-uninstalled:
8695           add -good
8696         * gst/gstevent.c:
8697         * gst/gstevent.h:
8698           remove wrong docs
8699         * gst/gstutils.c: (gst_element_link_filtered):
8700         * gst/gstutils.h:
8701           add gst_element_link_filtered
8702
8703 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8704
8705         * docs/gst/gstreamer-docs.sgml:
8706         * docs/gst/gstreamer-sections.txt:
8707         * docs/gst/tmpl/.cvsignore:
8708         * docs/gst/tmpl/gsterror.sgml:
8709         * docs/gst/tmpl/gstfilter.sgml:
8710         * docs/gst/tmpl/gsturihandler.sgml:
8711         * docs/gst/tmpl/gsturitype.sgml:
8712         * docs/gst/tmpl/gstutils.sgml:
8713         * docs/gst/tmpl/gstxml.sgml:
8714         * gst/gsterror.c:
8715         * gst/gsterror.h:
8716         * gst/gstfilter.c:
8717         * gst/gsturi.c:
8718         * gst/gsturitype.c:
8719         * gst/gstutils.c:
8720         * gst/gstxml.c:
8721           inlined more docs, fixed double id-ref
8722
8723 2005-08-31  Wim Taymans  <wim@fluendo.com>
8724
8725         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8726         (gst_base_transform_handle_buffer):
8727         Passthrough elements don't need the caps as they don't care.
8728
8729 2005-08-31  Wim Taymans  <wim@fluendo.com>
8730
8731         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8732         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
8733         Don't leak refcounts on buffers.
8734
8735 2005-08-31  Wim Taymans  <wim@fluendo.com>
8736
8737         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
8738         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
8739         (gst_base_transform_chain), (gst_base_transform_change_state):
8740         * gst/base/gstbasetransform.h:
8741         Handle the case where we are not negotiated more gracefully.
8742
8743 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
8744
8745         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
8746         (gst_file_src_map_region):
8747           Set READONLY flag on mmap'ed buffers, otherwise
8748           gst_buffer_make_writable() won't work properly (#314708).
8749
8750 2005-08-31  Wim Taymans  <wim@fluendo.com>
8751
8752         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
8753         passthrough elements can even do inplace on non writable
8754         buffers (as they don't touch them).
8755
8756 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8757
8758         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8759         (gst_test_mono_source_set_property),
8760         (gst_test_mono_source_class_init), (GST_START_TEST),
8761         (gst_controller_suite):
8762           more tests (hehe I have the most)
8763         * gst/gstbus.c:
8764           describe popping messages whenusing mulltiple sources
8765         * libs/gst/controller/gst-controller.c:
8766         (gst_controlled_property_set_interpolation_mode),
8767         (gst_controlled_property_new):
8768         * libs/gst/controller/gst-controller.h:
8769         * libs/gst/controller/gst-interpolation.c:
8770           implement boolean properties
8771
8772 2005-08-31  Wim Taymans  <wim@fluendo.com>
8773
8774         * gst/gstminiobject.c: (gst_mini_object_ref):
8775         Cannot assert that the refcount has to be positive
8776         since a disposed object can be resurrected.
8777
8778 2005-08-31  Wim Taymans  <wim@fluendo.com>
8779
8780         * gst/gstpad.c: (gst_pad_init):
8781         Revert change, need to first fix badly behaving 
8782         apps.
8783
8784 2005-08-30  Wim Taymans  <wim@fluendo.com>
8785
8786         * check/elements/fakesrc.c: (setup_fakesrc):
8787         * check/elements/identity.c: (setup_identity):
8788         Activate pads before using them.
8789
8790 2005-08-30  Wim Taymans  <wim@fluendo.com>
8791
8792         * gst/base/gstadapter.c: (gst_adapter_flush):
8793         Flushing out 0 bytes is ok for this function.
8794
8795         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8796         no newsegment gives a warning and sets the start/stop to 
8797         invalid.
8798
8799         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
8800         (gst_base_transform_set_passthrough):
8801         Some debug info.
8802
8803         * gst/gstminiobject.c: (gst_mini_object_ref):
8804         Check refcount here too.
8805
8806         * gst/gstpad.c: (gst_pad_init):
8807         Pads are initially flushing and refusing data.
8808
8809         * gst/gstutils.c: (gst_element_link_pads_filtered):
8810         When adding a capsfilter element make sure it has the
8811         same state as the parent bin.
8812
8813 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8814
8815         * docs/gst/tmpl/.cvsignore:
8816         * docs/gst/tmpl/gstformat.sgml:
8817         * docs/gst/tmpl/gstversion.sgml:
8818         * gst/gstbus.h:
8819         * gst/gstformat.c:
8820         * gst/gstformat.h:
8821         * gst/gstversion.h.in:
8822           more docs and two more inlined
8823
8824 2005-08-30  Wim Taymans  <wim@fluendo.com>
8825
8826         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
8827         Don't sync to clock.
8828
8829 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8830
8831         * docs/gst/gstreamer-sections.txt:
8832           ultral33t func10ns deserve to appear in the docs actually
8833         * docs/gst/tmpl/.cvsignore:
8834         * docs/gst/tmpl/gstcompat.sgml:
8835         * docs/gst/tmpl/gstconfig.sgml:
8836         * gst/check/gstcheck.c:
8837         * gst/gstcompat.h:
8838         * gst/gstconfig.h.in:
8839           inlined more docs
8840
8841 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8842
8843         * docs/gst/tmpl/.cvsignore:
8844         * docs/gst/tmpl/gstquery.sgml:
8845         * docs/gst/tmpl/gstutils.sgml:
8846         * gst/gstquery.c:
8847         * gst/gstquery.h:
8848           inlined and extended docs
8849
8850 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8851
8852         * check/gst-libs/controller.c: (GST_START_TEST),
8853         (gst_controller_suite):
8854           more tests
8855         * docs/gst/tmpl/gstutils.sgml:
8856         * docs/libs/gstreamer-libs-sections.txt:
8857         * docs/libs/tmpl/gstdataprotocol.sgml:
8858           include path fixes
8859         * examples/controller/audio-example.c: (main):
8860           controller example works now
8861         * gst/gstclock.h:
8862           doc fixes
8863         * tools/gst-inspect.c: (print_element_properties_info):
8864           show param spec flags
8865
8866 2005-08-29  Andy Wingo  <wingo@pobox.com>
8867
8868         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
8869
8870 2005-08-28  Andy Wingo  <wingo@pobox.com>
8871
8872         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
8873         as having two arguments instead of just one. Allows superclasses
8874         to access information on subclasses -- see the terrible for() loop
8875         in gtype.c:g_type_create_instance for the reason why. All callers
8876         changed.
8877
8878 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8879
8880         * docs/design/part-messages.txt:
8881           update info
8882         * docs/gst/tmpl/.cvsignore:
8883         * docs/gst/tmpl/gstcaps.sgml:
8884         * docs/gst/tmpl/gstclock.sgml:
8885         * gst/gstbus.c:
8886         * gst/gstcaps.c:
8887         * gst/gstcaps.h:
8888         * gst/gstclock.c:
8889         * gst/gstclock.h:
8890         * gst/gstmessage.c:
8891           added descriptions for bus and message
8892           inline caps and clock docs
8893
8894 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8895
8896         * gst/gstmessage.c:
8897         * gst/gstmessage.h:
8898           doc fixes
8899
8900 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8901
8902         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
8903           fix div-by-zero
8904
8905 2005-08-26  Andy Wingo  <wingo@pobox.com>
8906
8907         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
8908         element_set_state's return val.
8909         (test_2_elements): Add test that's been disabled for months.
8910
8911         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
8912         can-activate-pull properties.
8913
8914         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
8915         can-activate-pull properties. Implement is_seekable so fakesrc can
8916         operate in pull mode.
8917
8918         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
8919         properties.
8920         (gst_base_sink_activate, gst_base_sink_activate_pull)
8921         (gst_base_sink_activate_push): Make activation mode choosing work.
8922         Cleanups.
8923         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
8924         is right. Make pull mode work. Post an eos before pausing in pull
8925         mode.
8926         (gst_base_sink_change_state): Pay attention to the core's
8927         change_state() return val.
8928         
8929         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
8930         has-getrange properties. Cleanups.
8931         
8932         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
8933         has_getrange and replace with can_activate_pull and
8934         can_activate_push.
8935
8936         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
8937         locking comments. Remove has_loop, has_chain and replace with
8938         can_activate_pull and can_activate_push.
8939
8940 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
8941
8942         * configure.ac:
8943         * examples/Makefile.am:
8944         * examples/metadata/Makefile.am:
8945         * examples/metadata/read-metadata.c: (message_loop),
8946         (have_pad_handler), (make_pipeline), (print_tag), (main):
8947           Add metadata reading example that loops over a list of filenames,
8948           dumping any tags found.
8949
8950         * gst/gstbus.c: (gst_bus_dispose):
8951         * gst/gstelement.c: (gst_element_dispose):
8952           Release a few potentially-held references in dispose.
8953
8954 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8955
8956         * docs/gst/tmpl/gstminiobject.sgml:
8957           do *not* add tmpl/*.sgml files to CVS!
8958
8959 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8960
8961         * libs/gst/bytestream/.cvsignore:
8962         * libs/gst/bytestream/Makefile.am:
8963         * libs/gst/bytestream/adapter.c:
8964         * libs/gst/bytestream/adapter.h:
8965         * libs/gst/bytestream/bytestream.c:
8966         * libs/gst/bytestream/bytestream.h:
8967         * libs/gst/bytestream/filepad.c:
8968         * libs/gst/bytestream/filepad.h:
8969           removing obsolete files
8970
8971 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8972
8973         * docs/gst/gstreamer-docs.sgml:
8974         * docs/libs/gstreamer-libs-docs.sgml:
8975           disabed additional index entries again, as this makes docs-gen just
8976           slow and they aren't useful yet
8977         * docs/libs/gstreamer-libs-sections.txt:
8978           little -section.txt cleanup for libs
8979
8980 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
8981
8982         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8983         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
8984           fix up some debugging
8985         (gst_base_transform_get_unit_size),
8986         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
8987         (gst_base_transform_handle_buffer):
8988         * gst/base/gstbasetransform.h:
8989           handle and store timed NEWSEGMENT events so that subclasses that
8990           calculate time by counting samples have a segment_start time they
8991           need to add to their timestamps - see audioresample
8992
8993 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
8994
8995         * gst/gstbin.h:
8996           removed ';' from the end of macro defs
8997         * docs/gst/gstreamer-docs.sgml:
8998         * docs/gst/gstreamer-sections.txt:
8999         * docs/gst/tmpl/.cvsignore:
9000         * gst/gstbus.h:
9001         * gst/gstelement.c: (gst_element_class_init),
9002         (gst_element_set_state), (activate_pads),
9003         (gst_element_save_thyself):
9004         * gst/gstevent.c: (gst_event_new_newsegment):
9005         * gst/gstevent.h:
9006         * gst/gstiterator.c:
9007         * gst/gstiterator.h:
9008         * gst/gstpad.c:
9009         * gst/gstprobe.h:
9010         * gst/gstutils.c: (gst_pad_query_convert):
9011         * gst/gstutils.h:
9012           fixed parameter name mismatches between source, header and docs
9013           added some more docs, resolved the last batch of unused elements in
9014           docs (now someone needs to doc them)
9015
9016 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9017
9018         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
9019         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
9020           don't walk through the plugins backwards.  Where is all this
9021           reversed logic coming from ?
9022
9023 2005-08-25  Wim Taymans  <wim@fluendo.com>
9024
9025         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9026         (gst_base_transform_transform_size),
9027         (gst_base_transform_configure_caps),
9028         (gst_base_transform_get_unit_size),
9029         (gst_base_transform_buffer_alloc),
9030         (gst_base_transform_change_state):
9031         * gst/base/gstbasetransform.h:
9032         Cache caps unit_size.
9033         Make sure we cannot negotiate up and downstream at the
9034         same time.
9035
9036 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9037
9038         * gst/gst.c: (init_pre), (init_post):
9039           register the installed plugin path after the env var
9040         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
9041         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
9042           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
9043           directories, so the tests can prefer uninstalled over installed
9044
9045 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9046
9047         * gst/base/gstbasetransform.h:
9048           comment
9049         * gst/gstpad.c:
9050           add to docs
9051
9052 2005-08-25  Wim Taymans  <wim@fluendo.com>
9053
9054         * gst/gstbin.c: (bin_bus_handler):
9055         Be a bit more conservative about the posted message.
9056         
9057         * gst/gstbus.c: (gst_bus_post):
9058         Some cleanups, warn wrong return values.
9059
9060 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
9061
9062         * check/gst/gstbin.c: (GST_START_TEST):
9063         * gst/gstbin.c: (bin_bus_handler):
9064         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
9065         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
9066         (gst_message_new_warning), (gst_message_new_tag),
9067         (gst_message_new_state_changed), (gst_message_new_segment_start),
9068         (gst_message_new_segment_done), (gst_message_new_custom):
9069         * gst/gstmessage.h:
9070         * tools/gst-launch.c: (event_loop):
9071         * tools/gst-md5sum.c: (event_loop):
9072           Revert unpopular change for GST_MESSAGE_SRC to GObject.
9073
9074 2005-08-25  Wim Taymans  <wim@fluendo.com>
9075
9076         * check/generic/states.c: (GST_START_TEST):
9077         Cleanup can be done at the end.
9078
9079         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
9080         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
9081         (gst_task_get_state), (gst_task_start), (gst_task_pause):
9082         Oh boy.. Thanks for finding this, Thomas. 
9083
9084 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
9085
9086         * docs/gst/gstreamer.types:
9087           added missing types
9088
9089 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
9090
9091         * docs/gst/gstreamer-docs.sgml:
9092         * docs/gst/gstreamer-sections.txt:
9093         * docs/gst/tmpl/.cvsignore:
9094         * gst/gstbin.c:
9095         * gst/gstiterator.c:
9096         * gst/gstutils.c:
9097         * gst/registries/gstxmlregistry.h:
9098           added missing classes and symbols (123 more to go)
9099           removed removed symbols from section file
9100           fixed many doc-comments
9101
9102 2005-08-24  Wim Taymans  <wim@fluendo.com>
9103
9104         * check/generic/states.c: (GST_START_TEST):
9105         Make sure all tasks are stopped.
9106
9107         * check/gst/gstbin.c: (GST_START_TEST):
9108         Unref after usage for proper valgrinding.
9109
9110         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
9111         Really wait for the task to stop before destroying the
9112         mutex.
9113
9114         * gst/gstqueue.c: (gst_queue_sink_activate_push),
9115         (gst_queue_src_activate_push):
9116         Small cleanups. Don't stop the task when we did not start
9117         it.
9118
9119         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
9120         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
9121         (gst_task_get_state), (gst_task_start), (gst_task_pause),
9122         (gst_task_join):
9123         * gst/gsttask.h:
9124         Protect the stream lock with the object lock.
9125         Disallow setting the stream lock when running.
9126         Add cleanup_all to wait for the threadpool to finish.
9127         Remove code to autoallocate a mutex if none was provided.
9128         Add _join() to wait for a task to stop.
9129         Protect the thread pool with a global lock.
9130
9131 2005-08-24  Wim Taymans  <wim@fluendo.com>
9132
9133         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9134         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9135         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
9136         * gst/base/gstbasesink.h:
9137         Handle newsegment events correctly.
9138         Drop buffers out of the segment range.
9139
9140 2005-08-22  Andy Wingo  <wingo@pobox.com>
9141
9142         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
9143         macro, implements an interface and gstimplementsinterface for a
9144         new type.
9145
9146 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9147
9148         * check/Makefile.am:
9149         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
9150           add a test that does a bunch of state changes on elements
9151           needs some fixing for valgrind
9152         * check/states/sinks.c: (gst_object_suite):
9153           whitespace
9154         * gst/gstcaps.h:
9155           add prototype for gst_caps_is_equal_fixed
9156         * gst/gstplugin.c:
9157         * gst/gstregistrypool.c:
9158           doc fixes
9159
9160 2005-08-24  Andy Wingo  <wingo@pobox.com>
9161
9162         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
9163         convert a negative value. Doesn't make much sense. Mostly this is
9164         here to force callers to ensure -1 maps to -1.
9165
9166 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
9167
9168         * docs/pwg/advanced-types.xml:
9169           Well done to Michael for catching my deliberate introduction
9170           of this spelling mistake. 
9171         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
9172         * gst/gstelement.h:
9173           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
9174           unlink pads before removing the element from the bin.
9175
9176 2005-08-24  Andy Wingo  <wingo@pobox.com>
9177
9178         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
9179         the same thing as GST_DEBUG=*:4.
9180         (parse_debug_level, parse_debug_category): New helper parsers.
9181
9182 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9183
9184         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9185         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
9186         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
9187         (gst_base_transform_buffer_alloc),
9188         (gst_base_transform_handle_buffer):
9189           use gboolean return values and pointers to size so we can use the
9190           full GST_BUFFER_SIZE range (guint) for buffer sizes
9191           use GstPadDirection for transform_caps
9192         * gst/base/gstbasetransform.h:
9193           rename get_size to get_unit_size since that's what it is
9194         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
9195           use GstPadDirection for transform_caps
9196         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
9197         * gst/gstutils.h:
9198           cleanup and debugging
9199
9200 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
9201
9202         * gst/gstelement.c: (gst_element_class_init),
9203         (gst_element_set_state), (activate_pads),
9204         (gst_element_save_thyself):
9205         * tools/gst-compprep.c: (main):
9206         * tools/gst-inspect.c: (print_element_properties_info):
9207         * tools/gst-xmlinspect.c: (print_element_properties):
9208           Fixed long standing mem-leak
9209
9210 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
9211
9212         * check/gst/gstbin.c: (GST_START_TEST):
9213         * gst/gstbin.c: (bin_bus_handler):
9214         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
9215         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
9216         (gst_message_new_warning), (gst_message_new_tag),
9217         (gst_message_new_state_changed), (gst_message_new_segment_start),
9218         (gst_message_new_segment_done), (gst_message_new_custom):
9219         * gst/gstmessage.h:
9220         * tools/gst-launch.c: (event_loop):
9221         * tools/gst-md5sum.c: (event_loop):
9222           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
9223           that applications can sensibly post custom messages with references
9224           to their own objects.
9225
9226 2005-08-24  Andy Wingo  <wingo@pobox.com>
9227
9228         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
9229         already.
9230
9231 2005-08-24  Wim Taymans  <wim@fluendo.com>
9232
9233         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9234         (gst_base_transform_transform_caps),
9235         (gst_base_transform_transform_size),
9236         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9237         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9238         (gst_base_transform_handle_buffer):
9239         * gst/base/gstbasetransform.h:
9240         Many fixes and new features added by Thomas. Can now also do
9241         transforms with variable sizes and a custom fixate_caps function.
9242
9243 2005-08-24  Wim Taymans  <wim@fluendo.com>
9244
9245         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
9246         Some debugging.
9247
9248         * gst/gstclock.h:
9249         Cast to ClockTime before formatting to time.
9250
9251         * gst/gstutils.h:
9252         Cleanups.
9253
9254 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
9255
9256         * check/gst-libs/controller.c: (GST_START_TEST),
9257         (gst_controller_suite):
9258         * docs/gst/tmpl/gstcaps.sgml:
9259         * docs/gst/tmpl/gstghostpad.sgml:
9260         * docs/gst/tmpl/gstquery.sgml:
9261         * docs/gst/tmpl/gstutils.sgml:
9262         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
9263         (gst_object_sink_values), (gst_object_get_value_arrays),
9264         (gst_object_get_value_array):
9265           gracefully handle helper method calls to objects that are not beeing
9266           controlled, added test case for that          
9267
9268 2005-08-23  Wim Taymans  <wim@fluendo.com>
9269
9270         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
9271         (gst_event_new_newsegment), (gst_event_parse_newsegment),
9272         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
9273         (gst_event_parse_qos), (gst_event_new_seek),
9274         (gst_event_parse_seek):
9275         * gst/gstevent.h:
9276         Some more debugging output and doc cleanups.
9277
9278         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9279         Fix possible deadlock.
9280
9281 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
9282
9283         * docs/gst/gstreamer-docs.sgml:
9284         * docs/gst/gstreamer-sections.txt:
9285         * docs/gst/gstreamer.types:
9286         * docs/gst/tmpl/.cvsignore:
9287         * gst/gstbin.h:
9288         * gst/gstbus.c:
9289         * gst/gstelement.c:
9290         * gst/gstevent.h:
9291           added 100 symbols from gstreamer-unused.txt to the right sections
9292           fixed more broken comments
9293           added GstBus to docs
9294
9295 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
9296
9297         * docs/gst/gstreamer-sections.txt:
9298         * docs/gst/tmpl/.cvsignore:
9299         * docs/gst/tmpl/gstbin.sgml:
9300         * docs/gst/tmpl/gstbuffer.sgml:
9301         * gst/base/gstbasesrc.c:
9302         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
9303         * gst/gstbuffer.c:
9304         * gst/gstbuffer.h:
9305         * tools/gst-launch.1.in:
9306           inlined more doc comments, added missing comments and fixed comments
9307           fixed typos
9308
9309 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9310
9311         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
9312           some debugging
9313         * gst/gstcaps.h:
9314           whitespace fixes
9315         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
9316           more debugging
9317         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
9318         * gst/gststructure.h:
9319           add a fixate function for booleans; add a FIXME that these func
9320           names should probably be gst_structure_fixate_*
9321
9322 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
9323
9324         * docs/gst/gstreamer-docs.sgml:
9325         * docs/gst/gstreamer-sections.txt:
9326         * gst/Makefile.am:
9327         * gst/gstbin.c: (gst_bin_get_type),
9328         (gst_bin_child_proxy_get_child_by_index),
9329         (gst_bin_child_proxy_get_children_count),
9330         (gst_bin_child_proxy_init):
9331         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
9332         (gst_child_proxy_get_child_by_index),
9333         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
9334         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
9335         (gst_child_proxy_get), (gst_child_proxy_set_property),
9336         (gst_child_proxy_set_valist), (gst_child_proxy_set),
9337         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
9338         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
9339         * gst/gstchildproxy.h:
9340         * gst/parse/grammar.y:
9341         * tools/gst-inspect.c: (print_interfaces),
9342         (print_element_properties_info), (print_element_info):
9343           ported gstchildproxy over from 0.8
9344           ported gst-inspect fixes and enhancements over from 0.8
9345
9346 2005-08-22  Wim Taymans  <wim@fluendo.com>
9347
9348         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9349         (gst_base_transform_handle_buffer):
9350         Also call the transform function if we have ANY caps.
9351
9352         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
9353         Fix debug info.
9354
9355 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
9356
9357         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
9358           Don't pretend to handle seek events if the source is not seekable
9359
9360 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
9361
9362         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9363           Remove extra parameter to debug output
9364
9365         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9366         (gst_base_src_do_seek), (gst_base_src_activate_push):
9367           Fix seek event handling.
9368
9369         * gst/gstpipeline.c: (gst_pipeline_change_state):
9370         * gst/gstqueue.c: (gst_queue_handle_sink_event),
9371         (gst_queue_src_activate_push):
9372           Don't start the src pad task on FLUSH_STOP if the pad
9373           isn't linked.
9374           Debug changes.
9375
9376 2005-08-22  Wim Taymans  <wim@fluendo.com>
9377
9378         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
9379         Added check for gst_static_caps_get() refcounting.
9380
9381 2005-08-22  Wim Taymans  <wim@fluendo.com>
9382
9383         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
9384         Make _static_caps_get() refcounting sane.
9385         
9386         * gst/gstelement.c: (gst_element_set_state):
9387         Add g_return_val_if_fail() to protect against segfaults.
9388
9389 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
9390
9391         * docs/gst/tmpl/gstevent.sgml:
9392         * gst/gstevent.c:
9393         * gst/gstevent.h:
9394           inlined remaining docs, added missing doc comments
9395
9396 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9397
9398         * check/gst/gstbin.c: (GST_START_TEST):
9399           since we don't know when preroll is done, use refcount range
9400           check for the sink
9401         * gst/check/gstcheck.h:
9402           add macro for checking refcount range
9403
9404 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9405
9406         * check/Makefile.am:
9407           clean up environment for when registry gets built versus
9408           when actual tests are run; valgrind seems to not report
9409           leaks if GST_PLUGIN_PATH is set to some specific values
9410         * check/gst/gstbin.c: (GST_START_TEST):
9411           add more refcounting checks; maybe this exposes a
9412           preroll lock bug ?
9413         * common/check.mak:
9414         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9415         * gst/check/gstcheck.h:
9416         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
9417         (gst_bin_change_state):
9418         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
9419           add/fix debugging/whitespace
9420
9421 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
9422
9423         * check/gst/gstevent.c: (event_probe), (test_event),
9424         (GST_START_TEST):
9425          Er, don't call gst_bin_watch_for_state_change you idiot.
9426
9427 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
9428
9429         * check/Makefile.am:
9430           Use CHECK_CFLAGS and CHECK_LIBS
9431         * check/gst/gstevent.c: (event_probe), (test_event),
9432         (GST_START_TEST):
9433           Don't leak events.
9434         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9435         (gst_base_src_start), (gst_base_src_stop),
9436         (gst_base_src_activate_push), (gst_base_src_activate_pull),
9437         (gst_base_src_change_state):
9438           Sprinkle gst_base_src_stop liberally around error paths to fix
9439           problems reusing a source after failed state changes.
9440         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9441         (helper_find_suggest), (gst_type_find_helper):
9442           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
9443         * gst/gstevent.h:
9444         * docs/gst/tmpl/gstevent.sgml:
9445           Migrate part of the docs from the SGML file. Wait for ensonic to
9446           tell me how I did it wrong ;)
9447         * tools/gst-typefind.c: (main):
9448           Extra robustness to state changes between files.
9449
9450 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9451
9452         * check/Makefile.am:
9453           don't valgrind the controller test - it's leaking - Stefan, HELP
9454         * gst/check/gstcheck.c: (gst_check_message_error),
9455         (gst_check_chain_func), (gst_check_setup_element),
9456         (gst_check_teardown_element), (gst_check_setup_src_pad),
9457         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
9458         (gst_check_teardown_sink_pad):
9459         * gst/check/gstcheck.h:
9460           add a bunch of methods to set up elements, and src and sink pads
9461         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
9462         * check/elements/identity.c: (setup_identity), (cleanup_identity),
9463         (GST_START_TEST):
9464           use them
9465         * gst/gstmessage.c:
9466         * gst/gsttag.h:
9467           whitespace/doc fixes
9468
9469 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9470
9471         * gst/gstelement.h:
9472           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
9473           be handled by the application and not always printed as well
9474
9475 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9476
9477         * check/Makefile.am:
9478           set GST_TOOLS_DIR
9479         * gst/check/gstcheck.c: (gst_check_message_error):
9480         * gst/check/gstcheck.h:
9481           add a fail_unless_equals_int
9482           add fail_unless for error messages
9483
9484 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9485
9486         * check/Makefile.am:
9487         * check/gst.supp:
9488         * common/Makefile.am:
9489         * common/check.mak:
9490         * common/gst.supp:
9491           factor out some of the common stuff so we can use it
9492
9493 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9494
9495         * check/Makefile.am:
9496         * check/gst/gstiterator.c: (GST_START_TEST):
9497         * check/gst/gstsystemclock.c: (GST_START_TEST),
9498         (gst_systemclock_suite):
9499         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9500         * gst/gstclock.c:
9501           valgrind more tests
9502
9503 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9504
9505         * check/elements/.cvsignore:
9506         * check/elements/gstfakesrc.c:
9507           rename to name of element
9508         * check/elements/identity.c: (chain_func), (event_func),
9509         (setup_identity), (cleanup_identity), (GST_START_TEST),
9510         (identity_suite), (main):
9511           add a test for identity
9512         * check/Makefile.am:
9513         * pkgconfig/Makefile.am:
9514         * pkgconfig/gstreamer-check.pc.in:
9515         * pkgconfig/gstreamer-check-uninstalled.pc.in:
9516         * gst/check:
9517         * gst/Makefile.am:
9518         * configure.ac:
9519           move the check stuff to a library that gets installed
9520         * check/gst-libs/controller.c: (GST_START_TEST):
9521         * check/gst-libs/gdp.c:
9522         * check/gst/gst.c: (GST_START_TEST):
9523         * check/gst/gstbin.c:
9524         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9525         * check/gst/gstbus.c:
9526         * check/gst/gstcaps.c: (GST_START_TEST):
9527         * check/gst/gstelement.c:
9528         * check/gst/gstghostpad.c:
9529         * check/gst/gstiterator.c:
9530         * check/gst/gstmessage.c:
9531         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
9532         * check/gst/gstobject.c:
9533         * check/gst/gstpad.c: (GST_START_TEST):
9534         * check/gst/gststructure.c: (GST_START_TEST):
9535         * check/gst/gstsystemclock.c: (GST_START_TEST),
9536         (gst_systemclock_suite):
9537         * check/gst/gsttag.c: (gst_tag_suite):
9538         * check/gst/gstvalue.c:
9539         * check/pipelines/cleanup.c:
9540         * check/pipelines/simple_launch_lines.c:
9541         * check/states/sinks.c:
9542           change include statement
9543
9544         * docs/gst/gstreamer-sections.txt:
9545         * docs/gst/tmpl/gstpad.sgml:
9546           document more pad stuff
9547         * gst/gstminiobject.c: (gst_mini_object_ref),
9548         (gst_mini_object_unref):
9549           debug refcounting
9550
9551 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
9552
9553         * docs/gst/tmpl/gst.sgml:
9554         * gst/gst.c:
9555           eliminate another tmpl file, fix spelling in the long-description
9556
9557 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9558
9559         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9560         (test_event), (timediff), (gstevents_suite):
9561           Should fix build on 64-bit arch's
9562
9563 2005-08-18  Andy Wingo  <wingo@pobox.com>
9564
9565         Make sure that when a pipeline goes to PLAYING, that data has
9566         actually hit the sink.
9567
9568         * check/states/sinks.c (test_sink): A sink that doesn't get any
9569         data shouldn't return SUCCESS for going to either PLAYING or
9570         PAUSED. Test also the return values on the way back down.
9571
9572         * gst/gstelement.c (gst_element_set_state): When changing the
9573         state of an element currently changing state asynchronously, go to
9574         lost-state after commiting the pending state. Makes future calls
9575         to get_state continue to return ASYNC.
9576
9577         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
9578         ASYNC when going to PLAYING if we still don't have preroll, as can
9579         happen with live sources.
9580
9581 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9582
9583         * docs/pwg/advanced-types.xml:
9584           Hack long paragraph into 2 chunks as a workaround for buggy
9585           jadetex version in sid and breezy that loops infinitely and
9586           eats all RAM.
9587
9588 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9589
9590         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9591         (test_event), (timediff), (gstevents_suite):
9592           Provide more error margin in clock measurements to allow for 
9593           g_get_current_time inaccuracies.
9594
9595 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9596
9597         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9598         (test_event), (timediff), (gstevents_suite):
9599            Fix error message output so I might be able to tell why the
9600            test works here but fails on the build farm.
9601
9602 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9603
9604         * check/Makefile.am:
9605         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9606         (test_event), (timediff), (gstevents_suite), (main):
9607           I wrote a test!
9608
9609         * docs/design/part-seeking.txt:
9610           Spelling correction
9611
9612         * docs/gst/tmpl/gstevent.sgml:
9613         * docs/gst/tmpl/gstfakesrc.sgml:
9614           Docs updates.
9615
9616         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9617           Treat a buffer-without-newsegment the same as a receiving 
9618           a newsegment not in time format, and disable syncing to the clock
9619           with a warning.
9620
9621         * gst/gstbus.c: (gst_bus_set_sync_handler):
9622           Assert if anyone tries to replace the existing sync_handler for bus, 
9623           as only the owner should be setting it.
9624
9625         * gst/gstevent.h:
9626           Have a fixed set of custom event enums with events identified by
9627           their structure name (as in 0.8), rather than a free-for-all
9628           allowing collisions between enum values from different plugins.
9629
9630         * gst/gstpad.c: (gst_pad_class_init):
9631           Docs change.
9632           
9633         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9634           Handle out-of-band downstream events from the sending thread.
9635
9636 2005-08-17  Andy Wingo  <wingo@pobox.com>
9637
9638         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
9639         play-timeout==0 to mean no timeout at all. In that case, don't
9640         bother with a get_state or a warning, just return directly, even
9641         if it's ASYNC.
9642
9643         * gst/base/gstbasetransform.c: Debug changes.
9644
9645         * gst/gstutils.h:
9646         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
9647         ensure bins post state change messages. A bit of a hack but I can't
9648         think of a way to avoid it.
9649
9650         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
9651
9652 2005-08-16  Andy Wingo  <wingo@pobox.com>
9653
9654         * gst/base/gstadapter.h:
9655         * gst/base/gstadapter.c (gst_adapter_take): New function, like
9656         peek() but you own the data. Not terribly efficient atm.
9657
9658 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9659
9660         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
9661         (gst_element_found_tags):
9662         * gst/gstutils.h:
9663           Add two utility functions for tag handling.
9664
9665 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9666
9667         * docs/manual/advanced-dataaccess.xml:
9668         * docs/manual/basics-helloworld.xml:
9669           Fix docs to use _bin_add() before _link(), which fixes the examples
9670           with recent core versions (reported by Madhan Raj M
9671           <raj_madan@rediffmail.com>, #313199).
9672
9673 2005-08-16  Wim Taymans  <wim@fluendo.com>
9674
9675         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9676         Added subtract checks.
9677
9678         * docs/design/part-events.txt:
9679         Some more docs about newsegment
9680
9681         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9682         Fix FIXME
9683
9684         * gst/gstcaps.c: (gst_caps_to_string):
9685         Add comments, cleanups.
9686         
9687         * gst/gstelement.c: (gst_element_save_thyself):
9688         cleanups
9689         
9690         * gst/gstvalue.c: (gst_value_collect_int_range),
9691         (gst_string_unwrap), (gst_value_union_int_int_range),
9692         (gst_value_union_int_range_int_range),
9693         (gst_value_intersect_int_int_range),
9694         (gst_value_intersect_int_range_int_range),
9695         (gst_value_intersect_double_double_range),
9696         (gst_value_intersect_double_range_double_range),
9697         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
9698         (gst_value_subtract_int_range_int),
9699         (gst_value_subtract_double_range_double),
9700         (gst_value_subtract_double_range_double_range),
9701         (gst_value_subtract_from_list), (gst_value_subtract_list),
9702         (gst_value_can_compare), (gst_value_compare_fraction):
9703         Cleanups, add comments, remove unneeded asserts.
9704
9705 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9706
9707         * tools/gst-launch.c: (event_loop):
9708           don't convert NULL structures to strings
9709
9710 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
9711
9712         * docs/gst/gstreamer-sections.txt:
9713           made some defines private
9714         * docs/gst/tmpl/gstconfig.sgml:
9715         * docs/gst/tmpl/gstqueue.sgml:
9716         * docs/gst/tmpl/gsttaglist.sgml:
9717         * docs/gst/tmpl/gsttypes.sgml:
9718         * docs/gst/tmpl/gstutils.sgml:
9719         * docs/pwg/appendix-porting.xml:
9720         * gst/base/gstbasesink.h:
9721         * gst/base/gstbasesrc.c:
9722         * gst/base/gstbasesrc.h:
9723         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
9724         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
9725         * gst/gstelement.c: (gst_element_class_init):
9726         * gst/gstpad.c: (gst_pad_class_init):
9727         * gst/gstqueue.c: (gst_queue_class_init):
9728         * gst/gstxml.c: (gst_xml_class_init):
9729           documented all undocumented signal inline
9730         * libs/gst/controller/gst-controller.h:
9731           added padding
9732
9733 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9734
9735         * docs/pwg/appendix-porting.xml:
9736           Document _set_link_function -> _set_setcaps_function.
9737
9738 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9739
9740         * check/Makefile.am:
9741           add a .check target for running the check
9742         * check/gst-libs/controller.c: (GST_START_TEST):
9743           cosmetic fixups
9744         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9745           complete checks for gstbuffer; would be nice if I could get the
9746           gcov stuff to work so I can see if I actually completed gstbuffer.c
9747         * check/gstcheck.h:
9748           add ASSERT_BUFFER_REFCOUNT
9749
9750 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
9751
9752         * docs/gst/gstreamer-sections.txt:
9753         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
9754         * gst/gsttag.h:
9755           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
9756           spew out a warning if a tag that is already registered
9757           is re-registered, unless it is re-registered with a 
9758           different type (#308438).
9759
9760 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
9761
9762         * docs/pwg/appendix-porting.xml:
9763         * docs/pwg/building-state.xml:
9764           Add some paragraphs about state changes in 0.9 to the PWG
9765           and the porting guide, in particular about the new meaning
9766           of GST_STATE_PAUSED and how to write state change functions
9767           with concurrent access by multiple threads in mind.
9768
9769 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
9770
9771         * docs/gst/gstreamer-docs.sgml:
9772         * docs/libs/gstreamer-libs-docs.sgml:
9773           added deprecation and since indexes
9774         * libs/gst/controller/gst-controller.c:
9775         * libs/gst/controller/gst-helper.c:
9776           added since tags
9777
9778
9779 2005-08-11  Wim Taymans  <wim@fluendo.com>
9780
9781         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
9782         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
9783         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
9784         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
9785         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
9786         (gst_ghost_pad_set_target):
9787         Actually implement (re)setting the target on a ghostpad
9788         as described in the docs.
9789
9790 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
9791
9792         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
9793           Check whether GST_DEBUG_NO_COLOR environment variable is
9794           set and disable coloured debug output if that is the case.
9795
9796 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
9797
9798         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9799         (gst_type_find_helper):
9800           The memory returned by gst_type_find_peek() needs to
9801           stay valid until the end of a typefind function, and
9802           typefind functions may keep results from different 
9803           offsets around, so we can't just unref the buffer from
9804           the previous _peek(), but have to save all buffers 
9805           returned by _peek() until typefinding is done and only
9806           free them then.
9807
9808 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
9809
9810         * docs/gst/gstreamer-sections.txt:
9811         * gst/gstutils.h:
9812           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
9813
9814 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9815
9816         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
9817           Fix a pretty good memleak.
9818
9819 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
9820
9821         * gst/gstiterator.h:
9822           Fix wrong include and 'make distcheck'.
9823
9824 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9825
9826         * gst/gstbin.c: (bin_bus_handler):
9827           Use gst_element_post_message() instead.
9828
9829 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
9830
9831         * gst/base/gstadapter.h:
9832         * gst/base/gstbasesink.h:
9833         * gst/base/gstbasesrc.h:
9834         * gst/base/gstbasetransform.h:
9835         * gst/base/gstcollectpads.h:
9836         * gst/base/gstpushsrc.h:
9837         * gst/gstiterator.h:
9838           Add padding to our base elements' class and instance structs and
9839           to GstIterator (you will need to rebuild all plugins and apps!)
9840
9841 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9842
9843         * gst/gstbin.c: (bin_bus_handler):
9844           Make default message forwarding from child->bus to bin->bus
9845           threadsafe and make it not emit warnings if the parent has no bus.
9846
9847 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9848
9849         * gst/gstelement.c: (activate_pads):
9850           On paused->ready, set pad->caps to NULL, as is the documented
9851           behaviour in this state change. Fixes playback of series of
9852           media files when visualization is enabled in Totem.
9853
9854 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9855
9856         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9857           Allow NULL as filter-caps (which means "any").
9858
9859 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9860
9861         * docs/libs/gstreamer-libs-sections.txt:
9862         * libs/gst/controller/gst-controller.c:
9863         * libs/gst/controller/gst-controller.h:
9864         * libs/gst/controller/gst-helper.c:
9865           adding more entries to the docs and fix small doc-bugs
9866
9867 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9868
9869         * docs/gst/gstreamer-docs.sgml:
9870         * docs/gst/gstreamer-sections.txt:
9871         * docs/gst/gstreamer.types:
9872         * docs/gst/tmpl/gstbasesink.sgml:
9873         * docs/gst/tmpl/gstbasesrc.sgml:
9874         * docs/gst/tmpl/gstbasetransform.sgml:
9875         * docs/gst/tmpl/gstfakesrc.sgml:
9876         * gst/base/gstcollectpads.c:
9877         * gst/base/gstcollectpads.h:
9878         * libs/gst/controller/gst-controller.c:
9879         * libs/gst/controller/gst-controller.h:
9880         * libs/gst/controller/gst-helper.c:
9881         * libs/gst/controller/gst-interpolation.c:
9882         * libs/gst/controller/lib.c:
9883           added long/short desc for controller docs
9884           added collectpads base class docs
9885           added correct includes to base-class docs
9886
9887 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9888
9889         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
9890         (gst_test_mono_source_set_property),
9891         (gst_test_mono_source_class_init), (GST_START_TEST),
9892         (gst_controller_suite):
9893         * docs/gst/gstreamer-docs.sgml:
9894         * docs/gst/gstreamer-sections.txt:
9895         * docs/gst/gstreamer.types:
9896         * docs/libs/gstreamer-libs-docs.sgml:
9897         * docs/libs/gstreamer-libs-sections.txt:
9898         * gst/base/gstadapter.c:
9899         * libs/gst/controller/gst-controller.c:
9900         (gst_controlled_property_new), (gst_controlled_property_free),
9901         (gst_controller_new_valist),
9902         (gst_controller_remove_properties_valist),
9903         (gst_controller_sink_values), (_gst_controller_finalize):
9904         * libs/gst/controller/gst-controller.h:
9905         * libs/gst/controller/gst-helper.c:
9906         (gst_object_control_properties), (gst_object_uncontrol_properties),
9907         (gst_object_get_controller), (gst_object_set_controller),
9908         (gst_object_sink_values), (gst_object_get_value_arrays),
9909         (gst_object_get_value_array):
9910           more tests (and fixes) for the controller
9911           more docs for the controller
9912           integrated companies docs for the adapter 
9913
9914 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9915
9916         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
9917         (GST_START_TEST), (fakesrc_suite):
9918           add tests for sizetype
9919
9920 2005-08-04  Andy Wingo  <wingo@pobox.com>
9921
9922         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
9923         fixes buffer_alloc proxying among other things.
9924
9925         * gst/base/gstbasetransform.c:
9926         * gst/base/gstbasetransform.h:
9927         Revert patch to gstbasetransform from 7-28 removing
9928         delay_configure.
9929
9930         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
9931         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
9932         Semantics changed, should return not the size of the output buffer
9933         but the byte size of a buffer with a given caps.
9934
9935         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
9936         debug object.
9937         (gst_base_transform_configure_caps): Don't set out_size here: (in,
9938         out) are not the pad caps until setcaps finishes.
9939         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
9940         not-in-place case as well. Deal with changing from in-place to
9941         not-in-place within calling pad_alloc_buffer. Still a bit
9942         concerned about the overhead here...
9943
9944 2005-08-03  Andy Wingo  <wingo@pobox.com>
9945
9946         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
9947         fixating is an error.
9948
9949 2005-08-04  Edward Hervey  <edward@fluendo.com>
9950
9951         * gst/base/gstadapter.h: 
9952         Added gst_adapter_get_type() to the header
9953
9954 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9955
9956         * check/Makefile.am:
9957         * check/gst-libs/controller.c:
9958         * libs/gst/controller/gst-controller.c:
9959         (gst_controller_new_valist):
9960           added check test suite for the controller
9961         * gst/base/gstpushsrc.c:
9962           fixed a doc typo
9963
9964 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9965
9966         * docs/gst/Makefile.am:
9967         * docs/gst/gstreamer-docs.sgml:
9968         * docs/gst/gstreamer-sections.txt:
9969         * docs/gst/gstreamer.types:
9970         * docs/gst/tmpl/gstfakesrc.sgml:
9971         * gst/base/README:
9972         * gst/base/gstbasesink.c:
9973         * gst/base/gstbasesink.h:
9974         * gst/base/gstbasesrc.c:
9975         * gst/base/gstbasesrc.h:
9976         * gst/base/gstbasetransform.c:
9977         * gst/base/gstpushsrc.c:
9978         * gst/base/gstpushsrc.h:
9979           add short/long description docs to base classes
9980           add pushsrc to the docs
9981           remove consolidated doc fragments
9982
9983 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
9984
9985         * configure.ac:
9986         * docs/libs/Makefile.am:
9987         * docs/libs/gstreamer-libs-docs.sgml:
9988         * docs/libs/gstreamer-libs-sections.txt:
9989         * docs/libs/gstreamer-libs.types:
9990         * examples/Makefile.am:
9991         * examples/controller/.cvsignore:
9992         * examples/controller/Makefile.am:
9993         * examples/controller/audio-example.c: (main):
9994         * libs/gst/Makefile.am:
9995         * libs/gst/controller/.cvsignore:
9996         * libs/gst/controller/Makefile.am:
9997         * libs/gst/controller/gst-controller.c:
9998         (on_object_controlled_property_changed), (gst_timed_value_compare),
9999         (gst_timed_value_find),
10000         (gst_controlled_property_set_interpolation_mode),
10001         (gst_controlled_property_new), (gst_controlled_property_free),
10002         (gst_controller_find_controlled_property),
10003         (gst_controller_new_valist), (gst_controller_new),
10004         (gst_controller_remove_properties_valist),
10005         (gst_controller_remove_properties), (gst_controller_set),
10006         (gst_controller_set_from_list), (gst_controller_unset),
10007         (gst_controller_get), (gst_controller_get_all),
10008         (gst_controller_sink_values), (gst_controller_get_value_arrays),
10009         (gst_controller_get_value_array),
10010         (gst_controller_set_interpolation_mode),
10011         (_gst_controller_finalize), (_gst_controller_init),
10012         (_gst_controller_class_init), (gst_controller_get_type):
10013         * libs/gst/controller/gst-controller.h:
10014         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
10015         (g_object_uncontrol_properties), (g_object_get_controller),
10016         (g_object_set_controller), (g_object_sink_values),
10017         (g_object_get_value_arrays), (g_object_get_value_array):
10018         * libs/gst/controller/gst-interpolation.c:
10019         (gst_controlled_property_find_timed_value_node),
10020         (interpolate_none_get), (interpolate_trigger_get),
10021         (interpolate_trigger_get_value_array):
10022         * libs/gst/controller/lib.c: (gst_controller_init):
10023         * pkgconfig/Makefile.am:
10024         * pkgconfig/gstreamer-control-uninstalled.pc.in:
10025         * pkgconfig/gstreamer-control.pc.in:
10026         * testsuite/Makefile.am:
10027         * testsuite/controller/.cvsignore:
10028         * testsuite/controller/Makefile.am:
10029         * testsuite/controller/interpolator.c: (main):
10030           added controller code
10031           removed dparam pc files
10032
10033 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
10034         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
10035         (gst_collectpads_stop):
10036           Broadcast the condition when shutting down, to make sure we wake all
10037           threads up. Shut down pads on finalize, for safety.
10038
10039 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
10040         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10041         (gst_base_transform_handle_buffer),
10042         (gst_base_transform_change_state):
10043           Handle PAUSED->READY->PAUSED transition after negotiation
10044           occurred already.
10045         * gst/gstmessage.c: (gst_message_init):
10046           Extra piece of debug for new messages.
10047
10048 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
10049
10050         * configure.ac:
10051         * docs/gst/tmpl/gstbasesrc.sgml:
10052         * docs/gst/tmpl/gstelement.sgml:
10053         * docs/gst/tmpl/gstevent.sgml:
10054         * docs/gst/tmpl/gstfakesrc.sgml:
10055         * docs/gst/tmpl/gstformat.sgml:
10056         * docs/gst/tmpl/gstghostpad.sgml:
10057         * docs/gst/tmpl/gstpad.sgml:
10058         * docs/gst/tmpl/gstquery.sgml:
10059         * docs/gst/tmpl/gststructure.sgml:
10060         * docs/gst/tmpl/gsttaglist.sgml:
10061         * docs/gst/tmpl/gstvalue.sgml:
10062         * docs/libs/gstreamer-libs-docs.sgml:
10063         * docs/libs/gstreamer-libs-sections.txt:
10064         * docs/libs/gstreamer-libs.types:
10065         * libs/gst/Makefile.am:
10066         * libs/gst/control/.cvsignore:
10067         * libs/gst/control/Makefile.am:
10068         * libs/gst/control/control.c:
10069         * libs/gst/control/control.h:
10070         * libs/gst/control/dparam.c:
10071         * libs/gst/control/dparam.h:
10072         * libs/gst/control/dparam_smooth.c:
10073         * libs/gst/control/dparam_smooth.h:
10074         * libs/gst/control/dparamcommon.h:
10075         * libs/gst/control/dparammanager.c:
10076         * libs/gst/control/dparammanager.h:
10077         * libs/gst/control/dplinearinterp.c:
10078         * libs/gst/control/dplinearinterp.h:
10079         * libs/gst/control/unitconvert.c:
10080         * libs/gst/control/unitconvert.h:
10081         * testsuite/Makefile.am:
10082         * testsuite/dynparams/.cvsignore:
10083         * testsuite/dynparams/Makefile.am:
10084         * testsuite/dynparams/dparamstest.c:
10085         * tools/Makefile.am:
10086         * tools/gst-inspect.c: (print_element_info), (main):
10087         * tools/gst-xmlinspect.c: (print_element_info), (main):
10088           deactivate and remove dparams (libgstcontrol)
10089
10090 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
10091
10092         * gst/elements/gsttypefindelement.c:
10093         (gst_type_find_element_have_type), (gst_type_find_element_init),
10094         (stop_typefinding), (gst_type_find_element_handle_event),
10095         (gst_type_find_element_chain), (gst_type_find_element_getrange):
10096         * gst/elements/gsttypefindelement.h:
10097           Set caps on all outgoing buffers, not just the first one.
10098
10099 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
10100
10101         * gst/elements/gsttypefindelement.c:
10102         (gst_type_find_element_have_type),
10103         (gst_type_find_element_check_set_buffer_caps),
10104         (gst_type_find_element_init), (stop_typefinding),
10105         (gst_type_find_element_handle_event),
10106         (gst_type_find_element_chain), (gst_type_find_element_getrange):
10107         * gst/elements/gsttypefindelement.h:
10108           Set caps on first outgoing buffer when we've found the type.
10109
10110 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
10111
10112         * docs/gst/gstreamer-docs.sgml:
10113         * docs/gst/gstreamer-sections.txt:
10114         * docs/gst/tmpl/gstscheduler.sgml:
10115         * docs/gst/tmpl/gstschedulerfactory.sgml:
10116           Remove some old cruft from docs.
10117
10118 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
10119
10120         * gst/gstpad.h:
10121           Fix inline docs for GstPadLinkReturn.
10122           
10123         * gst/gststructure.c: (gst_structure_has_name):
10124         * gst/gststructure.h:
10125         * docs/gst/gstreamer-sections.txt:
10126           New API: gst_structure_has_name().
10127
10128 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
10129
10130         * configure.ac:
10131           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
10132           and _LARGEFILE_SOURCE in config.h as required. Do not 
10133           export those flags in our .pc files any longer (#142209).
10134
10135           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
10136
10137         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
10138         (gst_file_sink_do_seek), (gst_file_sink_event),
10139         (gst_file_sink_get_current_offset), (gst_file_sink_render):
10140           Redo seek/tell calls with large file support in mind; add some
10141           debugging messages; add log message that tells us when large
10142           file support is unavailable or not enabled for some reason.
10143
10144         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
10145           Add log message that tells us when large file support 
10146           is unavailable or not enabled for some reason.
10147
10148 2005-07-29  Wim Taymans  <wim@fluendo.com>
10149
10150         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
10151         Added test for removing an element with ghostpad from a bin.
10152         Fixed test as current implementation does the right thing.
10153
10154         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
10155         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
10156         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
10157         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
10158         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
10159         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
10160         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
10161         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10162         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
10163         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
10164         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
10165         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
10166         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
10167         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
10168         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
10169         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
10170         * gst/gstghostpad.h:
10171         Clean up ghostpads, remove properties for internal stuff.
10172         Make threadsafe.
10173         Fix refcounting.
10174         Prepare for switching targets, not all use cases work yet.
10175
10176 2005-07-29  Wim Taymans  <wim@fluendo.com>
10177
10178         * docs/design/part-gstghostpad.txt:
10179         Small update.
10180
10181         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
10182         (gst_bin_remove_func):
10183         Unlinking pads while holding the bin LOCK is not a good
10184         idea.
10185
10186         * gst/gstpad.c: (gst_pad_class_init),
10187         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
10188         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
10189         No prob setting template after creating the pad.
10190
10191 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
10192
10193         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
10194         (gst_bus_peek), (gst_bus_source_dispatch),
10195         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
10196         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
10197           gst_bus_poll may be called from other threads. Handle
10198           this nicely by not making poll_data disappear off the
10199           stack once gst_bus_poll returns.
10200           gst_bus_peek now increments the refcount on the returned
10201           message.
10202
10203 2005-07-29  Wim Taymans  <wim@fluendo.com>
10204
10205         * docs/design/part-gstghostpad.txt:
10206         Overview of current GhostPad datastructures and use
10207         cases for changing the target.
10208
10209 2005-07-28  Wim Taymans  <wim@fluendo.com>
10210
10211         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10212         Added checks for hierarchy consistency whan adding linked
10213         elements to bins.
10214
10215         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10216         Added check to test element scheduling without bin/pipeline.
10217
10218         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10219         First add elements to bin, then link.
10220         
10221         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
10222         (gst_bin_remove_func):
10223         Unlink pads from elements added/removed from bin to maintain
10224         hierarchy consistency.
10225
10226 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10227
10228         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
10229         (gst_base_transform_handle_buffer):
10230         * gst/base/gstbasetransform.h:
10231           Remove broken delay_configure (fixes renegotiation of software
10232           scaling pipelines); remove some leftover printf()s.
10233
10234 2005-07-28  Wim Taymans  <wim@fluendo.com>
10235
10236         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
10237         Added some more tests for wrong hierarchy
10238
10239         * docs/design/part-overview.txt:
10240         Some updates.
10241
10242         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
10243         Cleanups.
10244
10245         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
10246         (gst_element_dispose):
10247         Some more cleanups.
10248
10249         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10250         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
10251         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10252         (gst_pad_set_caps), (gst_pad_send_event):
10253         Check for correct hierarchy when linking pads. Moving to
10254         strict requirement for ghostpads when linking elements in
10255         different bins.
10256
10257         * gst/gstpad.h:
10258         Clean ups. Added WRONG_HIERARCHY return value.
10259
10260 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10261
10262         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
10263           Better debug if no transform is possible.
10264
10265 2005-07-27  Wim Taymans  <wim@fluendo.com>
10266
10267         * docs/random/wtay/network-transp:
10268         Some old doc I had.
10269
10270 2005-07-27  Wim Taymans  <wim@fluendo.com>
10271
10272         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
10273         (gst_dp_event_from_packet):
10274         Fix serialization of seek events.
10275
10276 2005-07-27  Wim Taymans  <wim@fluendo.com>
10277
10278         * check/gst-libs/gdp.c: (GST_START_TEST):
10279         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
10280         Fix compilation and fix event serialization.
10281
10282 2005-07-27  Wim Taymans  <wim@fluendo.com>
10283
10284         * CHANGES-0.9:
10285         * docs/design/part-TODO.txt:
10286         * docs/design/part-events.txt:
10287         Some docs updates
10288
10289         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10290         (gst_base_sink_event), (gst_base_sink_do_sync),
10291         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
10292         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10293         (gst_base_src_do_seek), (gst_base_src_event_handler),
10294         (gst_base_src_loop):
10295         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10296         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10297         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
10298         (gst_base_transform_event), (gst_base_transform_handle_buffer),
10299         (gst_base_transform_set_passthrough),
10300         (gst_base_transform_is_passthrough):
10301         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
10302         * gst/elements/gstfilesink.c: (gst_file_sink_event):
10303         Event updates.
10304
10305         * gst/gstbuffer.h:
10306         Use faster casts.
10307
10308         * gst/gstelement.c: (gst_element_seek):
10309         * gst/gstelement.h:
10310         Update gst_element_seek.
10311
10312         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
10313         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
10314         (gst_event_new_flush_start), (gst_event_new_flush_stop),
10315         (gst_event_new_eos), (gst_event_new_newsegment),
10316         (gst_event_parse_newsegment), (gst_event_new_tag),
10317         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
10318         (gst_event_parse_qos), (gst_event_new_seek),
10319         (gst_event_parse_seek), (gst_event_new_navigation):
10320         * gst/gstevent.h:
10321         Make GstEvent use GstStructure. Add parsing code, make sure the
10322         API is sufficiently generic.
10323         Mark possible directions of events and serialization.
10324
10325         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
10326         (_gst_message_copy), (gst_message_new_segment_start),
10327         (gst_message_new_segment_done), (gst_message_new_custom),
10328         (gst_message_parse_segment_start),
10329         (gst_message_parse_segment_done):
10330         Small cleanups.
10331
10332         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10333         (gst_pad_set_caps), (gst_pad_send_event):
10334         Update for new events. 
10335         Catch events sent in wrong directions.
10336
10337         * gst/gstqueue.c: (gst_queue_link_src),
10338         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10339         (gst_queue_handle_src_query):
10340         Event updates.
10341
10342         * gst/gsttag.c:
10343         * gst/gsttag.h:
10344         Remove event code from this file.
10345
10346         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
10347         (gst_dp_event_from_packet):
10348         Event updates.
10349
10350 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10351
10352         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
10353         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10354         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
10355           Make debugging actually useful.
10356
10357 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10358
10359         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
10360         (gst_pad_fixate_caps):
10361           Implement default fixation once again, so that gst_pad_fixate()
10362           actually does anything at all. This probably needs to be some
10363           sort of a last resort, and use profile-based fixation first, but
10364           since that doesn't exist yet, this is the best we have. Fixes
10365           visualization in Totem.
10366
10367 2005-07-22  Wim Taymans  <wim@fluendo.com>
10368
10369         * docs/design/part-events.txt:
10370         Small update.
10371
10372         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10373         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
10374         (gst_base_sink_activate_pull):
10375         Some more comments.
10376
10377         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
10378         (gst_fake_src_create):
10379         Fix handoff marshall.
10380
10381         * gst/elements/gstidentity.c: (gst_identity_class_init),
10382         (gst_identity_transform_ip):
10383         We're a real inplace element.
10384
10385         * gst/gstbus.c: (gst_bus_post):
10386         Added some comments.
10387
10388         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
10389         * tests/muxing/case1.c: (main):
10390         * tests/sched/dynamic-pipeline.c: (main):
10391         * tests/sched/interrupt1.c: (main):
10392         * tests/sched/interrupt2.c: (main):
10393         * tests/sched/interrupt3.c: (main):
10394         * tests/sched/runxml.c: (main):
10395         * tests/sched/sched-stress.c: (main):
10396         * tests/seeking/seeking1.c: (event_received), (main):
10397         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
10398         (main):
10399         * tests/threadstate/threadstate3.c: (main):
10400         * tests/threadstate/threadstate4.c: (main):
10401         * tests/threadstate/threadstate5.c: (main):
10402         Fix the tests.
10403
10404 2005-07-21  Wim Taymans  <wim@fluendo.com>
10405
10406         * docs/design/part-seeking.txt:
10407         Some small additions.
10408
10409         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10410         (gst_base_sink_get_times), (gst_base_sink_do_sync),
10411         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
10412         * gst/base/gstbasesink.h:
10413         discont values are gint64, handle the math correctly.
10414
10415         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10416         Make the basesrc report error if the source pad is not linked.
10417
10418         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
10419         (gst_queue_loop), (gst_queue_handle_src_query),
10420         (gst_queue_src_activate_push):
10421         Make queue collect data even if the srcpad is not linked.
10422         Start pushing out data as soon as it is linked.
10423
10424         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
10425         * gst/gstutils.h:
10426         Added gst_flow_get_name() to ease error reporting.
10427
10428 2005-07-20  Wim Taymans  <wim@fluendo.com>
10429
10430         * gst/gstmessage.c: (gst_message_new_segment_start),
10431         (gst_message_new_segment_done), (gst_message_parse_segment_start),
10432         (gst_message_parse_segment_done):
10433         * gst/gstmessage.h:
10434         Added a bunch of messages for advanced seeking.
10435
10436         * gst/parse/grammar.y:
10437         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
10438         (gst_dpman_state_changed):
10439         Fix some new-pad -> pad-added signals
10440
10441 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10442
10443         * docs/manual/appendix-porting.xml:
10444         * docs/pwg/appendix-porting.xml:
10445           Document new-pad/state-change signal renames and the FixedList
10446           type rename.
10447
10448 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10449
10450         * docs/manual/advanced-autoplugging.xml:
10451         * docs/manual/basics-helloworld.xml:
10452         * docs/manual/basics-pads.xml:
10453         * docs/random/ds/0.9-suggested-changes:
10454         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
10455         * gst/gstelement.h:
10456         * gst/gstevent.h:
10457         * gst/gstformat.h:
10458         * gst/gstquery.h:
10459         * gst/gststructure.c: (gst_structure_value_get_generic_type),
10460         (gst_structure_parse_array), (gst_structure_parse_value):
10461         * gst/gstvalue.c: (gst_type_is_fixed),
10462         (gst_value_list_prepend_value), (gst_value_list_append_value),
10463         (gst_value_list_get_size), (gst_value_list_get_value),
10464         (gst_value_transform_array_string), (gst_value_serialize_array),
10465         (gst_value_deserialize_array), (gst_value_intersect_array),
10466         (gst_value_is_fixed), (_gst_value_initialize):
10467         * gst/gstvalue.h:
10468           GstElement::new-pad -> pad-added, GstElement::state-change ->
10469           state-changed, GstValueFixedList -> GstValueArray, add format and
10470           flags as their own arguments in gst_element_seek() (should improve
10471           "bindeability"), remove function generators since they don't work
10472           under a whole bunch of compilers (they were deprecated already
10473           anyway).
10474
10475 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10476
10477         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10478         (_gst_debug_register_funcptr):
10479         * gst/gstinfo.h:
10480           Fix illegal cast on some platforms (#309253).
10481
10482 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10483
10484         * gst/gstmessage.c: (gst_message_new_custom):
10485         * gst/gstmessage.h:
10486           Add _new_custom, make _new_application a macro to _new_custom.
10487
10488 2005-07-20  Wim Taymans  <wim@fluendo.com>
10489
10490         * gst/base/gstbasesrc.c: (gst_base_src_init),
10491         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
10492         * gst/base/gstbasesrc.h:
10493         Add a gboolean to decide when to push out a discont.
10494
10495         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10496         (gst_queue_loop), (gst_queue_handle_src_query),
10497         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
10498         (gst_queue_set_property), (gst_queue_get_property):
10499         Some cleanups.
10500
10501         * tests/threadstate/threadstate1.c: (main):
10502         Make a thread test compile and run... very silly..
10503
10504
10505 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10506
10507         * docs/manual/appendix-porting.xml:
10508           Mention removal of libgstgconf-0.9.la and existence of gconf
10509           elements.
10510
10511 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10512
10513         * docs/pwg/advanced-clock.xml:
10514         * docs/pwg/appendix-porting.xml:
10515         * docs/pwg/intro-preface.xml:
10516         * docs/pwg/other-base.xml:
10517         * docs/pwg/other-manager.xml:
10518         * docs/pwg/other-nton.xml:
10519         * docs/pwg/other-ntoone.xml:
10520         * docs/pwg/other-oneton.xml:
10521         * docs/pwg/pwg.xml:
10522           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
10523           demuxer), remove n-to-n (was never written), fix some code examples
10524           and links and update the porting section to include all this.
10525
10526 2005-07-19  Wim Taymans  <wim@fluendo.com>
10527
10528         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
10529         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
10530         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
10531         (gst_queue_src_activate_push), (gst_queue_change_state),
10532         (gst_queue_get_property):
10533         * gst/gstqueue.h:
10534         Propagate GstFlowReturn more intelligently upstream and output
10535         an ERROR/EOS when streaming stopped due to fatal error.
10536
10537 2005-07-19  Wim Taymans  <wim@fluendo.com>
10538
10539         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10540         Don't block forever for the state change to complete, the
10541         pipeline already did with a sensible timeout.
10542
10543 2005-07-19  Wim Taymans  <wim@fluendo.com>
10544
10545         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10546         Make sure we never call the create function is we
10547         got deactivated.
10548
10549 2005-07-19  Andy Wingo  <wingo@pobox.com>
10550
10551         * gst/parse/parse.l: Attempt to solve bug #172815.
10552
10553 2005-07-19  Wim Taymans  <wim@fluendo.com>
10554
10555         * docs/design/part-clocks.txt:
10556         * docs/design/part-events.txt:
10557         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
10558         Small docs updates.
10559         Only update the seeking values when we are not
10560         busy streaming.
10561
10562 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
10563
10564         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10565           Oops, ignore the result of gst_pad_push_event here.
10566
10567 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
10568
10569         * gst/base/gstbasesrc.c: (gst_base_src_loop),
10570         (gst_base_src_activate_push):
10571           Send discont event from the loop function, as pads
10572           aren't activated yet in the activate_push handler.
10573
10574         * gst/gstbin.c: (bin_bus_handler):
10575           Don't leak element name.
10576
10577 2005-07-18  Andy Wingo  <wingo@pobox.com>
10578
10579         * configure.ac: Use AS_LIBTOOL_TAGS.
10580
10581 2005-07-18  Wim Taymans  <wim@fluendo.com>
10582
10583         * docs/gst/gstreamer.types:
10584         Remove deleted types.
10585
10586 2005-07-18  Wim Taymans  <wim@fluendo.com>
10587
10588         * check/elements/gstfakesrc.c: (GST_START_TEST):
10589         * configure.ac:
10590         * gst/Makefile.am:
10591         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10592         (init_popt_callback):
10593         * gst/gst.h:
10594         * gst/gst_private.h:
10595         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
10596         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
10597         * gst/gstbin.h:
10598         * gst/gstbus.h:
10599         * gst/gstconfig.h.in:
10600         * gst/gstelement.c: (gst_element_class_init),
10601         (gst_element_set_base_time), (gst_element_get_base_time),
10602         (iterator_fold_with_resync), (gst_element_change_state),
10603         (gst_element_dispose), (gst_element_get_bus):
10604         * gst/gstelement.h:
10605         * gst/gstelementfactory.h:
10606         * gst/gsterror.c: (_gst_core_errors_init):
10607         * gst/gsterror.h:
10608         * gst/gstevent.h:
10609         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
10610         * gst/gstindex.c:
10611         * gst/gstinfo.c: (_gst_debug_init):
10612         * gst/gstmessage.c: (_gst_message_copy):
10613         * gst/gstmessage.h:
10614         * gst/gstminiobject.h:
10615         * gst/gstobject.c:
10616         * gst/gstobject.h:
10617         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10618         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
10619         * gst/gstpad.h:
10620         * gst/gstparse.h:
10621         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10622         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
10623         (gst_pipeline_get_last_stream_time):
10624         * gst/gstpipeline.h:
10625         * gst/gstpluginfeature.h:
10626         * gst/gstquery.h:
10627         * gst/gstscheduler.c:
10628         * gst/gstscheduler.h:
10629         * gst/gststructure.h:
10630         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
10631         (gst_task_finalize), (gst_task_func), (gst_task_create),
10632         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
10633         (gst_task_stop), (gst_task_pause):
10634         * gst/gsttask.h:
10635         * gst/gsttypefind.h:
10636         * gst/gsttypes.h:
10637         * gst/registries/gstlibxmlregistry.c: (load_feature),
10638         (gst_xml_registry_load), (gst_xml_registry_save_feature):
10639         * gst/registries/gstxmlregistry.c:
10640         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
10641         * gst/schedulers/threadscheduler.c:
10642         * libs/gst/control/dparammanager.h:
10643         * tools/gst-inspect.c: (print_element_list),
10644         (print_plugin_features), (print_element_features):
10645         * tools/gst-xmlinspect.c: (print_element_list),
10646         (print_plugin_info), (main):
10647         Removed plugable schedulers.
10648         Removed Scheduler/Manager from elements.
10649         Removed gsttypes.h, rearranged includes.
10650         Removed dependency pad<->element, element<>pipeline, and
10651         various others,  fix includes.
10652         implement gst_pad_get_parent() with gst_object_get_parent()
10653         Make GstTask sefcontained.
10654         Fix _get_state() on GstBin, it did not return ASYNC with a 0
10655         timeout.
10656         Fix endless loop in iterator_fold_with_resync.
10657
10658
10659 2005-07-18  Wim Taymans  <wim@fluendo.com>
10660
10661         * gst/Makefile.am:
10662         * gst/gstarch.h:
10663         Remove old file.
10664
10665 2005-07-18  Wim Taymans  <wim@fluendo.com>
10666
10667         * gst/Makefile.am:
10668         No more cothreads.h
10669
10670 2005-07-18  Wim Taymans  <wim@fluendo.com>
10671
10672         * gst/cothreads.c:
10673         * gst/cothreads.h:
10674         Let's remove these.
10675
10676 2005-07-18  Wim Taymans  <wim@fluendo.com>
10677
10678         * docs/design/part-dynamic.txt:
10679         * docs/design/part-events.txt:
10680         * docs/design/part-seeking.txt:
10681         Some more docs in the works.
10682
10683         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10684         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
10685         (gst_base_transform_setcaps), (gst_base_transform_get_size),
10686         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
10687         (gst_base_transform_handle_buffer),
10688         (gst_base_transform_sink_activate_push),
10689         (gst_base_transform_src_activate_pull),
10690         (gst_base_transform_set_passthrough),
10691         (gst_base_transform_is_passthrough):
10692         Refcounting fixes.
10693
10694         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
10695         Cleanups.
10696
10697         * gst/gstevent.c: (gst_event_finalize):
10698         Set SRC to NULL.
10699
10700         * gst/gstutils.c: (gst_element_unlink),
10701         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
10702         (gst_pad_proxy_setcaps):
10703         * gst/gstutils.h:
10704         Add _get_parent_element() to get a pads parent as an element.
10705
10706 2005-07-18  Wim Taymans  <wim@fluendo.com>
10707
10708         * check/gst/gstbin.c: (GST_START_TEST):
10709         Remove bogus test.
10710
10711 2005-07-18  Wim Taymans  <wim@fluendo.com>
10712
10713         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10714         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10715         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10716         (gst_base_sink_event), (gst_base_sink_do_sync),
10717         (gst_base_sink_chain), (gst_base_sink_loop),
10718         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
10719         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
10720         Refcounting fixes.
10721         Fix logic for returning ASYNC when not prerolled.
10722
10723 2005-07-18  Wim Taymans  <wim@fluendo.com>
10724
10725         * gst/gstqueue.c: (gst_queue_handle_sink_event):
10726         Fix nasty refcount bug.
10727
10728 2005-07-16 Philippe Khalaf <burger@speedy.org>
10729
10730         * gst/elements/gstfdsrc.c:
10731         * gst/elements/gstfdsrc.h:
10732         * gst/elements/gstelements.c:
10733         * gst/elements/Makefile.am:
10734         Ported fdsrc to 0.9.
10735
10736 2005-07-16  Wim Taymans  <wim@fluendo.com>
10737
10738         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10739         (gst_base_sink_do_sync):
10740         Fix compile error.
10741
10742 2005-07-16  Wim Taymans  <wim@fluendo.com>
10743
10744         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10745         (gst_base_sink_event), (gst_base_sink_get_times),
10746         (gst_base_sink_do_sync), (gst_base_sink_change_state):
10747         * gst/base/gstbasesink.h:
10748         Store and use discont values when syncing buffers as described
10749         in design docs.
10750         
10751         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10752         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
10753         (gst_base_src_activate_push):
10754         Push discont event when starting.
10755
10756         * gst/elements/gstidentity.c: (gst_identity_transform):
10757         Small cleanups.
10758
10759         * gst/gstbin.c: (gst_bin_change_state):
10760         Small cleanups in base_time  distribution.
10761
10762         * gst/gstelement.c: (gst_element_set_base_time),
10763         (gst_element_get_base_time), (gst_element_change_state):
10764         * gst/gstelement.h:
10765         Added methods for the base_time of the element.
10766         Some MT fixes.
10767
10768         * gst/gstpipeline.c: (gst_pipeline_send_event),
10769         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
10770         (gst_pipeline_get_last_stream_time):
10771         * gst/gstpipeline.h:
10772         MT fixes.
10773         Handle seeking as described in design doc, remove stream_time
10774         hack.
10775         Cleanups clock and stream_time selection code. Added accessors
10776         for the stream_time.
10777         
10778
10779 2005-07-16  Andy Wingo  <wingo@pobox.com>
10780
10781         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
10782         (#305291).
10783
10784 2005-07-16  Wim Taymans  <wim@fluendo.com>
10785
10786         * check/gst/gstbin.c: (GST_START_TEST):
10787         Make elements silent as the deep_notify refs the
10788         parent, which might make the test fail.
10789
10790         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
10791         Don't hold the lock for too long.
10792
10793 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
10794
10795         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
10796           Don't unref the caps we passed to gst_caps_make_writable() after
10797           passing them. gst_caps_make_writable() will do that for us.
10798
10799 2005-07-15  Andy Wingo  <wingo@pobox.com>
10800
10801         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
10802         (#157311).
10803
10804         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
10805         own marshalling function for the handoff signal. Properly type the
10806         buffer as a buffer. Fixes some warnings. Should do a more general
10807         solution.
10808         (gst_identity_class_init): Plug into the right marshaller.
10809
10810 2005-07-15  Wim Taymans  <wim@fluendo.com>
10811
10812         * docs/design/part-TODO.txt:
10813         * docs/design/part-clocks.txt:
10814         * docs/design/part-element-sink.txt:
10815         * docs/design/part-events.txt:
10816         * docs/design/part-gstpipeline.txt:
10817         Updated docs, mostly DISCONT related.
10818
10819 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
10820
10821         * docs/pwg/building-pads.xml:
10822           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
10823
10824 2005-07-15  Andy Wingo  <wingo@pobox.com>
10825
10826         * tools/gst-typefind.c: Update, add copyright block.
10827
10828         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
10829         Normalize and truncate caps before fixation.
10830
10831         * gst/gstcaps.h:
10832         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
10833         discards all but the first structure from its argument.
10834
10835 2005-07-15  Wim Taymans  <wim@fluendo.com>
10836
10837         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10838         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
10839         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10840         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
10841         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
10842         (gst_base_transform_chain), (gst_base_transform_change_state),
10843         (gst_base_transform_set_passthrough),
10844         (gst_base_transform_is_passthrough):
10845         * gst/base/gstbasetransform.h:
10846         Make passthrough work using the bufferpools.
10847         Changed API a bit, subclasses have to write into a buffer
10848         provided by the base class.
10849         More debug info in nego functions.
10850         
10851         * gst/elements/gstidentity.c: (gst_identity_init),
10852         (gst_identity_transform):
10853         Port to new base class.
10854
10855 2005-07-15  Wim Taymans  <wim@fluendo.com>
10856
10857         * gst/gstmessage.c: (gst_message_new_state_changed):
10858         * tools/gst-launch.c: (event_loop), (main):
10859         Totally dump messages in -launch with the -m option.
10860         Fix message name for State messages,
10861
10862 2005-07-14  Wim Taymans  <wim@fluendo.com>
10863
10864         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10865         Post error messages on errors.
10866
10867 2005-07-14  Wim Taymans  <wim@fluendo.com>
10868
10869         * gst/gstcaps.c: (gst_caps_do_simplify):
10870         Remove debug info.
10871
10872         * gst/gsterror.h:
10873         Define error for stream stopped.
10874
10875         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10876         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
10877         Do proper return values.
10878
10879         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10880         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
10881         (gst_pad_get_range):
10882         Better return values.
10883
10884         * gst/gstpad.h:
10885         Reorganise return values, add macro to check for fatal errors.
10886
10887         * gst/gstqueue.c: (gst_queue_chain):
10888         Return proper GstFlowReturn values,
10889
10890 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
10891
10892         * docs/gst/gstreamer-sections.txt:
10893         * docs/gst/gstreamer.types:
10894         * docs/gst/tmpl/gst.sgml:
10895         * docs/gst/tmpl/gstbasesink.sgml:
10896         * docs/gst/tmpl/gstbasesrc.sgml:
10897         * docs/gst/tmpl/gstbasetransform.sgml:
10898         * docs/gst/tmpl/gstbin.sgml:
10899         * docs/gst/tmpl/gstbuffer.sgml:
10900         * docs/gst/tmpl/gstcaps.sgml:
10901         * docs/gst/tmpl/gstclock.sgml:
10902         * docs/gst/tmpl/gstcompat.sgml:
10903         * docs/gst/tmpl/gstconfig.sgml:
10904         * docs/gst/tmpl/gstelement.sgml:
10905         * docs/gst/tmpl/gstelementdetails.sgml:
10906         * docs/gst/tmpl/gstelementfactory.sgml:
10907         * docs/gst/tmpl/gstenumtypes.sgml:
10908         * docs/gst/tmpl/gsterror.sgml:
10909         * docs/gst/tmpl/gstevent.sgml:
10910         * docs/gst/tmpl/gstfakesink.sgml:
10911         * docs/gst/tmpl/gstfakesrc.sgml:
10912         * docs/gst/tmpl/gstfilesink.sgml:
10913         * docs/gst/tmpl/gstfilesrc.sgml:
10914         * docs/gst/tmpl/gstfilter.sgml:
10915         * docs/gst/tmpl/gstformat.sgml:
10916         * docs/gst/tmpl/gstghostpad.sgml:
10917         * docs/gst/tmpl/gstimplementsinterface.sgml:
10918         * docs/gst/tmpl/gstindex.sgml:
10919         * docs/gst/tmpl/gstindexfactory.sgml:
10920         * docs/gst/tmpl/gstinfo.sgml:
10921         * docs/gst/tmpl/gstiterator.sgml:
10922         * docs/gst/tmpl/gstmacros.sgml:
10923         * docs/gst/tmpl/gstmemchunk.sgml:
10924         * docs/gst/tmpl/gstminiobject.sgml:
10925         * docs/gst/tmpl/gstobject.sgml:
10926         * docs/gst/tmpl/gstpad.sgml:
10927         * docs/gst/tmpl/gstpadtemplate.sgml:
10928         * docs/gst/tmpl/gstparse.sgml:
10929         * docs/gst/tmpl/gstpipeline.sgml:
10930         * docs/gst/tmpl/gstplugin.sgml:
10931         * docs/gst/tmpl/gstpluginfeature.sgml:
10932         * docs/gst/tmpl/gstquery.sgml:
10933         * docs/gst/tmpl/gstqueue.sgml:
10934         * docs/gst/tmpl/gstregistry.sgml:
10935         * docs/gst/tmpl/gstregistrypool.sgml:
10936         * docs/gst/tmpl/gstscheduler.sgml:
10937         * docs/gst/tmpl/gstschedulerfactory.sgml:
10938         * docs/gst/tmpl/gststructure.sgml:
10939         * docs/gst/tmpl/gstsystemclock.sgml:
10940         * docs/gst/tmpl/gsttaglist.sgml:
10941         * docs/gst/tmpl/gsttagsetter.sgml:
10942         * docs/gst/tmpl/gsttrace.sgml:
10943         * docs/gst/tmpl/gsttrashstack.sgml:
10944         * docs/gst/tmpl/gsttypefind.sgml:
10945         * docs/gst/tmpl/gsttypefindfactory.sgml:
10946         * docs/gst/tmpl/gsttypes.sgml:
10947         * docs/gst/tmpl/gsturihandler.sgml:
10948         * docs/gst/tmpl/gsturitype.sgml:
10949         * docs/gst/tmpl/gstutils.sgml:
10950         * docs/gst/tmpl/gstvalue.sgml:
10951         * docs/gst/tmpl/gstversion.sgml:
10952         * docs/gst/tmpl/gstxml.sgml:
10953         * docs/libs/tmpl/gstcontrol.sgml:
10954         * docs/libs/tmpl/gstdataprotocol.sgml:
10955         * docs/libs/tmpl/gstdparam.sgml:
10956         * docs/libs/tmpl/gstdplinint.sgml:
10957         * docs/libs/tmpl/gstdpman.sgml:
10958         * docs/libs/tmpl/gstdpsmooth.sgml:
10959         * docs/libs/tmpl/gstgetbits.sgml:
10960         * docs/libs/tmpl/gstunitconvert.sgml:
10961         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
10962         (gst_push_src_base_init), (gst_push_src_class_init),
10963         (gst_push_src_init), (gst_push_src_create):
10964         * gst/base/gstpushsrc.h:
10965         * gst/elements/gstelements.c:
10966         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
10967         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
10968         (gst_fake_sink_init), (gst_fake_sink_set_property),
10969         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
10970         (gst_fake_sink_event), (gst_fake_sink_preroll),
10971         (gst_fake_sink_render), (gst_fake_sink_change_state):
10972         * gst/elements/gstfakesink.h:
10973         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
10974         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
10975         (gst_fake_src_base_init), (gst_fake_src_class_init),
10976         (gst_fake_src_init), (gst_fake_src_event_handler),
10977         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
10978         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
10979         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
10980         (gst_fake_src_create_buffer), (gst_fake_src_create),
10981         (gst_fake_src_start), (gst_fake_src_stop):
10982         * gst/elements/gstfakesrc.h:
10983         * gst/elements/gstfilesink.c: (_do_init),
10984         (gst_file_sink_base_init), (gst_file_sink_class_init),
10985         (gst_file_sink_init), (gst_file_sink_dispose),
10986         (gst_file_sink_set_location), (gst_file_sink_set_property),
10987         (gst_file_sink_get_property), (gst_file_sink_open_file),
10988         (gst_file_sink_close_file), (gst_file_sink_query),
10989         (gst_file_sink_event), (gst_file_sink_render),
10990         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
10991         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
10992         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
10993         * gst/elements/gstfilesink.h:
10994         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
10995         (gst_file_src_class_init), (gst_file_src_init),
10996         (gst_file_src_finalize), (gst_file_src_set_location),
10997         (gst_file_src_set_property), (gst_file_src_get_property),
10998         (gst_file_src_map_region), (gst_file_src_map_small_region),
10999         (gst_file_src_create_mmap), (gst_file_src_create_read),
11000         (gst_file_src_create), (gst_file_src_is_seekable),
11001         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
11002         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
11003         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
11004         (gst_file_src_uri_handler_init):
11005         * gst/elements/gstfilesrc.h:
11006           more autistic cleanliness in functions/names/defines
11007
11008 2005-07-13  Andy Wingo  <wingo@pobox.com>
11009
11010         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
11011         source couldn't negotiate.
11012
11013         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
11014         connections again.
11015
11016         * gst/gstutils.h:
11017         * gst/gstutils.c (gst_element_link_pads_filtered): New old
11018         function. I am channeling Hades. Put your boots on suckers!!!
11019
11020 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11021
11022         * testsuite/caps/Makefile.am:
11023         * testsuite/caps/value_compare.c:
11024         * testsuite/caps/value_intersect.c:
11025         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11026           move two testsuite apps over to the check dir
11027
11028 2005-07-12  Wim Taymans  <wim@fluendo.com>
11029
11030         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
11031         Added more debug info in the negotiate process.
11032
11033         * gst/gstmessage.h:
11034         Prepare for segment playback.
11035
11036         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
11037         Better debugging.
11038
11039         * gst/gstutils.c:
11040         Some more docs.
11041
11042         * tools/gst-launch.c: (main):
11043         NULL pipeline on errors.
11044
11045 2005-07-12  Andy Wingo  <wingo@pobox.com>
11046
11047         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
11048         not it comes from a malloc region. Make sure our copy gets freed.
11049
11050 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11051
11052         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
11053         * check/gst/gstmessage.c: (GST_START_TEST):
11054         * check/gst/gststructure.c: (GST_START_TEST),
11055         (gst_structure_suite), (main):
11056           more testing
11057         * gst/gstelement.c: (gst_element_message_full):
11058           clean up GError and debug string now that they get copied
11059         * gst/gstmessage.c: (gst_message_new_error),
11060         (gst_message_new_warning), (gst_message_parse_error),
11061         (gst_message_parse_warning):
11062           use GST_TYPE_G_ERROR for structure_new, and take copies of
11063           arguments, so that we don't mess up refcounting
11064
11065 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11066
11067         * check/Makefile.am:
11068           add per-test valgrind targets
11069         * check/gst-libs/gdp.c: (GST_START_TEST),
11070         (gst_data_protocol_suite), (main):
11071           clean up
11072
11073 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11074
11075         * check/Makefile.am:
11076           instate more valgrindable tests
11077         * check/elements/gstfakesrc.c: (chain_func), (event_func),
11078         (GST_START_TEST), (fakesrc_suite):
11079         * check/gst/gstpad.c: (GST_START_TEST):
11080         * check/gst/gststructure.c: (GST_START_TEST):
11081           fix test leaks
11082         * docs/gst/tmpl/gstminiobject.sgml:
11083         * gst/gstpad.c: (gst_pad_finalize):
11084           fix the static mutex leak
11085
11086 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11087
11088         * check/Makefile.am:
11089           add two more tests for valgrinding
11090         * check/gst/gstvalue.c: (GST_START_TEST):
11091           test refcount of deserialized buffer, found a leak
11092         * docs/gst/gstreamer-docs.sgml:
11093         * docs/gst/gstreamer-sections.txt:
11094         * docs/gst/gstreamer.types:
11095         * docs/gst/tmpl/gstminiobject.sgml:
11096           add miniobject to docs
11097         * gst/gstminiobject.c:
11098           add some docs
11099         * gst/gstvalue.c: (gst_value_deserialize_buffer),
11100         (gst_string_unwrap):
11101           fix a hard-to-find invalid write for one of the tests
11102           fix a leak for deserialized buffers
11103
11104 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11105
11106         * docs/pwg/advanced-events.xml:
11107         * docs/pwg/advanced-request.xml:
11108         * docs/pwg/advanced-scheduling.xml:
11109         * docs/pwg/appendix-porting.xml:
11110         * docs/pwg/building-boiler.xml:
11111         * docs/pwg/intro-preface.xml:
11112         * docs/pwg/other-ntoone.xml:
11113           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
11114           of example code and explanation for pad activation, loop() and
11115           getrange() functions and a bit more. Remove old comments pointing
11116           to loop-functions.
11117         * examples/pwg/Makefile.am:
11118           Add loop/getrange examples.
11119
11120 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11121
11122         * configure.ac:
11123           check for valgrind binary + some fixes
11124         * check/gst.supp:
11125           valgrind suppressions for the tests
11126         * check/Makefile.am:
11127           add a valgrind: target that valgrinds the unit tests
11128         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
11129         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
11130         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11131         * check/gst/gstghostpad.c:
11132           added some cleanup
11133         * check/gst/gstdata.c:
11134           removed
11135         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
11136         (thread_unref), (gst_mini_object_suite), (main):
11137           added
11138         * gst/gst.c: (gst_deinit):
11139         * gst/gst.h:
11140           add a method to clean up.
11141         * gst/gstsystemclock.c: (gst_system_clock_dispose),
11142         (gst_system_clock_obtain):
11143           allow for disposing the system clock.
11144         * tools/gst-launch.c: (main):
11145           deinit
11146
11147 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11148
11149         * docs/gst/tmpl/gstbasesrc.sgml:
11150         * docs/gst/tmpl/gstfakesrc.sgml:
11151         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11152         (gst_base_src_init), (gst_base_src_set_property),
11153         (gst_base_src_get_property), (gst_base_src_get_range),
11154         (gst_base_src_start):
11155         * gst/base/gstbasesrc.h:
11156           add num-buffers property
11157         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11158         (gst_fakesrc_init), (gst_fakesrc_set_property),
11159         (gst_fakesrc_get_property), (gst_fakesrc_create),
11160         (gst_fakesrc_start):
11161           remove num-buffers property
11162
11163 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11164
11165         * docs/gst/gstreamer-sections.txt:
11166         * docs/gst/tmpl/gstbasesink.sgml:
11167         * docs/gst/tmpl/gstbasesrc.sgml:
11168         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
11169         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
11170         (gst_base_sink_finalize), (gst_base_sink_set_clock),
11171         (gst_base_sink_set_property), (gst_base_sink_get_property),
11172         (gst_base_sink_handle_object), (gst_base_sink_event),
11173         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
11174         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
11175         (gst_base_sink_loop), (gst_base_sink_deactivate),
11176         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
11177         (gst_base_sink_change_state):
11178         * gst/base/gstbasesink.h:
11179         * gst/base/gstbasesrc.h:
11180         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
11181         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11182         (gst_filesink_init):
11183           more macro splitting
11184
11185 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11186
11187         * gst/gstelement.c: (gst_element_get_bus):
11188           add debug
11189         * tools/gst-launch.c: (check_intr), (event_loop):
11190           fix bus leaks
11191
11192 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11193
11194         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
11195           fix a caps leak
11196
11197 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11198
11199         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11200         (gst_base_src_finalize):
11201           add finalize method and clean up properly
11202         * gst/gstpipeline.c: (gst_pipeline_dispose):
11203           add debug
11204
11205 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11206
11207         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
11208         (gst_bin_suite):
11209           add more things to check
11210         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
11211         * gst/gstelement.c:
11212           more debug
11213
11214 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11215
11216         * check/elements/gstfakesrc.c: (chain_func), (event_func),
11217         (GST_START_TEST), (fakesrc_suite):
11218         * check/gst-libs/gdp.c: (GST_START_TEST):
11219         * check/gst/gst.c: (GST_START_TEST):
11220         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11221         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11222         * check/gst/gstbus.c: (GST_START_TEST):
11223         * check/gst/gstcaps.c: (GST_START_TEST):
11224         * check/gst/gstdata.c: (GST_START_TEST):
11225         * check/gst/gstelement.c: (GST_START_TEST):
11226         * check/gst/gstghostpad.c: (GST_START_TEST):
11227         * check/gst/gstiterator.c: (GST_START_TEST):
11228         * check/gst/gstmessage.c: (GST_START_TEST):
11229         * check/gst/gstobject.c: (GST_START_TEST):
11230         * check/gst/gstpad.c: (GST_START_TEST):
11231         * check/gst/gststructure.c: (GST_START_TEST):
11232         * check/gst/gstsystemclock.c: (GST_START_TEST),
11233         (gst_systemclock_suite):
11234         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11235         * check/gst/gstvalue.c: (GST_START_TEST):
11236         * check/pipelines/cleanup.c: (GST_START_TEST):
11237         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
11238         * check/states/sinks.c: (GST_START_TEST):
11239         * check/gstcheck.c: (gst_check_init):
11240         * check/gstcheck.h:
11241           add debugging category
11242           use GST_START_TEST now, so we add a debug line
11243
11244 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11245
11246         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
11247           add test for state change message on a bin
11248         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
11249           add another test
11250         * gst/gstbin.c: (gst_bin_init):
11251         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
11252         * gst/gstelement.c: (gst_element_post_message),
11253         (gst_element_set_state):
11254         * gst/gstelementfactory.c: (gst_element_factory_create):
11255         * gst/gstmessage.c: (gst_message_new):
11256         * gst/gstscheduler.c:
11257           various debugging additions and cleanups
11258
11259 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11260
11261         * check/Makefile.am:
11262         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
11263         (main):
11264           adding tests for elements
11265         * gst/gstelement.c: (gst_element_dispose):
11266
11267 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11268
11269         * gst/registries/gstlibxmlregistry.c: (load_feature):
11270           plug more leaks.  A simple gst_init() now is leakfree, yay.
11271
11272 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11273
11274         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
11275         (gst_xml_registry_load):
11276           plug another memleak
11277
11278 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11279
11280         * configure.ac:
11281           use GST_SET_ERROR_CFLAGS
11282         * docs/faq/cvs.xml:
11283           change to ERROR_CFLAGS
11284
11285 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11286
11287         * configure.ac:
11288           make GST_ERROR_CFLAGS overridable and re-enable Werror
11289         * docs/faq/cvs.xml:
11290           add a note about error CFLAGS
11291         * docs/gst/tmpl/gstfakesrc.sgml:
11292         * gst/elements/gstfakesrc.c:
11293           comment out some unused code
11294         * gst/gst.c: (split_and_iterate):
11295         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
11296         (load_feature):
11297           plug some memleaks
11298
11299 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11300
11301         * common/Makefile.am:
11302         * common/gtk-doc.mak:
11303         * docs/gst/Makefile.am:
11304           factor out gtk-doc.mak
11305
11306 2005-07-07  Wim Taymans  <wim@fluendo.com>
11307
11308         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
11309         (gst_thread_scheduler_dispose):
11310         Unlock the STREAM_LOCK completely.
11311
11312 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11313
11314         * check/Makefile.am:
11315         * check/elements/.cvsignore:
11316         * check/elements/gstfakesrc.c: (chain_func), (event_func),
11317         (START_TEST), (fakesrc_suite), (main):
11318         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11319         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11320         (gst_fakesrc_create), (gst_fakesrc_start):
11321         * gst/elements/gstfakesrc.h:
11322           adding a first element test
11323
11324 2005-07-07  Andy Wingo  <wingo@pobox.com>
11325
11326         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
11327         debug message.
11328
11329 2005-07-07  Wim Taymans  <wim@fluendo.com>
11330
11331         * gst/gstquery.c:
11332         * gst/gstquery.h:
11333         Remove old types
11334
11335 2005-07-07  Wim Taymans  <wim@fluendo.com>
11336
11337         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
11338         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
11339         Allow subclasses to implement their own negotiation.
11340
11341 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
11342
11343         * docs/design/part-gstbin.txt:
11344         * docs/design/part-gstpipeline.txt:
11345           Update design notes to reflect the movement of
11346           responsibility for bus handling from GstPipeline to
11347           GstBin
11348
11349 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
11350
11351         * configure.ac:
11352           Remove unnecessary queue2/3/4 examples.
11353
11354 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
11355
11356         * examples/Makefile.am:
11357         * examples/helloworld/helloworld.c: (event_loop), (main):
11358         * examples/queue/queue.c: (event_loop), (main):
11359         * examples/queue2/queue2.c: (main):
11360           Update a couple of the examples to work again.
11361
11362         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11363         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
11364          Spelling corrections and extra debug.
11365         
11366         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
11367         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
11368         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
11369         * gst/gstbin.h:
11370         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
11371         (gst_pipeline_change_state):
11372         * gst/gstpipeline.h:
11373           Move the bus handler for children to the GstBin, and create a
11374           separate bus for receiving messages from children to the one the
11375           bus sends 'upwards' on.
11376
11377 2005-07-06  Wim Taymans  <wim@fluendo.com>
11378
11379         * gst/base/README:
11380         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11381         (gst_base_sink_handle_object), (gst_base_sink_loop),
11382         (gst_base_sink_change_state):
11383         * gst/base/gstbasesink.h:
11384         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11385         (gst_base_src_init), (gst_base_src_setcaps),
11386         (gst_base_src_getcaps), (gst_base_src_loop),
11387         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
11388         (gst_base_src_start), (gst_base_src_change_state):
11389         * gst/base/gstbasesrc.h:
11390         Make basesrc negotiate.
11391         Handle the case where preroll fails in basesink.
11392         Update README.
11393
11394 2005-07-06  Wim Taymans  <wim@fluendo.com>
11395
11396         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
11397         Implement the fixate function.
11398         Clean up acceptcaps.
11399
11400 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11401
11402         * docs/pwg/building-filterfactory.xml:
11403         * docs/pwg/pwg.xml:
11404           Remove never-written filter-factory chapter; I'll add the various
11405           base classes to part 4 ("other element types") later on.
11406
11407 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11408
11409         * docs/pwg/advanced-negotiation.xml:
11410         * docs/pwg/building-boiler.xml:
11411         * docs/pwg/building-pads.xml:
11412         * docs/pwg/pwg.xml:
11413         * examples/pwg/Makefile.am:
11414           Add a chapter on caps negotiation, simplify the original code
11415           samples a bit w.r.t. caps negotiation, add link to the advanced
11416           section. Add a bunch of examples showing different use cases of
11417           different types of caps negotiation. Upstream renegotiation isn't
11418           fully documented yet since nobody knows how that works.
11419
11420 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11421
11422         * check/gst/gstpad.c:
11423         * check/gstcheck.c:
11424         * gst/gstpad.c: (gst_pad_get_internal_links_default):
11425           if pad has no parent, return NULL as list of internal links
11426
11427 2005-07-05  Andy Wingo  <wingo@pobox.com>
11428
11429         * gst/elements/gstfilesrc.c:
11430         * gst/elements/gstfakesrc.c: 
11431         * gst/base/gstpushsrc.c:
11432         * gst/base/gstbasesrc.h: 
11433         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
11434         
11435 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
11436
11437         * Makefile.am:
11438           better report generation target (lcov needs a patch)
11439
11440 2005-07-05  Andy Wingo  <wingo@pobox.com>
11441
11442         * gst/elements, testsuite: Null if we got it...
11443
11444 2005-07-05  Wim Taymans  <wim@fluendo.com>
11445
11446         * configure.ac:
11447         * libs/gst/dataprotocol/Makefile.am:
11448         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
11449         * libs/gst/dataprotocol/dataprotocol.h:
11450         * pkgconfig/Makefile.am:
11451         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
11452         * pkgconfig/gstreamer-dataprotocol.pc.in:
11453         Ported dataprotol to 0.9. 
11454         Added pkgconfig files.
11455
11456 2005-07-05  Andy Wingo  <wingo@pobox.com>
11457
11458         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
11459         Default to returning TRUE for the case when tranform_caps returns
11460         a fixed caps, like for identity or volume.
11461
11462         * check/gst/gstbus.c (pound_bus_with_messages): 
11463         * check/gst/gstmessage.c (START_TEST): 
11464         * check/pipelines/simple_launch_lines.c (got_handoff): Application
11465         message API change.
11466
11467         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
11468         logic weaks here: always run transform_caps, trying passthrough
11469         operation only if the original caps intersects with the transform.
11470
11471         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
11472         source and sink caps.
11473
11474         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
11475         Intersect the peer caps with the pad template before going into
11476         transform_caps.
11477         (gst_base_transform_transform_caps): More debugging.
11478
11479         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
11480         src argument.
11481
11482 2005-07-04  Edward Hervey  <edward@fluendo.com>
11483
11484         * gst/gstutils.c:
11485         * gst/gstutils.h:
11486         (gst_pad_add_*_probe): now returns the signal id for better wrapping
11487         in bindings.
11488
11489 2005-07-04  Andy Wingo  <wingo@pobox.com>
11490
11491         * check/gst/gstpad.c: Only set explicit caps on pads.
11492
11493 2005-07-01  Andy Wingo  <wingo@pobox.com>
11494
11495         * tests/network-clock.scm: Commentary update.
11496
11497         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
11498         Didn't really make sense, not implementable with basetransform,
11499         etc.
11500         (gst_identity_transform): Unref inbuf via make_writable. Feeble
11501         attempt at implementing the sync property, needs an unlock method.
11502
11503         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
11504         New func, by default returns the same caps (the identity
11505         transformation).
11506         (gst_base_transform_getcaps): Uses transform_caps to return
11507         something sensible.
11508         (gst_base_transform_setcaps): Complicated logic to get caps on
11509         both pads, even if they are different, and to call set_caps once
11510         for every time both pads get their caps set.
11511         (gst_base_transform_handle_buffer): Give the ref to the transform
11512         function. Allows in-place modification of the buffer.
11513
11514         * gst/base/gstbasetransform.h (transform_caps): New class method.
11515         Given caps on one side, what can I do on the other.
11516         (set_caps): Take two caps, one for each side of the element.
11517
11518         * gst/gstpad.h:
11519         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
11520         caps in place. This is safe because we can check the mutability of
11521         the caps, and a good idea because fixate functions are just called
11522         as a matter of last resort. (Not actually implemented.)
11523         (gst_pad_set_caps): If the caps we're setting is actually the same
11524         as the existing pad caps, just update the pointer without calling
11525         setcaps. Assert that caps is either NULL or fixed, as per the
11526         docs.
11527
11528         * gst/gstghostpad.c: Update for fixate changes.
11529
11530 2005-07-02  Andy Wingo  <wingo@pobox.com>
11531
11532         * gst/gstcaps.c:
11533         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
11534         two refcounts makes it immutable, which is enough. Doc more.
11535
11536 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
11537
11538         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
11539           Put the mini_object into GValue as a mini_object,
11540           not a gpointer, since that's how we declared
11541           the signal.
11542
11543 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11544
11545         * examples/pwg/Makefile.am:
11546           Fix buildbot again.
11547
11548 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11549
11550         * docs/pwg/building-testapp.xml:
11551           Add extra check.
11552         * examples/pwg/Makefile.am:
11553           Fix buildbot.
11554
11555 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11556
11557         * configure.ac:
11558         * examples/Makefile.am:
11559         * examples/pwg/Makefile.am:
11560         * examples/pwg/extract.pl:
11561           Enable building the PWG examples.
11562         * docs/pwg/advanced-interfaces.xml:
11563           Add URI interface stub.
11564         * docs/pwg/advanced-types.xml:
11565         * docs/pwg/other-autoplugger.xml:
11566         * docs/pwg/appendix-porting.xml:
11567         * docs/pwg/pwg.xml:
11568           Add porting guide (mostly stubs), remove autoplugging (see ADM).
11569         * docs/pwg/building-boiler.xml:
11570         * docs/pwg/building-chainfn.xml:
11571         * docs/pwg/building-pads.xml:
11572         * docs/pwg/building-props.xml:
11573         * docs/pwg/building-state.xml:
11574         * docs/pwg/building-testapp.xml:
11575           Update the building-*.xml parts for 0.9 changes. All examples
11576           code blocks compile in examples/pwg/*.
11577
11578 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11579
11580         * docs/manual/advanced-autoplugging.xml:
11581         * docs/manual/appendix-checklist.xml:
11582         * docs/manual/appendix-integration.xml:
11583         * docs/manual/highlevel-components.xml:
11584           Fix playbin/decodebin examples, update docs a bit, mention bus
11585           instead of signals in various places, mention kmplayer and
11586           kaffeine since they have a working GStreamer backend in the KDE
11587           section.
11588
11589 2005-06-30  Wim Taymans  <wim@fluendo.com>
11590
11591         * CHANGES-0.9:
11592         * docs/design/draft-ghostpads.txt:
11593         * docs/design/draft-push-pull.txt:
11594         * docs/design/draft-query.txt:
11595         * docs/design/part-TODO.txt:
11596         * docs/design/part-query.txt:
11597         Added CHANGES-0.9 doc, updated status of other docs.
11598         
11599         * gst/gstquery.h:
11600         Remove "hmm" macro
11601
11602 2005-06-30  Wim Taymans  <wim@fluendo.com>
11603
11604         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11605         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
11606         (gst_base_sink_change_state):
11607         * gst/base/gstbasesink.h:
11608         Some tweaks, only EOS and a buffer complete a preroll.
11609
11610 2005-06-30  Andy Wingo  <wingo@pobox.com>
11611
11612         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
11613         activate_push down to the internal pad as well.
11614
11615 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
11616
11617         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11618
11619         * gst/gsttaginterface.c:
11620           Some documentation fixes (#307394 and #307397).
11621
11622 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
11623
11624         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11625
11626         * gst/gstvalue.c: (gst_value_intersect_list):
11627           Fix memleak (#309125).
11628
11629 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11630
11631         * docs/manual/advanced-dataaccess.xml:
11632           Fix fakesrc example to compile; doesn't work, bug somewhere...?
11633         * docs/manual/basics-pads.xml:
11634           Add reference for filtered caps to above chapter.
11635
11636 2005-06-30  Wim Taymans  <wim@fluendo.com>
11637
11638         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
11639         (gst_bin_change_state):
11640         Probes are gone.
11641         Lame attempt at making the state change function a bit
11642         more readable.
11643
11644 2005-06-30  Wim Taymans  <wim@fluendo.com>
11645
11646         * docs/design/part-clocks.txt:
11647         * docs/design/part-element-sink.txt:
11648         * docs/design/part-events.txt:
11649         * docs/design/part-preroll.txt:
11650         * docs/design/part-states.txt:
11651         Some more tweeks and additions to the docs.
11652
11653 2005-06-30  Wim Taymans  <wim@fluendo.com>
11654
11655         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11656         (default_have_data), (gst_pad_class_init), (gst_pad_init),
11657         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
11658         (gst_pad_check_pull_range), (gst_pad_get_range),
11659         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
11660         * gst/gstpad.h:
11661         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
11662         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11663         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11664         (gst_pad_remove_buffer_probe):
11665         Removed atomic operations, use existing LOCK.
11666         Move exception handling out of main code path.
11667
11668 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11669
11670         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11671         (silly_return_true_function), (gst_pad_class_init),
11672         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
11673         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
11674         (gst_pad_send_event):
11675           Fix accumulator, add default value by using _emitv() instead
11676           of _emit() for signal emission.
11677
11678 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11679
11680         * docs/manual/advanced-dataaccess.xml:
11681         * examples/manual/Makefile.am:
11682           Add probe example.
11683         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
11684           Make work (??).
11685
11686 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
11687
11688         * gst/elements/gstfilesink.c: (gst_filesink_render):
11689           Simplify code so that we don't have to handle short
11690           writes and return GST_FLOW_ERROR if an error occured.
11691
11692 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11693
11694         * docs/gst/gstreamer-docs.sgml:
11695           Remove probes more.
11696
11697 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11698
11699         * docs/gst/gstreamer-sections.txt:
11700         * docs/gst/tmpl/gstpad.sgml:
11701         * docs/gst/tmpl/gstprobe.sgml:
11702         * gst/Makefile.am:
11703         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11704         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
11705         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11706         (gst_pad_push_event), (gst_pad_send_event):
11707         * gst/gstpad.h:
11708         * gst/gstutils.c: (gst_pad_add_data_probe),
11709         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11710         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11711         (gst_pad_remove_buffer_probe):
11712         * gst/gstutils.h:
11713           Remove old probes, add new g-signal-based probes and some utility
11714           functions.
11715
11716 2005-06-29  Edward Hervey  <edward@fluendo.com>
11717
11718         * gst/gstelementfactory.c:
11719         * gst/gstutils.h:
11720         * gst/gstutils.c:
11721         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
11722         the definition to the header file.
11723
11724 2005-06-29  Andy Wingo  <wingo@pobox.com>
11725
11726         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
11727         plugins from the source directory.
11728
11729 2005-06-29  Wim Taymans  <wim@fluendo.com>
11730
11731         * docs/gst/tmpl/gstbuffer.sgml:
11732         * docs/gst/tmpl/gstclock.sgml:
11733         Some fixings for blantently wrong text.
11734
11735 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11736
11737         * check/Makefile.am:
11738         * gst/gst.c: (add_path_func), (init_pre):
11739         * gst/gstregistry.c: (gst_registry_add_path):
11740           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
11741           only scan the GST_PLUGIN_PATH locations, and not add
11742           system locations
11743
11744 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11745
11746         * docs/gst/gstreamer-sections.txt:
11747         * docs/gst/tmpl/gstbasesrc.sgml:
11748         * gst/gstelement.c:
11749         * gst/gstelement.h:
11750         * gst/gstevent.c:
11751         * gst/gstutils.c:
11752           doc fixes
11753
11754 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11755
11756         * docs/manual/advanced-autoplugging.xml:
11757           Fix autoplugging example.
11758
11759 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11760
11761         * docs/manual/advanced-autoplugging.xml:
11762         * docs/manual/mime-world.fig:
11763           Try to get autoplugging working, fix type detection. Fix text
11764           in hello-world image.
11765
11766 2005-06-29  Wim Taymans  <wim@fluendo.com>
11767
11768         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11769         (gst_base_sink_change_state):
11770         Small debug line.
11771
11772         * gst/gstclock.h:
11773         map SIGNAL and BROADCAST to the right function.
11774
11775         * gst/gstobject.h:
11776         Remove redundant braces.
11777
11778         * gst/gstpad.c: (gst_pad_set_caps):
11779         Don't call setcaps function when reseting caps to NULL.
11780
11781         * gst/gstsystemclock.c: (gst_system_clock_dispose),
11782         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
11783         (gst_system_clock_id_unschedule):
11784         Use BROADCAST as this is what we do.
11785
11786 2005-06-29  Wim Taymans  <wim@fluendo.com>
11787
11788         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11789         We are actually prerolling before commiting the state
11790         change. 
11791
11792 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11793
11794         * docs/manual/advanced-clocks.xml:
11795         * docs/manual/advanced-interfaces.xml:
11796         * docs/manual/advanced-metadata.xml:
11797         * docs/manual/advanced-position.xml:
11798         * docs/manual/advanced-schedulers.xml:
11799         * docs/manual/advanced-threads.xml:
11800         * docs/manual/appendix-porting.xml:
11801         * docs/manual/basics-bins.xml:
11802         * docs/manual/basics-bus.xml:
11803         * docs/manual/basics-elements.xml:
11804         * docs/manual/basics-helloworld.xml:
11805         * docs/manual/basics-pads.xml:
11806         * docs/manual/highlevel-components.xml:
11807         * docs/manual/manual.xml:
11808         * docs/manual/thread.fig:
11809           Update (until threads/scheduling) Application Development Manual;
11810           remove GstThread, add GstBus, add simple porting checklist, add
11811           documentation for tag writing, clocks, make all examples until this
11812           part compile and run.
11813         * examples/manual/Makefile.am:
11814           Update from changes to Application Development Manual; add bus
11815           example, remove thread example.
11816
11817 2005-06-28  Wim Taymans  <wim@fluendo.com>
11818
11819         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
11820         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
11821         (gst_bus_source_dispatch):
11822         Add debugging messages.
11823         Make internal methods static.
11824         Handle the case where the bus is flushed in the handler.
11825         
11826         * gst/gstelement.c: (gst_element_get_bus):
11827         Fix refcount in _get_bus();
11828
11829         * gst/gstpipeline.c: (gst_pipeline_change_state),
11830         (gst_pipeline_get_clock_func):
11831         Clock refcounting fixes.
11832         Handle the case where preroll timed out more gracefully.
11833         
11834         * gst/gstsystemclock.c: (gst_system_clock_dispose):
11835         Clean up the internal thread in dispose. This is needed
11836         for subclasses that actually get disposed.
11837         
11838         * gst/schedulers/threadscheduler.c:
11839         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11840         (gst_thread_scheduler_dispose):
11841         Free thread pool in dispose.
11842
11843 2005-06-28  Andy Wingo  <wingo@pobox.com>
11844
11845         * tests/network-clock-utils.scm (debug, print-event): New utils.
11846
11847         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
11848         (*packet-loss*): Unified loss probability.
11849         (network-time): Report out-of-band events.
11850
11851         * tests/plot-data: Add support for out-of-band events. Hack it
11852         into this script instead of passing it down the pipe; should fix
11853         this later.
11854
11855 2005-06-28  Wim Taymans  <wim@fluendo.com>
11856
11857         * docs/gst/gstreamer.types:
11858         * docs/gst/tmpl/gstbasesrc.sgml:
11859         * docs/gst/tmpl/gstpad.sgml:
11860         Docs fixes.
11861
11862 2005-06-28  Wim Taymans  <wim@fluendo.com>
11863
11864         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11865         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
11866         (gst_proxy_pad_do_fixatecaps):
11867         Correctly proxy the check_pull_range function.
11868
11869 2005-06-28  Andy Wingo  <wingo@pobox.com>
11870
11871         * tests/network-clock.scm: Removed need for slib.
11872         
11873 2005-06-28  Wim Taymans  <wim@fluendo.com>
11874
11875         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
11876         (gst_basesink_preroll_queue_flush):
11877         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
11878         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
11879         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11880         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
11881         (gst_proxy_pad_set_property):
11882         * gst/gstpad.c:
11883         * gst/gstpad.h:
11884         * gst/gstqueue.c: (gst_queue_init):
11885         The deprecated pad loop function is removed now.
11886
11887 2005-06-28  Andy Wingo  <wingo@pobox.com>
11888
11889         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
11890         New parameters, simulate network packet loss.
11891
11892         * tests/network-clock-utils.scm: Initialize the RNG.
11893
11894 2005-06-28  Wim Taymans  <wim@fluendo.com>
11895
11896         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
11897         (gst_basesink_event), (gst_basesink_deactivate):
11898         Flushing the preroll queue always needs to unlock the waiters.
11899
11900 2005-06-28  Edward Hervey  <edward@fluendo.com>
11901
11902         * gst/gstpipeline.c: (gst_pipeline_send_event): 
11903         Wheen a seek was successful on a pipeline, set the stream_time to the
11904         seek offset in order to have a synchronized stream_time.
11905
11906 2005-06-28  Wim Taymans  <wim@fluendo.com>
11907
11908         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11909         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
11910         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
11911         (gst_proxy_pad_do_fixatecaps):
11912         Call wrapper function instead of just calling the function
11913         pointers. This takes care of any locking and whatmore.
11914
11915 2005-06-28  Wim Taymans  <wim@fluendo.com>
11916
11917         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
11918         (gst_pad_pull_range):
11919         * gst/gstpad.h:
11920         CONNECTED -> LINKED.
11921
11922 2005-06-28  Andy Wingo  <wingo@pobox.com>
11923
11924         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
11925         source-munging commit!!!
11926
11927         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
11928         (gst_object_sink): Take gpointer arguments, not GstObject --
11929         avoids casts. Like GLib.
11930
11931         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
11932         activate.
11933
11934 2005-06-27  Andy Wingo  <wingo@pobox.com>
11935
11936         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
11937         remaining buffer.
11938
11939         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
11940         returns a sorted copy of the trace list.
11941         (gst_alloc_trace_print_live): New API, only prints traces with
11942         live objects. Sort the list.
11943         (gst_alloc_trace_print_all): Sort the list.
11944         (gst_alloc_trace_print): Align columns.
11945
11946         * gst/elements/gstttypefindelement.c:
11947         * gst/elements/gsttee.c:
11948         * gst/base/gstbasesrc.c:
11949         * gst/base/gstbasesink.c:
11950         * gst/base/gstbasetransform.c:
11951         * gst/gstqueue.c: Adapt for pad activation changes.
11952
11953         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
11954         sched.
11955         (gst_pipeline_dispose): Drop ref on sched.
11956
11957         * gst/gstpad.c (gst_pad_init): Set the default activate func.
11958         (gst_pad_activate_default): Push mode by default.
11959         (pre_activate_switch, post_activate_switch): New stubs, things to
11960         do before and after switching activation modes on pads.
11961         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
11962         the pad's activate function to choose which mode to activate.
11963         Shortcut on deactivation and call the right function directly.
11964         (gst_pad_activate_pull): New API, (de)activates a pad in pull
11965         mode.
11966         (gst_pad_activate_push): New API, same for push mode.
11967         (gst_pad_set_activate_function) 
11968         (gst_pad_set_activatepull_function) 
11969         (gst_pad_set_activatepush_function): Setters for new API.
11970
11971         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
11972         Trace all miniobjects.
11973         (gst_mini_object_make_writable): Unref the arg if we copy, like
11974         gst_caps_make_writable.
11975
11976         * gst/gstmessage.c (_gst_message_initialize): No trace init.
11977
11978         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
11979         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
11980         Adapt for new pad API.
11981
11982         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
11983
11984         * gst/gstelement.h:
11985         * gst/gstelement.c (gst_element_iterate_src_pads) 
11986         (gst_element_iterate_sink_pads): New API functions.
11987         
11988         * gst/gstelement.c (iterator_fold_with_resync): New utility,
11989         should fold into gstiterator.c in some form.
11990         (gst_element_pads_activate): Simplified via use of fold and
11991         delegation of decisions to gstpad->activate.
11992
11993         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
11994         help in debugging.
11995
11996         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
11997         class once in init, like gstmessage. Didn't run into this issue
11998         but it seems correct. Don't initialize a trace, gstminiobject does
11999         that.
12000
12001         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
12002         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
12003         to the bus.
12004         (assert_live_count): New util function, uses alloc traces to check
12005         cleanup.
12006
12007         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
12008         To be modified when unlink drops the internal pad.
12009
12010 2005-06-27  Wim Taymans  <wim@fluendo.com>
12011
12012         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
12013         (gst_bin_change_state):
12014         Cleanup the get_state() function a little, make sure it
12015         iterates the same set of elements.
12016         Added stub iterate_state_order().
12017
12018 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12019
12020         * docs/gst/gstreamer-docs.sgml:
12021         * docs/gst/gstreamer-sections.txt:
12022         * docs/gst/gstreamer.types:
12023         * docs/gst/tmpl/gstbasesink.sgml:
12024         * docs/gst/tmpl/gstbasesrc.sgml:
12025         * docs/gst/tmpl/gstbasetransform.sgml:
12026         * docs/gst/tmpl/gstelement.sgml:
12027         * docs/gst/tmpl/gstiterator.sgml:
12028         * gst/base/gstbasesrc.c:
12029         * gst/base/gstbasesrc.h:
12030         * gst/base/gstbasetransform.h:
12031         * gst/gstelement.c:
12032         * gst/gstiterator.h:
12033           adding basetransform and iterator docs
12034
12035 2005-06-27  Andy Wingo  <wingo@pobox.com>
12036
12037         * docs/design/part-activation.txt: Notes on how activation should
12038         work -- not quite implemented yet.
12039
12040 2005-06-25  Wim Taymans  <wim@fluendo.com>
12041
12042         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
12043         At least get the chain function correct, needs more
12044         fixing.
12045
12046 2005-06-25  Wim Taymans  <wim@fluendo.com>
12047
12048         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12049         (gst_basesink_handle_object), (gst_basesink_event),
12050         (gst_basesink_do_sync), (gst_basesink_handle_event),
12051         (gst_basesink_change_state):
12052         * gst/gsttask.h:
12053         Right, two problems here: ghostpads don't take locks and
12054         glib _rec_mutex_lock_full() with depth==0 still locks.
12055         Catch illegal locking and g_warn them.
12056
12057 2005-06-25  Wim Taymans  <wim@fluendo.com>
12058
12059         * check/states/sinks.c: (START_TEST), (gst_object_suite):
12060         Have to check for completion now...
12061
12062 2005-06-25  Wim Taymans  <wim@fluendo.com>
12063
12064         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12065         (gst_basesink_handle_object), (gst_basesink_event),
12066         (gst_basesink_do_sync), (gst_basesink_handle_event),
12067         (gst_basesink_change_state):
12068         * gst/gstpad.h:
12069         Unlock STREAM_LOCK whatever the recursion was.
12070
12071 2005-06-25  Wim Taymans  <wim@fluendo.com>
12072
12073         * gst/base/gstbasesink.c: (gst_basesink_set_property),
12074         (gst_basesink_preroll_queue_empty),
12075         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
12076         (gst_basesink_event), (gst_basesink_do_sync),
12077         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
12078         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
12079         (gst_basesink_change_state):
12080         Reworked the base sink, handle event and buffer serialisation
12081         correctly and removed possible deadlock.
12082         Handle EOS correctly.
12083
12084 2005-06-25  Wim Taymans  <wim@fluendo.com>
12085
12086         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
12087         (gst_pipeline_change_state):
12088         * tools/gst-launch.c: (check_intr), (event_loop), (main):
12089         Allow elements to post EOS in the state change function.
12090         Fix up -launch, make it exit the poll loop when the
12091         pipeline actually changed state.
12092         Fix up warning parsing in -launch.
12093
12094 2005-06-25  Wim Taymans  <wim@fluendo.com>
12095
12096         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
12097         (gst_tee_sink_activate):
12098         Core takes STREAM_LOCK for us now.
12099
12100 2005-06-25  Wim Taymans  <wim@fluendo.com>
12101
12102         * gst/gstelement.c: (gst_element_get_state_func),
12103         (gst_element_set_state):
12104         * gst/gstelement.h:
12105         * gst/gstmessage.c: (gst_message_parse_error),
12106         (gst_message_parse_warning):
12107         Keep track of current target state while performing a state
12108         change so that subclasses can do something interesting.
12109         Fix parsing of warning/error messages when GError is NULL.
12110
12111 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12112
12113         * docs/gst/Makefile.am:
12114         * docs/gst/gstreamer-docs.sgml:
12115         * docs/gst/gstreamer-sections.txt:
12116         * docs/gst/gstreamer.types:
12117         * docs/gst/tmpl/gstbasesink.sgml:
12118         * docs/gst/tmpl/gstbasesrc.sgml:
12119         * docs/gst/tmpl/gstbin.sgml:
12120         * docs/gst/tmpl/gstcompat.sgml:
12121         * docs/gst/tmpl/gstfakesink.sgml:
12122         * docs/gst/tmpl/gstfakesrc.sgml:
12123         * docs/gst/tmpl/gstfilesink.sgml:
12124         * docs/gst/tmpl/gstfilesrc.sgml:
12125         * docs/gst/tmpl/gstindex.sgml:
12126         * docs/manual/appendix-quotes.xml:
12127         * gst/base/gstbasesrc.h:
12128         * gst/elements/gstfakesrc.h:
12129         * gst/gstmessage.h:
12130           start pulling in base classes and elements in our docs
12131
12132 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
12133
12134         * docs/gst/Makefile.am:
12135         * docs/libs/Makefile.am:
12136           fixed make distcheck with gtk-doc 1.3
12137
12138 2005-06-23  Wim Taymans  <wim@fluendo.com>
12139
12140         * gst/gstelement.c: (gst_element_get_state_func),
12141         (gst_element_set_state), (gst_element_change_state):
12142         When the state did not change, also report NO_PREROLL
12143         when it matters.
12144
12145 2005-06-23  Wim Taymans  <wim@fluendo.com>
12146
12147         * gst/gstpad.c: (gst_pad_event_default):
12148         * gst/gstqueue.c: (gst_queue_loop):
12149         No unsafe task pausing please.
12150
12151 2005-06-23  Wim Taymans  <wim@fluendo.com>
12152
12153         * gst/schedulers/threadscheduler.c:
12154         (gst_thread_scheduler_task_start),
12155         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
12156         Ref the task before pushing it on the threadpool. This
12157         makes sure that we have a ref when the threadfunction is
12158         actually called.
12159
12160 2005-06-23  Andy Wingo  <wingo@pobox.com>
12161
12162         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
12163         offset is greater than the file's size.
12164
12165         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
12166         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
12167         * gst/gstobject.c (gst_object_class_init): Make the class lock
12168         recursive. Wim won't let me drop deep_notify. Decodebin works
12169         again, whoopdy doo.
12170
12171         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
12172         internal pad, and hacks accordingly. Doesn't do it on the target
12173         pad because we change its caps. Probably catches all cases of
12174         interest tho.
12175         (gst_ghost_pad_set_property): Connect to notify::caps as
12176         appropritate.
12177
12178         * tests/network-clock.scm (plot-simulation): Pipe data to the
12179         elite python skript.
12180
12181         * tests/network-clock-utils.scm (define-parameter): New macro,
12182         defines a parameter that can be set via the command line.
12183         (set-parameter!, parse-parameter-arguments): Command line args
12184         parser.
12185
12186         * tests/plot-data: Simple matplotlib-based plotter, takes input on
12187         stdin.
12188
12189 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
12190
12191         * gst/elements/gsttypefindelement.c:
12192         (gst_type_find_element_handle_event):
12193           Don't restart typefinding on a discont.
12194         * gst/gstelement.c: (gst_element_set_state):
12195           Debug spelling fix.
12196         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
12197           Allow changing mode of an active pad.
12198           Debug output fixes.
12199         * gst/registries/gstlibxmlregistry.c: (load_feature):
12200           Don't cast a static pad template to a normal pad template.
12201
12202 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12203
12204         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
12205         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
12206           remove gst_strtoll completely, since it didn't actually do
12207           anything more than what g_ascii_strtoull already does.
12208           check for range errors when deserializing
12209           do a cast for the unsigned cases; but further fixing needs
12210           a decision on what the interpretation of "(int)" and
12211           deserialization should be for values that fall outside the
12212           type's boundaries (ie, refuse, or interpret as casting)
12213
12214 2005-06-23  Wim Taymans  <wim@fluendo.com>
12215
12216         * check/Makefile.am:
12217         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
12218         * docs/design/part-live-source.txt:
12219         * docs/design/part-states.txt:
12220         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12221         (gst_basesrc_set_live), (gst_basesrc_is_live),
12222         (gst_basesrc_get_range), (gst_basesrc_activate),
12223         (gst_basesrc_change_state):
12224         * gst/base/gstbasesrc.h:
12225         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12226         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12227         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
12228         * gst/gstelement.c: (gst_element_get_state_func),
12229         (gst_element_set_state):
12230         * gst/gstelement.h:
12231         * gst/gsttypes.h:
12232         * tools/gst-launch.c: (event_loop), (main):
12233         Added support for live sources and other elements that
12234         cannot do preroll.
12235         Updated design docs, added live-source design doc.
12236         Implemented live source functionality in basesrc
12237         Fix error condition in _bin_get_state()
12238         Implement live source handling in -launch.
12239         Added check for live sources.
12240         Fixed case in GstBin where elements were changed state
12241         multiple times.
12242
12243
12244 2005-06-23  Andy Wingo  <wingo@pobox.com>
12245
12246         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
12247         borken refcounting.
12248
12249         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
12250         gst_caps_replace takes care of this for us.
12251
12252         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
12253         gst_pad_set_caps on the target, not just its setcaps() function.
12254
12255         * tests/network-clock.scm: 
12256         * tests/network-clock-utils.scm: A network clock simulator.
12257         Something of an algorithmic testbed before doing something in C.
12258
12259 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12260
12261         * check/Makefile.am:
12262         * check/gst/capslist.h:
12263           copy over from 0.8, and add two with bitmasks specified with
12264           (int) 0xFF...
12265         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
12266           add test to parse everything from capslist.h
12267         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
12268         (main):
12269           add test for structure deserialization
12270         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
12271           add tests for deserialization of strings to int types
12272         * gst/gststructure.c: (gst_structure_nth_field_name):
12273         * gst/gststructure.h:
12274           add a way to get the name of a field referenced by index
12275         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
12276           instead of checking if the resulting long long lies between
12277           min and max, we check if the long long would fit into
12278           a number of bytes for the final type.
12279           This fixes cases where a string represents 2^32 - 1, which
12280           when cast to int would be the (valid) -1, but is bigger than
12281           G_MAXINT
12282
12283 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12284
12285         * gst/parse/grammar.y:
12286           add a log line for type deserialization
12287
12288 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12289
12290         * check/gst/gstvalue.c: (START_TEST):
12291         * gst/gstvalue.c: (gst_value_deserialize):
12292           return long long, not int, so gint64 deserialization actually
12293           works.  Is there any flag that makes the compiler check this ?
12294           Fixes #308559
12295
12296 2005-06-22  Wim Taymans  <wim@fluendo.com>
12297
12298         * gst/gstbuffer.h:
12299         Added convenience macros for setting buffers in GValue.
12300
12301 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12302
12303         * check/gst/.cvsignore:
12304         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
12305           add a test deserializing int64, and comment part out because
12306           it fails, yay !
12307
12308 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12309
12310         * check/Makefile.am:
12311         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
12312         * testsuite/Makefile.am:
12313         * testsuite/caps/Makefile.am:
12314         * testsuite/caps/value_serialize.c:
12315         * testsuite/test_gst_init.c:
12316           move a value_serialize test over
12317
12318 2005-06-20  Wim Taymans  <wim@fluendo.com>
12319
12320         * gst/gstpad.c:
12321         Small doc updates.
12322         
12323         * gst/gstvalue.c: (gst_value_compare_buffer),
12324         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
12325         (gst_value_compare_flags), (gst_value_serialize_flags),
12326         (gst_value_deserialize_flags), (_gst_value_initialize):
12327         Fix serialisation of buffers, they are not boxed types anymore
12328
12329 2005-06-20  Wim Taymans  <wim@fluendo.com>
12330
12331         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
12332         Testcase to show error in buffer-on-caps serialisation.
12333
12334 2005-06-20  Andy Wingo  <wingo@pobox.com>
12335
12336         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
12337         will be adding to later.
12338
12339         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
12340         if its socks fill with rocks.
12341         (gst_system_clock_obtain): Set the name on object construction.
12342         Avoid double-checked locking.
12343
12344 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
12345
12346         * gst/gsturi.c: (gst_element_make_from_uri):
12347           Fix potential endless loop.
12348
12349 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12350
12351         * check/Makefile.am:
12352           add gsttag
12353         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
12354         (main):
12355           move over from testsuite dir and clean up
12356         * configure.ac:
12357         * gst/gsttag.c:
12358         * testsuite/Makefile.am:
12359         * testsuite/tags/.cvsignore:
12360         * testsuite/tags/Makefile.am:
12361         * testsuite/tags/merge.c:
12362           remove testsuite/tags
12363
12364 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12365
12366         * docs/gst/gstreamer-sections.txt:
12367         * docs/gst/tmpl/gstenumtypes.sgml:
12368         * win32/gstenumtypes.c:
12369           clean up documentation build a little
12370
12371 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12372
12373         * check/gstcheck.h:
12374           add macros for checking refcounts on objects and caps
12375         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
12376           add some more unit tests
12377         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
12378         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
12379           fix leaked refcounts (I hope :)) so unittest works
12380         * gst/gstpad.h:
12381           whitespace removal
12382
12383 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12384
12385         * configure.ac: back to HEAD
12386
12387 === release 0.9.1 ===
12388
12389 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12390
12391         * NEWS:
12392         * RELEASE:
12393           updated
12394
12395 2005-06-17  Andy Wingo  <wingo@pobox.com>
12396
12397         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
12398         assert; it's always possible that the pad gets deactivated in
12399         between the checks in gstpad.c and the implementation. Rely on
12400         finish_preroll() to return a FLUSHING or similar instead of on the
12401         assert.
12402         
12403         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
12404         clock and post an EOS message if we come out of finish_preroll in
12405         the playing state.
12406
12407 2005-06-16  David Schleef  <ds@schleef.org>
12408
12409         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
12410         (gst_capsfilter_set_property): Allow NULL as possible value
12411         for filter_caps property, indicating GST_CAPS_ANY.
12412
12413 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12414
12415         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
12416           fix debug output
12417         * gst/schedulers/Makefile.am:
12418           use libgst prefix
12419         * gstreamer.spec.in:
12420           fix spec for it
12421
12422 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12423
12424         * gstreamer.spec.in:
12425           clean up
12426
12427 2005-06-08  Andy Wingo  <wingo@pobox.com>
12428
12429         * gst/gstutils.c: RPAD fixes all around.
12430         (gst_element_link_pads): Refcounting fixes.
12431
12432         * tools/gst-inspect.c:
12433         * tools/gst-xmlinspect.c:
12434         * parse/grammar.y:
12435         * gst/base/gsttypefindhelper.c:
12436         * gst/base/gstbasesink.c:
12437         * gst/gstqueue.c: RPAD fixes.
12438
12439         * gst/gstghostpad.h:
12440         * gst/gstghostpad.c: New ghost pad implementation as full proxy
12441         pads. The tricky thing is they provide both source and sink
12442         interfaces, since they proxy the internal pad for the external
12443         pad, and vice versa. Implement with lower-level ProxyPad objects,
12444         with the interior proxy pad as a child of the exterior ghost pad.
12445         Should write a doc on this.
12446         
12447         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
12448         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
12449         gst_object API.
12450         
12451         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
12452         pads are real pads. No ghost pads in this file. Not documenting
12453         the myriad s/RPAD/PAD/ and REALIZE fixes.
12454         (gst_pad_class_init): Add properties for "direction" and
12455         "template". Both are construct-only, so they can't change during
12456         the life of the pad. Fixes properly deriving from GstPad.
12457         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
12458         derived objects, just set properties when creating the objects via
12459         g_object_new.
12460         (gst_pad_get_parent): Implement as a function, return NULL if the
12461         parent is not an element.
12462         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
12463         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
12464         
12465         * gst/gstobject.c (gst_object_class_init): Make name a construct
12466         property. Don't set it in the object init.
12467
12468         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
12469         with UNKNOWN direction.
12470         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
12471         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
12472         (gst_element_remove_pad): Remove ghost-pad special cases.
12473         (gst_element_pads_activate): Remove rpad cruft.
12474
12475         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
12476         catch the pad's-parent-not-an-element case.
12477
12478         * gst/gst.h: Include gstghostpad.h.
12479
12480         * gst/gst.c (init_post): No more real, ghost pads.
12481
12482         * gst/Makefile.am: Add gstghostpad.[ch].
12483
12484         * check/Makefile.am:
12485         * check/gst/gstbin.c:
12486         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
12487         into a bin creates ghost pads, and that the refcounts are right.
12488         Partly moved from gstbin.c.
12489
12490 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12491
12492         * check/gst-libs/.cvsignore:
12493         * check/gst/.cvsignore:
12494         * check/pipelines/.cvsignore:
12495           ignore more
12496         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
12497         (START_TEST), (cleanup_suite), (main):
12498           add some tests related to cleanup after running pipelines
12499
12500 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12501
12502         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
12503           add a testsuite for GstBuffer
12504
12505 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12506
12507         * gst/gstminiobject.h:
12508           add defines for accessing the refcount
12509
12510 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
12511
12512         * Makefile.am: added support for html unit test coverage reports
12513
12514 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
12515
12516         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12517           Free existing caps if the capsfilter changes. Add a FIXME about
12518           setting those caps on the pads.
12519
12520         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
12521           Before adding a ghost pad to a parent bin, check that there isn't
12522           already one for the element on the bin. Prevents infinite recursion
12523           when using decodebin in parse pipelines. Andy says he'll rewrite the
12524           way this works anyway, so ignore the hack.
12525
12526 2005-06-02  Andy Wingo  <wingo@pobox.com>
12527
12528         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
12529         file size, pass it on to the type find helper.
12530
12531         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
12532         segment_start and segment_end properly according to the seek
12533         method. Segment_end is still a bit flaky because offset can be
12534         negative for CUR and END cases, but it takes -1 as an "unset"
12535         value.
12536
12537 2005-06-02  Wim Taymans  <wim@fluendo.com>
12538
12539         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
12540         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
12541         (gst_basesink_activate):
12542         * gst/base/gstbasesink.h:
12543         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12544         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
12545         (gst_pad_query), (gst_pad_start_task):
12546         * gst/gstpad.h:
12547         * gst/gstqueue.c: (gst_queue_bufferalloc),
12548         (gst_queue_handle_sink_event), (gst_queue_chain):
12549         Bufferalloc: return GstFlowReturn to more accuratly report
12550         why allocation failed.
12551
12552 2005-06-02  Wim Taymans  <wim@fluendo.com>
12553
12554         * gst/gstpipeline.c: (gst_pipeline_send_event):
12555         Take snapshot of state without blocking.
12556
12557 2005-06-02  Wim Taymans  <wim@fluendo.com>
12558
12559         * docs/design/part-TODO.txt:
12560         * docs/design/part-caps.txt:
12561         * docs/design/part-clocks.txt:
12562         * docs/design/part-negotiation.txt:
12563         * docs/design/part-preroll.txt:
12564         Small doc updates 
12565
12566 2005-05-30  Wim Taymans  <wim@fluendo.com>
12567
12568         * gst/elements/gstidentity.c: (gst_identity_event),
12569         (gst_identity_transform), (gst_identity_get_property):
12570         Protect last_message property as it is accessed from
12571         multiple threads.
12572
12573 2005-05-30  Wim Taymans  <wim@fluendo.com>
12574
12575         * gst/gstelement.c: (gst_element_init),
12576         (gst_element_pads_activate), (gst_element_change_state):
12577         Slicker pad activation code.
12578
12579 2005-05-30  Wim Taymans  <wim@fluendo.com>
12580
12581         * gst/Makefile.am:
12582         * gst/gstelement.h:
12583         * gst/gstelementfactory.h:
12584         * gst/gsttypes.h:
12585         Move elementfactory methods to separate .h file.
12586
12587 2005-05-30  Wim Taymans  <wim@fluendo.com>
12588
12589         * docs/design/part-overview.txt:
12590         * gst/gstsystemclock.h:
12591         Small typo fixes, doc updates.
12592
12593 2005-05-30  Wim Taymans  <wim@fluendo.com>
12594
12595         * gst/gst.c: (gst_init_get_popt_table), (init_post),
12596         (init_popt_callback):
12597         Remove cpu-opt flag.
12598
12599 2005-05-30  Wim Taymans  <wim@fluendo.com>
12600
12601         * gst/gstbuffer.c: (gst_subbuffer_finalize),
12602         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
12603         * gst/gstbuffer.h:
12604         Avoid typechecking in places where not needed.
12605         Added accessor for malloc_data.
12606
12607 2005-05-30  Wim Taymans  <wim@fluendo.com>
12608
12609         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
12610         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
12611         (gst_pad_configure_sink), (gst_pad_configure_src),
12612         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
12613         (gst_pad_start_task):
12614         Propagate errors from _set_caps() in configure_src/sink
12615         functions instead of returning TRUE.
12616         FLUSH events can travel up and downstream
12617
12618
12619 2005-05-30  Wim Taymans  <wim@fluendo.com>
12620
12621         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
12622         (gst_basesink_activate):
12623         Handle EOS in preroll.
12624
12625 2005-05-30  Wim Taymans  <wim@fluendo.com>
12626
12627         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12628         (gst_queue_loop), (gst_queue_handle_src_event):
12629         Remove old pieces of code
12630         Flushing the queue in an upstream event is a very bad idea.
12631
12632 2005-05-26  Andy Wingo  <wingo@pobox.com>
12633
12634         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
12635         gst_value_set_mini_object so as to add a ref on the object (which
12636         will be removed when the value is unset).
12637
12638         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
12639         arg type in ::handoff.
12640
12641         * gst/gstelement.c (gst_element_change_state): Also deactivate
12642         pads in READY->NULL, just in case the element didn't make it to
12643         PAUSED. Wingo tested, Wim approved.
12644
12645 2005-05-26  Wim Taymans  <wim@fluendo.com>
12646
12647         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12648         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
12649         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
12650         A flushing pad cannot be used to alloc_buffer from.
12651
12652 2005-05-26  Wim Taymans  <wim@fluendo.com>
12653
12654         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
12655         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
12656         (gst_bus_source_dispatch), (gst_bus_source_finalize),
12657         (gst_bus_create_watch), (gst_bus_add_watch_full):
12658         * gst/gstbus.h:
12659         Implement a real GSource and use g_main_context_wakeup() to
12660         signal new messages instead of the socketpair.
12661
12662 2005-05-25  Wim Taymans  <wim@fluendo.com>
12663
12664         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
12665         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
12666         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12667         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
12668         (gst_pad_send_event), (gst_pad_start_task):
12669         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
12670         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
12671         (gst_queue_sink_activate), (gst_queue_src_activate),
12672         (gst_queue_change_state):
12673         * gst/gstqueue.h:
12674         Fix state changes for non sinks. We now change sinks, then elements
12675         with unconnected srcpads, then the rest.
12676         More efficient queue unlocking in flush and state changes.
12677         Set the pad activate mode even if it does not have an activate
12678         function.
12679
12680 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12681
12682         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
12683           Don't go in pull mode for non-seekable sources.
12684         * gst/elements/gsttypefindelement.h:
12685         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12686         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
12687         (free_entry), (stop_typefinding),
12688         (gst_type_find_element_handle_event), (find_peek),
12689         (gst_type_find_element_chain), (do_pull_typefind),
12690         (gst_type_find_element_change_state):
12691           Allow typefinding (w/o seeking) in push-mode, simplified version
12692           of what was in 0.8.
12693         * gst/gstutils.c: (gst_buffer_join):
12694         * gst/gstutils.h:
12695           gst_buffer_join() from 0.8.
12696
12697 2005-05-25  Wim Taymans  <wim@fluendo.com>
12698
12699         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12700         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
12701         (gst_pad_send_event), (gst_pad_start_task):
12702         Disable attempt at mode switching until it is figured out.
12703
12704 2005-05-25  Wim Taymans  <wim@fluendo.com>
12705
12706         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
12707         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
12708         (gst_basesink_finish_preroll), (gst_basesink_chain),
12709         (gst_basesink_loop), (gst_basesink_activate),
12710         (gst_basesink_change_state):
12711         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
12712         (gst_basesrc_get_range), (gst_basesrc_loop),
12713         (gst_basesrc_activate):
12714         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12715         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12716         (gst_real_pad_init), (gst_real_pad_set_property),
12717         (gst_real_pad_get_property), (gst_pad_set_active),
12718         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
12719         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
12720         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
12721         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
12722         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12723         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
12724         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
12725         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
12726         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
12727         (gst_pad_stop_task):
12728         * gst/gstpad.h:
12729         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12730         (gst_queue_loop), (gst_queue_src_activate):
12731         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
12732         (gst_task_get_state):
12733         * gst/gsttask.h:
12734         * gst/schedulers/threadscheduler.c:
12735         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
12736         Implement gst_pad_pause/start/stop_task(), take STREAM lock
12737         in task function.
12738         Remove ACTIVE pad flag, use FLUSHING everywhere
12739         Added _pad_chain(), _pad_get_range() to call chain/getrange 
12740         functions.
12741         Add locks around IS_FLUSHING when reading.
12742         Take STREAM lock in chain(), get_range() functions so plugins
12743         don't need to take it anymore.
12744         
12745
12746
12747 2005-05-25  Wim Taymans  <wim@fluendo.com>
12748
12749         * tools/gst-launch.c: (event_loop):
12750         Unref message after using its contents instead of
12751         before.
12752
12753 2005-05-24  Wim Taymans  <wim@fluendo.com>
12754
12755         * docs/design/draft-ghostpads.txt:
12756         * docs/design/draft-push-pull.txt:
12757         * docs/design/draft-query.txt:
12758         * docs/design/part-overview.txt:
12759         Docs updates, added general overview doc.
12760
12761 2005-05-21  David Schleef  <ds@schleef.org>
12762
12763         * docs/gst/tmpl/old/GstBin.sgml:
12764         * docs/gst/tmpl/old/GstBuffer.sgml:
12765         * docs/gst/tmpl/old/GstCaps.sgml:
12766         * docs/gst/tmpl/old/GstClock.sgml:
12767         * docs/gst/tmpl/old/GstCompat.sgml:
12768         * docs/gst/tmpl/old/GstData.sgml:
12769         * docs/gst/tmpl/old/GstElement.sgml:
12770         * docs/gst/tmpl/old/GstEvent.sgml:
12771         * docs/gst/tmpl/old/GstIndex.sgml:
12772         * docs/gst/tmpl/old/GstStructure.sgml:
12773         * docs/gst/tmpl/old/GstTag.sgml:
12774         * docs/gst/tmpl/old/cothreads.sgml:
12775         * docs/gst/tmpl/old/cothreads_compat.sgml:
12776         * docs/gst/tmpl/old/gettext.sgml:
12777         * docs/gst/tmpl/old/gobject2gtk.sgml:
12778         * docs/gst/tmpl/old/grammar.tab.sgml:
12779         * docs/gst/tmpl/old/gst-i18n-app.sgml:
12780         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
12781         * docs/gst/tmpl/old/gst_private.sgml:
12782         * docs/gst/tmpl/old/gstaggregator.sgml:
12783         * docs/gst/tmpl/old/gstarch.sgml:
12784         * docs/gst/tmpl/old/gstatomic_impl.sgml:
12785         * docs/gst/tmpl/old/gstbufferstore.sgml:
12786         * docs/gst/tmpl/old/gstdata_private.sgml:
12787         * docs/gst/tmpl/old/gstdisksink.sgml:
12788         * docs/gst/tmpl/old/gstdisksrc.sgml:
12789         * docs/gst/tmpl/old/gstelementfactory.sgml:
12790         * docs/gst/tmpl/old/gstextratypes.sgml:
12791         * docs/gst/tmpl/old/gstfakesink.sgml:
12792         * docs/gst/tmpl/old/gstfakesrc.sgml:
12793         * docs/gst/tmpl/old/gstfdsink.sgml:
12794         * docs/gst/tmpl/old/gstfdsrc.sgml:
12795         * docs/gst/tmpl/old/gstfilesink.sgml:
12796         * docs/gst/tmpl/old/gstfilesrc.sgml:
12797         * docs/gst/tmpl/old/gsthttpsrc.sgml:
12798         * docs/gst/tmpl/old/gstidentity.sgml:
12799         * docs/gst/tmpl/old/gstindexfactory.sgml:
12800         * docs/gst/tmpl/old/gstmarshal.sgml:
12801         * docs/gst/tmpl/old/gstmd5sink.sgml:
12802         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
12803         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
12804         * docs/gst/tmpl/old/gstpadtemplate.sgml:
12805         * docs/gst/tmpl/old/gstpipefilter.sgml:
12806         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
12807         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
12808         * docs/gst/tmpl/old/gstshaper.sgml:
12809         * docs/gst/tmpl/old/gstspider.sgml:
12810         * docs/gst/tmpl/old/gstspideridentity.sgml:
12811         * docs/gst/tmpl/old/gststatistics.sgml:
12812         * docs/gst/tmpl/old/gsttee.sgml:
12813         * docs/gst/tmpl/old/gsttimecache.sgml:
12814         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
12815         * docs/gst/tmpl/old/gstxmlregistry.sgml:
12816         * docs/gst/tmpl/old/gthread-cothreads.sgml:
12817         * docs/gst/tmpl/old/types.sgml:
12818           I didn't intend to add these or check them in.
12819
12820 2005-05-19  David Schleef  <ds@schleef.org>
12821
12822         * configure.ac: Use -no-common everywhere.  In a sane world, it
12823           would be the default in libtool, because without it, you can't
12824           build DLLs on Windows.
12825         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
12826         * docs/gst/gstreamer-sections.txt:
12827         * docs/gst/tmpl/gstcpu.sgml:
12828         * docs/gst/tmpl/gstdata.sgml:
12829         * docs/gst/tmpl/gstthread.sgml:
12830
12831 2005-05-19  David Schleef  <ds@schleef.org>
12832
12833         * gst/gstminiobject.c: (gst_value_set_mini_object),
12834         (gst_value_take_mini_object), (gst_value_get_mini_object):
12835         * gst/gstminiobject.h: Add GValue set/get functions.
12836
12837 2005-05-19  Wim Taymans  <wim@fluendo.com>
12838
12839         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
12840         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
12841         (gst_subbuffer_init), (gst_buffer_is_span_fast):
12842         * gst/gstbuffer.h:
12843         * gst/gstbus.c: (gst_bus_post):
12844         * gst/gstelement.c: (gst_element_get_random_pad):
12845         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
12846         Make subbufer unref the parent in finalize.
12847         some more debugging info.
12848
12849
12850 2005-05-19  Wim Taymans  <wim@fluendo.com>
12851
12852         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12853         (gst_basesink_init), (gst_basesink_finalize),
12854         (gst_basesink_activate), (gst_basesink_change_state):
12855         Don't free preroll queue too early.
12856
12857 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12858
12859         * gst/Makefile.am:
12860         * gst/ROADMAP:
12861           Hi, I'm outdated. Please shoot me.
12862
12863 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12864
12865         * gst/gstpipeline.c: (gst_pipeline_send_event):
12866           Do not access variables after they have been deleted.
12867
12868 2005-05-19  Wim Taymans  <wim@fluendo.com>
12869
12870         * tools/gst-inspect.c: (print_plugin_features):
12871         A plugin feature does unfortunatly not use the
12872         object name yet...
12873
12874 2005-05-18  Wim Taymans  <wim@fluendo.com>
12875
12876         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
12877         Port _span() functions to new subbuffers.
12878
12879 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12880
12881         * gst/gstbin.c: (gst_bin_add_func):
12882           Fix clock settery in bins when adding kids after the clock has
12883           been selected.
12884
12885 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12886
12887         * gst/elements/gstidentity.c: (gst_identity_class_init):
12888           Workaround until signals support GstMiniObject.
12889
12890 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
12891
12892         * gst/gstbuffer.c:
12893         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
12894
12895 2005-05-18  Wim Taymans  <wim@fluendo.com>
12896
12897         * gst/base/Makefile.am:
12898         * gst/base/gstadapter.c: (gst_adapter_base_init),
12899         (gst_adapter_class_init), (gst_adapter_init),
12900         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
12901         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
12902         (gst_adapter_flush), (gst_adapter_available),
12903         (gst_adapter_available_fast):
12904         * gst/base/gstadapter.h:
12905         Ported and added adapter to the base classes.
12906
12907 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
12908
12909         * gst/gst.c:
12910         * gst/gstmessage.c:
12911           Make sure the class is reffed/unreffed once before threads can be
12912           used.  Fixes #304551.
12913
12914 2005-05-17  Wim Taymans  <wim@fluendo.com>
12915
12916         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
12917         (gst_basesink_chain_unlocked), (gst_basesink_activate):
12918         * gst/gstminiobject.c: (gst_mini_object_get_type),
12919         (gst_mini_object_free):
12920         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
12921         (gst_pad_push), (gst_pad_push_event):
12922         * gst/gstqueue.c: (gst_queue_change_state):
12923         Don't queue buffers in basesink when we are flushing.
12924         Unref buffer when flushing in basesink.
12925         Flush queue when going to READY
12926         Unref buffer when _push() returns an error.
12927         Don't free MiniObject instance when refcount is incremented
12928         in _finalize() so that we can recover objects.
12929
12930 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12931
12932         * docs/manual/advanced-schedulers.xml:
12933         * docs/manual/appendix-checklist.xml:
12934         * docs/pwg/advanced-clock.xml:
12935         * docs/pwg/advanced-interfaces.xml:
12936         * docs/pwg/advanced-request.xml:
12937         * docs/pwg/advanced-types.xml:
12938         * docs/pwg/intro-preface.xml:
12939         * examples/plugins/example.c: (gst_example_get_type),
12940         (gst_example_class_init), (gst_example_chain),
12941         (gst_example_set_property), (gst_example_get_property),
12942         (gst_example_change_state), (plugin_init):
12943         * examples/plugins/example.h:
12944           small doc fixes
12945
12946 2005-05-17  Wim Taymans  <wim@fluendo.com>
12947
12948         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
12949         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
12950         * gst/gstqueue.c: (gst_queue_change_state):
12951         Clear queue when going to READY.
12952         Remove IN_SETCAPS flag too.
12953
12954 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
12955
12956         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
12957           Remove implicit cast from gboolean to GstElementStateReturn;
12958           make sure we still return failure in paused => ready case if
12959           the parent class fails to change state and our own stop 
12960           vfunc succeeds.
12961
12962 2005-05-17  Wim Taymans  <wim@fluendo.com>
12963
12964         * tools/gst-launch.c: (event_loop):
12965         Message was unreffed too soon.
12966
12967 2005-05-16  Andy Wingo  <wingo@pobox.com>
12968
12969         * gst/gstbin.c (sink_iterator_filter): Err... um...
12970
12971         * check/gst/gstbin.c (test_ghost_pads): New test for the
12972         ghosting-if-elements-not-in-same-bin behavior.
12973
12974 2005-05-16  David Schleef  <ds@schleef.org>
12975
12976         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
12977         accessing refcount directly.
12978
12979 2005-05-15  David Schleef  <ds@schleef.org>
12980
12981         * check/Makefile.am: remove GstData checks
12982         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
12983         * gst/Makefile.am: add miniobject, remove data
12984         * gst/gst.h: add miniobject, remove data
12985         * gst/gstdata.c: remove
12986         * gst/gstdata.h: remove
12987         * gst/gstdata_private.h: remove
12988         * gst/gsttypes.h: remove GstEvent and GstMessage
12989         * gst/gstelement.c: (gst_element_post_message): fix for API changes
12990         * gst/gstmarshal.list: change BOXED -> OBJECT
12991
12992         Implement GstMiniObject.
12993         * gst/gstminiobject.c:
12994         * gst/gstminiobject.h:
12995
12996         Modify to be subclasses of GstMiniObject.
12997         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
12998         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
12999         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
13000         (gst_subbuffer_get_type), (gst_subbuffer_init),
13001         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
13002         (gst_buffer_span):
13003         * gst/gstbuffer.h:
13004         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
13005         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
13006         (_gst_event_copy), (gst_event_new):
13007         * gst/gstevent.h:
13008         * gst/gstmessage.c: (_gst_message_initialize),
13009         (gst_message_get_type), (gst_message_class_init),
13010         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
13011         (gst_message_new), (gst_message_new_error),
13012         (gst_message_new_warning), (gst_message_new_tag),
13013         (gst_message_new_state_changed), (gst_message_new_application):
13014         * gst/gstmessage.h:
13015         * gst/gstprobe.c: (gst_probe_perform),
13016         (gst_probe_dispatcher_dispatch):
13017         * gst/gstprobe.h:
13018         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
13019         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
13020         (_gst_query_copy), (gst_query_new):
13021
13022         Update elements for GstData -> GstMiniObject changes
13023         * gst/gstquery.h:
13024         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
13025         (gst_queue_chain), (gst_queue_loop):
13026         * gst/elements/gstbufferstore.c:
13027         (gst_buffer_store_add_buffer_func),
13028         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
13029         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13030         (gst_fakesink_render):
13031         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13032         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
13033         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
13034         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
13035         (gst_filesrc_create_read):
13036         * gst/elements/gstidentity.c: (gst_identity_class_init):
13037         * gst/elements/gsttypefindelement.c:
13038         (gst_type_find_element_src_event), (free_entry_buffers),
13039         (gst_type_find_element_handle_event):
13040         * libs/gst/dataprotocol/dataprotocol.c:
13041         (gst_dp_header_from_buffer):
13042         * libs/gst/dataprotocol/dataprotocol.h:
13043         * libs/gst/dataprotocol/dp-private.h:
13044
13045 2005-05-15  David Schleef  <ds@schleef.org>
13046
13047         * gst/elements/gstelements.c: Don't include headers that were
13048         just removed.
13049
13050 2005-05-15  David Schleef  <ds@schleef.org>
13051
13052         * gst/elements/Makefile.am: Remove some elements that don't
13053         need to be in the core (or even exist at all).
13054         * gst/elements/gstaggregator.c:
13055         * gst/elements/gstaggregator.h:
13056         * gst/elements/gstmd5sink.c:
13057         * gst/elements/gstmd5sink.h:
13058         * gst/elements/gstmultifilesrc.c:
13059         * gst/elements/gstmultifilesrc.h:
13060         * gst/elements/gstpipefilter.c:
13061         * gst/elements/gstpipefilter.h:
13062         * gst/elements/gstshaper.c:
13063         * gst/elements/gstshaper.h:
13064         * gst/elements/gststatistics.c:
13065         * gst/elements/gststatistics.h:
13066         * po/POTFILES.in: Remove above files.
13067
13068 2005-05-14  Andy Wingo  <wingo@pobox.com>
13069
13070         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
13071         so as to get the refs right.
13072         (sink_iterator_filter): New function, wraps bin_element_is_sink,
13073         unreffing objects that don't pass the filter.
13074
13075         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
13076         gst_element_set_bus.
13077         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
13078         normal cases, this will destroy the bus.
13079
13080         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
13081         object.
13082
13083         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
13084         has no sinks.
13085
13086 2005-05-13  Andy Wingo  <wingo@pobox.com>
13087
13088         * gst/gstutils.c (gst_element_link_pads): Instead of calling
13089         gst_pad_link, call pad_link_maybe_ghosting,
13090         (pad_link_maybe_ghosting): Links pads, making sure that the
13091         elements being linked are in the same bin.
13092         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
13093         Helpers for pad_link_maybe_ghosting.
13094
13095 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
13096
13097         * configure.ac:
13098           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
13099
13100 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
13101
13102         * docs/design/part-element-source.txt:
13103           Mention GstPushSrc
13104
13105 2005-05-12  Wim Taymans  <wim@fluendo.com>
13106
13107         * gst/base/gstbasesink.c: (gst_basesink_init),
13108         (gst_basesink_activate):
13109         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
13110         (gst_basesrc_is_seekable):
13111         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13112         (bin_element_is_sink), (gst_bin_change_state):
13113         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
13114         * gst/gstelement.h:
13115         Identify sinks by their flag to avoid overly complicated
13116         checks (fow now).
13117         Do state changes even for elements not reachable from the
13118         sinks.
13119         BaseSink is a sink now :)
13120         Some more debugging info in the basesrc.
13121
13122
13123 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13124
13125         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
13126           Implement _query on a bin, similar to _send_event.
13127
13128 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
13129
13130         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
13131           Discont event offset format should be GST_FORMAT_BYTES,
13132           not GST_FORMAT_TIME.
13133
13134 2005-05-12  Wim Taymans  <wim@fluendo.com>
13135
13136         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
13137         Same fix as Ronald's but without the signal. 
13138
13139 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13140
13141         * gst/gstutils.c: (gst_element_query_position):
13142           No, an element is not a pad.
13143
13144 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13145
13146         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
13147         (gst_bin_get_state):
13148           If a child is removed from a bin while we remove the child from
13149           the bin and while we're retrieving its state, signal this to the
13150           get_state function so we abort the wait (instead of waiting for
13151           a timeout) and can immediately re-iterate over all other elements.
13152
13153 2005-05-12  Wim Taymans  <wim@fluendo.com>
13154
13155         * gst/base/Makefile.am:
13156         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
13157         (gst_basesrc_start):
13158         * gst/base/gstbasesrc.h:
13159         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
13160         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
13161         (gst_pushsrc_init), (gst_pushsrc_create):
13162         * gst/base/gstpushsrc.h:
13163         Added is_seekable to BaseSrc
13164         Added simple PushSrc.
13165
13166 2005-05-11  Wim Taymans  <wim@fluendo.com>
13167
13168         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
13169         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13170         (gst_element_link_pads), (gst_element_query_position),
13171         (gst_element_query_convert), (intersect_caps_func),
13172         (gst_pad_query_position), (gst_pad_query_convert):
13173         Fix refcounting in utils function.
13174         No point in trying to activate a pad when it's added, it could
13175         be added from the state change function and then we deadlock, the
13176         element has to decide what to do.
13177
13178 2005-05-10  Andy Wingo  <wingo@pobox.com>
13179
13180         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
13181         *all* the arguments.
13182
13183         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
13184         stream lock if it's a FLUSH_DONE; normal flushes don't get the
13185         lock (according to the docs -- if this is wrong change the docs).
13186
13187         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
13188         flush messages in the NULL state.
13189
13190         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
13191         message immediately and return.
13192         (gst_bus_set_flushing): New function. If a bus is flushing, it
13193         flushes out any queued messages and immediately unrefs new
13194         messages. This is so when an element goes to NULL, all of the
13195         unhandled messages coming from it can be freed, and their
13196         references to the element dropped. In other words: message source
13197         ref considered harmful :P
13198
13199         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
13200         we're finished with it.
13201
13202         * gst/gstmessage.c (gst_message_new_state_changed): 
13203
13204 2005-05-10  Wim Taymans  <wim@fluendo.com>
13205
13206         * gst/gstvalue.c: (gst_value_compare_flags),
13207         (gst_value_serialize_flags), (gst_value_deserialize_flags),
13208         (_gst_value_initialize):
13209         Added flags serialize/deserialize/compare code.
13210
13211 2005-05-09  Andy Wingo  <wingo@pobox.com>
13212
13213         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
13214         Intersect the peer's caps with our caps.
13215
13216 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13217
13218         * gst/base/gsttypefindhelper.c: (helper_find_peek):
13219         * gst/elements/gsttypefindelement.c: (find_peek):
13220           Handle negative offsets better. Fixes decodebin.
13221
13222 2005-05-09  Wim Taymans  <wim@fluendo.com>
13223
13224         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
13225         (gst_base_transform_event):
13226         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
13227         Implement accept_caps.
13228         Fix silly lock/unlock mismatch in base class.
13229
13230 2005-05-09  Wim Taymans  <wim@fluendo.com>
13231
13232         * docs/design/draft-push-pull.txt:
13233         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
13234         * gst/elements/gstfilesink.c: (gst_filesink_init),
13235         (gst_filesink_query):
13236         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
13237         (gst_type_find_handle_src_query), (find_element_get_length):
13238         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
13239         * gst/gstelement.h:
13240         * gst/gstmessage.c:
13241         * gst/gstmessage.h:
13242         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
13243         (gst_real_pad_get_caps_unlocked),
13244         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
13245         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13246         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
13247         (gst_real_pad_dispose), (gst_real_pad_finalize),
13248         (gst_pad_load_and_link), (gst_pad_save_thyself),
13249         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
13250         (gst_pad_check_pull_range), (gst_pad_pull_range),
13251         (gst_pad_template_get_type), (gst_pad_template_class_init),
13252         (gst_pad_template_init), (gst_pad_template_dispose),
13253         (name_is_valid), (gst_static_pad_template_get),
13254         (gst_pad_template_new), (gst_static_pad_template_get_caps),
13255         (gst_pad_template_get_caps), (gst_pad_set_element_private),
13256         (gst_pad_get_element_private), (gst_pad_start_task),
13257         (gst_pad_pause_task), (gst_pad_stop_task),
13258         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
13259         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
13260         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
13261         (gst_ghost_pad_new):
13262         * gst/gstpad.h:
13263         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
13264         (gst_query_new_position), (gst_query_set_position),
13265         (gst_query_parse_position), (gst_query_new_convert),
13266         (gst_query_set_convert), (gst_query_parse_convert):
13267         * gst/gstquery.h:
13268         * gst/gstqueryutils.c:
13269         * gst/gstqueryutils.h:
13270         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13271         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
13272         (gst_queue_handle_src_query):
13273         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13274         (gst_element_query_position), (gst_element_query_convert),
13275         (intersect_caps_func), (gst_pad_query_position),
13276         (gst_pad_query_convert):
13277         * gst/gstutils.h:
13278         * tools/gst-inspect.c: (print_pad_info):
13279         * tools/gst-xmlinspect.c: (print_element_info):
13280         Remove old query functions. Ported old code.
13281         Added position/convert helper functions to gstutils.
13282         Reordered gstpad.c code, grouping relevant things.
13283         Remove gst_message_new(), always need to speficy a specific
13284         message.
13285
13286
13287 2005-05-09  Andy Wingo  <wingo@pobox.com>
13288
13289         * gst/gstiterator.h: Add some includes.
13290
13291         * gst/gstqueryutils.h: Include more headers.
13292
13293         * gst/gstpad.h:
13294         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
13295         some uses of gst_pad_query.
13296
13297         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
13298         NULL out parameters.
13299         (gst_query_new_position): New proc, allocates a new position
13300         query.
13301
13302         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
13303         gstqueryutils.c to the build.
13304
13305         * gst/gststructure.c (gst_structure_set_valist): Implement with
13306         the generic G_VALUE_COLLECT.
13307         
13308 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
13309
13310         * gst/Makefile.am: (gst_headers):
13311         Added gstqueryutils.h to the list of headers to install, that was
13312         a 'nachty' move wingo :)
13313
13314 2005-05-06  Andy Wingo  <wingo@pobox.com>
13315
13316         * gst/gstquery.h
13317         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
13318         GstData, init a memchunk.
13319         (standard_definitions): Add a few query types, deprecate a few.
13320         (gst_query_get_type): New proc.
13321         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
13322         implementation.
13323         (gst_query_new_application, gst_query_get_structure): New public
13324         procs.
13325
13326         * docs/design/draft-query.txt: Removed LINKS from the query types,
13327         because all the rest can be dispatched to other pads -- seemed
13328         ugly to have a query that couldn't be dispatched. internal_links
13329         is fine as a pad method.
13330
13331         * gst/gstpad.h: Add query2 as a pad method, add the new functions
13332         in gstpad.c, but maintain binary compatibility for the moment.
13333         Will fix before 0.9 is out.
13334
13335         * gst/gstqueryutils.c: 
13336         * gst/gstqueryutils.h: New files, implement 3 methods for each
13337         query type: parse_query, parse_response, and set. Probably need an
13338         allocator as well.
13339
13340         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
13341
13342         * gst/elements/gstfilesink.c (gst_filesink_query2):
13343         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
13344         query_types, and formats methods.
13345
13346         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
13347         (gst_pad_set_query2_function): New functions.
13348         (gst_real_pad_init): Set query2_default as the default query2
13349         function. Basically just dispatches to internally linked pads.
13350
13351         Needs review!
13352         
13353         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
13354         without using the atomic operations. Only one thread can possibly
13355         be accessing the data at this point. Changed so as to avoid
13356         gst_atomic operations.
13357
13358 2005-05-06  Wim Taymans  <wim@fluendo.com>
13359
13360         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
13361         Also set caps if we use the fallback buffer alloc.
13362
13363 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
13364
13365         * docs/gst/Makefile.am:
13366         * docs/gst/gstreamer-docs.sgml:
13367         * docs/gst/gstreamer-sections.txt:
13368         * docs/gst/tmpl/gstatomic.sgml:
13369         * docs/gst/tmpl/gstmemchunk.sgml:
13370         * testsuite/elements/struct_i386.h:
13371         * win32/GStreamer.vcproj:
13372         * win32/Makefile:
13373           Purge GstAtomic stuff from docs and win32 makefiles as well
13374
13375 2005-05-06  Wim Taymans  <wim@fluendo.com>
13376
13377         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
13378         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
13379         * gst/gstpad.c: (gst_pad_peer_get_caps):
13380         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13381         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
13382         (gst_queue_src_activate), (gst_queue_change_state):
13383         * gst/gstqueue.h:
13384         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13385         (intersect_caps_func):
13386         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
13387         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
13388         Some fixes for the peer_get_caps() change.
13389
13390 2005-05-06  Wim Taymans  <wim@fluendo.com>
13391
13392         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
13393         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
13394         (gst_basesink_activate):
13395         Actually do something with error codes returned from the push
13396         functions.
13397
13398 2005-05-06  Wim Taymans  <wim@fluendo.com>
13399
13400         * docs/design/part-element-sink.txt:
13401         * docs/design/part-element-source.txt:
13402         * gst/base/gstbasesink.c: (gst_basesink_class_init),
13403         (gst_basesink_event), (gst_basesink_activate):
13404         * gst/base/gstbasesink.h:
13405         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
13406         (gst_basesrc_activate):
13407         * gst/base/gstbasesrc.h:
13408         * gst/gstelement.c: (gst_element_pads_activate):
13409         Some more documentation.
13410         Fixed scheduling decision in _pads_activate().
13411
13412 2005-05-05  Andy Wingo  <wingo@pobox.com>
13413
13414         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
13415         the test suite.
13416
13417 2005-05-05  Wim Taymans  <wim@fluendo.com>
13418
13419         * gst/base/Makefile.am:
13420         * gst/base/gstbasesink.h:
13421         * gst/base/gstbasesrc.c: (gst_basesrc_init),
13422         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
13423         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
13424         (gst_collectpads_class_init), (gst_collectpads_init),
13425         (gst_collectpads_finalize), (gst_collectpads_new),
13426         (gst_collectpads_set_function), (gst_collectpads_add_pad),
13427         (find_pad), (gst_collectpads_remove_pad),
13428         (gst_collectpads_is_active), (gst_collectpads_collect),
13429         (gst_collectpads_collect_range), (gst_collectpads_start),
13430         (gst_collectpads_stop), (gst_collectpads_peek),
13431         (gst_collectpads_pop), (gst_collectpads_available),
13432         (gst_collectpads_read), (gst_collectpads_flush),
13433         (gst_collectpads_chain):
13434         * gst/base/gstcollectpads.h:
13435         * gst/elements/Makefile.am:
13436         * gst/elements/gstelements.c:
13437         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13438         (gst_fakesink_get_times), (gst_fakesink_event),
13439         (gst_fakesink_preroll), (gst_fakesink_render):
13440         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
13441         (gst_filesink_init), (gst_filesink_set_location),
13442         (gst_filesink_open_file), (gst_filesink_close_file),
13443         (gst_filesink_pad_query), (gst_filesink_event),
13444         (gst_filesink_render), (gst_filesink_change_state):
13445         * gst/elements/gstfilesink.h:
13446         Added object to help in making collect pad based elements.
13447         Ported filesink.
13448         Make event function in sink baseclass return gboolean.
13449
13450 2005-05-05  Wim Taymans  <wim@fluendo.com>
13451
13452         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
13453         (gst_bin_get_by_name):
13454         * gst/gstbuffer.h:
13455         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
13456         (gst_clock_finalize):
13457         * gst/gstdata.c: (gst_data_replace):
13458         * gst/gstdata.h:
13459         * gst/gstelement.c: (gst_element_request_pad),
13460         (gst_element_pads_activate):
13461         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
13462         (gst_object_unref):
13463         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13464         (gst_pad_set_checkgetrange_function),
13465         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
13466         (gst_pad_check_pull_range), (gst_pad_pull_range),
13467         (gst_static_pad_template_get_caps), (gst_pad_start_task),
13468         (gst_pad_pause_task), (gst_pad_stop_task):
13469         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13470         (gst_element_request_pad), (gst_pad_proxy_getcaps):
13471         Fix name lookup in GstBin.
13472         Added _data_replace() function and _buffer_replace()
13473         Use finalize method to clean up clock.
13474         Fix refcounting on request pads.
13475         Fix pad schedule mode error.
13476         Some more object refcounting debug info,
13477
13478
13479 2005-05-04  Andy Wingo <wingo@pobox.com>
13480
13481         * check/Makefile.am:
13482         * docs/gst/tmpl/gstatomic.sgml:
13483         * docs/gst/tmpl/gstplugin.sgml:
13484         * gst/base/gstbasesink.c: (gst_basesink_activate):
13485         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
13486         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
13487         (gst_basesrc_query), (gst_basesrc_set_property),
13488         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
13489         (gst_basesrc_activate):
13490         * gst/base/gstbasesrc.h:
13491         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
13492         (gst_base_transform_src_activate):
13493         * gst/elements/gstelements.c:
13494         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13495         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
13496         * gst/elements/gsttee.c: (gst_tee_sink_activate):
13497         * gst/elements/gsttypefindelement.c: (find_element_get_length),
13498         (gst_type_find_element_checkgetrange),
13499         (gst_type_find_element_activate):
13500         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
13501         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
13502         (gst_caps_load_thyself):
13503         * gst/gstelement.c: (gst_element_pads_activate),
13504         (gst_element_save_thyself), (gst_element_restore_thyself):
13505         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
13506         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
13507         * gst/gstpad.h:
13508         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
13509         (gst_xml_parse_file), (gst_xml_parse_memory),
13510         (gst_xml_get_element), (gst_xml_make_element):
13511         * gst/indexers/gstfileindex.c: (gst_file_index_load),
13512         (_file_index_id_save_xml), (gst_file_index_commit):
13513         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
13514         (read_enum), (load_pad_template), (load_feature), (load_plugin),
13515         (load_paths):
13516         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
13517         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
13518         * tools/gst-complete.c: (main):
13519         * tools/gst-compprep.c: (main):
13520         * tools/gst-inspect.c: (print_element_properties_info):
13521         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
13522         * tools/gst-xmlinspect.c: (print_element_properties):
13523         GCC 4 fixen.
13524         
13525 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13526
13527         * gst/gstplugin.c: (gst_plugin_check_module),
13528         (gst_plugin_check_file), (gst_plugin_load_file):
13529             apply patch from #172526 to make register work on MacOSX
13530
13531 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13532
13533         * docs/gst/tmpl/gstconfig.sgml:
13534         * gst/gstconfig.h.in:
13535           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
13536         * testsuite/debug/printf_extension.c: (main):
13537           Do not use GST_PTR_FORMAT on pointers to types with
13538           sizeof < sizeof(gpointer).  Fixes test on 64-bit
13539         * testsuite/elements/property.h:
13540           use correct printf format
13541
13542 2005-05-02  Wim Taymans  <wim@fluendo.com>
13543
13544         * docs/design/draft-push-pull.txt:
13545         * docs/design/draft-query.txt:
13546         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
13547         (gst_basesrc_start):
13548         Added draft for new query API.
13549         Added draft for better selecting scheduling methods.
13550         Make basesrc ignore length if the subclass does not support
13551         it.
13552
13553 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13554
13555         * gst/Makefile.am:
13556           possible fixes for automake-1.5 - _LIBADD is reserved
13557
13558 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13559
13560         * docs/faq/Makefile.am:
13561         * docs/manual/Makefile.am:
13562         * docs/manuals.mak:
13563         * docs/pwg/Makefile.am:
13564         * gst/Makefile.am:
13565           possible fixes for automake-1.5
13566
13567 2005-04-28  Wim Taymans  <wim@fluendo.com>
13568
13569         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13570         (gst_basesink_pad_getcaps), (gst_basesink_init),
13571         (gst_basesink_do_sync):
13572         * gst/gstclock.c: (gst_clock_entry_new):
13573         * gst/gstevent.c: (gst_event_discont_get_value):
13574         * gst/gstpipeline.c: (pipeline_bus_handler),
13575         (gst_pipeline_change_state):
13576         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
13577         Better debugging of clocking info.
13578         Allow NULL values when getting discont values.
13579
13580 2005-04-27  Wim Taymans  <wim@fluendo.com>
13581
13582         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13583         * check/gst/gstpad.c: (gst_pad_suite):
13584         Increase timeout for checks.
13585
13586 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13587
13588         * check/Makefile.am:
13589           fix the broken rule for cleanup.  Apparently this rule is
13590           only needed on FC2, so maybe this warrants further autotool
13591           inspection.
13592
13593 2005-04-26  Wim Taymans  <wim@fluendo.com>
13594
13595         * gst/gsttrashstack.h:
13596         Ooohh. a nasty one! After having a failed pop() from the stack,
13597         it's possible that the stack is empty. In that case, don't
13598         follow the NULL pointer.
13599
13600 2005-04-25  Wim Taymans  <wim@fluendo.com>
13601
13602         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13603         (gst_pad_set_checkgetrange_function),
13604         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
13605         (gst_pad_check_pull_range), (gst_pad_pull_range),
13606         (gst_static_pad_template_get_caps), (gst_pad_start_task),
13607         (gst_pad_pause_task), (gst_pad_stop_task):
13608         * gst/gstplugin.c: (gst_plugin_load):
13609         * gst/gstplugin.h:
13610         Remove gst_library_load as it does more harm than good with
13611         the new g_module flags.
13612         Revert bogus caps template check in pad linking, pad caps
13613         are important when linking not the template, which is more
13614         general than the current caps.
13615
13616 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13617
13618         * gst/autoplug/.cvsignore:
13619         * gst/autoplug/Makefile.am:
13620         * gst/autoplug/gstsearchfuncs.c:
13621         * gst/autoplug/gstsearchfuncs.h:
13622         * gst/autoplug/gstspider.c:
13623         * gst/autoplug/gstspider.h:
13624         * gst/autoplug/gstspideridentity.c:
13625         * gst/autoplug/gstspideridentity.h:
13626         * gst/autoplug/spidertest.c:
13627           Die, spider, die.
13628
13629 2005-04-25  Wim Taymans  <wim@fluendo.com>
13630
13631         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13632         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
13633         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
13634         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
13635         * gst/gstpad.h:
13636         Added stubs for unimplemented functions. 
13637
13638 2005-04-24  David Schleef  <ds@schleef.org>
13639
13640         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
13641         please fix.
13642
13643 2005-04-24  David Schleef  <ds@schleef.org>
13644
13645         Convert everything from GstAtomicInt to g_atomic_int_*, and
13646         remove gstatomic.
13647         * gst/Makefile.am:
13648         * gst/gstatomic.c:
13649         * gst/gstatomic.h:
13650         * gst/gstatomic_impl.h:
13651         * gst/gstbuffer.c:
13652         * gst/gstcaps.c:
13653         * gst/gstcaps.h:
13654         * gst/gstclock.c:
13655         * gst/gstclock.h:
13656         * gst/gstdata.c:
13657         * gst/gstdata.h:
13658         * gst/gstdata_private.h:
13659         * gst/gstevent.c:
13660         * gst/gstinfo.c:
13661         * gst/gstinfo.h:
13662         * gst/gstmessage.c:
13663         * gst/gstobject.c:
13664         * gst/gstobject.h:
13665         * gst/gststructure.c:
13666         * gst/gststructure.h:
13667         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
13668         * gst/gstutils.h:
13669
13670 2005-04-24  David Schleef  <ds@schleef.org>
13671
13672         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
13673         make the regressions tests work.  Remove some code that is no
13674         longer true.
13675         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
13676         Disable warning for pads without templates.
13677
13678 2005-04-24  David Schleef  <ds@schleef.org>
13679
13680         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
13681         functions that handle filtered links.
13682         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
13683         removed functions.
13684         * gst/gstutils.c: Fix/remove utility functions that handle
13685         filtered caps.
13686         * gst/gstutils.h:
13687         * gst/gstvalue.c: Add serialization/deserialization of caps
13688         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
13689         requires fixing so that the filter caps notation creates
13690         a capsfilter element and sets the filter_caps property.  I
13691         think everyone probably wants to keep the shorthand notation.
13692         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
13693         * docs/gst/tmpl/gstpad.sgml:
13694
13695         * gst/elements/gstelements.c: Register capsfilter element.
13696         * gst/Makefile.am: fix spacing
13697         * docs/random/ds/0.9-suggested-changes: random
13698
13699 2005-04-23  David Schleef  <ds@schleef.org>
13700
13701         * gst/elements/Makefile.am:
13702         * gst/elements/gstcapsfilter.c: New element that acts like an
13703         identity, but filters caps.  Will eventually replace filtered
13704         caps in pad linking.
13705         * gst/gstutils.c: (gst_element_create_all_pads): New function
13706         to create all the ALWAYS pads that are registered with an
13707         element class.  This functionality should eventually be
13708         merged in with GstElement initialization.
13709         * gst/gstutils.h:
13710         * testsuite/trigger/README: part of trigger test code that should
13711         have been checked in a long time ago.
13712
13713 2005-04-23  David Schleef  <ds@schleef.org>
13714
13715         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
13716         needed with new versions of libtool (nobody will confirm this),
13717         and hard to carry around.
13718         * gst/autoplug/Makefile.am:
13719         * gst/base/Makefile.am:
13720         * gst/elements/Makefile.am:
13721         * gst/indexers/Makefile.am:
13722         * gst/schedulers/Makefile.am:
13723         * libs/gst/bytestream/Makefile.am:
13724         * libs/gst/control/Makefile.am:
13725         * libs/gst/dataprotocol/Makefile.am:
13726         * libs/gst/getbits/Makefile.am:
13727
13728 2005-04-21  Wim Taymans  <wim@fluendo.com>
13729
13730         * docs/design/draft-push-pull.txt:
13731         * docs/design/part-MT-refcounting.txt:
13732         * docs/design/part-TODO.txt:
13733         * docs/design/part-caps.txt:
13734         * docs/design/part-events.txt:
13735         * docs/design/part-gstbus.txt:
13736         * docs/design/part-gstpipeline.txt:
13737         * docs/design/part-messages.txt:
13738         * docs/design/part-push-pull.txt:
13739         * docs/design/part-query.txt:
13740         Some more docs.
13741
13742 2005-04-21  Wim Taymans  <wim@fluendo.com>
13743
13744         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
13745         (gst_message_new), (gst_message_new_error),
13746         (gst_message_new_warning), (gst_message_new_tag),
13747         (gst_message_new_state_changed), (gst_message_new_application),
13748         (gst_message_get_structure):
13749         * gst/gstmessage.h:
13750         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13751         (gst_structure_copy_conditional):
13752         Use parent refcount in GstMessage to ensure GstStructure
13753         consistency.
13754         Cleaned up headers a bit.
13755         
13756
13757 2005-04-20  Wim Taymans  <wim@fluendo.com>
13758
13759         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13760         (gst_basesink_pad_getcaps), (gst_basesink_init),
13761         (gst_basesink_chain_unlocked):
13762         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
13763         (gst_type_find_helper):
13764         * gst/elements/gsttypefindelement.c:
13765         (gst_type_find_element_have_type), (gst_type_find_element_init),
13766         (stop_typefinding), (gst_type_find_element_handle_event),
13767         (find_suggest), (gst_type_find_element_chain),
13768         (gst_type_find_element_checkgetrange),
13769         (gst_type_find_element_getrange), (do_typefind),
13770         (gst_type_find_element_activate):
13771         * gst/gstbuffer.c: (_gst_buffer_sub_free),
13772         (gst_buffer_default_free), (gst_buffer_default_copy),
13773         (gst_buffer_set_caps):
13774         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
13775         (gst_caps_replace):
13776         * gst/gstmessage.c: (gst_message_new),
13777         (gst_message_new_state_changed):
13778         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13779         (gst_pad_set_checkgetrange_function),
13780         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
13781         (gst_pad_set_caps), (gst_pad_check_pull_range),
13782         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
13783         * gst/gstpad.h:
13784         * gst/gsttypefind.c: (gst_type_find_register):
13785         Make gst_caps_replace() work like other _replace() functions.
13786         Use _caps_replace() where possible.
13787         Make sure _message_new() initialises its field.
13788         Add gst_static_pad_template_get_caps()
13789
13790
13791 2005-04-18  Andy Wingo  <wingo@pobox.com>
13792
13793         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
13794         on the peer, not the pad. I think that was a typo. Pass an extra
13795         arg to see if random access is possible. Activate the pads as
13796         PULL_RANGE if possible.
13797
13798         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
13799
13800         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
13801         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
13802         to PROP_....
13803
13804 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13805
13806         * docs/faq/using.xml:
13807           Add note on gstreamer-properties (#154996).
13808
13809 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13810
13811         * docs/random/bbb/optional-properties:
13812           Some analysis on optional properties.
13813
13814 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13815
13816         * docs/gst/tmpl/gstelementfactory.sgml:
13817         * gst/gstelement.h:
13818         * gst/gstelementfactory.c: (gst_element_factory_init),
13819         (gst_element_factory_cleanup), (gst_element_register),
13820         (__gst_element_factory_add_static_pad_template),
13821         (gst_element_factory_get_static_pad_templates),
13822         (gst_element_factory_can_src_caps),
13823         (gst_element_factory_can_sink_caps):
13824         * gst/registries/Makefile.am:
13825         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
13826         (gst_xml_registry_class_init), (gst_xml_registry_init),
13827         (gst_xml_registry_new), (gst_xml_registry_set_property),
13828         (gst_xml_registry_get_property), (get_time), (make_dir),
13829         (gst_xml_registry_get_perms_func),
13830         (plugin_times_older_than_recurse), (plugin_times_older_than),
13831         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
13832         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
13833         (add_to_char_array), (read_string), (read_uint), (read_enum),
13834         (load_pad_template), (load_feature), (load_plugin), (load_paths),
13835         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
13836         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
13837         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
13838         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
13839         (gst_xml_registry_rebuild):
13840         * gst/registries/gstlibxmlregistry.h:
13841         * tools/gst-compprep.c: (main):
13842         * tools/gst-inspect.c: (print_pad_templates_info):
13843         * tools/gst-xmlinspect.c: (print_element_info):
13844           Use libxml2 for registry parsing, use staticpadtemplates in
13845           elementfactories. Makes gst_init() +/- 10x faster.
13846
13847 2005-04-12  Wim Taymans  <wim@fluendo.com>
13848
13849         * gst/base/Makefile.am:
13850         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13851         (gst_basesink_pad_getcaps), (gst_basesink_init),
13852         (gst_basesink_event), (gst_basesink_change_state):
13853         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13854         (gst_basesrc_init), (gst_basesrc_query),
13855         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
13856         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
13857         (gst_basesrc_check_get_range), (gst_basesrc_loop),
13858         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
13859         (gst_basesrc_stop), (gst_basesrc_activate),
13860         (gst_basesrc_change_state):
13861         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13862         (helper_find_suggest), (gst_type_find_helper):
13863         * gst/base/gsttypefindhelper.h:
13864         * gst/elements/Makefile.am:
13865         * gst/elements/gstelements.c:
13866         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13867         (gst_fakesink_get_times), (gst_fakesink_event),
13868         (gst_fakesink_preroll), (gst_fakesink_render):
13869         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13870         (gst_fakesrc_init), (gst_fakesrc_event_handler),
13871         (gst_fakesrc_get_property), (gst_fakesrc_create),
13872         (gst_fakesrc_start), (gst_fakesrc_stop):
13873         * gst/elements/gstfakesrc.h:
13874         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
13875         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
13876         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
13877         (gst_filesrc_create_read), (gst_filesrc_create),
13878         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
13879         (gst_filesrc_start):
13880         * gst/elements/gsttypefindelement.c:
13881         (gst_type_find_element_have_type), (gst_type_find_element_init),
13882         (start_typefinding), (stop_typefinding), (push_buffer_store),
13883         (gst_type_find_element_handle_event),
13884         (gst_type_find_element_chain),
13885         (gst_type_find_element_checkgetrange),
13886         (gst_type_find_element_getrange), (do_typefind),
13887         (gst_type_find_element_activate),
13888         (gst_type_find_element_change_state):
13889         * gst/elements/gsttypefindelement.h:
13890         * gst/gstpipeline.c: (pipeline_bus_handler):
13891         Added typefind helper.
13892         Small preroll fix in the base sink.
13893         Disable typefind code in basesrc.
13894         Crude port of typefindelement.
13895         Fakesrc cleanups.
13896
13897
13898 2005-04-11  Wim Taymans  <wim@fluendo.com>
13899
13900         * check/gst/gstbus.c: (gstbus_suite):
13901         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
13902         * check/gstcheck.h:
13903           Fix up the timeout so that the test does not fail.
13904
13905 2005-04-06  Wim Taymans  <wim@fluendo.com>
13906
13907         * gst/base/README:
13908         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13909         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
13910         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
13911         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
13912         (gst_basesrc_check_get_range), (gst_basesrc_loop),
13913         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
13914         (gst_basesrc_stop), (gst_basesrc_activate),
13915         (gst_basesrc_change_state), (basesrc_find_peek),
13916         (basesrc_find_suggest), (gst_basesrc_type_find):
13917         * gst/base/gstbasesrc.h:
13918         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
13919         (gst_filesrc_class_init), (gst_filesrc_init),
13920         (gst_filesrc_finalize), (gst_filesrc_set_location),
13921         (gst_filesrc_set_property), (gst_filesrc_get_property),
13922         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
13923         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
13924         (gst_filesrc_create_read), (gst_filesrc_create),
13925         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
13926         * gst/elements/gstfilesrc.h:
13927         * gst/gstelement.c: (gst_element_get_state_func),
13928         (gst_element_lost_state), (gst_element_pads_activate):
13929         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13930         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
13931         (gst_pad_pull_range):
13932         * gst/gstpad.h:
13933         More work on the generic source base class, implement seeking,
13934         query.
13935         Make filesrc extend the base source class.
13936         Added gst_pad_set_checkgetrange_function to GstPad.
13937
13938 2005-04-06  Andy Wingo  <wingo@pobox.com>
13939
13940         * pkgconfig/gstreamer-base.pc.in:
13941         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
13942
13943         * pkgconfig/Makefile.am:
13944         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
13945
13946 2005-04-04  Wim Taymans  <wim@fluendo.com>
13947
13948         * gst/base/Makefile.am:
13949         * gst/base/README:
13950         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13951         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
13952         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
13953         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
13954         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13955         (gst_basesrc_base_init), (gst_basesrc_class_init),
13956         (gst_basesrc_init), (gst_basesrc_get_formats),
13957         (gst_basesrc_get_query_types), (gst_basesrc_query),
13958         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
13959         (gst_basesrc_set_property), (gst_basesrc_get_property),
13960         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
13961         (gst_basesrc_loop), (gst_basesrc_activate),
13962         (gst_basesrc_change_state):
13963         * gst/base/gstbasesrc.h:
13964         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
13965         (gst_fakesrc_class_init), (gst_fakesrc_init),
13966         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
13967         (gst_fakesrc_get_property), (gst_fakesrc_create):
13968         * gst/elements/gstfakesrc.h:
13969         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
13970         (gst_filesrc_open_file), (gst_filesrc_loop),
13971         (gst_filesrc_activate), (filesrc_find_peek),
13972         (gst_filesrc_type_find):
13973         Made base source class, make fakesrc extend it.
13974         Add comments to basesink class.
13975         Some filesrc cleanup.
13976
13977 2005-03-31  David Schleef  <ds@schleef.org>
13978
13979         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
13980         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
13981         expected to link against libgstreamer.
13982         * gst/base/Makefile.am: link against libgstreamer
13983         * gst/elements/Makefile.am: same
13984
13985 2005-03-31  Andy Wingo  <wingo@pobox.com>
13986
13987         * tests/instantiate/Makefile.am:
13988         * tests/instantiate/caps.c: Add test to test speed of caps copy
13989         and free.
13990
13991         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
13992         GMemChunk to be fair.
13993
13994         * gst/gsttrashstack.h: Remove warning about using the fallback
13995         trash stack implementation, it's still faster than malloc.
13996
13997 2005-03-30  Andy Wingo  <wingo@pobox.com>
13998
13999         * tests/complexity.c: Add a copyright.
14000
14001 2005-03-31  Wim Taymans  <wim@fluendo.com>
14002
14003         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
14004         (gst_base_transform_class_init), (gst_base_transform_init),
14005         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
14006         (gst_base_transform_get_property),
14007         (gst_base_transform_sink_activate),
14008         (gst_base_transform_src_activate),
14009         (gst_base_transform_change_state):
14010         * gst/base/gstbasetransform.h:
14011         * gst/elements/gstidentity.c: (gst_identity_class_init),
14012         (gst_identity_event), (gst_identity_check_perfect),
14013         (gst_identity_transform), (gst_identity_start),
14014         (gst_identity_stop):
14015         Added start/stop methods to transform base class so subclasses 
14016         don't need to deal with state changes even.
14017
14018 2005-03-31  Wim Taymans  <wim@fluendo.com>
14019
14020         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
14021         (gst_event_new_discontinuous), (gst_event_discont_get_value):
14022         * gst/gstevent.h:
14023         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14024         (gst_pad_pull_range):
14025         Added rate to the discont event to prepare for variable speed
14026         and reverse playback.
14027
14028 2005-03-29  David Schleef  <ds@schleef.org>
14029
14030         * configure.ac:
14031         * testsuite/trigger/Makefile.am:
14032         * testsuite/trigger/trigger.c: A little example program to show
14033         how trigger-based elements can work.
14034
14035 2005-03-29  Wim Taymans  <wim@fluendo.com>
14036
14037         * gst/base/Makefile.am:
14038         * gst/base/README:
14039         * gst/base/gstbasesink.c: (gst_basesink_get_type),
14040         (gst_basesink_base_init), (gst_basesink_class_init),
14041         (gst_basesink_pad_getcaps), (gst_basesink_init),
14042         (gst_basesink_activate), (gst_basesink_change_state):
14043         * gst/base/gstbasesink.h:
14044         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
14045         (gst_base_transform_base_init), (gst_base_transform_finalize),
14046         (gst_base_transform_class_init), (gst_base_transform_init),
14047         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
14048         (gst_base_transform_event), (gst_base_transform_getrange),
14049         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
14050         (gst_base_transform_set_property),
14051         (gst_base_transform_get_property),
14052         (gst_base_transform_sink_activate),
14053         (gst_base_transform_src_activate),
14054         (gst_base_transform_change_state):
14055         * gst/base/gstbasetransform.h:
14056         * gst/elements/gstidentity.c: (gst_identity_finalize),
14057         (gst_identity_class_init), (gst_identity_init),
14058         (gst_identity_event), (gst_identity_check_perfect),
14059         (gst_identity_transform), (gst_identity_set_property),
14060         (gst_identity_get_property), (gst_identity_change_state):
14061         * gst/elements/gstidentity.h:
14062         * gst/gstelement.c: (gst_element_get_state_func),
14063         (gst_element_lost_state), (gst_element_pads_activate):
14064         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14065         (gst_pad_check_pull_range), (gst_pad_pull_range):
14066         * gst/gstpad.h:
14067         Simplify pad activation.
14068         Added function to check if pull_range can be performed.
14069         Error out when pulling inactive or flushing pads.
14070         Removed const from refcounted types as it does not make sense.
14071         Simplify pad templates in basesink
14072         Added base class for simple 1-to-1 transforms.
14073         Make identity subclass the base transform.
14074
14075 2005-03-29  Andy Wingo  <wingo@pobox.com>
14076
14077         * docs/libs/gstreamer-libs-overrides.txt: 
14078         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
14079         really don't understand what's going on, but like whatever. I want
14080         green buildbot!
14081
14082         * docs/gst/Makefile.am:
14083         * docs/libs/Makefile.am: Dist the overrides files.
14084
14085         * check/Makefile.am (clean-local): Remove .libs directories.
14086
14087         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
14088         elements to EXTRA_DIST, so po/ files are happy.
14089
14090         * po/POTFILES.in: Er, remove it here.
14091
14092         * po/POTFILES: Remove gstspider.c.
14093
14094         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
14095
14096         * docs/libs/gstreamer-libs-docs.sgml: 
14097         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
14098         bytestream.
14099
14100         * tests/complexity.c (main): Set the length of the preroll queue
14101         on the sinks to prevent a lockup.
14102
14103         * libs/gst/dataprotocol/Makefile.am: 
14104         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
14105         the same as the one in check/gst-libs/gdp.c.
14106
14107         * po/, docs/gst/: Commit automatic changes to docs and po files.
14108
14109         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
14110         the versioned libgstbase.
14111
14112         * check/Makefile.am: Depend on an unversioned gst-register, seems
14113         to make autoconf happier.
14114
14115         * gst/base/Makefile.am: Make libgstbase a versioned lib.
14116
14117 2005-03-28  Wim Taymans  <wim@fluendo.com>
14118
14119         * configure.ac:
14120         * docs/design/part-gstelement.txt:
14121         * docs/design/part-negotiation.txt:
14122         * docs/design/part-preroll.txt:
14123         * docs/design/part-scheduling.txt:
14124         * docs/design/part-states.txt:
14125         * gst/Makefile.am:
14126         * gst/base/Makefile.am:
14127         * gst/base/README:
14128         * gst/base/gstbasesink.c: (gst_basesink_get_template),
14129         (gst_basesink_base_init), (gst_basesink_class_init),
14130         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
14131         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
14132         (gst_basesink_set_pad_functions),
14133         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
14134         (gst_basesink_set_property), (gst_basesink_get_property),
14135         (gst_base_sink_get_template), (gst_base_sink_get_caps),
14136         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
14137         (gst_basesink_preroll_queue_push),
14138         (gst_basesink_preroll_queue_empty),
14139         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
14140         (gst_basesink_event), (gst_basesink_get_times),
14141         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
14142         (gst_basesink_chain_unlocked), (gst_basesink_chain),
14143         (gst_basesink_loop), (gst_basesink_activate),
14144         (gst_basesink_change_state):
14145         * gst/base/gstbasesink.h:
14146         * gst/elements/Makefile.am:
14147         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
14148         (gst_fakesink_class_init), (gst_fakesink_init),
14149         (gst_fakesink_set_property), (gst_fakesink_get_property),
14150         (gst_fakesink_get_times), (gst_fakesink_event),
14151         (gst_fakesink_preroll), (gst_fakesink_render),
14152         (gst_fakesink_change_state):
14153         * gst/elements/gstfakesink.h:
14154         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
14155         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
14156         * gst/gstelement.c: (gst_element_add_pad),
14157         (gst_element_get_state_func), (gst_element_abort_state),
14158         (gst_element_commit_state), (gst_element_lost_state),
14159         (gst_element_set_state), (gst_element_pads_activate):
14160         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
14161         * gst/gstpipeline.c: (gst_pipeline_send_event),
14162         (gst_pipeline_change_state):
14163         Added state change code.
14164         Added/updated docs.
14165         Added sink base class, make fakesink extend the base class.
14166         Small cleanups in GstPipeline.
14167
14168 2005-03-26  David Schleef  <ds@schleef.org>
14169
14170         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
14171         is broken and should be implemented in a different library.
14172         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
14173         * gst/gst.h: remove gstcpu.h
14174         * gst/gstcpu.c: remove
14175         * gst/gstcpu.h: remove
14176         * gst/Makefile.am.future: Remove this file.  It's ancient.
14177
14178 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14179
14180         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
14181         (gst_bin_send_event):
14182           Add default event/set_manager handlers. The set_manager handler
14183           takes care that the manager is distributed over kids that were
14184           already in the bin before the manager was set. The event handler
14185           is a utility virtual function that sends the event over all sinks,
14186           so that gst_element_send_event (bin, event); has the expected
14187           behaviour.
14188         * gst/gstpad.c: (gst_pad_event_default):
14189           Re-install default event handling for discontinuities, so that
14190           seeking works without requiring hacks in applications or extra
14191           code in sinks.
14192         * gst/gstpipeline.c: (gst_pipeline_class_init),
14193         (gst_pipeline_send_event):
14194           Half hack, half utility: set a pipeline to PAUSED for seek events,
14195           since that is the only way we can guarantee a/v sync. Means that
14196           you can do gst_element_seek (pipeline, method, pos); on a pipeline
14197           and it "just works".
14198
14199 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14200
14201         * gst/gstpipeline.c: (gst_pipeline_use_clock):
14202           Lock/unlock mismatch.
14203
14204 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14205
14206         * docs/faq/gst-uninstalled:
14207           add gst-plugins-base
14208         * docs/gst/Makefile.am:
14209           don't error out until docs are fixed
14210         * docs/gst/gstreamer.types:
14211           remove thread
14212
14213 2005-03-22  Wim Taymans  <wim@fluendo.com>
14214
14215         * check/Makefile.am:
14216         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
14217         * gst/gststructure.c: (gst_structure_set_valist),
14218         (gst_structure_copy_conditional):
14219         Activated more tests.
14220         Added message test.
14221         Added G_TYPE_POINTER to GstStructure.
14222         
14223
14224 2005-03-22  Wim Taymans  <wim@fluendo.com>
14225
14226         * docs/design/part-TODO.txt:
14227         * docs/design/part-events.txt:
14228         * docs/design/part-gstbin.txt:
14229         * docs/design/part-gstbus.txt:
14230         * docs/design/part-gstpipeline.txt:
14231         * docs/design/part-messages.txt:
14232         * gst/gstbus.c:
14233         * gst/gstmessage.c:
14234         Docs updates
14235
14236 2005-03-21  Wim Taymans  <wim@fluendo.com>
14237
14238         * gst/gstbus.c: (gst_bus_post):
14239         Fix copy-and-paste error.
14240
14241 2005-03-21  Wim Taymans  <wim@fluendo.com>
14242
14243         * check/Makefile.am:
14244         * gst/Makefile.am:
14245         * gst/elements/Makefile.am:
14246         * gst/elements/gstelements.c:
14247         * gst/elements/gstfakesink.c: (gst_fakesink_init),
14248         (gst_fakesink_event), (gst_fakesink_chain):
14249         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14250         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
14251         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
14252         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
14253         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
14254         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
14255         (gst_fakesrc_loop), (gst_fakesrc_activate),
14256         (gst_fakesrc_change_state):
14257         * gst/elements/gstfakesrc.h:
14258         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
14259         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
14260         (gst_filesrc_open_file), (gst_filesrc_loop),
14261         (gst_filesrc_activate), (gst_filesrc_change_state),
14262         (filesrc_find_peek), (filesrc_find_suggest),
14263         (gst_filesrc_type_find):
14264         * gst/elements/gstidentity.c: (gst_identity_finalize),
14265         (gst_identity_class_init), (gst_identity_init),
14266         (gst_identity_proxy_getcaps), (identity_queue_push),
14267         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
14268         (gst_identity_getrange), (gst_identity_chain),
14269         (gst_identity_sink_loop), (gst_identity_src_loop),
14270         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
14271         (gst_identity_set_property), (gst_identity_get_property),
14272         (gst_identity_change_state):
14273         * gst/elements/gstidentity.h:
14274         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
14275         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
14276         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
14277         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
14278         (gst_tee_sink_activate):
14279         * gst/elements/gsttee.h:
14280         * gst/gst.c: (gst_register_core_elements), (init_post):
14281         * gst/gst.h:
14282         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
14283         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
14284         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
14285         (gst_bin_change_state):
14286         * gst/gstbin.h:
14287         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
14288         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
14289         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
14290         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
14291         (gst_bus_set_sync_handler), (gst_bus_create_watch),
14292         (bus_watch_callback), (bus_watch_destroy),
14293         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
14294         (poll_timeout), (gst_bus_poll):
14295         * gst/gstbus.h:
14296         * gst/gstcaps.h:
14297         * gst/gstdata.h:
14298         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
14299         (gst_element_post_message), (gst_element_message_full),
14300         (gst_element_get_state_func), (gst_element_get_state),
14301         (gst_element_abort_state), (gst_element_commit_state),
14302         (gst_element_lost_state), (gst_element_set_state),
14303         (gst_element_pads_activate), (gst_element_change_state),
14304         (gst_element_dispose), (gst_element_set_manager_func),
14305         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
14306         (gst_element_set_manager), (gst_element_get_manager),
14307         (gst_element_set_bus), (gst_element_get_bus),
14308         (gst_element_set_scheduler), (gst_element_get_scheduler):
14309         * gst/gstelement.h:
14310         * gst/gstevent.c: (gst_event_new_segment_seek),
14311         (gst_event_new_flush):
14312         * gst/gstevent.h:
14313         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
14314         (_gst_message_free), (gst_message_get_type), (gst_message_new),
14315         (gst_message_new_eos), (gst_message_new_error),
14316         (gst_message_new_warning), (gst_message_new_tag),
14317         (gst_message_new_state_changed), (gst_message_new_application),
14318         (gst_message_get_structure), (gst_message_parse_tag),
14319         (gst_message_parse_state_changed), (gst_message_parse_error),
14320         (gst_message_parse_warning):
14321         * gst/gstmessage.h:
14322         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
14323         (gst_real_pad_set_property), (gst_pad_set_active),
14324         (gst_pad_is_active), (gst_pad_set_blocked_async),
14325         (gst_pad_set_blocked), (gst_pad_is_blocked),
14326         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
14327         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
14328         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
14329         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
14330         (gst_pad_link_filtered), (gst_pad_relink_filtered),
14331         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
14332         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
14333         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
14334         (gst_pad_set_caps), (gst_pad_configure_sink),
14335         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
14336         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
14337         (gst_real_pad_dispose), (gst_real_pad_finalize),
14338         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
14339         (gst_pad_event_default_dispatch), (gst_pad_event_default),
14340         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
14341         * gst/gstpad.h:
14342         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
14343         (pipeline_bus_handler), (gst_pipeline_change_state),
14344         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
14345         * gst/gstpipeline.h:
14346         * gst/gstprobe.h:
14347         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
14348         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
14349         (gst_queue_link_src), (gst_queue_bufferalloc),
14350         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
14351         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
14352         (gst_queue_loop), (gst_queue_handle_src_event),
14353         (gst_queue_handle_src_query), (gst_queue_src_activate),
14354         (gst_queue_change_state):
14355         * gst/gstqueue.h:
14356         * gst/gstscheduler.c: (gst_scheduler_init),
14357         (gst_scheduler_dispose), (gst_scheduler_create_task),
14358         (gst_scheduler_factory_create):
14359         * gst/gstscheduler.h:
14360         * gst/gststructure.c: (gst_structure_get_type),
14361         (gst_structure_copy_conditional):
14362         * gst/gststructure.h:
14363         * gst/gsttaginterface.h:
14364         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
14365         (gst_task_init), (gst_task_dispose), (gst_task_create),
14366         (gst_task_get_state), (gst_task_start), (gst_task_stop),
14367         (gst_task_pause):
14368         * gst/gsttask.h:
14369         * gst/gstthread.c:
14370         * gst/gstthread.h:
14371         * gst/gsttypes.h:
14372         * gst/schedulers/Makefile.am:
14373         * gst/schedulers/cothreads_compat.h:
14374         * gst/schedulers/entryscheduler.c:
14375         * gst/schedulers/faircothreads.c:
14376         * gst/schedulers/faircothreads.h:
14377         * gst/schedulers/fairscheduler.c:
14378         * gst/schedulers/gstbasicscheduler.c:
14379         * gst/schedulers/gstoptimalscheduler.c:
14380         * gst/schedulers/gthread-cothreads.h:
14381         * gst/schedulers/threadscheduler.c:
14382         (gst_thread_scheduler_task_get_type),
14383         (gst_thread_scheduler_task_class_init),
14384         (gst_thread_scheduler_task_init),
14385         (gst_thread_scheduler_task_start),
14386         (gst_thread_scheduler_task_stop),
14387         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
14388         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
14389         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
14390         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
14391         (plugin_init):
14392         * libs/gst/Makefile.am:
14393         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
14394         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
14395         (gst_file_pad_parent_set):
14396         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14397         (gst_dp_event_from_packet):
14398         * tests/complexity.c: (main):
14399         * tests/mass_elements.c: (main):
14400         * testsuite/states/locked.c: (message_received), (main):
14401         * testsuite/states/parent.c: (main):
14402         * tools/gst-inspect.c: (print_element_flag_info),
14403         (print_implementation_info), (print_pad_info):
14404         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
14405         (main):
14406         * tools/gst-md5sum.c: (event_loop), (main):
14407         * tools/gst-typefind.c: (main):
14408         * tools/gst-xmlinspect.c: (print_element_info):
14409         Next big merge.
14410         Added GstBus for mainloop integration.
14411         Added GstMessage for sending notifications on the bus.
14412         Added GstTask as an abstraction for pipeline entry points.
14413         Removed GstThread.
14414         Removed Schedulers.
14415         Simplified GstQueue for multithreaded core.
14416         Made _link threadsafe, removed old capsnego.
14417         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
14418         Added pad blocking functions.
14419         Reworked scheduling functions in GstPad to prepare for
14420         scheduling updates soon.
14421         Moved events out of data stream.
14422         Simplified GstEvent types.
14423         Added return values to push/pull.
14424         Removed clocking from GstElement.
14425         Added prototypes for state change function for next merge.
14426         Removed iterate from bins and state change management.
14427         Fixed some elements, disabled others for now.
14428         Fixed -inspect and -launch.
14429         Added check for GstBus.
14430
14431 2005-03-10  Wim Taymans  <wim@fluendo.com>
14432
14433         * docs/design/part-MT-refcounting.txt:
14434         * docs/design/part-clocks.txt:
14435         * docs/design/part-gstelement.txt:
14436         * docs/design/part-gstobject.txt:
14437         * docs/design/part-standards.txt:
14438         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14439         (gst_bin_remove_func), (gst_bin_remove):
14440         * gst/gstbin.h:
14441         * gst/gstbuffer.c:
14442         * gst/gstcaps.h:
14443         * testsuite/clock/clock1.c: (main):
14444         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
14445         (main):
14446         * testsuite/dlopen/loadgst.c: (do_test):
14447         * testsuite/refcounting/bin.c: (add_remove_test1),
14448         (add_remove_test2), (main):
14449         * testsuite/refcounting/element.c: (main):
14450         * testsuite/refcounting/element_pad.c: (main):
14451         * testsuite/refcounting/pad.c: (main):
14452         * tools/gst-launch.c: (sigint_handler_sighandler):
14453         * tools/gst-typefind.c: (main):
14454         Doc updates.
14455         Added doc about clock.
14456         removed gst_bin_iterate_recurse_up(), marked methods
14457         for removal.
14458         Fix more testsuites.
14459
14460 2005-03-09  Wim Taymans  <wim@fluendo.com>
14461
14462         * gst/gstpad.c: (gst_pad_get_direction),
14463         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
14464         (gst_pad_collect_valist):
14465         * testsuite/bins/interface.c: (main):
14466         * testsuite/caps/audioscale.c: (test_caps):
14467         * testsuite/caps/caps.c: (test1), (test2), (test3):
14468         * testsuite/caps/deserialize.c: (main):
14469         * testsuite/caps/enumcaps.c: (main):
14470         * testsuite/caps/filtercaps.c: (main):
14471         * testsuite/caps/intersect2.c: (main):
14472         * testsuite/caps/random.c: (main):
14473         * testsuite/caps/renegotiate.c: (my_fixate), (main):
14474         * testsuite/caps/sets.c: (check_caps):
14475         * testsuite/caps/simplify.c: (check_caps), (main):
14476         * testsuite/caps/subtract.c: (check_caps):
14477         Fix _pad_get_direction wrt ghostpads.
14478         Fix caps testsuite.
14479
14480 2005-03-09  Wim Taymans  <wim@fluendo.com>
14481
14482         * check/Makefile.am:
14483         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
14484         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
14485         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
14486         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
14487         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
14488         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
14489         (gst_bin_remove), (gst_bin_iterate_recurse_up),
14490         (bin_element_is_sink), (gst_bin_iterate_sinks),
14491         (gst_bin_iterate_all_by_interface):
14492         * gst/gstbin.h:
14493         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
14494         (gst_element_change_state), (gst_element_dispose),
14495         (gst_element_finalize), (gst_element_set_loop_function):
14496         * gst/gstelement.h:
14497         * gst/gstiterator.c: (find_custom_fold_func):
14498         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
14499         (gst_pad_collectv), (gst_pad_collect_valist),
14500         (gst_pad_template_new):
14501         * gst/gstpipeline.c: (gst_pipeline_class_init),
14502         (gst_pipeline_dispose), (gst_pipeline_set_property),
14503         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
14504         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
14505         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
14506         * gst/gstutils.h:
14507         * gst/schedulers/entryscheduler.c:
14508         * gst/schedulers/gstbasicscheduler.c:
14509         (gst_basic_scheduler_cothreaded_chain),
14510         (gst_basic_scheduler_chain_add_element):
14511         * testsuite/bins/interface.c: (main):
14512         Added GstBin test.
14513         Added GstSystemClock test.
14514         Implemented clock distribution code in GstBin.
14515         Implemented iterate sinks method for future use.
14516         Rearranged gstelement.h
14517         Fix GstIterator comparison bug.
14518         Moved some code to GstPipeline, mostly clocking related.
14519
14520 2005-03-09  Wim Taymans  <wim@fluendo.com>
14521
14522         * configure.ac:
14523         * gst/gst_private.h:
14524         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14525         (gst_bin_remove_func), (gst_bin_remove),
14526         (gst_bin_get_by_name_recurse_up):
14527         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
14528         (gst_clock_id_compare_func), (gst_clock_id_wait),
14529         (gst_clock_id_wait_async), (gst_clock_init),
14530         (gst_clock_adjust_unlocked), (gst_clock_get_time):
14531         * gst/gstelement.h:
14532         * gst/gstinfo.c: (_gst_debug_init):
14533         * gst/gstobject.h:
14534         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
14535         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
14536         * gst/gstpad.h:
14537         Bump version number, we're now 0.9.0
14538         Add future debugging category.
14539         Fix NULL _unref() in _get_by_name_recurse_up
14540         Rearrange gstpad.h.
14541         Update some docs.
14542
14543 2005-03-08  Wim Taymans  <wim@fluendo.com>
14544
14545         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
14546         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
14547         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
14548         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
14549         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
14550         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
14551         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
14552         * gst/elements/gstidentity.c: (gst_identity_class_init):
14553         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
14554         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
14555         * gst/elements/gstshaper.c: (gst_shaper_class_init):
14556         * gst/elements/gststatistics.c: (gst_statistics_class_init):
14557         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
14558         (gst_tee_link):
14559         * gst/gstelement.c: (gst_element_class_init),
14560         (gst_element_base_class_init), (gst_element_init),
14561         (gst_element_get_random_pad), (gst_element_wait_state_change),
14562         (gst_element_change_state), (gst_element_dispose),
14563         (gst_element_finalize), (gst_element_set_loop_function):
14564         * gst/gstelement.h:
14565         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
14566         * gst/gstthread.c: (gst_thread_class_init),
14567         (gst_thread_release_children_locks), (gst_thread_change_state):
14568         * gst/schedulers/gstbasicscheduler.c:
14569         (gst_basic_scheduler_loopfunc_wrapper),
14570         (gst_basic_scheduler_chain_wrapper),
14571         (gst_basic_scheduler_src_wrapper),
14572         (gst_basic_scheduler_remove_element):
14573         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
14574         Remove threadsafe properties. Fix elements because GObject
14575         complains when installing a property before declaring a
14576         set/get_property handler.
14577         Rearrange gstelement.h file, use STATE macros for state locks.
14578         Free mutexes in the finalize method instead of dispose.
14579
14580 2005-03-08  Wim Taymans  <wim@fluendo.com>
14581
14582         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
14583         * gst/gstthread.c: (gst_thread_release_children_locks):
14584         Added parentage check.
14585         Fix build og GstThread again.
14586
14587 2005-03-08  Wim Taymans  <wim@fluendo.com>
14588
14589         * docs/design/part-MT-refcounting.txt:
14590         * docs/design/part-conventions.txt:
14591         * docs/design/part-gstobject.txt:
14592         * docs/design/part-relations.txt:
14593         * docs/design/part-standards.txt:
14594         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14595         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
14596         (gst_bin_get_by_name), (gst_bin_get_by_interface),
14597         (gst_bin_iterate_all_by_interface):
14598         * gst/gstbuffer.h:
14599         * gst/gstclock.h:
14600         * gst/gstelement.c: (gst_element_class_init),
14601         (gst_element_change_state), (gst_element_set_loop_function):
14602         * gst/gstelement.h:
14603         * gst/gstiterator.c:
14604         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
14605         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
14606         (gst_object_dispatch_properties_changed), (gst_object_set_name),
14607         (gst_object_set_parent), (gst_object_unparent),
14608         (gst_object_check_uniqueness):
14609         * gst/gstobject.h:
14610         Docs updates, clean up some headers.
14611
14612 2005-03-07  Wim Taymans  <wim@fluendo.com>
14613
14614         * check/.cvsignore:
14615         * check/Makefile.am:
14616         * check/gst-libs/.cvsignore:
14617         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
14618         * check/gst/.cvsignore:
14619         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
14620         (START_TEST), (gstbus_suite), (main):
14621         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
14622         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
14623         (gst_data_suite), (main):
14624         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
14625         (add_fold_func), (gstiterator_suite), (main):
14626         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
14627         (thread_name_object), (thread_name_object_default),
14628         (gst_object_name_compare), (gst_object_suite), (main):
14629         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
14630         (gst_pad_suite), (main):
14631         * check/gstcheck.c: (gst_check_log_message_func),
14632         (gst_check_log_critical_func), (gst_check_init):
14633         * check/gstcheck.h:
14634         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
14635         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
14636         Added checks.
14637
14638 2005-03-07  Wim Taymans  <wim@fluendo.com>
14639
14640         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
14641         (gst_list_iterator_next), (gst_list_iterator_resync),
14642         (gst_list_iterator_free), (gst_iterator_new_list),
14643         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
14644         (gst_iterator_free), (gst_iterator_push), (filter_next),
14645         (filter_resync), (filter_uninit), (filter_free),
14646         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
14647         (gst_iterator_foreach), (find_custom_fold_func),
14648         (gst_iterator_find_custom):
14649         * gst/gstiterator.h:
14650         Added missing files.
14651
14652 2005-03-07  Wim Taymans  <wim@fluendo.com>
14653
14654         * Makefile.am:
14655         * configure.ac:
14656         * docs/design/part-MT-refcounting.txt:
14657         * docs/design/part-conventions.txt:
14658         * docs/design/part-gstobject.txt:
14659         * docs/design/part-relations.txt:
14660         * examples/mixer/mixer.c: (main):
14661         * examples/thread/thread.c: (eos), (main):
14662         * gst/Makefile.am:
14663         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14664         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
14665         (gst_spider_plug_from_srcpad):
14666         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
14667         (gst_spider_identity_change_state),
14668         (gst_spider_identity_sink_loop_type_finding):
14669         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
14670         * gst/elements/gstidentity.c: (gst_identity_init):
14671         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
14672         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
14673         * gst/elements/gsttypefindelement.c: (free_entry):
14674         * gst/gst.c:
14675         * gst/gst.h:
14676         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
14677         (gst_bin_set_clock_func), (gst_bin_auto_clock),
14678         (gst_bin_set_index), (gst_bin_set_element_sched),
14679         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
14680         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
14681         (gst_bin_iterate_elements), (iterate_child_recurse),
14682         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
14683         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
14684         (compare_interface), (gst_bin_get_by_interface),
14685         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
14686         * gst/gstbin.h:
14687         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
14688         (gst_buffer_default_free), (gst_buffer_default_copy),
14689         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
14690         (gst_buffer_create_sub):
14691         * gst/gstbuffer.h:
14692         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
14693         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
14694         (gst_caps_unref), (gst_static_caps_get),
14695         (gst_caps_remove_and_get_structure), (gst_caps_append),
14696         (gst_caps_append_structure), (gst_caps_remove_structure),
14697         (gst_caps_copy_nth), (gst_caps_set_simple),
14698         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
14699         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
14700         (gst_caps_structure_intersect_field), (gst_caps_intersect),
14701         (gst_caps_structure_subtract_field), (gst_caps_subtract),
14702         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
14703         (gst_caps_structure_figure_out_union),
14704         (gst_caps_switch_structures), (gst_caps_do_simplify),
14705         (gst_caps_replace), (gst_caps_from_string),
14706         (gst_caps_copy_conditional):
14707         * gst/gstcaps.h:
14708         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
14709         (_gst_clock_id_free), (gst_clock_id_unref),
14710         (gst_clock_id_compare_func), (gst_clock_id_wait),
14711         (gst_clock_id_wait_async), (gst_clock_class_init),
14712         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
14713         (gst_clock_get_time), (gst_clock_set_time_adjust),
14714         (gst_clock_set_property), (gst_clock_get_property):
14715         * gst/gstclock.h:
14716         * gst/gstcompat.h:
14717         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
14718         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
14719         * gst/gstdata.h:
14720         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
14721         (gst_element_requires_clock), (gst_element_provides_clock),
14722         (gst_element_set_clock), (gst_element_clock_wait),
14723         (gst_element_wait), (gst_element_set_time_delay),
14724         (gst_element_is_indexable), (gst_element_add_pad),
14725         (gst_element_add_ghost_pad), (gst_element_remove_pad),
14726         (pad_compare_name), (gst_element_get_static_pad),
14727         (gst_element_request_pad), (gst_element_get_request_pad),
14728         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
14729         (gst_element_class_get_pad_template_list),
14730         (gst_element_class_get_pad_template), (gst_element_error_func),
14731         (gst_element_get_random_pad), (gst_element_get_event_masks),
14732         (gst_element_send_event), (gst_element_seek),
14733         (gst_element_get_query_types), (gst_element_query),
14734         (gst_element_get_formats), (gst_element_convert),
14735         (gst_element_is_locked_state), (gst_element_set_locked_state),
14736         (gst_element_sync_state_with_parent), (gst_element_change_state),
14737         (gst_element_finalize), (gst_element_yield),
14738         (gst_element_interrupt), (gst_element_set_scheduler),
14739         (gst_element_get_scheduler), (gst_element_set_loop_function):
14740         * gst/gstelement.h:
14741         * gst/gstevent.h:
14742         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
14743         (gst_format_get_by_nick), (gst_format_get_details),
14744         (gst_format_iterate_definitions):
14745         * gst/gstformat.h:
14746         * gst/gstindex.c: (gst_index_gtype_resolver):
14747         * gst/gstinfo.c:
14748         * gst/gstinfo.h:
14749         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
14750         (gst_mem_chunk_free):
14751         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
14752         (gst_object_ref), (gst_object_unref), (gst_object_sink),
14753         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
14754         (gst_object_dispatch_properties_changed),
14755         (gst_object_set_name_default), (gst_object_set_name),
14756         (gst_object_get_name), (gst_object_set_name_prefix),
14757         (gst_object_get_name_prefix), (gst_object_set_parent),
14758         (gst_object_get_parent), (gst_object_unparent),
14759         (gst_object_check_uniqueness), (gst_object_save_thyself),
14760         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
14761         (gst_object_set_property), (gst_object_get_property),
14762         (gst_object_get_path_string):
14763         * gst/gstobject.h:
14764         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
14765         (gst_real_pad_init), (gst_real_pad_get_property),
14766         (gst_pad_custom_new), (gst_pad_get_direction),
14767         (gst_pad_set_active), (gst_pad_is_active),
14768         (gst_pad_set_event_function), (gst_pad_is_linked),
14769         (gst_pad_link_free), (gst_pad_link_intersect),
14770         (gst_pad_link_fixate), (gst_pad_set_caps),
14771         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
14772         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
14773         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
14774         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
14775         (gst_pad_get_caps), (gst_pad_peer_get_caps),
14776         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
14777         (gst_pad_realize), (gst_pad_get_allowed_caps),
14778         (gst_real_pad_dispose), (gst_real_pad_finalize),
14779         (gst_pad_collectv), (gst_pad_collect_valist),
14780         (gst_pad_template_dispose), (gst_pad_template_new),
14781         (gst_pad_get_internal_links):
14782         * gst/gstpad.h:
14783         * gst/gstpipeline.c: (gst_pipeline_dispose),
14784         (gst_pipeline_change_state):
14785         * gst/gstpipeline.h:
14786         * gst/gstplugin.c:
14787         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
14788         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
14789         * gst/gstpluginfeature.h:
14790         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
14791         * gst/gstquery.c: (_gst_query_type_initialize),
14792         (gst_query_type_register), (gst_query_type_get_by_nick),
14793         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
14794         * gst/gstquery.h:
14795         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
14796         * gst/gstscheduler.c: (gst_scheduler_add_element),
14797         (gst_scheduler_factory_create):
14798         * gst/gststructure.c: (gst_structure_set_parent_refcount),
14799         (gst_structure_free), (gst_structure_set_name),
14800         (gst_structure_id_set_value), (gst_structure_set_value),
14801         (gst_structure_set_valist), (gst_structure_remove_field),
14802         (gst_structure_remove_fields),
14803         (gst_structure_remove_fields_valist),
14804         (gst_structure_remove_all_fields), (gst_structure_foreach),
14805         (gst_structure_map_in_place),
14806         (gst_caps_structure_fixate_field_nearest_int),
14807         (gst_caps_structure_fixate_field_nearest_double):
14808         * gst/gststructure.h:
14809         * gst/gstsystemclock.c: (gst_system_clock_class_init),
14810         (gst_system_clock_init), (gst_system_clock_dispose),
14811         (gst_system_clock_async_thread),
14812         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
14813         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
14814         * gst/gstsystemclock.h:
14815         * gst/gsttag.c: (gst_tag_list_add_value_internal),
14816         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
14817         * gst/gsttaginterface.c:
14818         * gst/gstthread.c: (gst_thread_dispose),
14819         (gst_thread_release_children_locks), (gst_thread_change_state),
14820         (gst_thread_main_loop):
14821         * gst/gsttrashstack.h:
14822         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
14823         * gst/gsttypes.h:
14824         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14825         (gst_element_request_pad), (gst_element_get_pad_from_template),
14826         (gst_element_request_compatible_pad),
14827         (gst_element_get_compatible_pad_filtered),
14828         (gst_element_get_compatible_pad), (gst_element_state_get_name),
14829         (gst_element_link_pads_filtered), (gst_element_link_filtered),
14830         (gst_element_link_many), (gst_element_link),
14831         (gst_element_link_pads), (gst_element_unlink_pads),
14832         (gst_element_unlink_many), (gst_element_unlink),
14833         (gst_pad_can_link_filtered), (gst_pad_can_link),
14834         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
14835         (gst_object_default_error), (gst_bin_add_many),
14836         (gst_bin_remove_many), (gst_element_populate_std_props),
14837         (gst_element_class_install_std_props), (gst_buffer_merge),
14838         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
14839         (link_fold_func), (gst_pad_proxy_setcaps):
14840         * gst/gstutils.h:
14841         * gst/gstvalue.c: (gst_value_deserialize_string):
14842         * gst/parse/grammar.y:
14843         * gst/schedulers/gstbasicscheduler.c:
14844         (gst_basic_scheduler_cothreaded_chain),
14845         (gst_basic_scheduler_chain_recursive_add),
14846         (gst_basic_scheduler_pad_link):
14847         * gst/schedulers/gstoptimalscheduler.c:
14848         (get_group_schedule_function),
14849         (gst_opt_scheduler_state_transition),
14850         (gst_opt_scheduler_add_element), (element_get_reachables_func):
14851         * libs/gst/bytestream/bytestream.c:
14852         * libs/gst/dataprotocol/dataprotocol.c:
14853         (gst_dp_header_from_buffer):
14854         * po/nb.po:
14855         * po/ru.po:
14856         * tests/threadstate/threadstate2.c: (eos):
14857         * tools/gst-compprep.c: (main):
14858         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
14859         (print_pad_info), (print_children_info):
14860         * tools/gst-launch.c: (idle_func), (main):
14861         * tools/gst-md5sum.c: (idle_func), (main):
14862         * tools/gst-xmlinspect.c: (print_element_info):
14863         First THREADED backport attempt, focusing on adding locks and
14864         making sure the API is threadsafe. Needs more work. More docs
14865         follow this week.
14866
14867 2005-02-24  Andy Wingo  <wingo@pobox.com>
14868
14869         * tests/bench-complexity.scm:
14870         * tests/complexity.gnuplot: New files, good for running complexity
14871         benchmarks.
14872
14873         * tests/Makefile.am:
14874         * tests/complexity.c: New test, sets up N elements, at each level
14875         teeing into M streams per element. Eeeenteresting.
14876
14877         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
14878         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
14879         running bench-mass_elements.scm.
14880
14881         * tests/bench-mass_elements.scm: New script, runs mass_elements
14882         for various numbers of identities, outputting the results to a
14883         file. Requires guile 1.6. Just for testing.
14884
14885 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14886
14887         * gst/schedulers/fairscheduler.c:
14888           compile with debug disabled
14889
14890 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14891
14892         * configure.ac:
14893           hunting season on 0.9 is now OPEN