cdf5293b44b3423be394fbc976c0c3650ec8d5c6
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
4           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
5
6 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
7
8         * plugins/elements/gsttypefindelement.c:
9         (gst_type_find_element_activate):
10           Use gst_pad_check_pull_range() before _activate_pull()
11           to avoid unnecessary open/close (see #331690).
12
13 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
14
15         * gst/gstutils.c:
16           Docs enhancement: make it crystal clear what the
17           gst_pad_add_*_probe() callbacks should look like.
18
19 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
20
21         * libs/gst/base/gstbasesrc.c:
22           Document how applications can stop recording from
23           live sources (see #330996).
24
25 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
26
27         * docs/gst/tmpl/.cvsignore:
28         * docs/plugins/tmpl/.cvsignore:
29         * tests/check/gst/.cvsignore:
30         * tests/check/libs/.cvsignore:
31         * tests/check/pipelines/.cvsignore:
32           Ignore more stuff.
33
34 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
35
36         * tests/check/Makefile.am:
37         * tests/check/libs/basesrc.c: (eos_event_counter),
38         (basesrc_eos_events_pull), (basesrc_eos_events_push),
39         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
40         (gst_basesrc_suite), (main):
41           ... and add some tests for the base source EOS stuff.
42
43 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
44
45         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
46           Test case originally showed the problem fixed below,
47           but was then amended. Add checks back at the place
48           where they used to be.
49
50 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
51
52         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
53         (gst_base_src_init), (gst_base_src_loop),
54         (gst_base_src_activate_push), (gst_base_src_activate_pull),
55         (gst_base_src_change_state):
56         * libs/gst/base/gstbasesrc.h:
57           Don't unconditionally send EOS when going from PAUSED to
58           READY state, esp. make sure we don't send two EOS events
59           in some cases (e.g. one when reaching EOS and one when
60           going from PAUSED to READY). Also, we don't want to send
61           EOS events when operating in pull mode. However, we do
62           want to send an EOS event when shutting down a live
63           source explicitly, for example (fixes #330996).
64           
65 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
66
67         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
68           Update src->read_position after a seek when not using mmap.
69           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
70
71 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
72
73         * gst/Makefile.am:
74         * gst/gstparse.h:
75         * gst/gstutils.c:
76         * gst/gstutils.h:
77         Make things work with --disable-parse as they do with 
78         --disable-load-save - the symbols involved disappear, but the
79         header is still installed and GST_DISABLE_PARSE is included via
80         gstconfig.h
81
82 2006-02-20  Julien MOUTTE  <julien@moutte.net>
83
84         * libs/gst/base/gstbasetransform.c:
85         (gst_base_transform_change_state): Fix a stupid bug. I was 
86         sure i compiled that.
87
88 2006-02-20  Julien MOUTTE  <julien@moutte.net>
89
90         * gst/gstpad.c: (gst_pad_set_blocked_async):
91         * gst/gstutils.c: (gst_pad_add_data_probe),
92         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
93         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
94         (gst_pad_remove_buffer_probe): Make those function act on the
95         ghostpad target when it's a ghostpad. (Closes #331727)
96
97 2006-02-20  Julien MOUTTE  <julien@moutte.net>
98
99         * libs/gst/base/gstbasetransform.c:
100         (gst_base_transform_change_state): Make basetransform reusable.
101         (Closes #331898)
102
103 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
104
105         * docs/random/release:
106         Move the current documentation of how to do a release to the top
107         of the file.
108
109         * gst/gstbin.c: (gst_bin_class_init),
110         (gst_bin_handle_message_func):
111         Allow multiple state-recalculation threads. (Closes #328873)
112
113 2006-02-19  Julien MOUTTE  <julien@moutte.net>
114
115         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
116         * gst/gstpad.c: (gst_pad_set_event_function),
117         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
118         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
119         2 strings. You can't use the STR_NULL macro on that.
120
121 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
122
123         * gst/gstpad.c: (gst_pad_set_event_function),
124         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
125         (gst_pad_set_getcaps_function)
126         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
127                 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
128                 So now, we can use --gst-debug-level=5 on Windows
129         * win32/common/libgstcontroller.def:
130           Added export of gst_controller_init
131         * win32/vs6/libgstcontroller.dsp:
132           Fixed Release post build configuration
133
134 2006-02-17  Wim Taymans  <wim@fluendo.com>
135
136         * tests/check/gst/gstquery.c: (GST_START_TEST):
137         Added another check.
138
139 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
140
141         * plugins/elements/gsttypefindelement.c: (find_peek):
142           We can do peeks at non-zero offsets, as long as they
143           fall within the buffer we have.
144
145 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
146
147         * tests/check/Makefile.am:
148         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
149         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
150         (parse_suite), (main):
151           Add testsuite for parse launch syntax
152
153 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
154
155         * plugins/elements/gsttypefindelement.c:
156         (gst_type_find_element_chain):
157           When typefinding is unsuccessful in the chain function, don't
158           error out immediately. Only error out with NO_CAPS_FOUND if
159           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
160           otherwise simply wait for more data so we can try typefinding
161           again with more data later. Also, don't attempt to typefind
162           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
163           this should improve typefinding from network sources where the
164           size of the first buffer can be somewhat random.
165
166 2006-02-14  Wim Taymans  <wim@fluendo.com>
167
168         * docs/gst/gstreamer-sections.txt:
169         * gst/gstpadtemplate.c:
170         * gst/gstpadtemplate.h:
171         Fix padtemplate docs, fixes #328805.
172
173 2006-02-14  Wim Taymans  <wim@fluendo.com>
174
175         * tools/gst-launch.c: (main):
176         NO_PREROLL is not an ERROR so don't send confusing messages
177         to the user.
178
179 2006-02-14  Wim Taymans  <wim@fluendo.com>
180
181         * gst/gstregistry.c: (gst_registry_get_default),
182         (_gst_registry_cleanup):
183         Protect default registry with lock and ref/sink it.
184         Fixes #324818, patch by Torsten Schoenfeld.
185
186 2006-02-14  Wim Taymans  <wim@fluendo.com>
187
188         * gst/gstbuffer.c:
189         * gst/gstquery.c: (gst_query_list_add_format),
190         (gst_query_set_formatsv), (gst_query_parse_formats_length),
191         (gst_query_parse_formats_nth):
192         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
193         Docs fixes.
194
195 2006-02-14  Wim Taymans  <wim@fluendo.com>
196
197         * docs/gst/gstreamer-sections.txt:
198         Reworked query docs.
199
200         * gst/gstquery.c: (gst_query_new_formats),
201         (gst_query_list_add_format), (gst_query_set_formats),
202         (gst_query_set_formatsv), (gst_query_parse_formats_length),
203         (gst_query_parse_formats_nth):
204         * gst/gstquery.h:
205         Flesh out formats query, added some new methods.
206         Fix part of #324398.
207
208         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
209         Added query creation tests.
210
211 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
212
213         * gst/gstpad.c: (fixate_value):
214         Add a default fixation for fraction lists.
215
216 2006-02-13  Wim Taymans  <wim@fluendo.com>
217
218         * gst/gsttask.c: (gst_task_init), (gst_task_func),
219         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
220         (gst_task_join):
221         * gst/gsttask.h:
222         Detect and warn for obvious deadlocks. fixes #320340
223         Fix error case where lock was not released.
224
225         * tests/check/Makefile.am:
226         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
227         (task_func), (gst_element_suite), (main):
228         Add task check.
229
230 2006-02-13  Wim Taymans  <wim@fluendo.com>
231
232         * docs/gst/gstreamer-sections.txt:
233         * gst/gstbus.c:
234         Add new functions to docs.
235
236 2006-02-13  Wim Taymans  <wim@fluendo.com>
237
238         * docs/design/part-TODO.txt:
239         Updated TODO list, basesrc supports seeking to non-bytes
240         formats.
241
242         * docs/design/part-element-sink.txt:
243         Update docs.
244
245         * gst/gstbin.c: (bin_replace_message),
246         (gst_bin_handle_message_func):
247         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
248         * gst/gstevent.c: (gst_event_finalize):
249         * gst/gstpad.c: (gst_pad_event_default_dispatch),
250         (gst_pad_send_event):
251         Use shiny new _TYPE_NAME macros.
252
253         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
254         Move debug statement up.
255
256         * gst/gstelement.c: (gst_element_set_locked_state):
257         Add some debugging.
258
259 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
260
261         * docs/gst/gstreamer-sections.txt:
262         * gst/gstmessage.h:
263         * gst/gstquery.h:
264           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
265           macros (#330906). Also, document the already existing
266           GST_QUERY_TYPE macro.
267
268 2006-02-13  Wim Taymans  <wim@fluendo.com>
269
270         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
271         (event_probe), (GST_START_TEST):
272         Only events up to the pipeline EOS are counted, there are
273         some more when going to NULL currently which we don't care
274         about for now.
275
276 2006-02-13  Wim Taymans  <wim@fluendo.com>
277
278         * gst/gstpad.c: (gst_pad_send_event):
279         Correctly check flushing and emit probes. fixes #330125
280
281 2006-02-10  Andy Wingo  <wingo@pobox.com>
282
283         * gst/gstbus.c (gst_bus_class_init): Declare our private data
284         structure.
285         (gst_bus_init): Cache the location of the private data in the
286         instance structure.
287         (gst_bus_enable_sync_message_emission) 
288         (gst_bus_disable_sync_message_emission): Implement new public
289         functions.
290         (gst_bus_post): Emit the sync-message signal if the user asked for
291         it. Fixes #330684.
292
293         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
294         location of the bus-private structuure.
295         (gst_bus_enable_sync_message_emission)
296         (gst_bus_disable_sync_message_emission): New public functions.
297
298 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
299
300         * docs/pwg/building-boiler.xml:
301         PWG patch from #326800 (Patch by Vincent Torri)
302
303 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
304
305         * configure.ac:
306         * docs/Makefile.am:
307         * docs/design/Makefile.am:
308           Dist design docs.
309
310 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
311
312         * configure.ac:
313           back to CVS
314
315 === release 0.10.3 ===
316
317 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
318
319         * configure.ac:
320           releasing 0.10.3, "Like a virgin"
321
322 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
323
324         * configure.ac:
325           2nd prerelease of 0.10.3
326           Bump libtool versioning.
327
328 2006-02-07  Andy Wingo  <wingo@pobox.com>
329
330         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
331         update last_stop if we're in TIME format and the timestamp is
332         valid.
333
334         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
335         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
336         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
337         If we get a new newsegment with a different format, adapt
338         accordingly.
339
340         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
341         of 0. Not a problem, really.
342
343         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
344         warn if sync=true.
345
346 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
347
348         * configure.ac:
349           Prelease of 0.10.3
350
351 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
352
353         * win32/vs7:
354           project files updated to the default vs7 configuration
355         * win32/common/libgstbase.def:
356         * win32/common/libgstreamer.def:
357           added new symbols,
358           removed empty lines,
359           sorted all exported symbols alphabetically
360         * win32/common/dirent.c:
361         * win32/common/dirent.h:
362         * win32/common/gchar.h:
363           use windows line end.
364           
365 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
366
367         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
368           Send EOS event when stopping.
369
370 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
371
372         * docs/README:
373           Tell folks what to do if the plugin-foobar.xml file
374           hasn't been generated for a newly-added plugin.
375
376 2006-02-05  Julien MOUTTE  <julien@moutte.net>
377
378         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
379         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
380         (gst_collect_pads_start), (gst_collect_pads_stop),
381         (gst_collect_pads_event): Collectpads now holds a reference
382         to the GstPad that was added. Indeed we don't want to look
383         at pads that might just go away with no warning...
384
385 2006-02-05  Julien MOUTTE  <julien@moutte.net>
386
387         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
388         (gst_collect_pads_start), (gst_collect_pads_stop),
389         (gst_collect_pads_event), (gst_collect_pads_chain):
390         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
391         Mark Nauwelaerts's patch on bug #328491.
392
393 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
394
395         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
396         (gst_utils_suite):
397           Add some simple tests for gst_parse_bin_from_description() and
398           gst_bin_find_unconnected_pad() (#329069).
399
400 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
401
402         * tools/gst-launch.c: (event_loop), (main):
403           Catch errors during preroll (#320084).
404
405 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
406
407         * plugins/elements/gsttypefindelement.c:
408         (gst_type_find_element_activate):
409           Post TYPE_NOT_FOUND error message when typefinding
410           is unsuccessful in the activate function as well.
411
412 2006-02-02  Wim Taymans  <wim@fluendo.com>
413
414         * docs/design/part-element-sink.txt:
415         Updated doc.
416
417 2006-02-02  Wim Taymans  <wim@fluendo.com>
418
419         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
420         (gst_base_sink_render_object),
421         (gst_base_sink_queue_object_unlocked):
422         Only keep track of prerollable items when we are 
423         prerolling.
424         Before rendering after preroll, always check if we
425         have queued items.
426         Added some more debugging.
427
428 2006-02-02  Wim Taymans  <wim@fluendo.com>
429
430         * gst/gstelement.c: (gst_element_continue_state),
431         (gst_element_set_state_func), (gst_element_change_state):
432         Fixed #326576, been running this for quite some time with
433         no regressions at all.
434
435 2006-02-02  Wim Taymans  <wim@fluendo.com>
436
437         * common/gst.supp:
438         Added more suppressions
439
440 2006-02-02  Wim Taymans  <wim@fluendo.com>
441
442         * docs/design/part-element-sink.txt:
443         Updated document.
444
445         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
446         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
447         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
448         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
449         (gst_base_sink_do_sync), (gst_base_sink_render_object),
450         (gst_base_sink_preroll_object),
451         (gst_base_sink_queue_object_unlocked),
452         (gst_base_sink_queue_object), (gst_base_sink_event),
453         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
454         (gst_base_sink_loop), (gst_base_sink_activate_pull),
455         (gst_base_sink_get_position), (gst_base_sink_change_state):
456         * libs/gst/base/gstbasesink.h:
457         Totally refactored matching the design doc.
458         Use two segments, one to clip incomming buffers and another to
459         perform sync.
460         Handle queueing correctly, bypass the queue when playing.
461         Make EOS cancelable.
462         Handle errors correctly when operating in pull based mode.
463
464         * tests/check/elements/fakesink.c: (GST_START_TEST),
465         (fakesink_suite):
466         Added new check for sinks.
467
468 2006-02-02  Wim Taymans  <wim@fluendo.com>
469
470         * gst/gstsegment.c: (gst_segment_clip):
471         No reason to refuse to clip when start == -1
472
473 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
474
475         * docs/README:
476         * docs/manual/intro-basics.xml:
477         * docs/manual/intro-preface.xml:
478         * docs/manual/manual.xml:
479         * docs/pwg/advanced-dparams.xml:
480         * docs/pwg/intro-basics.xml:
481         * docs/pwg/intro-preface.xml:
482         * docs/pwg/pwg.xml:
483           describe dparams (controller) for plugins
484           unify docs a little more
485
486 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
487
488         * docs/gst/gstreamer-sections.txt:
489         * gst/gstutils.c: (element_find_unconnected_pad),
490         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
491         * gst/gstutils.h:
492           Add new API: gst_parse_bin_from_description() and
493           gst_bin_find_unconnected_pad() (#329069).
494
495 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
496
497         * docs/manual/README:
498           uncover a nasty detail of the docs build
499
500 2006-01-31  Wim Taymans  <wim@fluendo.com>
501
502         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
503         Don't cache duration messages if we're not going to use or
504         free them.
505
506 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
507
508         * docs/manual/advanced-dparams.xml:
509         * docs/pwg/advanced-dparams.xml:
510           more dparam docs
511         * gst/gstindex.c:
512           fix docs
513         * libs/gst/controller/lib.c: (gst_controller_init):
514           init just once
515
516 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
517
518         * gst/gstelement.c: (gst_element_message_full):
519           also show file/line/func if no additional debug was given
520
521 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
522         
523         * win32/vs7/grammar.vcproj:
524                 activate copy of autogenerated files for Release mode
525
526 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
527         
528         * win32/common/libgstreamer.def:
529                 export gst_value_compare
530
531 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
532
533         * plugins/elements/Makefile.am:
534         * plugins/elements/gstelements.c:
535         * plugins/elements/gstfdsink.c: (_do_init),
536         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
537         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
538         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
539         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
540         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
541         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
542         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
543         * plugins/elements/gstfdsink.h:
544         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
545
546 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
547
548         * docs/manual/advanced-dparams.xml:
549           describe controller
550         * docs/manual/advanced-position.xml:
551         * docs/manual/basics-init.xml:
552         * docs/manual/manual.xml:
553         * docs/manual/titlepage.xml:
554         * docs/pwg/pwg.xml:
555         * docs/pwg/titlepage.xml:
556           cleanup xml (more to come)
557         * libs/gst/controller/gstcontroller.c:
558           fix typo
559
560 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
561         
562         * win32/vs6/grammar.dsp:
563                 add autogen of gstmarshal.c,h for Release mode
564                 
565 2006-01-30  Wim Taymans  <wim@fluendo.com>
566
567         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
568         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
569         (gst_base_sink_handle_object), (gst_base_sink_event),
570         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
571         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
572         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
573         (gst_base_sink_deactivate), (gst_base_sink_activate),
574         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
575         (gst_base_sink_query), (gst_base_sink_change_state):
576         Basesink cleanups, remove some old code.
577         Handle the case where a subclass can preroll in the render
578         method (mostly audiosinks).
579         Handle more events.
580         Remove some locks around variables that are now protected
581         with the PREROLL_LOCK (clock_id, flushing, ..).
582         Optimize position query some more, do correct locking.
583         Remove old code to push queue in state change, this is not
584         needed anymore since preroll blocks on all prerollable items 
585         now.
586         Almost implemented as described in design doc.
587
588 2006-01-30  Wim Taymans  <wim@fluendo.com>
589
590         * tests/check/gst/gstbin.c: (GST_START_TEST):
591         Wait for refcount to settle down before checking.
592
593 2006-01-30  Wim Taymans  <wim@fluendo.com>
594
595         * docs/design/part-element-sink.txt:
596         Pseudo code overview of desired sink behaviour regarding
597         preroll.
598
599 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
600         * win32/vs6/grammar.dsp:
601                 fix some bugs in Release mode for autogenerated files
602                 
603 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
604         * win32/common/libgstbase.def:
605         * win32/common/libgstreamer.def:
606                 export some new symbols: gst_base_src_set_format,
607                 gst_iterator_next, gst_structure_set_valist
608
609 2006-01-29  Julien MOUTTE  <julien@moutte.net>
610
611         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
612         Set pad functions unconditionally. Fixes #329105.
613
614 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
615         * win32/vs8:
616                 add vs8 project files created by Sergey Scobich
617
618 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
619
620         * gst/gstutils.c: (gst_element_unlink_pads):
621         Don't leak pad references.
622
623         * tests/check/elements/fakesink.c: (GST_START_TEST):
624         * tests/check/generic/sinks.c: (GST_START_TEST):
625         * tests/check/generic/states.c: (GST_START_TEST):
626         * tests/check/gst/gstbin.c: (GST_START_TEST):
627         * tests/check/gst/gstcaps.c: (GST_START_TEST):
628         * tests/check/gst/gstelement.c: (GST_START_TEST):
629         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
630         * tests/check/gst/gstiterator.c: (GST_START_TEST):
631         * tests/check/gst/gstvalue.c: (GST_START_TEST):
632         Fix a bunch of leaks. Make generic/sinks.c
633         use a bit less cpu by slowing the buffer rate
634         between fakesrc and fakesink.
635         
636 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
637         * gst/gstcaps.c:
638         * gst/gstelement.c: (gst_element_send_event):
639         * gst/gstevent.c:
640         * gst/gstinfo.c:
641         * gst/gstiterator.c:
642         * gst/gstiterator.h:
643         * gst/gstpad.c: (gst_pad_send_event):
644         * gst/gststructure.c:
645         * gst/gsturi.c:
646         * gst/gstutils.c:
647         * gst/gstvalue.c:
648         * libs/gst/base/gstadapter.c:
649           doc fixes, to link to function, just write gst_cool_function(), don't
650           prefix with '#'
651
652 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
653
654         * plugins/elements/gsttee.c: (gst_tee_do_push),
655         (gst_tee_handle_buffer):
656         Always prefer an actual return value from a src
657         pad in place of NOT_LINKED. This means we return
658         WRONG_STATE when all src pads are WRONG_STATE
659         instead of NOT_LINKED.
660
661         Lock when replacing the last message to prevent
662         racing with the get_property method.
663
664         Add debug output
665
666 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
667
668         * tests/check/Makefile.am:
669         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
670         (main):
671         Add a very simple check that should have caught the memleak I fixed
672         last night (if not for the slice allocator hiding it)
673
674 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
675
676         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
677         (gst_bin_remove_func), (gst_bin_handle_message_func),
678         (bin_query_duration_fold), (bin_query_generic_fold):
679         Clean up references to the clock provider when disposed or when
680         handling a clock-lost message from it.
681
682         Unref sinks when performing a query via gst_iterator_fold, as the
683         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
684
685         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
686         (gst_clock_set_master):
687         Drop our reference to the master clock, if any, when we are disposed.
688
689         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
690         Chain up in dispose. 
691
692 2006-01-26  Wim Taymans  <wim@fluendo.com>
693
694         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
695         Add some debugging.
696
697 2006-01-26  Julien MOUTTE  <julien@moutte.net>
698
699         * plugins/elements/gsttee.c: (gst_tee_do_push),
700         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
701         handles pad being NOT_LINKED or in WRONG_STATE.
702
703 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
704
705         * win32/MANIFEST:
706           more updating
707
708 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
709
710         * win32/MANIFEST:
711           remove obsolete entry
712
713 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
714
715         * docs/gst/gstreamer-sections.txt:
716         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
717         (gst_bin_iterate_sources), (gst_bin_send_event):
718         * gst/gstbin.h:
719         * gst/gstelement.c: (gst_element_send_event):
720         * gst/gstevent.c:
721         * gst/gstpad.c: (gst_pad_send_event):
722           added code for downstream events, reviewed docs in gstevent.c
723
724 2006-01-25  Julien MOUTTE  <julien@moutte.net>
725
726         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
727         We only query position using the clock in the playing state.
728         Query peer in the other cases.
729         * win32/common/config.h: Updates.
730
731 2006-01-24  Wim Taymans  <wim@fluendo.com>
732
733         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
734         A clock entry that is scheduled for the exact time of the
735         clock is still in time.
736
737         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
738         (gst_base_sink_do_sync):
739         Add some more debug info.
740
741 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
742
743         * win32/vs7:
744           Add new vs7 project files and solution.
745
746 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
747
748         * win32/vs7:
749           all files removed as they were out-dated.
750
751 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
752
753         * docs/random/release:
754           update notes
755         * gst/gstbin.c: (gst_bin_init):
756         * gst/gstbus.c: (gst_bus_new):
757         * gst/gstbus.h:
758         * gst/gstpipeline.c: (gst_pipeline_init):
759           use gst_bus_new(), improve logging, fix docs
760         * win32/common/config.h:
761           update for cvs build
762
763 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
764
765         * autogen.sh:
766           up required version of automake to 1.7
767
768 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
769
770         * win32/common/libgstreamer.def:
771           export gst_buffer_is_metadata_writable
772
773 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
774
775         * docs/gst/gstreamer-sections.txt:
776         * gst/gstevent.h:
777           Add gst_event_replace() (#327001)
778
779 2006-01-20  Wim Taymans  <wim@fluendo.com>
780
781         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
782         Make it actually compile too..
783
784 2006-01-20  Wim Taymans  <wim@fluendo.com>
785
786         * gst/gstcaps.c:
787         Clarify behaviour of _is_equal() when passing NULL parameters.
788
789         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
790         (gst_pad_set_caps):
791         Cleanups. Don't unref NULL caps.
792         When setting the same caps, protect caps of the pad with
793         proper lock.
794         Use full functionality of _is_equal() when comparing caps.
795
796 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
797
798         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
799         Don't loop infinitely if there are no buffers to present. Partially
800         fixes #327197, but collectpads is just broken for reusing elements
801         to do multiple encodes atm.
802
803 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
804
805         * tools/gst-inspect.c: (print_element_features):
806         * tools/gst-xmlinspect.c: (main):
807         URL_HANDLER is not a plugin feature we can search for in
808         the registry.
809
810 2006-01-19  Edward Hervey  <edward@fluendo.com>
811
812         * gst/gstelement.c: (gst_element_pads_activate): 
813         When activating, do src pads first, then sink pads.
814         When de-activating, do sink pads first, then src pads.
815
816 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
817
818         * docs/gst/gstreamer-sections.txt:
819         Add gst_index_add_associationv to the docs
820
821 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
822
823         * gst/gstevent.c:
824           Fix docs typo
825
826         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
827         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
828           Do some refactoring. Doesn't actually change functionality,
829           but makes landing the DRAIN event easier later.
830
831 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
832
833         * docs/pwg/advanced-scheduling.xml:
834           Update from 0.9.x to 0.10 API and make example a bit
835           clearer.
836
837 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
838
839         * docs/gst/gstreamer-sections.txt:
840         Add gst_buffer_(is|make)_metadata_writable methods.
841
842 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
843
844         * docs/design/part-sparsestreams.txt:
845         Update sparse streams doc, hopefully for greater clarity
846
847 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
848
849         * docs/design/part-events.txt:
850         Remove mention of FILLER events.
851         Add DRAIN event.
852
853         * docs/design/part-sparsestreams.txt:
854         Write some things about using NEWSEGMENT to keep sparse streams
855         flowing.
856
857 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
858
859         * gst/gstbin.c: (gst_bin_dispose):
860           Guard gst_object_unref call against a NULL object (dispose
861           can theoretically be called multiple times).
862           
863 2006-01-18  Wim Taymans  <wim@fluendo.com>
864
865         * gst/gstbin.c: (gst_bin_element_set_state):
866         * gst/gstclock.c: (gst_clock_id_wait):
867         Added some more debug info.
868
869         * libs/gst/base/gstadapter.c:
870         Added more docs.
871
872         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
873         (gst_base_sink_do_sync), (gst_base_sink_chain):
874         Added some comments.
875
876 2006-01-18  Wim Taymans  <wim@fluendo.com>
877
878         * tests/check/Makefile.am:
879         * tests/check/elements/fakesink.c: (chain_async_buffer),
880         (chain_async), (chain_async_return), (GST_START_TEST),
881         (fakesink_suite), (main):
882         Added fakesink test that checks prerolling and clipping
883         behaviour.
884
885         * tests/check/gst/gstutils.c: (GST_START_TEST):
886         Make check run faster so that buildbots don't timeout.
887
888 2006-01-18  Wim Taymans  <wim@fluendo.com>
889
890         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
891         (gst_base_sink_do_sync):
892         Some cleanups.
893         When the sink finishes blocking on the preroll buffer, it can
894         immediatly render it instead of rendering when the next buffer
895         arrives.
896
897 2006-01-18  Wim Taymans  <wim@fluendo.com>
898
899         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
900         (gst_base_sink_get_property), (gst_base_sink_do_sync),
901         (gst_base_sink_chain):
902         Small cleanups.
903         GST_ELEMENT_CLOCK and sync are protected with LOCK.
904         Don't store _last_stop if the buffer is dropped.
905
906 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
907
908         * plugins/elements/gsttypefindelement.c:
909         (gst_type_find_element_class_init):
910           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
911           object method handler that sets the caps on the pad and we want
912           that to happen before we emit the signal (fixes e.g. feeding a
913           plain text file to decodebin).
914
915 2006-01-18  Christian Schaller  <Christian@fluendo.com>
916
917         * gst/gstplugin.c: Add MPL and Proprietary as license options
918
919 2006-01-18  Andy Wingo  <wingo@pobox.com>
920
921         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
922         symbol was exported before, it appears this was just an oversight.
923         Fixes #168703.
924         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
925
926         * gst/gstindex.c (gst_index_add_associationv): Changed int in
927         prototype to gint. OK since this prototype was not in the header.
928
929 2006-01-17  Andy Wingo  <wingo@pobox.com>
930
931         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
932         registry while we remove plugins.
933
934         * tools/gst-inspect.c (print_element_info): Don't unref the
935         factory arg, that should be the responsibility of whatever code
936         received the ref. Fixes a double-free when called from
937         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
938         (main): Unref the factory if we have one.
939         (print_element_list): No change -- relies on the
940         plugin_feature_list_free to free the list of features.
941
942 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
943
944         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
945         (gst_buffer_make_metadata_writable):
946         * gst/gstbuffer.h:
947         * libs/gst/base/gstbasetransform.c:
948         (gst_base_transform_prepare_output_buf):
949         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
950         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
951           Replace gst_buffer_(make|is)_metadata_writable patch now
952           that the release is out.
953
954 2006-01-17  Andy Wingo  <wingo@pobox.com>
955
956         * gst/gstregistry.c: Reflow design comment. Update so as to speak
957         in the present tense without reference to versions.
958
959         * gst/gstregistry.c (gst_registry_add_plugin)
960         (gst_registry_remove_plugin, gst_registry_remove_feature)
961         (gst_registry_find_feature, gst_registry_get_feature_list)
962         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
963         (gst_registry_lookup, gst_registry_scan_path)
964         (_gst_registry_remove_cache_plugins)
965         (gst_registry_get_feature_list_by_plugin): Add argument
966         validation.
967
968 === release 0.10.2 ===
969
970 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
971
972         * configure.ac:
973           releasing 0.10.2, "If man is five"
974
975 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
976
977         * gst/gstbuffer.c:
978         * gst/gstbuffer.h:
979         * libs/gst/base/gstbasetransform.c:
980         (gst_base_transform_prepare_output_buf):
981         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
982         * tests/check/gst/gstbuffer.c: (gst_test_suite):
983           Back out patch until after the release.
984
985 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
986
987         * gst/gstminiobject.c:
988           Spelling fix in docs.
989         * ChangeLog - remove conflict indicator
990
991 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
992
993         Reviewed By: Andy Wingo
994
995         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
996         (gst_buffer_make_metadata_writable):
997         * gst/gstbuffer.h:
998           Add gst_buffer_(is|make)_metadata_writable as analogues of
999           gst_buffer_(is|make)_writable.
1000
1001         * libs/gst/base/gstbasetransform.c:
1002         (gst_base_transform_prepare_output_buf):
1003         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
1004           Use name gst_buffer_(is|make)_metadata_writable functions.
1005
1006         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
1007           Test gst_buffer_(is|make)_metadata_writable
1008         
1009           (Closes: #324162)
1010
1011 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
1012
1013         * docs/manual/Makefile.am:
1014           don't do parallel make
1015         * configure.ac:
1016           AC_SUBST HOST_CPU
1017         * win32/common/config.h.in:
1018           add generations for HOST_CPU and GST_MAJORMINOR
1019         * win32/common/config.h:
1020           commit generated result
1021
1022 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
1023
1024         * docs/manual/appendix-integration.xml:
1025           Update GNOME integration section to use gst_init_get_option_group()
1026           instead of the old popt stuff (#322911). Also, GNOME applications
1027           should  now use gconf*sink and gconf*src instead of the old gconf
1028           helper lib we had.
1029
1030 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
1031
1032
1033         * docs/gst/gstreamer-docs.sgml:
1034         * docs/gst/gstreamer-sections.txt:
1035         * docs/libs/gstreamer-libs-sections.txt:
1036           add new API entries to the docs
1037         * libs/gst/controller/Makefile.am:
1038         * libs/gst/controller/gstcontroller.c:
1039         * libs/gst/controller/gstcontroller.h:
1040         * libs/gst/controller/gstcontrollerprivate.h:
1041         * libs/gst/controller/gsthelper.c:
1042         * libs/gst/controller/gstinterpolation.c:
1043           move private structs to private header
1044         * po/README:
1045           gstreamer-0.7 -> gstreamer-0.10
1046         * tests/check/libs/struct_i386.h:
1047           remove private structs
1048
1049 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1050
1051         * plugins/indexers/Makefile.am:
1052           Fixes as part of #317048
1053
1054 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
1055
1056         * plugins/indexers/Makefile.am:
1057           fix #316086 - compilation when mmap is missing
1058
1059 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
1060
1061         * libs/gst/base/gstbasesink.c:
1062           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
1063           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
1064         * win32/common/config.h:
1065           added some defines GST_MAJORMINOR and HOST_CPU
1066         * win32/common/libgstbase.def:
1067         * win32/common/libgstreamer.def:
1068           added some exported functions.
1069
1070 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
1071
1072         * libs/gst/controller/gstcontroller.c:
1073         (gst_controlled_property_set_interpolation_mode),
1074         (gst_controlled_property_new):
1075         * libs/gst/controller/gstcontroller.h:
1076         * libs/gst/controller/gstinterpolation.c:
1077         (interpolate_none_get_string_value_array):
1078           make G_TYPE_STRING controlable
1079
1080 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
1081
1082         * tools/README:
1083         * tools/gst-feedback.1.in:
1084         * tools/gst-inspect.1.in:
1085         * tools/gst-launch.1.in:
1086         * tools/gst-md5sum.1.in:
1087         * tools/gst-typefind.1.in:
1088         * tools/gst-xmlinspect.1.in:
1089         * tools/gst-xmllaunch.1.in:
1090           cleanup man-pages, remove reference to gst-register, document env-vars
1091
1092 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
1093
1094         * gst/gstbuffer.c: (gst_buffer_span):
1095           gst_buffer_span should copy the timestamp of the first buffer
1096           if they were both originally overlapping subbuffers of the 
1097           same parent, using the same logic as the 'slow copy' case.
1098
1099 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
1100
1101         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
1102           Need to awaken ALL the pads when we pop a buffer, otherwise
1103           collectpads only works when there is 2 input streams.
1104
1105 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
1106
1107         * docs/random/ensonic/media-device-daemon.txt:
1108           more ideas (dbus)
1109         * gst/gstbuffer.c:
1110           fix doc example, add clarification
1111         * tools/gst-launch.1.in:
1112           add initial info about GST_PLUGIN_PATH, needs more work
1113
1114 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1115
1116         * docs/manual/basics-bins.xml:
1117         * docs/manual/basics-elements.xml:
1118         * docs/manual/intro-basics.xml:
1119           Some more minor docs additions and updates.
1120
1121 2006-01-11  Wim Taymans  <wim@fluendo.com>
1122
1123         * docs/manual/basics-bins.xml:
1124         * docs/manual/basics-elements.xml:
1125         Some small fixes as pointed out by Ser-ver on IRC.
1126
1127 2006-01-10  Edward Hervey  <edward@fluendo.com>
1128
1129         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
1130         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
1131         the single-segment mode.
1132
1133 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
1134
1135         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1136
1137         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
1138         (gst_base_src_perform_seek), (gst_base_src_send_event),
1139         (gst_base_src_set_property), (gst_base_src_get_property),
1140         (gst_base_src_loop), (gst_base_src_start),
1141         (gst_base_src_activate_push):
1142         * libs/gst/base/gstbasesrc.h:
1143           Name (private) union; makes Sun's Forte compiler happy (#324900).
1144
1145 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1146
1147         * README:
1148           gst-register is gone.
1149
1150 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
1151
1152         * gst/gstvalue.c: (_gst_value_initialize):
1153           make the G_TYPE_DATE instantiation work if debug is disabled
1154
1155 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
1156
1157         * gst/gstmessage.c: (gst_message_parse_tag),
1158         (gst_message_parse_error), (gst_message_parse_warning):
1159           Don't crash when return location for error/warning debug
1160           string is NULL; add fact that return locations can be
1161           NULL to docs where appropriate.
1162
1163 2006-01-05  Wim Taymans  <wim@fluendo.com>
1164
1165         * gst/gstplugin.c: (gst_plugin_load_file):
1166         Replace strdup by g_strdup.
1167
1168 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1169
1170         * docs/pwg/advanced-types.xml:
1171           fix doc borkage
1172
1173 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1174
1175         submitted by: Abel Cheung
1176
1177         * po/LINGUAS:
1178         * po/zh_TW.po:
1179           Added Chinese (traditional) translation
1180
1181 2006-01-04  Wim Taymans  <wim@fluendo.com>
1182
1183         * docs/manual/basics-pads.xml:
1184         * docs/plugins/Makefile.am:
1185         * docs/plugins/gstreamer-plugins-docs.sgml:
1186         * docs/plugins/gstreamer-plugins-sections.txt:
1187         * docs/pwg/advanced-clock.xml:
1188         * docs/pwg/advanced-scheduling.xml:
1189         * docs/pwg/advanced-types.xml:
1190         * plugins/elements/gstfdsink.c:
1191         * plugins/elements/gstfdsrc.c:
1192         * plugins/elements/gstfdsrc.h:
1193         * plugins/elements/gstidentity.c: (gst_identity_class_init):
1194         * plugins/elements/gstidentity.h:
1195         * plugins/elements/gstqueue.h:
1196         * plugins/elements/gsttee.c:
1197         * plugins/elements/gsttee.h:
1198         * plugins/elements/gsttypefindelement.c:
1199         (gst_type_find_element_class_init):
1200         * plugins/elements/gsttypefindelement.h:
1201         Small updates to various docs.
1202         Added core plugins to docs.
1203
1204 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1205
1206         * common/gst.supp:
1207           add a suppression for liboil's uninitialized variable
1208
1209 2006-01-02  James Livingston  <jrl at ids dot org dot au>
1210
1211         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1212
1213         * gst/gstutils.h:
1214           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
1215           macro, so that gcc doesn't complain if the -Wmissing-prototypes
1216           compiler switch is being used (#325429).
1217
1218 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
1219
1220         * gst/gstbin.c: (gst_bin_query):
1221           Disable duration query caching in bins until it gets
1222           fixed (see #324807).
1223
1224 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
1225
1226         * tools/gst-inspect.c: (print_element_properties_info):
1227           Handle properties of POINTER and BOXED type.
1228
1229 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
1230
1231         * gst/gst.c: (init_post):
1232           Init tags stuff and some other things before loading
1233           any static plugins (there may be other static plugins
1234           than just the GStreamer ones, and they may want to
1235           register their own tags or formats or whatever, and
1236           preferably without segfaulting).
1237
1238         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
1239           Print at least a warning in the debug logs if we drop a
1240           query just because we don't know how to adjust the value
1241           in the particular format.
1242
1243 2005-12-24  David Schleef  <ds@schleef.org>
1244
1245         * tools/gstreamer-completion:
1246           Replacement for gst-complete written in sh and sed.  Only
1247           completes names of features, but that's 90% of what I want
1248           it for.  Properties are not available in registry.xml.  (Maybe
1249           they should be...)
1250
1251 === release 0.10.1 ===
1252
1253 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
1254
1255         * configure.ac:
1256           releasing 0.10.1, "Nollaig chridheil"
1257
1258 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
1259
1260         * docs/faq/cvs.xml:
1261           Add missing quote, should be make ERROR_CFLAGS="".
1262
1263 2005-12-20  Wim Taymans  <wim@fluendo.com>
1264
1265         * docs/design/part-trickmodes.txt:
1266         More documentation on trickmodes.
1267
1268 2005-12-20  Edward Hervey  <edward@fluendo.com>
1269
1270         * gst/gstcaps.c: (gst_static_caps_get_type):
1271         * gst/gstcaps.h:
1272           API addition: GST_TYPE_STATIC_CAPS
1273         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
1274         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
1275         * gst/gstpadtemplate.h:
1276           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
1277         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
1278         bindings.
1279
1280 2005-12-18  Wim Taymans  <wim@fluendo.com>
1281
1282         * libs/gst/base/gstadapter.c:
1283         * libs/gst/base/gstadapter.h:
1284         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1285         (gst_base_sink_get_position):
1286         * libs/gst/base/gstbasesink.h:
1287         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1288         (gst_base_src_default_query), (gst_base_src_default_do_seek),
1289         (gst_base_src_do_seek), (gst_base_src_perform_seek),
1290         (gst_base_src_send_event), (gst_base_src_update_length),
1291         (gst_base_src_get_range), (gst_base_src_loop),
1292         (gst_base_src_start):
1293         * libs/gst/base/gstbasesrc.h:
1294         * libs/gst/base/gstbasetransform.h:
1295         * libs/gst/base/gstcollectpads.h:
1296         * libs/gst/base/gstpushsrc.c:
1297         * libs/gst/base/gstpushsrc.h:
1298         * libs/gst/dataprotocol/dataprotocol.c:
1299         * libs/gst/dataprotocol/dataprotocol.h:
1300         * libs/gst/net/gstnetclientclock.h:
1301         * libs/gst/net/gstnettimeprovider.h:
1302         Documentation updates.
1303
1304 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
1305
1306         * docs/manual/basics-helloworld.xml:
1307           Remove superfluous closing bracket in helloworld example.
1308
1309 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
1310
1311         * tools/gst-launch.1.in:
1312           Update gst-launch man page; add a section with useful
1313           environment variables. Fixes #323882.
1314
1315 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
1316
1317         * gst/gst.c:
1318         * gst/gst_private.h:
1319           change some char* into char[]
1320
1321 2005-12-16  Wim Taymans  <wim@fluendo.com>
1322
1323         * gst/gstregistryxml.c: (load_feature):
1324         Cleanups.
1325         Don't use g_object_unref on GstObjects so that we avoid
1326         leaks on unsafe glibs.
1327
1328 2005-12-16  Wim Taymans  <wim@fluendo.com>
1329
1330         * gst/gstbin.c: (gst_bin_recalc_state):
1331         Small doc updates.
1332
1333 2005-12-16  Wim Taymans  <wim@fluendo.com>
1334
1335         * common/check.mak:
1336         Added make forever target for check.
1337
1338 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
1339
1340         * gst/gst.c: (init_post):
1341           make the registry cache file HOST_CPU-dependent
1342
1343 2005-12-16  Andy Wingo  <wingo@pobox.com>
1344
1345         * plugins/elements/gstbufferstore.c
1346         (gst_buffer_store_cleared_func): Pay attention to g_list_append
1347         return value.
1348
1349         * tests/check/gst/gstobject.c
1350         (test_fake_object_name_threaded_unique): Pay attention to
1351         g_list_sort return value.
1352
1353 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1354
1355         * tools/gst-feedback-m.m:
1356           Update for 0.9/0.10 (fixes #323870).
1357
1358 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
1359
1360         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
1361           Fix lcopy for mini objects, the mini object needs to be ref'ed.
1362           
1363         * tests/check/gst/gstminiobject.c: (my_foo_init),
1364         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
1365         (test_value_collection), (gst_mini_object_suite):
1366           Add test to ensure refcounts end up as expected when passing
1367           GstMiniObjects through g_object_get() and g_object_set().
1368
1369 2005-12-14  Julien MOUTTE  <julien@moutte.net>
1370
1371         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1372         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
1373         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
1374         of collectpads. This version removes a lot of races without
1375         touching API/ABI. Yay !
1376
1377 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
1378
1379         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
1380           Don't allow activation of a srcpad in pull_range if it has no
1381           getrange function.
1382           Change some debug statements to be a little clearer
1383
1384         * plugins/elements/gsttypefindelement.c:
1385         (gst_type_find_handle_src_query):
1386           Check that we have a peer before executing queries thereupon.
1387
1388         * tests/examples/metadata/read-metadata.c: (message_loop):
1389           Use gst_bus_pop instead of gst_bus_poll when we just want it to
1390           immediately return us any available message with 0 timeout.
1391
1392 2005-12-12  Michael Smith  <msmith@fluendo.com>
1393
1394         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
1395           Don't unref factories after calling them.
1396         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
1397         * plugins/elements/gsttypefindelement.c:
1398         (gst_type_find_element_chain):
1399           Free lists of factories after using them. Fixing typefinding memory
1400           leaks.
1401
1402 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1403
1404         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
1405         (gst_plugin_feature_load):
1406           more meaningful debug output
1407         * configure.ac:
1408         * tests/Makefile.am:
1409         * tests/old/examples/Makefile.am:
1410           make make distcheck happy again
1411
1412 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
1413
1414         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
1415           Catch the special case where we are operating chain-based,
1416           but the downstream peer pad has no chain function. Emit a
1417           custom error message in this case instead of letting the
1418           core generate one implying that this is some sort of core
1419           bug. It's not, it just means that whatever got plugged
1420           into the pipeline downstream when we announced the type
1421           can only operate pull-based, while our source can only
1422           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
1423           Error string has not been marked for translation yet, as
1424           it probably needs some more work first.
1425
1426         (gst_type_find_element_get_best_possibility):
1427           Add helper function to find the best of all available
1428           found possibilities that qualify given the min. threshold.
1429
1430         (gst_type_find_element_handle_event):
1431           Fix the case where we get an EOS while still in TYPEFIND
1432           mode (we want to chose the best of all possible types,
1433           not just the first type that happens to be in our unsorted
1434           list of possible types).
1435
1436         (gst_type_find_element_chain):
1437           Make sure we return GST_FLOW_ERROR when we errored out
1438           in stop_typefinding(); also, don't just find the best of
1439           all found type entries and then use the last examined
1440           type entry, but actually use the best entry.
1441
1442 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
1443
1444         * tests/examples/typefind/typefind.c: (type_found):
1445         * tests/examples/xml/runxml.c: (xml_loaded):
1446           More gcc4 fixes and a mem leak fix.
1447
1448 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1449
1450         * tests/examples/xml/createxml.c: (object_saved):
1451           gcc 4 fixes
1452
1453 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1454
1455         * tests/Makefile.am:
1456           enable the examples even more
1457
1458 2005-12-12  Andy Wingo  <wingo@pobox.com>
1459
1460         * libs/gst/net/gstnettimeprovider.c
1461         (gst_net_time_provider_class_init, gst_net_time_provider_init)
1462         (gst_net_time_provider_set_property)
1463         (gst_net_time_provider_get_property):
1464         API addition: Export "active" as a GObject property.
1465         (gst_net_time_provider_thread): Only respond to time queries if
1466         the time provider is active.
1467
1468         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
1469         NetTimeProvider, preserving binary compat.
1470
1471 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1472
1473         * tests/examples/controller/audio-example.c: (main):
1474         * tests/examples/launch/Makefile.am:
1475           convert comments again
1476
1477 2005-12-12  Wim Taymans  <wim@fluendo.com>
1478
1479         * libs/gst/base/gstpushsrc.c:
1480         Fix typo.
1481
1482 2005-12-12  Wim Taymans  <wim@fluendo.com>
1483
1484         * docs/libs/gstreamer-libs-sections.txt:
1485         Added new symbol to docs.
1486
1487         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1488         (gst_base_src_init), (gst_base_src_set_format),
1489         (gst_base_src_default_query), (gst_base_src_query),
1490         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
1491         (gst_base_src_perform_seek), (gst_base_src_send_event),
1492         (gst_base_src_default_event), (gst_base_src_event_handler),
1493         (gst_base_src_set_property), (gst_base_src_get_property),
1494         (gst_base_src_wait), (gst_base_src_do_sync),
1495         (gst_base_src_update_length), (gst_base_src_get_range),
1496         (gst_base_src_check_get_range), (gst_base_src_loop),
1497         (gst_base_src_default_negotiate), (gst_base_src_start),
1498         (gst_base_src_activate_push), (gst_base_src_activate_pull),
1499         (gst_base_src_change_state):
1500         * libs/gst/base/gstbasesrc.h:
1501         Implement seeking to other formats than _BYTES.
1502         Implement more seeking methods correctly.
1503         Doc updates.
1504         Added query vmethod.
1505         Added do_seek vmethod to make life easier for subclasses
1506         when seeking.
1507         API addition: gst_base_src_set_format()
1508
1509 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1510
1511         * tests/examples/Makefile.am:
1512           added that too
1513
1514 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
1515
1516         * configure.ac:
1517         * docs/random/ensonic/media-device-daemon.txt:
1518         * tests/examples/controller/.cvsignore:
1519         * tests/examples/controller/Makefile.am:
1520         * tests/examples/controller/audio-example.c: (main):
1521         * tests/examples/helloworld/.cvsignore:
1522         * tests/examples/helloworld/Makefile.am:
1523         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
1524         * tests/examples/launch/.cvsignore:
1525         * tests/examples/launch/Makefile.am:
1526         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
1527         * tests/examples/metadata/.cvsignore:
1528         * tests/examples/metadata/Makefile.am:
1529         * tests/examples/metadata/read-metadata.c: (message_loop),
1530         (make_pipeline), (print_tag), (main):
1531         * tests/examples/queue/.cvsignore:
1532         * tests/examples/queue/Makefile.am:
1533         * tests/examples/queue/queue.c: (event_loop), (main):
1534         * tests/examples/typefind/.cvsignore:
1535         * tests/examples/typefind/Makefile.am:
1536         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
1537         (main):
1538         * tests/examples/xml/.cvsignore:
1539         * tests/examples/xml/Makefile.am:
1540         * tests/examples/xml/createxml.c: (object_saved), (main):
1541         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
1542         * tests/old/examples/Makefile.am:
1543         * tests/old/examples/TODO:
1544         * tests/old/examples/controller/.cvsignore:
1545         * tests/old/examples/controller/Makefile.am:
1546         * tests/old/examples/controller/audio-example.c:
1547         * tests/old/examples/helloworld/.cvsignore:
1548         * tests/old/examples/helloworld/Makefile.am:
1549         * tests/old/examples/helloworld/helloworld.c:
1550         * tests/old/examples/launch/.cvsignore:
1551         * tests/old/examples/launch/Makefile.am:
1552         * tests/old/examples/launch/mp3parselaunch.c:
1553         * tests/old/examples/launch/mp3play:
1554         * tests/old/examples/manual/Makefile.am:
1555         * tests/old/examples/metadata/Makefile.am:
1556         * tests/old/examples/metadata/read-metadata.c:
1557         * tests/old/examples/queue/.cvsignore:
1558         * tests/old/examples/queue/Makefile.am:
1559         * tests/old/examples/queue/queue.c:
1560         * tests/old/examples/typefind/.cvsignore:
1561         * tests/old/examples/typefind/Makefile.am:
1562         * tests/old/examples/typefind/typefind.c:
1563         * tests/old/examples/xml/.cvsignore:
1564         * tests/old/examples/xml/Makefile.am:
1565         * tests/old/examples/xml/createxml.c:
1566         * tests/old/examples/xml/runxml.c:
1567           applied some simple fixing to some examples
1568           re-enabled the working examples
1569
1570 2005-12-12  Wim Taymans  <wim@fluendo.com>
1571
1572         * gst/gstsegment.c: (gst_segment_init),
1573         (gst_segment_set_last_stop), (gst_segment_set_seek),
1574         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
1575         (gst_segment_to_running_time):
1576         Added more documentation.
1577         Make sure the last_pos value is updated properly.
1578         Make sure to_stream_time and to_running_time don't
1579         operate on wrong values.
1580
1581         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1582         Update check.
1583
1584 2005-12-12  Michael Smith  <msmith@fluendo.com>
1585
1586         * plugins/elements/gsttypefindelement.c: (free_entry),
1587         (gst_type_find_element_chain):
1588           Now that we're not leaking factories, make sure we keep references
1589           to them while we need them.
1590
1591 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1592
1593         * tests/check/gst/struct_i386.h:
1594           ifdef out the XML structs
1595
1596 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1597
1598         * gst/gstvalue.c: (gst_value_transform_double_fraction):
1599           floor is not needed, F is always positive; this obviates the
1600           need for adding -lm when building without libxml
1601
1602 2005-12-12  Wim Taymans  <wim@fluendo.com>
1603
1604         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1605         Take current playback rate into account when reporting
1606         the position.
1607
1608 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1609
1610         * docs/manual/mime-world.fig:
1611           Let's try this again, this time with a file that is
1612           actually in XFig format.
1613
1614 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1615
1616         * docs/manual/mime-world.fig:
1617           Add audioconvert element to diagram so that it
1618           matches the text and the code (fixes #319526).
1619
1620 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1621
1622         * docs/pwg/building-chainfn.xml:
1623         * docs/pwg/building-pads.xml:
1624         * docs/pwg/building-state.xml:
1625         * docs/pwg/other-source.xml:
1626           Update state change stuff for 0.10 (fixes #322969).
1627
1628 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1629
1630         * docs/manual/advanced-dataaccess.xml:
1631         * docs/manual/appendix-checklist.xml:
1632         * docs/manual/appendix-programs.xml:
1633         * docs/manual/basics-pads.xml:
1634         * docs/manual/highlevel-components.xml:
1635         * docs/manual/manual.xml:
1636           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
1637           add converters in front of pipelines; remove curly
1638           brackets for threads stuff, they no longer exist; use
1639           GST_TYPE_FRACTION for framerates; update some pieces of
1640           code to 0.10, but there's plenty more to do.
1641
1642         * docs/manual/appendix-porting.xml:
1643           Expand on asynchroneous state changes; s/0.9/0.10/;
1644           mention disappearance of gst_init_get_popt_table()
1645           (fixes #322916).
1646
1647 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
1648
1649         * docs/faq/using.xml:
1650           Spider no longer exists, and neither does gst-launch-ext.
1651           Update examples to use decodebin and playbin and put
1652           converters in front of sinks (fixes #323726).
1653
1654 2005-12-09  Michael Smith  <msmith@fluendo.com>
1655
1656         * plugins/elements/gsttypefindelement.c: (find_peek),
1657         (gst_type_find_element_chain):
1658           Fix leaking element factories in typefinding.
1659           Fix problem where we forgot about a probable type on non-seekable
1660           files, and thus later mis-typefound it.
1661
1662 2005-12-09  Michael Smith  <msmith@fluendo.com>
1663
1664         * common/m4/gst-makecontext.m4:
1665         * common/m4/gst-mcsc.m4:
1666         * configure.ac:
1667         * win32/common/config.h:
1668         * win32/common/config.h.in:
1669           Remove makecontext stuff; not used in 0.10 and causes problems on
1670           HPUX according to bug #322441
1671
1672 2005-12-07  Wim Taymans  <wim@fluendo.com>
1673
1674         * tests/check/Makefile.am:
1675         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
1676         (main):
1677         * tests/check/libs/struct_i386.h:
1678         Added ABI check for libs
1679
1680 2005-12-07  Wim Taymans  <wim@fluendo.com>
1681
1682         * tests/check/Makefile.am:
1683         And add the struct_i386.h to dist.
1684
1685 2005-12-07  Wim Taymans  <wim@fluendo.com>
1686
1687         * tests/check/Makefile.am:
1688         * tests/check/gst/.cvsignore:
1689         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
1690         (main):
1691         * tests/check/gst/struct_i386.h:
1692         Added check for ABI compatibility.
1693
1694 2005-12-07  Wim Taymans  <wim@fluendo.com>
1695
1696         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1697         (gst_fake_src_get_times), (gst_fake_src_create):
1698         Fix broken sync option, fixes #323259
1699
1700 2005-12-07  Wim Taymans  <wim@fluendo.com>
1701
1702         * gst/gstbuffer.c:
1703         Small docs update.
1704
1705         * gst/gstcaps.c: (gst_caps_is_equal):
1706         Don't assert on NULL <--> X. Fixes #323260
1707
1708         * gst/gstminiobject.c: (gst_mini_object_replace):
1709         If we're doing atomic operations, we might just as well use
1710         the proper way to get an atomic pointer.
1711
1712         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
1713         Clean up debugging.
1714
1715 2005-12-07  Michael Smith  <msmith@fluendo.com>
1716
1717         * gst/parse/grammar.y:
1718           Remove handling of { } for threads.
1719
1720 2005-12-06  David Schleef  <ds@schleef.org>
1721
1722         * libs/gst/base/gstbasetransform.c: speling fix.
1723
1724 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
1725
1726         * docs/libs/tmpl/gstdataprotocol.sgml:
1727         * docs/random/omega/testing/gstobject.c:
1728         * gst/gst.c:
1729         * gst/gstclock.c:
1730         * gst/gstelement.c:
1731         * gst/gstelementfactory.c:
1732         * gst/gsterror.c:
1733         * gst/gstevent.c:
1734         * gst/gstghostpad.c:
1735         * gst/gstinfo.c:
1736         * gst/gstpadtemplate.c:
1737         * gst/gstregistryxml.c:
1738         * gst/gsttaglist.c:
1739         * gst/gsttagsetter.c:
1740         * gst/gsttypefind.c:
1741         * gst/gstvalue.c:
1742         * libs/gst/base/gstbasesrc.c:
1743         * libs/gst/net/gstnetclientclock.c:
1744         * libs/gst/net/gstnettimeprovider.c:
1745         * plugins/elements/gstfakesrc.c:
1746         * plugins/elements/gstfdsrc.c:
1747         * plugins/elements/gstfilesrc.c:
1748         * plugins/elements/gstidentity.c:
1749         * plugins/elements/gstqueue.c:
1750         * plugins/elements/gsttypefindelement.c:
1751         * plugins/indexers/gstfileindex.c:
1752         * plugins/indexers/gstmemindex.c:
1753         * tests/check/gst/gsttag.c:
1754         * tests/old/examples/cutter/cutter.c:
1755         * tests/old/examples/mixer/mixer.c:
1756         * tests/old/examples/xml/runxml.c: (main):
1757         * tests/old/testsuite/caps/normalisation.c:
1758         * tests/old/testsuite/debug/global.c:
1759         * tests/old/testsuite/parse/parse1.c:
1760         * tools/gst-xmlinspect.c:
1761         * win32/common/dirent.c:
1762           expand tabs
1763
1764 === release 0.10.0 ===
1765
1766 2005-12-05   <thomas (at) apestaart (dot) org>
1767
1768         * configure.ac:
1769           releasing 0.10.0, "Maroilles"
1770
1771 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1772
1773         submitted by: Funda Wang <fundawang@linux.net.cn>
1774
1775         * po/LINGUAS:
1776         * po/zh_CN.po:
1777           added Chinese (Traditional) translation
1778
1779 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1780
1781         * docs/gst/gstreamer-sections.txt:
1782         * docs/libs/tmpl/gstdataprotocol.sgml:
1783         * docs/random/thomasvs/TODO:
1784         * gst/gstutils.c:
1785         * gst/gstutils.h:
1786           fix docs
1787
1788 2005-12-05  Andy Wingo  <wingo@pobox.com>
1789
1790         patch by: Wim Taymans <wim@fluendo.com>
1791
1792         * libs/gst/base/gstbasetransform.c
1793         (gst_base_transform_prepare_output_buf)
1794         (gst_base_transform_buffer_alloc):
1795         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
1796         alloc_buffer_and_set_caps.
1797
1798         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
1799         set_caps on the source pad.
1800         (gst_pad_alloc_buffer_and_set_caps): New function, does what
1801         alloc_buffer used to do. Fixes #322874.
1802
1803         * docs/gst/gstreamer-sections.txt: 
1804         * docs/design/part-negotiation.txt: 
1805         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
1806         changes.
1807
1808 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
1809
1810         patch by: Sebastien Moutte
1811
1812         * win32/MANIFEST:
1813         * win32/common/config.h.in:
1814         * win32/vs6/libgstcontroller.dsp:
1815           win32 build fixes
1816
1817 2005-12-05  Wim Taymans  <wim@fluendo.com>
1818
1819         * gst/gstcaps.c: (gst_caps_is_equal):
1820         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1821         (gst_fake_src_create):
1822         Back out previous code changes, leave doc updates, file bugs 
1823         instead. 
1824
1825 2005-12-05  Wim Taymans  <wim@fluendo.com>
1826
1827         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1828         (gst_fake_src_get_times), (gst_fake_src_create):
1829         * plugins/elements/gstfakesrc.h:
1830         Fix broken sync code.
1831
1832 2005-12-05  Wim Taymans  <wim@fluendo.com>
1833
1834         * gst/gstcaps.c: (gst_caps_is_equal):
1835         Comparing NULL against !NULL yields different caps, not a
1836         failure.
1837
1838 2005-12-05  Wim Taymans  <wim@fluendo.com>
1839
1840         * gst/gstpipeline.c:
1841         Fix small typo in docs.
1842
1843 2005-12-05  Andy Wingo  <wingo@pobox.com>
1844
1845         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
1846
1847         * gst/gst.c (init_post): remove hard-coded 0.9 location for
1848         registries/plugins with a MAJORMINOR one.
1849         (plugin_desc): Rename library from gstcoreleements to
1850         staticelements. Fixes #323222.
1851
1852 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
1853
1854         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
1855           Change debug category to 'collectpads' from 'collect_pads'
1856           (fixes #323250).
1857
1858 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
1859
1860         patch by: Sebastien Moutte
1861
1862         * libs/gst/controller/gstinterpolation.c:
1863           use convert function for uint64/double
1864         * win32/vs6/libgstcontroller.dsp:
1865           link to GLib
1866
1867 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
1868
1869         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
1870         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
1871         * gst/gstutils.h:
1872         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1873           add tests that seem to show that the guint64/gdouble conversions
1874           are correct.
1875
1876 2005-12-02  Wim Taymans  <wim@fluendo.com>
1877
1878         * gst/gstregistry.c: (gst_registry_add_path):
1879         * gst/gstregistry.h:
1880         * gst/gstregistryxml.c:
1881         Fix docs again.
1882
1883 2005-12-02  Wim Taymans  <wim@fluendo.com>
1884
1885         * gst/gstutils.c: (gst_util_uint64_scale_int64),
1886         (gst_util_uint64_scale_int):
1887         Small cleanup.
1888
1889         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
1890         Add debug log line.
1891
1892         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
1893         Add FIXME.
1894
1895 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1896
1897         * win32/MANIFEST:
1898         * win32/common/config.h:
1899         * win32/vs6/gstreamer.dsw:
1900         * win32/vs6/libgstcoreelements.dsp:
1901         * win32/vs6/libgstelements.dsp:
1902           renamed core elements plugin
1903
1904 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
1905
1906         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
1907         (get_candidates):
1908           do piece-wise major/minor comparison so 0.9 < 0.10
1909           also allow .exe extensions for tools
1910
1911 2005-12-02  Michael Smith  <msmith@fluendo.com>
1912
1913         * gst/gst.c:
1914           Escape a % to make gtkdoc happier; bug 322958.
1915
1916 === release 0.9.7 ===
1917
1918 2005-12-01   <thomas (at) apestaart (dot) org>
1919
1920         * configure.ac:
1921           releasing 0.9.7, "My Dog Has No Nose"
1922
1923 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1924
1925         * common/gst-xmlinspect.py:
1926         * configure.ac:
1927         * docs/libs/tmpl/gstdataprotocol.sgml:
1928         * docs/random/release:
1929         * po/af.po:
1930         * po/az.po:
1931         * po/bg.po:
1932         * po/ca.po:
1933         * po/cs.po:
1934         * po/de.po:
1935         * po/en_GB.po:
1936         * po/fr.po:
1937         * po/it.po:
1938         * po/nb.po:
1939         * po/nl.po:
1940         * po/ru.po:
1941         * po/sq.po:
1942         * po/sr.po:
1943         * po/sv.po:
1944         * po/tr.po:
1945         * po/uk.po:
1946         * po/vi.po:
1947         * win32/common/config.h:
1948         * win32/common/config.h.in:
1949         * win32/vs6/gst_inspect.dsp:
1950         * win32/vs6/gst_launch.dsp:
1951         * win32/vs6/libgstbase.dsp:
1952         * win32/vs6/libgstelements.dsp:
1953         * win32/vs6/libgstreamer.dsp:
1954         * win32/vs7/GStreamer.vcproj:
1955         * win32/vs7/gst-inspect.vcproj:
1956         * win32/vs7/gst-launch.vcproj:
1957         * win32/vs7/libgstbase.vcproj:
1958           bump GST_MAJORMINOR to 0.10
1959           reset libtool version
1960
1961 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1962
1963         * po/LINGUAS:
1964         * po/bg.po:
1965           Added Bulgarian translation by (Alexander Shopov)
1966
1967 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1968
1969         * tests/check/gst/gstplugin.c:
1970           fix test
1971
1972 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
1973
1974         * common/gst-xmlinspect.py:
1975         * common/gtk-doc-plugins.mak:
1976         * configure.ac:
1977         * docs/Makefile.am:
1978         * docs/gst/Makefile.am:
1979         * docs/gst/gstreamer-docs.sgml:
1980         * docs/gst/gstreamer-sections.txt:
1981         * docs/gst/gstreamer.types:
1982         * docs/gst/gstreamer.types.in:
1983         * docs/plugins/Makefile.am:
1984         * docs/plugins/gstreamer-plugins-docs.sgml:
1985         * docs/plugins/gstreamer-plugins-sections.txt:
1986         * docs/plugins/gstreamer-plugins.types:
1987         * docs/plugins/inspect.stamp:
1988         * docs/plugins/inspect/plugin-coreelements.xml:
1989         * docs/plugins/inspect/plugin-coreindexers.xml:
1990         * docs/plugins/scanobj-build.stamp:
1991         * gstreamer.spec.in:
1992         * plugins/elements/Makefile.am:
1993         * plugins/elements/gstelements.c:
1994         * plugins/elements/gstfakesink.c:
1995         * plugins/elements/gstfakesrc.c:
1996         * plugins/elements/gstfilesink.c:
1997         * plugins/elements/gstfilesrc.c:
1998         * plugins/elements/gstqueue.c:
1999         * plugins/indexers/Makefile.am:
2000         * plugins/indexers/gstindexers.c:
2001           document core plugins in a separate document just like all the
2002           others
2003           rename these plugins to something starting with core
2004
2005 2005-12-01  Andy Wingo  <wingo@pobox.com>
2006
2007         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
2008         padding here before, but it missed the commit.
2009
2010 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2011
2012         * libs/gst/controller/gstinterpolation.c:
2013           whitespace prices have crashed, we should feel free to use some now
2014           use gst_guint64_to_gdouble
2015
2016 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2017
2018         * libs/gst/controller/gstcontroller.c:
2019         * libs/gst/controller/gsthelper.c:
2020         * libs/gst/controller/gstinterpolation.c:
2021         * libs/gst/controller/lib.c:
2022           wrap config.h include
2023
2024 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2025
2026         * docs/gst/gstreamer-sections.txt:
2027           update docs
2028
2029 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2030
2031         * plugins/elements/gstelements.c:
2032         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
2033         (gst_fd_sink__class_init), (gst_fd_sink__init),
2034         (gst_fd_sink__chain), (gst_fd_sink__set_property),
2035         (gst_fd_sink__get_property):
2036         * plugins/elements/gstfdsink.h:
2037         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
2038         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
2039         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
2040         (gst_fd_src_unlock), (gst_fd_src_set_property),
2041         (gst_fd_src_get_property), (gst_fd_src_create),
2042         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
2043         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
2044         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
2045         (gst_fd_src_uri_handler_init):
2046         * plugins/elements/gstfdsrc.h:
2047         * plugins/elements/gstqueue.c: (gst_queue_get_type):
2048           more anal cleanup
2049
2050 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2051
2052         * docs/gst/Makefile.am:
2053         * docs/gst/gstreamer.types.in:
2054         * gst/Makefile.am:
2055           fix the docs build
2056
2057 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2058
2059         * configure.ac:
2060         * gst/Makefile.am:
2061         * gst/gst.c:
2062         * gst/gstplugin.h:
2063         * gst/gstregistry.h:
2064         * tests/benchmarks/complexity.c:
2065         * tests/benchmarks/mass-elements.c:
2066         * tests/check/Makefile.am:
2067         * tools/Makefile.am:
2068         * tools/gst-inspect.c:
2069         * tools/gst-xmlinspect.c:
2070           various fixes to make
2071           --disable-nls --disable-registry --disable-loadsave
2072           --disable-parse --disable-gst-debug
2073           work and get the core .so down to 360444 bytes after stripping
2074
2075 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2076
2077         * Makefile.am:
2078         * configure.ac:
2079           descend into tests
2080         * docs/random/thomasvs/TODO:
2081         * tests/Makefile.am:
2082         * tests/README:
2083           add a README
2084
2085 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2086
2087         * win32/GStreamer.vcproj:
2088         * win32/MANIFEST:
2089         * win32/Makefile:
2090         * win32/Makefile.inspect:
2091         * win32/Makefile.launch:
2092         * win32/Makefile.register:
2093         * win32/README.txt:
2094         * win32/gst-inspect.vcproj:
2095         * win32/gst-launch.vcproj:
2096         * win32/gst-register.vcproj:
2097         * win32/gstelements.vcproj:
2098         * win32/gstgetbits.def:
2099         * win32/gstgetbits.vcproj:
2100         * win32/gstreamer-dbg.def:
2101         * win32/gstreamer.def:
2102         * win32/libgstbase.def:
2103         * win32/libgstbase.vcproj:
2104         * win32/link_oldruntime.c:
2105         * win32/mman.c:
2106         * win32/mman.h:
2107         * win32/mman.inl:
2108         * win32/msvc71.sln:
2109           move even more stuff, win32/ is nice and clean now
2110
2111 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2112
2113         * libs/gst/control/.cvsignore:
2114         * win32/MANIFEST:
2115         * win32/config.h:
2116         * win32/dirent.c:
2117         * win32/dirent.h:
2118         * win32/gstbytestream.def:
2119         * win32/gstbytestream.vcproj:
2120         * win32/gstconfig.h:
2121         * win32/gstenumtypes.c:
2122         * win32/gstenumtypes.h:
2123         * win32/gstoptimalscheduler.vcproj:
2124         * win32/gstversion.h:
2125         * win32/gtchar.h:
2126         * win32/testsuite/bins.vcproj:
2127         * win32/testsuite/bytestream.vcproj:
2128         * win32/testsuite/caps.vcproj:
2129         * win32/testsuite/cleanup.vcproj:
2130         * win32/testsuite/clock.vcproj:
2131         * win32/testsuite/debug.vcproj:
2132         * win32/testsuite/dlopen.vcproj:
2133         * win32/testsuite/dynparams.vcproj:
2134         * win32/testsuite/elements.vcproj:
2135         * win32/testsuite/ghostpads.vcproj:
2136         * win32/testsuite/indexers.vcproj:
2137         * win32/testsuite/negotiation.vcproj:
2138         * win32/testsuite/parse.vcproj:
2139         * win32/testsuite/plugin.vcproj:
2140         * win32/testsuite/refcounting.vcproj:
2141         * win32/testsuite/schedulers.vcproj:
2142         * win32/testsuite/states.vcproj:
2143         * win32/testsuite/tags.vcproj:
2144         * win32/testsuite/threads.vcproj:
2145           remove old win32 stuff that isn't maintained and should be
2146           reorganized
2147
2148 2005-11-30  Andy Wingo  <wingo@pobox.com>
2149
2150         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
2151         loading the gst.interfaces python module bork.
2152
2153         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
2154         available since GLib 2.2. Fixes #318031.
2155
2156 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2157
2158         * Makefile.am:
2159         * check/.cvsignore:
2160         * check/Makefile.am:
2161         * check/elements/.cvsignore:
2162         * check/elements/fakesrc.c:
2163         * check/elements/fdsrc.c:
2164         * check/elements/identity.c:
2165         * check/generic/.cvsignore:
2166         * check/generic/states.c:
2167         * check/gst-libs/.cvsignore:
2168         * check/gst-libs/controller.c:
2169         * check/gst-libs/gdp.c:
2170         * check/gst/.cvsignore:
2171         * check/gst/capslist.h:
2172         * check/gst/gst.c:
2173         * check/gst/gstbin.c:
2174         * check/gst/gstbuffer.c:
2175         * check/gst/gstbus.c:
2176         * check/gst/gstcaps.c:
2177         * check/gst/gstelement.c:
2178         * check/gst/gstevent.c:
2179         * check/gst/gstghostpad.c:
2180         * check/gst/gstiterator.c:
2181         * check/gst/gstmessage.c:
2182         * check/gst/gstminiobject.c:
2183         * check/gst/gstobject.c:
2184         * check/gst/gstpad.c:
2185         * check/gst/gstpipeline.c:
2186         * check/gst/gstplugin.c:
2187         * check/gst/gstsegment.c:
2188         * check/gst/gststructure.c:
2189         * check/gst/gstsystemclock.c:
2190         * check/gst/gsttag.c:
2191         * check/gst/gstutils.c:
2192         * check/gst/gstvalue.c:
2193         * check/net/.cvsignore:
2194         * check/net/gstnetclientclock.c:
2195         * check/net/gstnettimeprovider.c:
2196         * check/pipelines/.cvsignore:
2197         * check/pipelines/cleanup.c:
2198         * check/pipelines/simple_launch_lines.c:
2199         * check/pipelines/stress.c:
2200         * check/states/.cvsignore:
2201         * check/states/sinks.c:
2202         * configure.ac:
2203         * examples/Makefile.am:
2204         * examples/appreader/.cvsignore:
2205         * examples/appreader/Makefile.am:
2206         * examples/appreader/appreader.c:
2207         * examples/controller/.cvsignore:
2208         * examples/controller/Makefile.am:
2209         * examples/controller/audio-example.c:
2210         * examples/cutter/.cvsignore:
2211         * examples/cutter/Makefile.am:
2212         * examples/cutter/cutter.c:
2213         * examples/cutter/cutter.h:
2214         * examples/events/Makefile.am:
2215         * examples/events/seek.c:
2216         * examples/helloworld/.cvsignore:
2217         * examples/helloworld/Makefile.am:
2218         * examples/helloworld/helloworld.c:
2219         * examples/helloworld2/.cvsignore:
2220         * examples/helloworld2/Makefile.am:
2221         * examples/helloworld2/helloworld2.c:
2222         * examples/launch/.cvsignore:
2223         * examples/launch/Makefile.am:
2224         * examples/launch/mp3parselaunch.c:
2225         * examples/launch/mp3play:
2226         * examples/manual/.cvsignore:
2227         * examples/manual/Makefile.am:
2228         * examples/manual/extract.pl:
2229         * examples/metadata/Makefile.am:
2230         * examples/metadata/read-metadata.c:
2231         * examples/mixer/.cvsignore:
2232         * examples/mixer/Makefile.am:
2233         * examples/mixer/mixer.c:
2234         * examples/mixer/mixer.h:
2235         * examples/pingpong/.cvsignore:
2236         * examples/pingpong/Makefile.am:
2237         * examples/pingpong/pingpong.c:
2238         * examples/plugins/.cvsignore:
2239         * examples/plugins/Makefile.am:
2240         * examples/plugins/example.c:
2241         * examples/plugins/example.h:
2242         * examples/pwg/.cvsignore:
2243         * examples/pwg/Makefile.am:
2244         * examples/pwg/extract.pl:
2245         * examples/queue/.cvsignore:
2246         * examples/queue/Makefile.am:
2247         * examples/queue/queue.c:
2248         * examples/queue2/.cvsignore:
2249         * examples/queue2/Makefile.am:
2250         * examples/queue2/queue2.c:
2251         * examples/queue3/.cvsignore:
2252         * examples/queue3/Makefile.am:
2253         * examples/queue3/queue3.c:
2254         * examples/queue4/.cvsignore:
2255         * examples/queue4/Makefile.am:
2256         * examples/queue4/queue4.c:
2257         * examples/retag/.cvsignore:
2258         * examples/retag/Makefile.am:
2259         * examples/retag/retag.c:
2260         * examples/retag/transcode.c:
2261         * examples/thread/.cvsignore:
2262         * examples/thread/Makefile.am:
2263         * examples/thread/thread.c:
2264         * examples/typefind/.cvsignore:
2265         * examples/typefind/Makefile.am:
2266         * examples/typefind/typefind.c:
2267         * examples/xml/.cvsignore:
2268         * examples/xml/Makefile.am:
2269         * examples/xml/createxml.c:
2270         * examples/xml/runxml.c:
2271         * tests/Makefile.am:
2272         * tests/check/Makefile.am:
2273         * testsuite/.cvsignore:
2274         * testsuite/Makefile.am:
2275         * testsuite/Rules:
2276         * testsuite/caps/.cvsignore:
2277         * testsuite/caps/Makefile.am:
2278         * testsuite/caps/app_fixate.c:
2279         * testsuite/caps/audioscale.c:
2280         * testsuite/caps/caps.c:
2281         * testsuite/caps/caps.h:
2282         * testsuite/caps/caps_strings:
2283         * testsuite/caps/compatibility.c:
2284         * testsuite/caps/deserialize.c:
2285         * testsuite/caps/enumcaps.c:
2286         * testsuite/caps/eratosthenes.c:
2287         * testsuite/caps/filtercaps.c:
2288         * testsuite/caps/fixed.c:
2289         * testsuite/caps/fraction-convert.c:
2290         * testsuite/caps/fraction-multiply-and-zero.c:
2291         * testsuite/caps/intersect2.c:
2292         * testsuite/caps/intersection.c:
2293         * testsuite/caps/normalisation.c:
2294         * testsuite/caps/random.c:
2295         * testsuite/caps/renegotiate.c:
2296         * testsuite/caps/sets.c:
2297         * testsuite/caps/simplify.c:
2298         * testsuite/caps/string-conversions.c:
2299         * testsuite/caps/structure.c:
2300         * testsuite/caps/subtract.c:
2301         * testsuite/caps/union.c:
2302         * testsuite/debug/.cvsignore:
2303         * testsuite/debug/Makefile.am:
2304         * testsuite/debug/category.c:
2305         * testsuite/debug/commandline.c:
2306         * testsuite/debug/global.c:
2307         * testsuite/debug/output.c:
2308         * testsuite/debug/printf_extension.c:
2309         * testsuite/dlopen/.cvsignore:
2310         * testsuite/dlopen/Makefile.am:
2311         * testsuite/dlopen/dlopen_gst.c:
2312         * testsuite/dlopen/loadgst.c:
2313         * testsuite/elements/.cvsignore:
2314         * testsuite/elements/Makefile.am:
2315         * testsuite/elements/gst-inspect-check.in:
2316         * testsuite/elements/struct_i386.h:
2317         * testsuite/elements/struct_size.c:
2318         * testsuite/indexers/.cvsignore:
2319         * testsuite/indexers/Makefile.am:
2320         * testsuite/indexers/cache1.c:
2321         * testsuite/indexers/indexdump.c:
2322         * testsuite/parse/.cvsignore:
2323         * testsuite/parse/Makefile.am:
2324         * testsuite/parse/parse1.c:
2325         * testsuite/parse/parse2.c:
2326         * testsuite/plugin/.cvsignore:
2327         * testsuite/plugin/Makefile.am:
2328         * testsuite/plugin/README:
2329         * testsuite/plugin/dynamic.c:
2330         * testsuite/plugin/linked.c:
2331         * testsuite/plugin/loading.c:
2332         * testsuite/plugin/registry.c:
2333         * testsuite/plugin/static.c:
2334         * testsuite/plugin/static2.c:
2335         * testsuite/plugin/testplugin.c:
2336         * testsuite/plugin/testplugin2.c:
2337         * testsuite/plugin/testplugin2_s.c:
2338         * testsuite/plugin/testplugin_s.c:
2339         * testsuite/refcounting/.cvsignore:
2340         * testsuite/refcounting/Makefile.am:
2341         * testsuite/refcounting/bin.c:
2342         * testsuite/refcounting/element.c:
2343         * testsuite/refcounting/element_pad.c:
2344         * testsuite/refcounting/mainloop.c:
2345         * testsuite/refcounting/mem.c:
2346         * testsuite/refcounting/mem.h:
2347         * testsuite/refcounting/object.c:
2348         * testsuite/refcounting/pad.c:
2349         * testsuite/refcounting/sched.c:
2350         * testsuite/refcounting/thread.c:
2351         * testsuite/states/.cvsignore:
2352         * testsuite/states/Makefile.am:
2353         * testsuite/states/bin.c:
2354         * testsuite/states/locked.c:
2355         * testsuite/states/parent.c:
2356         * testsuite/threads/.cvsignore:
2357         * testsuite/threads/159566.c:
2358         * testsuite/threads/159852.c:
2359         * testsuite/threads/Makefile.am:
2360         * testsuite/threads/queue.c:
2361         * testsuite/threads/signals.c:
2362         * testsuite/threads/staticrec.c:
2363         * testsuite/threads/thread.c:
2364         * testsuite/threads/threadb.c:
2365         * testsuite/threads/threadc.c:
2366         * testsuite/threads/threadd.c:
2367         * testsuite/threads/threade.c:
2368         * testsuite/threads/threadf.c:
2369         * testsuite/threads/threadg.c:
2370         * testsuite/threads/threadh.c:
2371         * testsuite/threads/threadi.c:
2372           move all of these under tests
2373
2374 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2375
2376         * configure.ac:
2377         * tests/Makefile.am:
2378           fix distcheck
2379
2380 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2381
2382         * docs/gst/gstreamer-sections.txt:
2383         * tests/sched/.cvsignore:
2384         * tests/sched/Makefile.am:
2385         * tests/sched/cases/(fs-fs).xml:
2386         * tests/sched/cases/(fs-i-fs).xml:
2387         * tests/sched/cases/(fs-i-i-fs).xml:
2388         * tests/sched/cases/(fs-i-q[i-fs]).xml:
2389         * tests/sched/dynamic-pipeline.c:
2390         * tests/sched/interrupt1.c:
2391         * tests/sched/interrupt2.c:
2392         * tests/sched/interrupt3.c:
2393         * tests/sched/runtestcases:
2394         * tests/sched/runxml.c:
2395         * tests/sched/sched-stress.c:
2396         * tests/sched/sort.c:
2397         * tests/sched/testcases:
2398         * tests/sched/testcases1.tc:
2399         * tests/seeking/.cvsignore:
2400         * tests/seeking/Makefile.am:
2401         * tests/seeking/seeking1.c:
2402         * tests/threadstate/.cvsignore:
2403         * tests/threadstate/Makefile.am:
2404         * tests/threadstate/test1.c:
2405         * tests/threadstate/test2.c:
2406         * tests/threadstate/threadstate1.c:
2407         * tests/threadstate/threadstate2.c:
2408         * tests/threadstate/threadstate3.c:
2409         * tests/threadstate/threadstate4.c:
2410         * tests/threadstate/threadstate5.c:
2411           remove obsolete tests
2412         * configure.ac:
2413         * tests/bench-complexity.scm:
2414         * tests/bench-mass_elements.scm:
2415         * tests/complexity.c:
2416         * tests/complexity.gnuplot:
2417         * tests/instantiate/.cvsignore:
2418         * tests/instantiate/Makefile.am:
2419         * tests/instantiate/caps.c:
2420         * tests/mass_elements.c:
2421         * tests/network-clock-utils.scm:
2422         * tests/network-clock.scm:
2423         * tests/plot-data:
2424         First pass at cleaning up tests/ dir before moving the rest
2425         Combined with CVS surgery
2426
2427 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2428
2429         * po/POTFILES.in:
2430           queue has moved, update
2431
2432 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2433
2434         * docs/gst/gstreamer-sections.txt:
2435           remove double entries from the docs
2436         * gst/gst_private.h:
2437         * gst/gstinfo.c: (_gst_debug_init):
2438           remove the THREAD debug category
2439         * gst/Makefile.am:
2440         * gst/gstqueue.c:
2441         * gst/gstqueue.h:
2442         * docs/gst/gstreamer.types:
2443         * plugins/elements/gstqueue.c: (gst_queue_get_type),
2444         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
2445           completely move queue and fix up debugging categories
2446
2447 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2448
2449         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
2450           make initialization portable, using LL is not
2451
2452 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2453
2454         * win32/common/gstconfig.h:
2455           add large padding
2456
2457 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2458
2459         * win32/common/libgstreamer.def:
2460           rename symbols; sort base section
2461
2462 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2463
2464         * gst/gstclock.c: (do_linear_regression):
2465           remove crack non-portable handrolled DEBUG macro
2466
2467 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2468
2469         * docs/random/release:
2470           update notes
2471         * win32/common/gstenumtypes.c: (register_gst_object_flags),
2472         (gst_object_flags_get_type), (register_gst_bin_flags),
2473         (gst_bin_flags_get_type), (register_gst_buffer_flag),
2474         (gst_buffer_flag_get_type), (register_gst_bus_flags),
2475         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
2476         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
2477         (gst_caps_flags_get_type), (register_gst_clock_return),
2478         (gst_clock_return_get_type), (register_gst_clock_entry_type),
2479         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
2480         (gst_clock_flags_get_type), (register_gst_state),
2481         (gst_state_get_type), (register_gst_state_change_return),
2482         (gst_state_change_return_get_type), (register_gst_state_change),
2483         (gst_state_change_get_type), (register_gst_element_flags),
2484         (gst_element_flags_get_type), (register_gst_core_error),
2485         (gst_core_error_get_type), (register_gst_library_error),
2486         (gst_library_error_get_type), (register_gst_resource_error),
2487         (gst_resource_error_get_type), (register_gst_stream_error),
2488         (gst_stream_error_get_type), (register_gst_event_type_flags),
2489         (gst_event_type_flags_get_type), (register_gst_event_type),
2490         (gst_event_type_get_type), (register_gst_seek_type),
2491         (gst_seek_type_get_type), (register_gst_seek_flags),
2492         (gst_seek_flags_get_type), (register_gst_format),
2493         (gst_format_get_type), (register_gst_index_certainty),
2494         (gst_index_certainty_get_type), (register_gst_index_entry_type),
2495         (gst_index_entry_type_get_type),
2496         (register_gst_index_lookup_method),
2497         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
2498         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
2499         (gst_index_resolver_method_get_type), (register_gst_index_flags),
2500         (gst_index_flags_get_type), (register_gst_debug_level),
2501         (gst_debug_level_get_type), (register_gst_debug_color_flags),
2502         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
2503         (gst_iterator_result_get_type), (register_gst_iterator_item),
2504         (gst_iterator_item_get_type), (register_gst_message_type),
2505         (gst_message_type_get_type), (register_gst_mini_object_flags),
2506         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
2507         (gst_pad_link_return_get_type), (register_gst_flow_return),
2508         (gst_flow_return_get_type), (register_gst_activate_mode),
2509         (gst_activate_mode_get_type), (register_gst_pad_direction),
2510         (gst_pad_direction_get_type), (register_gst_pad_flags),
2511         (gst_pad_flags_get_type), (register_gst_pad_presence),
2512         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
2513         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
2514         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
2515         (gst_plugin_error_get_type), (register_gst_plugin_flags),
2516         (gst_plugin_flags_get_type), (register_gst_rank),
2517         (gst_rank_get_type), (register_gst_query_type),
2518         (gst_query_type_get_type), (register_gst_tag_merge_mode),
2519         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
2520         (gst_tag_flag_get_type), (register_gst_task_state),
2521         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
2522         (gst_alloc_trace_flags_get_type),
2523         (register_gst_type_find_probability),
2524         (gst_type_find_probability_get_type), (register_gst_uri_type),
2525         (gst_uri_type_get_type), (register_gst_parse_error),
2526         (gst_parse_error_get_type):
2527         * win32/common/gstenumtypes.h:
2528         * win32/common/gstversion.h:
2529           update visual studio generated files
2530
2531 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2532
2533         * win32/vs6/libgstbase.dsp:
2534         * win32/vs6/libgstelements.dsp:
2535           update project files for new locations
2536
2537 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
2538
2539         * Makefile.am:
2540           remove some files
2541         * README:
2542           reinstate and update
2543         * DEVEL:
2544         * REQUIREMENTS:
2545           removed
2546         * LICENSE:
2547         * docs/random/LICENSE:
2548           moved to random
2549
2550 2005-11-30  Edward Hervey  <edward@fluendo.com>
2551
2552         * gst/gsttypefind.c: (gst_type_find_register):
2553         * gst/gsttypefind.h:
2554         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
2555         (gst_type_find_factory_dispose):
2556         * gst/gsttypefindfactory.h:
2557         Fix memory leak in GstTypeFindFactory.
2558
2559 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2560
2561         * gst/gst.c:
2562         * plugins/elements/Makefile.am:
2563         * plugins/elements/gstelements.c:
2564         * plugins/elements/gstqueue.c:
2565           move queue from core to the elements plugin
2566
2567 2005-11-29  Andy Wingo  <wingo@pobox.com>
2568
2569         * libs/gst/base/gstbasetransform.h: 
2570         * libs/gst/base/gstbasesrc.h: 
2571         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
2572
2573         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
2574         of pointers by which to pad very extensible base classes (like the
2575         ones in libs/gst/base).
2576
2577 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2578
2579         * docs/gst/gstreamer-docs.sgml:
2580         * docs/gst/gstreamer-sections.txt:
2581         * docs/libs/gstreamer-libs-docs.sgml:
2582         * docs/libs/gstreamer-libs-sections.txt:
2583           moving documentation from core to lib
2584
2585 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2586
2587         * check/Makefile.am:
2588         * configure.ac:
2589         * docs/gst/Makefile.am:
2590         * gst/Makefile.am:
2591         * gst/base/.cvsignore:
2592         * gst/base/Makefile.am:
2593         * gst/base/README:
2594         * gst/base/gstadapter.c:
2595         * gst/base/gstadapter.h:
2596         * gst/base/gstbasesink.c:
2597         * gst/base/gstbasesink.h:
2598         * gst/base/gstbasesrc.c:
2599         * gst/base/gstbasesrc.h:
2600         * gst/base/gstbasetransform.c:
2601         * gst/base/gstbasetransform.h:
2602         * gst/base/gstcollectpads.c:
2603         * gst/base/gstcollectpads.h:
2604         * gst/base/gstpushsrc.c:
2605         * gst/base/gstpushsrc.h:
2606         * gst/base/gsttypefindhelper.c:
2607         * gst/base/gsttypefindhelper.h:
2608         * gst/check/Makefile.am:
2609         * gst/check/gstcheck.c:
2610         * gst/check/gstcheck.h:
2611         * gst/net/Makefile.am:
2612         * gst/net/gstnet.h:
2613         * gst/net/gstnetclientclock.c:
2614         * gst/net/gstnetclientclock.h:
2615         * gst/net/gstnettimepacket.c:
2616         * gst/net/gstnettimepacket.h:
2617         * gst/net/gstnettimeprovider.c:
2618         * gst/net/gstnettimeprovider.h:
2619         * libs/gst/Makefile.am:
2620         * libs/gst/base/Makefile.am:
2621         * libs/gst/base/gstbasetransform.c:
2622         * libs/gst/check/Makefile.am:
2623         * plugins/elements/Makefile.am:
2624         * po/POTFILES.in:
2625           CVS surgery + support to move base, check, and net out of gst
2626           and into libs/gst
2627
2628 2005-11-29  Andy Wingo  <wingo@pobox.com>
2629
2630         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
2631
2632         * gst/gststructure.h (struct _GstStructure): Only one pointer of
2633         padding.
2634
2635         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
2636
2637         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
2638
2639         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
2640
2641         * gst/gstobject.h: (struct _GstObject): Only one pointer of
2642         padding; reduces object size by about 30%. We don't expect
2643         anything else to go into gstobject.
2644
2645         * gst/gstminiobject.h (struct _GstMiniObject)
2646         (struct _GstMiniObjectClass): Only one pointer of padding; the
2647         payload is only a pointer and two ints anyway. For the class there
2648         are only two methods as well.
2649         
2650         * gst/gstelement.h (struct _GstElementClass): Removed
2651         the state_changed signal callback, it is not used.
2652
2653 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2654
2655         * docs/gst/gstreamer.types:
2656           fix includes, though they are a little dinky
2657
2658 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2659
2660         * check/Makefile.am:
2661           look in the right place for elements, a lot more chance of
2662           success
2663         * gst/Makefile.am:
2664           remove indexers and elements subdirs
2665         * plugins/Makefile.am:
2666           make indexers conditional
2667
2668 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
2669
2670         * Makefile.am:
2671         * configure.ac:
2672         * plugins/elements/Makefile.am:
2673         * plugins/elements/gstcapsfilter.c:
2674         * plugins/elements/gstfilesink.c:
2675         * plugins/elements/gstfilesrc.c:
2676         * plugins/elements/gstidentity.c:
2677         * plugins/indexers/Makefile.am:
2678           do CVS surgery and related build fixery to move elements
2679           and indexers in a new gstreamer/plugins directory, out of the
2680           gst/ directory
2681
2682 2005-11-29  Andy Wingo  <wingo@pobox.com>
2683
2684         * check/Makefile.am:
2685         * pkgconfig/gstreamer-net-uninstalled.pc.in:
2686         * pkgconfig/gstreamer-net.pc.in:
2687         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
2688         #322257.
2689
2690 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2691
2692         * tools/Makefile.am:
2693         * tools/gst-complete.1.in:
2694         * tools/gst-complete.c:
2695         * tools/gst-compprep.1.in:
2696         * tools/gst-compprep.c:
2697           removing -compprep and -complete
2698
2699 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
2700
2701         * gst/gstevent.c: (gst_event_new_new_segment),
2702         (gst_event_parse_new_segment):
2703         * gst/gstevent.h:
2704           fix #320529 - clean up new_segment API and structure.
2705           Let's hope everyone was using the methods, and not the structure.
2706
2707 2005-11-29  Edward Hervey  <edward@fluendo.com>
2708
2709         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
2710         (gst_base_sink_event), (gst_base_sink_do_sync),
2711         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
2712         Properly handle non GST_FORMAT_TIME segment
2713         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
2714         Properly handle non GST_FORMAT_TIME segment
2715         * gst/gstsegment.c:
2716         This function is valid if the accumulator is 0 and the format
2717         is different from the requested format.
2718         
2719 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2720
2721         * docs/gst/gstreamer-sections.txt:
2722         Add gst_query_new_seeking and gst_query_parse_seeking to the
2723         docs.
2724
2725 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2726
2727         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
2728           Treat a pad alloc with new caps the same as if we were not
2729           negotiated, in order to allow a changing upstream output
2730           to produce a new format of data.
2731
2732 2005-11-29  Edward Hervey  <edward@fluendo.com>
2733
2734         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
2735         (gst_base_transform_event), (gst_base_transform_eventfunc):
2736         The event virtual method is now properly implemented, with a default
2737         handler
2738         Sub classes should call the parent_class event method. They should
2739         return FALSE if they had a problem handling the given event, or don't
2740         want GstBaseTransform to send that even downstream
2741         * gst/elements/gstidentity.c: (gst_identity_class_init),
2742         (gst_identity_init), (gst_identity_event),
2743         (gst_identity_transform_ip), (gst_identity_set_property),
2744         (gst_identity_get_property):
2745         * gst/elements/gstidentity.h:
2746         Added the single-segment boolean property.
2747         If set to TRUE, it will output a single segment of data, starting from
2748         0, will eat up all incoming newsegment, and modify the timestamp of the
2749         buffers accordingly
2750
2751 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
2752
2753         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
2754           Don't ref NULL target pad (#322751). Improve docs.
2755
2756 2005-11-29  Michael Smith  <msmith@fluendo.com>
2757
2758         * gst/gstregistryxml.c: (load_plugin):
2759           Don't crash if we failed to load a feature from a plugin. 
2760
2761 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2762
2763         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
2764         (GST_START_TEST):
2765           use more check API and less GLib API
2766
2767 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2768
2769         * Makefile.am:
2770           don't run checks if we don't have check
2771         * common/check.mak:
2772           remove the registry when running make torture
2773         * docs/gst/gstreamer-sections.txt:
2774           remove second multiply
2775         * gst/gstqueue.c: (gst_queue_loop):
2776           fix a compile warning when disabling debug
2777
2778 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2779
2780         * gst/gstinfo.h:
2781         Hey! Let's print the pad name if the pointer != NULL instead
2782         of when it == NULL :-)
2783
2784 2005-11-28  Wim Taymans  <wim@fluendo.com>
2785
2786         * check/gst/gstutils.c: (GST_START_TEST):
2787         Updated check, add some scaling accuracy checking code.
2788
2789         * gst/gstutils.c: (gst_util_div128_64),
2790         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
2791         (gst_util_uint64_scale_int):
2792         Fix 6 times faster division code. Optimize for common 
2793         1/1 and less common X/1 cases.
2794
2795 2005-11-28  Wim Taymans  <wim@fluendo.com>
2796
2797         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2798         More checks.
2799
2800         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
2801         (do_linear_regression), (gst_clock_add_observation):
2802         Cleanups.
2803         Release lock when the clock cannot be slaved.
2804         Catch the case where the regression returned an invalid denominator.
2805
2806         * gst/gstutils.c: (gst_util_div128_64_iterate),
2807         (gst_util_div128_64), (gst_util_uint64_scale_int64),
2808         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
2809         Add protentially more performant non-iterative 128/64 divide function
2810         that unfortunatly does not work yet.
2811         Shortcut the trivial 0/X = 0 case.
2812         Remove the warnings on overflow.
2813
2814 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2815
2816         * gst/gstplugin.c: (gst_plugin_register_func):
2817           everything causing a plugin not to load should be at least a WARNING
2818
2819 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
2820
2821         * docs/random/ensonic/dparams.txt:
2822           some TODOs for the next dev cycle
2823         * libs/gst/controller/gstcontroller.c:
2824         (gst_controlled_property_set_interpolation_mode),
2825         (gst_controlled_property_new):
2826         * libs/gst/controller/gstcontroller.h:
2827           use base type to assign acccessor functions
2828
2829 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2830
2831         * check/Makefile.am:
2832         Oops, that should have been top_srcdir
2833
2834 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
2835
2836         * check/Makefile.am:
2837         * check/elements/fdsrc.c: (GST_START_TEST):
2838         Use a cmdline define to specify the location of a file to use for
2839         testing, to avoid breaking distcheck.
2840
2841 2005-11-28  Andy Wingo  <wingo@pobox.com>
2842
2843         * gst/gstpad.c (fixate_value): Use array functions for arrays.
2844
2845 2005-11-28  Edward Hervey  <edward@fluendo.com>
2846
2847         * tools/gst-launch.c: (main):
2848         Clarify the output strings, makes it easier to translate.
2849         Fixes #322626
2850
2851 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
2852
2853         * gst/Makefile.am:
2854           don't try and build net if we don't even have <sys/socket.h>
2855
2856 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
2857
2858         * check/Makefile.am:
2859         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
2860         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
2861           Add tests for fdsrc seekability
2862
2863         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
2864         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
2865         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
2866         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
2867         * gst/elements/gstfdsrc.h:
2868           fdsrc should not be a 'live' source.
2869           Implement seeking on seekable fd's.
2870
2871         * gst/gstquery.c: (gst_query_new_seeking),
2872         (gst_query_parse_seeking):
2873         * gst/gstquery.h:
2874           Implement SEEKING query functions: 
2875             *_new_seeking and *_parse_seeking
2876
2877 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
2878
2879         * gst/gstelement.c: (gst_element_dispose):
2880           don't loop forever
2881
2882         * gst/gstiterator.c:
2883         * gst/gststructure.c:
2884           doc fixes
2885
2886         * libs/gst/controller/gstcontroller.c:
2887         (gst_controlled_property_set_interpolation_mode):
2888         * libs/gst/controller/gstcontroller.h:
2889         * libs/gst/controller/gstinterpolation.c:
2890         (interpolate_none_get_enum_value_array):
2891           support controlling enums
2892
2893 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
2894
2895         * gst/gstvalue.c:
2896           Improve documentation for gst_value_union().
2897
2898         * gst/gstvalue.h:
2899           Change return value for union, intersect and subtract functions
2900           from gint to gboolean.
2901
2902 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
2903
2904         * gst/gstvalue.c: (gst_value_serialize_any_list),
2905         (gst_value_transform_any_list_string),
2906         (gst_value_deserialize_list), (gst_value_deserialize_array),
2907         (gst_value_set_int_range), (gst_value_deserialize_int_range),
2908         (gst_value_set_double_range), (gst_value_deserialize_double_range),
2909         (gst_value_set_fraction_range_full),
2910         (gst_value_deserialize_fraction_range),
2911         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
2912         (gst_value_deserialize_boolean),
2913         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
2914         (gst_value_serialize_float), (gst_value_deserialize_float),
2915         (gst_string_wrap), (gst_value_deserialize_string),
2916         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
2917         (gst_value_union_int_range_int_range),
2918         (gst_value_intersect_int_range_int_range),
2919         (gst_value_intersect_double_range_double_range),
2920         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
2921         (gst_value_subtract_int_range_int_range),
2922         (gst_value_subtract_double_double_range),
2923         (gst_value_subtract_double_range_double_range),
2924         (gst_value_deserialize_fraction):
2925         * gst/gstvalue.h:
2926           Use gint, gdouble and gchar in our API instead of int, double and
2927           char (and make usage in gstvalue.c more consistent).
2928
2929 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2930
2931         * check/Makefile.am:
2932         * libs/gst/controller/Makefile.am:
2933         * libs/gst/dataprotocol/Makefile.am:
2934           fix up Makefile.am and remove GST_ENABLE_NEW
2935
2936 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2937
2938         * configure.ac:
2939         * gst/Makefile.am:
2940         * gst/base/Makefile.am:
2941         * gst/check/Makefile.am:
2942         * gst/elements/Makefile.am:
2943         * gst/net/Makefile.am:
2944           update LDFLAGS use some more
2945
2946 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
2947
2948         * common/m4/gst-doc.m4:
2949           Fixes #312589
2950
2951 2005-11-26  Edward Hervey  <edward@fluendo.com>
2952
2953         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2954         This shouldn't issue a g_warning since it returns NULL if it
2955         couldn't find the plugin, and all functions using this behave
2956         properly on a NULL return. Switching to a GST_WARNING.
2957
2958 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
2959
2960         * gst/gstbin.c: (gst_bin_handle_message_func):
2961         Don't leak clock messages.
2962
2963 2005-11-25  Wim Taymans  <wim@fluendo.com>
2964
2965         * gst/gstutils.c: (gst_util_uint64_scale_int64),
2966         (gst_util_uint64_scale_int):
2967         Optimisations, remove unneeded vars.
2968
2969 2005-11-25  Wim Taymans  <wim@fluendo.com>
2970
2971         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
2972         Added more checks for the high precision uint64 cases.
2973
2974         * gst/gstutils.c: (gst_util_uint64_scale_int64),
2975         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
2976         Implement high precision (guint64 * guint64) / guint64.
2977
2978 2005-11-24  Wim Taymans  <wim@fluendo.com>
2979
2980         * gst/base/gstbasesrc.c: (gst_base_src_query):
2981         Fix wrong percentage query.
2982
2983         * gst/gstutils.c: (gst_util_uint64_scale),
2984         (gst_util_uint64_scale_int):
2985         Add some more common cases that can be handled 
2986         efficiently to _scale.
2987
2988 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
2989
2990         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
2991         (gst_mini_object_suite):
2992           don't use check calls from threads; check probably isn't
2993           threadsafe and using a lock to make it threadsafe would
2994           defeat the purpose of this check
2995         * gst/check/gstcheck.c:
2996         * gst/check/gstcheck.h:
2997           use GST_DEBUG some more
2998
2999 2005-11-24  Wim Taymans  <wim@fluendo.com>
3000
3001         * gst/gstutils.c: (gst_util_uint64_scale),
3002         (gst_util_uint64_scale_int):
3003         Chain trivial case to _scale_int.
3004
3005 2005-11-24  Wim Taymans  <wim@fluendo.com>
3006
3007         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
3008         Added test for scaling.
3009
3010         * gst/gstclock.h:
3011         Small doc fix.
3012
3013         * gst/gstutils.c: (gst_util_uint64_scale_int):
3014         Implemented high precision scaling code.
3015
3016 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
3017
3018         * gst/gstinfo.h:
3019           do not crash on pad==NULL
3020
3021 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
3022
3023         Patch by: Stefan Kost
3024
3025         * common/gtk-doc.mak:
3026         * docs/gst/Makefile.am:
3027         * docs/libs/Makefile.am:
3028           Fix distcheck issues for the libraries docs build
3029           Closes #319599.
3030
3031 2005-11-24  Michael Smith <msmith@fluendo.com>
3032
3033         * docs/manual/basics-helloworld.xml:
3034           Fix bug #315027: memory leak in example code in docs.
3035
3036 2005-11-24  Michael Smith <msmith@fluendo.com>
3037
3038         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3039           Unlock the PREROLL_LOCK in a failure case.
3040
3041 2005-11-24  Wim Taymans  <wim@fluendo.com>
3042
3043         * docs/gst/gstreamer-sections.txt:
3044         * gst/base/gstadapter.h:
3045         * gst/base/gstbasesink.h:
3046         * gst/base/gstbasesrc.h:
3047         * gst/base/gstbasetransform.h:
3048         * gst/base/gstpushsrc.h:
3049         * gst/elements/gstfakesink.h:
3050         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
3051         * gst/elements/gstfakesrc.h:
3052         * gst/elements/gstfilesink.h:
3053         * gst/elements/gstfilesrc.h:
3054         * gst/gst.c:
3055         * gst/gstbin.c:
3056         * gst/gstbuffer.c: (_gst_buffer_copy):
3057         * gst/gstbus.h:
3058         * gst/gstcaps.c:
3059         * gst/gstchildproxy.c:
3060         * gst/gstclock.c:
3061         * gst/gstelement.c:
3062         * gst/gstelementfactory.c:
3063         * gst/gstelementfactory.h:
3064         * gst/gstevent.c:
3065         * gst/gstghostpad.h:
3066         * gst/gstindex.h:
3067         * gst/gstinterface.h:
3068         * gst/gstminiobject.c:
3069         * gst/gstminiobject.h:
3070         * gst/gstpad.c:
3071         * gst/gstpad.h:
3072         * gst/gstpadtemplate.h:
3073         * gst/gstpipeline.h:
3074         * gst/gstpluginfeature.h:
3075         * gst/gstquery.h:
3076         * gst/gstqueue.h:
3077         * gst/gsttaglist.c:
3078         * gst/gsttaglist.h:
3079         * gst/gsttagsetter.c:
3080         * gst/gsttagsetter.h:
3081         * gst/gsttrace.c:
3082         * gst/gsttrace.h:
3083         * gst/gsttypefind.h:
3084         * gst/gsturi.h:
3085         * gst/gstvalue.c:
3086         * gst/net/gstnetclientclock.c:
3087         * gst/net/gstnetclientclock.h:
3088         * gst/net/gstnettimepacket.c:
3089         * gst/net/gstnettimeprovider.c:
3090         * gst/net/gstnettimeprovider.h:
3091         Doc fixes.
3092
3093 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3094
3095         * configure.ac: back to HEAD
3096
3097 === release 0.9.6 ===
3098
3099 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
3100
3101         * configure.ac:
3102           releasing 0.9.6, "Always On Time"
3103
3104 2005-11-23  Wim Taymans  <wim@fluendo.com>
3105
3106         * docs/gst/gstreamer-sections.txt:
3107         * gst/glib-compat.c:
3108         * gst/gsttagsetter.c:
3109         * gst/gstvalue.c:
3110         * gst/net/gstnetclientclock.c:
3111         * gst/net/gstnettimepacket.h:
3112         Doc updates.
3113
3114 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
3115
3116         * docs/faq/using.xml:
3117         * docs/libs/tmpl/gstcontrol.sgml:
3118         * docs/manual/advanced-dparams.xml:
3119         * docs/manual/appendix-checklist.xml:
3120         * docs/manual/basics-elements.xml:
3121         * docs/pwg/other-source.xml:
3122         * docs/random/moving-plugins:
3123         * gst/gstpad.c:
3124         * tools/gst-launch.1.in:
3125           remove mentions of sinesrc
3126
3127 2005-11-23  Michael Smith <msmith@fluendo.com>
3128
3129         * docs/gst/gstreamer-sections.txt:
3130           Update for new API and API changes.
3131         * gst/gstobject.h:
3132           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
3133         * gst/gstvalue.c:
3134           Documentation typo fix.
3135         * gst/net/gstnettimepacket.c:
3136           Documentation fixes for arguments.
3137
3138 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
3139
3140         * gst/gststructure.c: (gst_structure_get_fraction),
3141         (gst_structure_parse_value),
3142         (gst_structure_fixate_field_nearest_fraction):
3143         * gst/gststructure.h:
3144         * gst/gstutils.c: (gst_util_uint64_scale_int):
3145         * gst/gstutils.h:
3146         * scripts/update-funcnames:
3147         API Changes. 
3148         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
3149         Make gst_structure_fixate_field_nearest_fraction take a numerator
3150         and denominator argument instead of a GValue
3151         add gst_structure_get_fraction helper function.
3152
3153 2005-11-23  Wim Taymans  <wim@fluendo.com>
3154
3155         * docs/design/part-TODO.txt:
3156         Update TODO.
3157
3158         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3159         * gst/net/gstnetclientclock.h:
3160         Use parent fields for timeout and window_size.
3161
3162 2005-11-23  Andy Wingo  <wingo@pobox.com>
3163
3164         * check/net/gstnetclientclock.c (test_functioning): Adjust to
3165         rate_num/rate_denom change.
3166
3167         * gst/net/gstnetclientclock.c
3168         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
3169         OBJECT_LOCK. Don't call add_observation with the lock.
3170
3171         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
3172         fraction.
3173         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
3174         rate fraction.
3175         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
3176         deal with rate as a fraction whose numerator and denominator are
3177         GstClockTime values.
3178         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
3179         master; the other fields are protected by the SLAVE_LOCK.
3180         (do_linear_regression): Note that this must be called with the
3181         SLAVE_LOCK.
3182         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
3183         OBJECT_LOCK. Call set_calibration instead of touching the
3184         variables directly.
3185         (gst_clock_set_property, gst_clock_get_property): Protect
3186         master/slave parameters with the SLAVE_LOCK.
3187
3188         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
3189         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
3190         note that all of the instance variables that add_observation and
3191         the set_master functions use are protected by that lock and not
3192         the OBJECT_LOCK.
3193         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
3194
3195         * gst/gstclock.c (gst_clock_add_observation): No longer requires
3196         the caller to take the object lock.
3197
3198 2005-11-23  Wim Taymans  <wim@fluendo.com>
3199
3200         * gst/gsterror.c: (_gst_core_errors_init):
3201         * gst/gsterror.h:
3202         Add error for clock stuff.
3203
3204         * gst/gstpipeline.c: (gst_pipeline_change_state),
3205         (gst_pipeline_set_clock):
3206         Post clock error when clock cannot be used in a pipeline.
3207
3208 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
3209
3210         * docs/gst/gstreamer-sections.txt:
3211           make two symbols from gstinfo private for the docs
3212         * gst/base/gstcollectpads.h:
3213         * gst/gstutils.c:
3214           fix doc typos, update docs
3215
3216 2005-11-22  Wim Taymans  <wim@fluendo.com>
3217
3218         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
3219         (gst_base_sink_wait), (gst_base_sink_do_sync),
3220         (gst_base_sink_handle_event):
3221         * gst/base/gstbasesink.h:
3222         No need to store the clock, the parent element class already
3223         has it.
3224
3225         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
3226         Updates for clock_set returning a gboolean
3227
3228         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
3229         (gst_clock_id_wait_async), (gst_clock_class_init),
3230         (gst_clock_init), (gst_clock_finalize),
3231         (gst_clock_get_internal_time), (gst_clock_get_time),
3232         (gst_clock_slave_callback), (gst_clock_set_master),
3233         (gst_clock_get_master), (do_linear_regression),
3234         (gst_clock_add_observation), (gst_clock_set_property),
3235         (gst_clock_get_property):
3236         * gst/gstclock.h:
3237         Implement master/slave. When setting a clock as a slave, a
3238         periodic timeout is scheduled to sample master and slave times.
3239         Then the slave clock is recalibrated to match offset and rate
3240         of the master clock.
3241         Update logging a bit.
3242         Add flag so that a clock can state that is cannot be slaved to
3243         another clock.
3244
3245         * gst/gstelement.c: (gst_element_set_clock):
3246         * gst/gstelement.h:
3247         The set clock returns a gboolean for when an element cannot
3248         deal with the selected clock in the pipeline. 
3249
3250         * gst/gstpipeline.c: (gst_pipeline_change_state),
3251         (gst_pipeline_set_clock):
3252         * gst/gstpipeline.h:
3253         Handle the case where the selected clock cannot be set on
3254         the pipeline.
3255
3256         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
3257         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
3258         (gst_net_client_clock_set_property),
3259         (gst_net_client_clock_get_property),
3260         (gst_net_client_clock_observe_times):
3261         * gst/net/gstnetclientclock.h:
3262         Use regression code in GstClock parent, remove duplicated
3263         functionality.
3264
3265 2005-11-22  Michael Smith <msmith@fluendo.com>
3266
3267         * gst/gstutils.c: (gst_util_clock_time_scale):
3268         * gst/gstutils.h:
3269         * docs/gst/gstreamer-sections.txt:
3270           Rename method to have extra underscore.
3271
3272 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3273
3274         * gst/elements/Makefile.am:
3275         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
3276         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
3277         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
3278         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
3279         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
3280         * gst/elements/gstfakesrc.h:
3281         * gst/gstqueue.c: (queue_leaky_get_type):
3282           correctly fix GEnumValues so that nick is the short lowercase
3283           dashed tag
3284         * tools/gst-inspect.c: (print_element_properties_info):
3285           also show the nick, since it's useful to use from parse_launch
3286           syntax
3287           Fixes #322139
3288
3289 2005-11-22  Michael Smith <msmith@fluendo.com>
3290
3291         * gst/gstutils.c: (gst_util_clocktime_scale):
3292         * gst/gstutils.h:
3293         * docs/gst/gstreamer-sections.txt:
3294           Add util method for scaling a clocktime by a fraction. Useful 
3295           implementation is left as an exercise for the reader.
3296
3297 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3298
3299         * gst/gstvalue.c: (gst_value_collect_fraction_range):
3300         If needed, allocate storage in the destination value during
3301         collection.
3302
3303 2005-11-22  Edward Hervey  <edward@fluendo.com>
3304
3305         * docs/gst/gstreamer-sections.txt:
3306         * gst/Makefile.am:
3307         * gst/gst.h:
3308         * gst/gsturitype.c:
3309         * gst/gsturitype.h:
3310         * gst/gstutils.c: (gst_util_set_object_arg):
3311         * tools/gst-compprep.c: (main):
3312         * tools/gst-inspect.c: (print_element_properties_info):
3313         Removed GstURI, closes bug #321061
3314
3315 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3316
3317         * check/gst/gststructure.c: (GST_START_TEST):
3318         * gst/gststructure.c: (gst_structure_parse_value):
3319           Oops, broke automatic string type parsing.
3320           Add a test to catch it in future.
3321
3322 2005-11-22  Andy Wingo  <wingo@pobox.com>
3323
3324         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
3325         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
3326         Actually rename the function implementations. Grr.
3327
3328 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3329
3330         * check/gst/capslist.h:
3331           Comment test cases
3332         * check/gst/gststructure.c: (GST_START_TEST),
3333         (gst_structure_suite):
3334           Test automatic value type detection in gst_structure_from_string.
3335         * gst/gststructure.c: (gst_structure_parse_value):
3336           Add fraction as a type we try and guess automatically in
3337           caps/structure strings.
3338
3339 2005-11-22  Andy Wingo  <wingo@pobox.com>
3340
3341         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
3342
3343         * gst/gsttagsetter.h:
3344         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
3345         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
3346         (gst_tag_setter_add_tag_valist)
3347         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
3348         _add_values, _add_valist, and _add_valist_values. Since this is an
3349         interface the function suffixes should be more explicit so
3350         language binding don't end up with element.add_valist ->
3351         gst_tag_setter_add_valist, for example. Fixes #322069.
3352
3353 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3354
3355         * check/gst/gstcaps.c: (GST_START_TEST):
3356           Extend caps string tests to check that a caps to string
3357           conversion is reversible and produces the same caps.
3358
3359         * gst/gststructure.c: (gst_structure_value_get_generic_type):
3360           Output "fraction" as the generic type fraction range, so caps
3361           serialisation and deserialisation works.
3362         * check/gst/capslist.h:
3363         * gst/gstvalue.c: (gst_value_deserialize_fraction):
3364           Support 'MIN' and 'MAX' for deserialising fractions.
3365
3366 2005-11-22  Andy Wingo  <wingo@pobox.com>
3367
3368         * gst/gstevent.h (gst_event_new_new_segment)
3369         (gst_event_parse_new_segment, gst_event_new_buffer_size)
3370         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
3371         Renamed from *_newsegment, *_buffersize, *_notarget.
3372
3373         * scripts/update-funcnames: New script, performs the changes
3374         listed above.
3375
3376 2005-11-22  Wim Taymans  <wim@fluendo.com>
3377
3378         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
3379         Make sure the GstFlowReturn is returned.
3380
3381         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
3382         (gst_bus_add_signal_watch):
3383         * gst/gstbus.h:
3384         add gst_bus_add_signal_watch_full.
3385
3386         * gst/gstplugin.c: (gst_plugin_load_file):
3387         Small style cleanup.
3388
3389 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3390
3391         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
3392           Block the fakesrc srcpad when we send an event, to avoid
3393           contention on the stream_lock causing random test failures.
3394
3395 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3396
3397         * check/gst/gstvalue.c: (GST_START_TEST):
3398         * gst/gstvalue.c: (gst_value_fraction_subtract):
3399           Fix subtraction.
3400
3401 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
3402
3403         * gst/gst.h:
3404           include "gstchildproxy.h"
3405         * gst/gstchildproxy.h:
3406         * libs/gst/controller/gstcontroller.h:
3407           use G_GNUC_NULL_TERMINATED
3408
3409 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
3410
3411         * check/gst/capslist.h:
3412         * check/gst/gstcaps.c: (GST_START_TEST):
3413         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3414         * gst/gststructure.c: (gst_structure_parse_range),
3415         (gst_structure_fixate_field_nearest_fraction):
3416         * gst/gststructure.h:
3417         * gst/gstvalue.c: (gst_value_init_fraction_range),
3418         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
3419         (gst_value_collect_fraction_range),
3420         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
3421         (gst_value_set_fraction_range_full),
3422         (gst_value_get_fraction_range_min),
3423         (gst_value_get_fraction_range_max),
3424         (gst_value_serialize_fraction_range),
3425         (gst_value_transform_fraction_range_string),
3426         (gst_value_compare_fraction_range),
3427         (gst_value_deserialize_fraction_range),
3428         (gst_value_intersect_fraction_fraction_range),
3429         (gst_value_intersect_fraction_range_fraction_range),
3430         (gst_value_subtract_fraction_fraction_range),
3431         (gst_value_subtract_fraction_range_fraction),
3432         (gst_value_subtract_fraction_range_fraction_range),
3433         (gst_value_collect_fraction), (gst_value_fraction_multiply),
3434         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
3435         (gst_value_transform_string_fraction), (_gst_value_initialize):
3436         * gst/gstvalue.h:
3437           Implement fraction ranges and extend GstFraction to support
3438           arithmetic subtraction, as well as deserialization from integer
3439           strings such as "100"
3440           Add a testsuite as for int and double range set operations
3441
3442 2005-11-21  Andy Wingo  <wingo@pobox.com>
3443
3444         * gst/gsttaglist.h: 
3445         * gst/gstcaps.h: 
3446         * gst/gststructure.h: Add glib-compat.h.
3447
3448 2005-11-21  Wim Taymans  <wim@fluendo.com>
3449
3450         * gst/gstbin.c: (gst_bin_change_state_func):
3451         Fix for #321595
3452
3453 2005-11-21  Wim Taymans  <wim@fluendo.com>
3454
3455         * gst/gstsegment.h:
3456         And add a nice define too.
3457
3458 2005-11-21  Wim Taymans  <wim@fluendo.com>
3459
3460         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
3461         (gst_segment_new), (gst_segment_free), (gst_segment_init),
3462         (gst_segment_set_duration), (gst_segment_set_last_stop),
3463         (gst_segment_set_seek), (gst_segment_set_newsegment),
3464         (gst_segment_to_stream_time), (gst_segment_to_running_time),
3465         (gst_segment_clip):
3466         * gst/gstsegment.h:
3467         Make binding friendly.
3468
3469 2005-11-21  Andy Wingo  <wingo@pobox.com>
3470
3471         * gst/gsttagsetter.h: 
3472         * gst/gsttaglist.h: 
3473         * gst/gststructure.h: 
3474         * gst/gstcaps.h: 
3475         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
3476         #319940.
3477
3478         * gst/gsterror.c (_gst_core_errors_init):
3479         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
3480         category.
3481
3482         * gst/Makefile.am (gst_headers): Add glib-compat.h.
3483         (noinst_HEADERS): noinst the -private.
3484
3485 2005-11-21  Michael Smith <msmith@fluendo.com>
3486
3487         * gst/gstplugin.h:
3488         * gst/gstregistry.h:
3489           Remove unimplemented declarations for which we can see no sensible
3490           use.
3491
3492 2005-11-21  Andy Wingo  <wingo@pobox.com>
3493
3494         * gst/gst.h: Include glib-compat.h.
3495
3496         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
3497
3498         * gst/glib-compat.c: Include the public and the private header.
3499
3500         * gst/glib-compat-private.h: Copied here from glib-compat.h.
3501
3502         * gst/gstvalue.c: 
3503         * gst/gstpad.c: 
3504         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
3505
3506         * check/gst/gstevent.c (create_custom_events): Check that
3507         FLUSH_STOP is serialized.
3508
3509         * check/elements/identity.c (event_func): 
3510         * check/elements/fakesrc.c (event_func): No stream lock, the core
3511         takes it.
3512
3513         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
3514         stream lock taking, yay.
3515
3516         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
3517         ensure that core takes the stream lock.
3518
3519         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
3520         lock name change.
3521
3522         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
3523         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
3524         it already. For the flush start we do take it though so we get the
3525         right preroll state change messages.
3526
3527         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
3528         the stream lock here, the core does it for us.
3529
3530         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
3531         GST_STREAM_GET_LOCK.
3532         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
3533         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
3534         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
3535         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
3536         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
3537         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
3538
3539         * gst/gstpad.c: Update for stream lock name change.
3540
3541         * gst/base/gstbasesink.c: Update for preroll lock name change.
3542
3543 2005-11-21  Wim Taymans  <wim@fluendo.com>
3544
3545         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
3546         (gst_clock_get_master):
3547         * gst/gstclock.h:
3548         * gst/gstsystemclock.c: (gst_system_clock_init):
3549         Convert Clock flags to object flags.
3550         Added methods to manage master/slave clocks.
3551
3552 2005-11-21  Wim Taymans  <wim@fluendo.com>
3553
3554         * check/gst/gstsegment.c: (GST_START_TEST):
3555         * docs/design/part-TODO.txt:
3556         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3557         (gst_base_sink_event), (gst_base_sink_do_sync),
3558         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3559         (gst_base_sink_query), (gst_base_sink_change_state):
3560         * gst/base/gstbasesink.h:
3561         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
3562         (gst_base_src_default_newsegment),
3563         (gst_base_src_configure_segment), (gst_base_src_do_seek),
3564         (gst_base_src_get_range), (gst_base_src_loop),
3565         (gst_base_src_change_state):
3566         * gst/base/gstbasesrc.h:
3567         * gst/base/gstbasetransform.c:
3568         (gst_base_transform_prepare_output_buf),
3569         (gst_base_transform_event), (gst_base_transform_change_state):
3570         * gst/base/gstbasetransform.h:
3571         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3572         (gst_collect_pads_event):
3573         * gst/base/gstcollectpads.h:
3574         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
3575         (gst_fake_src_create):
3576         * gst/elements/gstfakesrc.h:
3577         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
3578         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
3579         (gst_segment_set_last_stop), (gst_segment_set_seek),
3580         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
3581         (gst_segment_to_running_time), (gst_segment_clip):
3582         * gst/gstsegment.h:
3583         More segment updates, replace code in plugins with segment
3584         helper functions.
3585
3586 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3587
3588         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
3589         Don't ignore sscanf results
3590
3591 2005-11-21  Andy Wingo  <wingo@pobox.com>
3592
3593         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
3594
3595         * *.h:
3596         * *.c: Ran scripts/update-macros. Oh yes.
3597
3598         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
3599         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
3600         GST_GET_LOCK, etc.
3601
3602         * scripts/update-macros: New script. Run it on your files to
3603         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
3604         well.
3605
3606 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
3607
3608         * docs/gst/Makefile.am:
3609         * docs/gst/gstreamer-docs.sgml:
3610         * docs/gst/gstreamer-sections.txt:
3611         * docs/gst/gstreamer.types:
3612         * gst/gstinfo.h:
3613           more docs fixes, add new api to the docs
3614
3615 2005-11-21  Andy Wingo  <wingo@pobox.com>
3616
3617         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
3618         state_broadcast call.
3619
3620         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
3621
3622 2005-11-21  Julien MOUTTE  <julien@moutte.net>
3623
3624         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
3625         function calls for arrays.
3626
3627 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
3628
3629         * docs/random/ensonic/media-device-daemon.txt:
3630           wild idea, can this be done?
3631         * docs/gst/gstreamer-sections.txt:
3632         * gst/gsterror.h:
3633         * gst/gstfilter.c:
3634         * gst/gstfilter.h:
3635         * gst/gstplugin.h:
3636         * gst/gstpluginfeature.c:
3637         * gst/gsttrace.c:
3638         * gst/gstvalue.c:
3639         * gst/gstvalue.h:
3640           doc fixes and additions
3641
3642 2005-11-21  Andy Wingo  <wingo@pobox.com>
3643
3644         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
3645         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
3646         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
3647         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
3648         private to the basesrc implementation.
3649
3650         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
3651         behalf of event function if necessary. It should no longer be
3652         necessary to take the stream lock in pad's event functions. Fixes
3653         #320299.
3654
3655 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3656         * docs/gst/gstreamer-sections.txt:
3657         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
3658         (gst_structure_fixate_field_nearest_double),
3659         (gst_structure_fixate_field_boolean):
3660         * gst/gststructure.h:
3661         * win32/common/libgstreamer.def:
3662         * win32/gstreamer.def:
3663
3664         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
3665         (#322027)
3666
3667 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
3668
3669         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
3670         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
3671         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
3672         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
3673         (gst_fdsrc_uri_handler_init):
3674         * gst/elements/gstfdsrc.h:
3675           Port fd:// URI handler from 0.8 to fdsrc
3676
3677 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3678
3679         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
3680         (gst_value_serialize_fourcc):
3681         * gst/gstvalue.h:
3682           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
3683           consistent with our other format defines (#320324).
3684
3685 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3686
3687         * gst/gstvalue.c: (gst_value_is_fixed):
3688           Revert previous commit. Value lists are by definition
3689           not fixed, as they are a list of possible values.
3690
3691 2005-11-21  Andy Wingo  <wingo@pobox.com>
3692
3693         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
3694         during the stable series if we need it. Fixes #319178.
3695
3696         * gst/gstevent.c (gst_event_new_filler): Removed.
3697
3698         * check/gst/gstevent.c: Update comment about filler events.
3699
3700 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3701
3702         * gst/gstvalue.c: (gst_value_is_fixed):
3703           Should handle both value arrays and value lists.
3704
3705 2005-11-21  Andy Wingo  <wingo@pobox.com>
3706
3707         patch by: Alessandro Dessina <alessandro nnva org>
3708
3709         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
3710         functions to access arrays. Fixes #321962.
3711
3712 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3713
3714         * docs/gst/gstreamer.types:
3715           gst_collectpads_get_type => gst_collect_pads_get_type.
3716           
3717         * gst/base/gstbasetransform.c:
3718           Remove unused SIGNAL_HANDOFF enum.
3719
3720 2005-11-21  Andy Wingo  <wingo@pobox.com>
3721
3722         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
3723         the event type (upstream, downstream, serialized). Renamed
3724         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
3725         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
3726         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
3727
3728         * gst/gstevent.c: Update for new CUSTOM event names.
3729
3730         * check/gst/gstevent.c: Update check for new CUSTOM event names.
3731
3732         * gst/gstevent.h:
3733         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
3734         bug #319392.
3735
3736 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3737
3738         * docs/gst/gstreamer-sections.txt:
3739         * win32/common/libgstbase.def:
3740         * win32/libgstbase.def:
3741         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3742         (gst_collect_pads_class_init), (gst_collect_pads_init),
3743         (gst_collect_pads_finalize), (gst_collect_pads_new),
3744         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
3745         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
3746         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
3747         (gst_collect_pads_start), (gst_collect_pads_stop),
3748         (gst_collect_pads_peek), (gst_collect_pads_pop),
3749         (gst_collect_pads_available), (gst_collect_pads_read),
3750         (gst_collect_pads_flush), (gst_collect_pads_event),
3751         (gst_collect_pads_chain):
3752         * gst/base/gstcollectpads.h:
3753           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
3754           unimplemented functions as unimplemented. Add padding to
3755           GstCollectData. (#320766, #320423)
3756
3757 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
3758
3759         * gst/gstmessage.c:
3760           Improve docs for DURATION message (usage of duration parameter)
3761           (#320113)
3762
3763 2005-11-20  Wim Taymans  <wim@fluendo.com>
3764
3765         * check/Makefile.am:
3766         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
3767         (main):
3768         * gst/Makefile.am:
3769         * gst/gst.h:
3770         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
3771         (gst_segment_set_seek), (gst_segment_set_newsegment),
3772         (gst_segment_to_stream_time), (gst_segment_to_running_time),
3773         (gst_segment_clip):
3774         * gst/gstsegment.h:
3775         Added segment helper structure and methods. Not fully implemented
3776         yet.
3777         Added segment check.
3778
3779 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
3780
3781         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3782           Add a deserialisation test for fractions
3783         * examples/metadata/read-metadata.c: (message_loop),
3784         (make_pipeline), (main):
3785           Fix up metadata reading sample.
3786         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
3787           Debug format fix
3788         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
3789           Don't try and fixate empty caps
3790         * gst/gst_private.h:
3791           Wrap in G_BEGIN_DECLS/G_END_DECLS
3792         * gst/gstvalue.c: (gst_value_collect_fraction),
3793         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
3794         (gst_value_transform_string_fraction),
3795         (gst_value_compare_fraction):
3796           Add some extra guards to ensure that we don't end up 
3797           with an invalid denominator of 0 in a gstfraction and
3798           that fractions always get reduced.
3799
3800 2005-11-20  Wim Taymans  <wim@fluendo.com>
3801
3802         * docs/gst/gstreamer-sections.txt:
3803         * gst/gstbuffer.h:
3804         * gst/gstelement.c:
3805         * gst/gstformat.c:
3806         * gst/gstformat.h:
3807         * gst/gstindex.h:
3808         * gst/gstquery.c:
3809         * gst/gstquery.h:
3810         * gst/gstvalue.c:
3811         Doc fixes.
3812
3813 2005-11-20  Wim Taymans  <wim@fluendo.com>
3814
3815         * docs/design/part-TODO.txt:
3816         * gst/gstcaps.h:
3817         Make a proper enum of the flag.
3818
3819 2005-11-19  Wim Taymans  <wim@fluendo.com>
3820
3821         * docs/design/part-TODO.txt:
3822         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
3823         (gst_format_to_quark), (gst_format_register):
3824         * gst/gstformat.h:
3825         * gst/gstquery.c: (_gst_query_initialize),
3826         (gst_query_type_get_name), (gst_query_type_to_quark),
3827         (gst_query_type_register):
3828         * gst/gstquery.h:
3829         Add type to quark and type to string conversions.
3830
3831 2005-11-19  Andy Wingo  <wingo@pobox.com>
3832
3833         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
3834         #320097.
3835
3836 2005-11-19  Wim Taymans  <wim@fluendo.com>
3837
3838         * docs/design/part-TODO.txt:
3839         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
3840         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
3841         (gst_bin_handle_message_func):
3842         * gst/gstbin.h:
3843         Make message handling overridable.
3844
3845 2005-11-19  Andy Wingo  <wingo@pobox.com>
3846
3847         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
3848
3849         * gst/gstclock.h:
3850         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
3851         be a GstClockTime.
3852         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
3853         is a GstClockTime. Fixes #321710.
3854
3855         * gst/gstclock.h (GstClock): Remove offset property. Add
3856         internal_calibration and external_calibration. Fix padding. Pad
3857         also by GstClockTime so we don't run into problems.
3858
3859         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
3860         (gst_clock_get_rate_offset): Remove.
3861         (gst_clock_set_time_adjust): Remove. Fixes #321712.
3862
3863         * gst/gstutils.h:
3864         * gst/gstutils.c (g_static_rec_cond_wait)
3865         (g_static_rec_cond_timed_wait): Removed, no longer needed.
3866
3867         * gst/gstbin.c: Remove terrible continue_state prototype.
3868
3869         * gst/gstelement.h (gst_element_continue_state): Make public.
3870
3871         * gst/gstelement.h:
3872         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
3873         by continue_state. Fixes #319389.
3874
3875         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
3876         Really fixes #168438. However I don't see anywhere where the
3877         filter function is called... stupid GStreamer...
3878         
3879         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
3880         don't have a dispose function, so it won't get called when the
3881         object is unreffed, but oh well!
3882
3883         * gst/gstindex.c (gst_index_set_filter_full): New API function,
3884         allows a destroy function to be set so user_data can be freed.
3885         Fixes #168438.
3886         (gst_index_set_filter): Call gst_index_set_filter_full.
3887
3888         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
3889
3890         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
3891         string should produce an error, given the lack of a way to
3892         represent NULL strings. Fixes #165650.
3893         
3894         * gst/gstvalue.h: 
3895         * gst/gstvalue.c (gst_value_array_append_value) 
3896         (gst_value_array_prepend_value, gst_value_array_get_size) 
3897         (gst_value_array_get_value): New API, copied from
3898         gst_value_list_*, only operates on arrays.
3899         (gst_value_list_append_value, gst_value_list_prepend_value) 
3900         (gst_value_list_concat, gst_value_list_get_size) 
3901         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
3902
3903         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
3904         init_list, because it works on both.
3905         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
3906         (gst_value_copy_list_or_array): Renamed from copy_list.
3907         (gst_value_free_list_or_array): Renamed from free_list.
3908         (gst_value_collect_list_or_array): Renamed from collect_list.
3909         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
3910         (gst_value_list_or_array_peek_pointer): Renamed from
3911         list_peek_pointer.
3912         (_gst_value_array_value_table, _gst_value_list_value_table):
3913         Update value table functions.
3914         (gst_value_compare_list_or_array): Renamed from compare_list.
3915
3916         * gsttaglist.h: Whoops, foreach function returns void. Also fix
3917         some constness.
3918
3919         * gst/gsttaglist.c:
3920         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
3921         GstTagList*. Fixes #143472.
3922
3923         * gst/gststructure.h: Clarify what the foreach/map functions can
3924         or can't do to their arguments.
3925
3926 2005-11-18  Wim Taymans  <wim@fluendo.com>
3927
3928         * gst/gstclock.c: (gst_clock_set_calibration),
3929         (gst_clock_get_calibration):
3930         Doc and API fixes.
3931         Calibration can be set with internal time equal to current
3932         internal time too.
3933
3934 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
3935
3936         * gst/gsterror.c:
3937         * gst/gsterror.h:
3938           document
3939
3940 2005-11-18  Andy Wingo  <wingo@pobox.com>
3941
3942         * configure.ac: 
3943         * pkgconfig/gstreamer-net.pc.in:
3944         * pkgconfig/gstreamer-net-uninstalled.pc.in:
3945         * pkgconfig/Makefile.am: Add net pkgconfig files.
3946
3947 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
3948
3949         * gst/gstcaps.c:
3950         * gst/gstghostpad.c:
3951         * gst/gsttrace.c:
3952         * gst/gstvalue.c:
3953         * gst/gstvalue.h:
3954           docs fixes
3955
3956 2005-11-18  Andy Wingo  <wingo@pobox.com>
3957
3958         * gst/net/gstnetclientclock.c: Turn off debugging.
3959
3960         * check/net/gstnetclientclock.c (test_functioning): Assert that the
3961         times connverge somewhat. Can't make a real test.
3962
3963         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
3964         integer arithmetic. Return the minimum of the domain, which can be
3965         set as "internal" for gst_clock_set_calibration.
3966         (gst_net_client_clock_observe_times): Call _set_calibration.
3967         (gst_net_client_clock_new): Call _set_calibration instead of
3968         rate_offset.
3969
3970         * check/net/gstnetclientclock.c (test_functioning): Use the right
3971         adjustment api.
3972
3973         * gst/gstclock.h:
3974         * gst/gstclock.c (gst_clock_get_calibration) 
3975         (gst_clock_set_calibration): New functions, obsolete the ones I
3976         added yesterday. Doh. Precision issues mean we have to extrapolate
3977         from a point in the more recent past than 1970.
3978         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
3979         obsolete.
3980         (gst_clock_adjust_unlocked): Use the right calibration data.
3981
3982 2005-11-18  Edward Hervey  <edward@fluendo.com>
3983
3984         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
3985         Also reset the ->current_* values in READY->PAUSED
3986
3987 2005-11-18  Andy Wingo  <wingo@pobox.com>
3988
3989         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
3990         Whoops, check the right fd. Also add some debugging.
3991         (gst_net_client_clock_observe_times): Adjust for int64 offset.
3992         (do_linear_regression): Add a crapload of debugging. Subtract off
3993         the minimum values from the input series to discard unneeded bits.
3994         Use only int arithmetic. There is still double arithmetic when
3995         calculating the intercept that needs fixing. Return boolean to
3996         indicate success; FALSE would mean the domain or range is too
3997         great. Still needs fixes.
3998
3999 2005-11-18  Wim Taymans  <wim@fluendo.com>
4000
4001         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
4002         For the current position in stream time, we need to subtract
4003         accumulated time.
4004         
4005         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
4006         Release lock before calling the callback function of async
4007         entries.
4008
4009 2005-11-18  Andy Wingo  <wingo@pobox.com>
4010
4011         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
4012         Port goes all the way to MAXUINT16.
4013
4014         * gst/net/gstnettimeprovider.c: Make the port range the same as
4015         for the kernel: 0 assigns, otherwise ports are less than
4016         MAXUINT16.
4017
4018         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
4019         port change.
4020
4021         * check/net/gstnetclientclock.c (test_functioning): Add the start
4022         of another test. 
4023
4024 2005-11-18  Wim Taymans  <wim@fluendo.com>
4025
4026         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
4027         (gst_bin_remove_func), (bin_bus_handler):
4028         * gst/gstbin.h:
4029         Removing a clock provider from a bin, triggers a clock lost message
4030         so that a new clock will be selected.
4031         Adding a clock to a bin triggers a clock provider message.
4032         Make sure we reselect a clock when we received a clock lost message.
4033         Keep a reference to the element that provided the clock.
4034
4035 2005-11-18  Andy Wingo  <wingo@pobox.com>
4036
4037         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
4038         the clock initially so it produces values around the base time.
4039         (gst_net_client_clock_class_init): Typo fix.
4040         (gst_net_client_clock_thread): Add note on when the socket gets
4041         closed.
4042
4043 2005-11-17  Wim Taymans  <wim@fluendo.com>
4044
4045         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
4046         Free remote and local time arrays.
4047
4048 2005-11-17  Wim Taymans  <wim@fluendo.com>
4049
4050         * gst/net/gstnetclientclock.c: (do_linear_regression),
4051         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
4052         Fix compilation, uninitialized vars and a forgotten continue.
4053
4054 2005-11-17  Andy Wingo  <wingo@pobox.com>
4055
4056         * check/Makefile.am (check_PROGRAMS): 
4057         * check/net/gstnetclientclock.c: Add a most minimal test for the
4058         net client clock. More to come later.
4059
4060         * gst/net/gstnet.h: 
4061         * gst/net/Makefile.am: Add netclientclock.
4062
4063         * gst/net/gstnetclientclock.h:
4064         * gst/net/gstnetclientclock.c: New files, implement an untested
4065         GstClock that takes its time from a network time provider.
4066         Implements the algorithm in network-clock.scm.
4067
4068         * tests/network-clock.scm (*window-size*): Rename from
4069         *queue-length*.
4070         * tests/network-clock.scm (network-time): 
4071         * tests/network-clock-utils.scm (q-push): Update callers.
4072
4073 2005-11-17  Wim Taymans  <wim@fluendo.com>
4074
4075         * gst/gstbin.c: (gst_bin_provide_clock_func),
4076         (gst_bin_sort_iterator_new):
4077         And unref the child too..
4078
4079 2005-11-17  Wim Taymans  <wim@fluendo.com>
4080
4081         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
4082         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
4083         Refactor the sort iterator so it can be used while holding the
4084         LOCK too.
4085         Make clock selection select a clock closest to the source.
4086
4087 2005-11-17  Michael Smith <msmith@fluendo.com>
4088
4089         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
4090         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
4091         * gst/gstclock.h:
4092           Anonymous structs are a gcc (and some other compilers) extension, so
4093           don't use them. Since this is only for ABI-compatibility, and our
4094           API/ABI freeze is over in a few days, this whole thing will only
4095           last a few days, so don't bother trying to think up a meaningful
4096           name for the struct.
4097
4098 2005-11-17  Andy Wingo  <wingo@pobox.com>
4099
4100         * gst/gstclock.h (GstClock): Add rate and offset properties,
4101         preserving ABI stability. Add rate/offset accessors. Will file bug
4102         for the freeze break.
4103
4104         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
4105         and offset, trying to keep precision and avoiding
4106         underflow/overflow.
4107         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
4108         functions. Make gst_clock_set_time_adjust obsolete.
4109         (gst_clock_set_time_adjust): Note that this function is obsolete.
4110         Will file bug soon.
4111
4112         * gst/base/gstbasetransform.h: Make the ABI-stability hack
4113         greppable by using GST_PADDING-1+1.
4114
4115 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
4116
4117         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4118
4119         * gst/gstmessage.c: (gst_message_parse_clock_lost):
4120           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
4121
4122         * gst/gstpadtemplate.h:
4123         * gst/gstpluginfeature.h:
4124           Don't use c++ style comments in headers (#321638).
4125
4126 2005-11-16  Andy Wingo  <wingo@pobox.com>
4127
4128         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
4129         buffer.
4130
4131         * check/net/gstnettimeprovider.c: Check to see that the time
4132         provider actually provides times. Works, yo!
4133
4134 2005-11-16  Wim Taymans  <wim@fluendo.com>
4135
4136         * check/Makefile.am:
4137         Enable more tests.
4138
4139         * check/elements/fakesrc.c: (GST_START_TEST):
4140         Set element to NULL before disposing it.
4141
4142 2005-11-16  Andy Wingo  <wingo@pobox.com>
4143
4144         * gst/net/Makefile.am:
4145         * gst/net/gstnet.h:
4146         * gst/net/gstnettimeprovider.c: 
4147         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
4148         provider, include it from gstnet.h, and add it to the build.
4149
4150         * gst/net/gstnettimepacket.h: 
4151         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
4152         sending and receiving.
4153
4154 2005-11-16  Wim Taymans  <wim@fluendo.com>
4155
4156         * check/Makefile.am:
4157         Enable valgrind check.
4158
4159         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
4160         (gst_fake_src_alloc_buffer):
4161         Fix memleak.
4162
4163 2005-11-16  Wim Taymans  <wim@fluendo.com>
4164
4165         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
4166         Call parent finalize too.
4167
4168 2005-11-16  Wim Taymans  <wim@fluendo.com>
4169
4170         * check/Makefile.am:
4171         Enable valgrind check that should work fine now.
4172
4173         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4174         * gst/gstqueue.c: (gst_queue_init):
4175         Fix memleaks in pad allocation.
4176
4177 2005-11-16  Andy Wingo  <wingo@pobox.com>
4178
4179         * gst/net/Makefile.am:
4180         * gst/net/gstnet.h: New part of core to hold network elements and
4181         objects. Put in core because it exposes API that applications want
4182         to use. The library is named libgstnet-tempname right now because
4183         of the existing libgstnet in gst-plugins-base. Solution is
4184         probably to rename the one in plugins-base; will file a bug for
4185         the freeze break.
4186
4187         * gst/net/gstnettimeprovider.c: 
4188         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
4189         get_time call over the network.
4190
4191         * configure.ac: 
4192         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
4193
4194         * check/Makefile.am:
4195         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
4196         get additions shortly.
4197
4198 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4199
4200         * gst/gstpad.c: (gst_pad_new_from_static_template):
4201         * gst/gstpad.h:
4202           add gst_pad_new_from_static_template functions
4203         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
4204         (gst_check_setup_sink_pad):
4205         * gst/elements/gsttee.c: (gst_tee_init):
4206           and use them
4207
4208 2005-11-16  Wim Taymans  <wim@fluendo.com>
4209
4210         * gst/gstpad.c: (gst_pad_pause_task):
4211         Removed warning, it's not really an error either.
4212
4213 2005-11-16  Wim Taymans  <wim@fluendo.com>
4214
4215         * gst/base/gstbasetransform.c:
4216         (gst_base_transform_prepare_output_buf),
4217         (gst_base_transform_event):
4218         Check if the caps are NULL, this can happen if the element
4219         is shutting down and the pad caps are set to NULL.
4220
4221 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4222
4223         * gst/elements/gsttee.c: (gst_tee_init):
4224           fix pad template leak in tee
4225
4226 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4227
4228         * gst/glib-compat.c: (g_value_dup_gst_object):
4229         * gst/glib-compat.h:
4230         * gst/gstpad.c: (gst_pad_set_property):
4231           use gst_object_ref when setting the pad template; this will
4232           trigger the pad template leaks on GLib 2.6 and the slaves
4233
4234 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4235
4236         * gst/glib-compat.c: (gst_flags_get_first_value):
4237         * gst/glib-compat.h:
4238         * gst/gstregistryxml.c:
4239           remove functions copied from GLib 2.6
4240
4241 2005-11-16  Michael Smith <msmith@fluendo.com>
4242
4243         * gst/Makefile.am:
4244           Don't link against VALGRIND_LIBS. That was always the wrong thing to
4245           do, but only breaks with newer valgrind versions. We're not a
4246           valgrind tool, we have no link-time dependencies on libcoregrind.
4247
4248 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4249
4250         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
4251           some debug changes
4252         * gst/gstmessage.h:
4253           typo fixes
4254
4255 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4256
4257         * gst/base/gstbasesrc.c: (gst_base_src_init):
4258         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4259         * gst/gstqueue.c: (gst_queue_init):
4260         * gst/gstregistryxml.c: (load_feature):
4261           Revert all these unrefs, they don't even pass make check !
4262
4263 2005-11-15  Johan Dahlin  <johan@gnome.org>
4264
4265         * gst/base/gstbasesrc.c: (gst_base_src_init):
4266         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4267         * gst/gstqueue.c: (gst_queue_init): 
4268         Free pad templates, fixes a couple of leaks.
4269
4270 2005-11-15  Daniel Fischer  <dan at f3c dot com>
4271
4272         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4273
4274         * gst/gstpad.c: (gst_pad_get_property):
4275           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
4276           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
4277           (#321452)
4278
4279 2005-11-15  Wim Taymans  <wim@fluendo.com>
4280
4281         * gst/gstevent.c:
4282         Small doc update.
4283
4284 2005-11-15  Andy Wingo  <wingo@pobox.com>
4285
4286         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
4287
4288         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
4289         using GST_CLOCK_TIME_NONE to disable base time management.
4290         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
4291         time if it was NONE before.
4292         (gst_pipeline_change_state): Only munge the base time if
4293         stream_time != GST_CLOCK_TIME_NONE.
4294
4295         * check/gst/gstpipeline.c (test_base_time): Punt around the
4296         problem of the probe not being called, because that's not the
4297         issue I'm looking at. Add a check that setting stream_time to NONE
4298         disables base time management.
4299         
4300 2005-11-15  Wim Taymans  <wim@fluendo.com>
4301
4302         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
4303         segment_stop == -1 at startup.
4304
4305         * gst/base/gstbasetransform.c: (gst_base_transform_event),
4306         (gst_base_transform_change_state):
4307         Init segment values at start.
4308
4309 2005-11-15  Wim Taymans  <wim@fluendo.com>
4310
4311         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4312         0 segment values are 0 in any format.
4313
4314         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4315         * gst/base/gstbasetransform.h:
4316         Parse newsegment correctly in basetransform
4317
4318         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
4319         Sync to clock using updated segment values.
4320
4321 2005-11-15  Andy Wingo  <wingo@pobox.com>
4322
4323         * check/gst/gstpipeline.c (test_base_time): Add check that the
4324         base time and stream time are reset correctly.
4325
4326 2005-11-15  Wim Taymans  <wim@fluendo.com>
4327
4328         * docs/design/part-TODO.txt:
4329         Some more TODO items.
4330
4331 2005-11-15  Andy Wingo  <wingo@pobox.com>
4332
4333         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
4334         error if the user selected "no clock" as the clocking method.
4335
4336         * check/gst/gstpipeline.c (test_base_time): New test for buffer
4337         timestamps with live capture.
4338
4339         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
4340         is 0 but we are a live source, timestamp the buffers using the
4341         element's clock.
4342
4343 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
4344
4345         * docs/gst/gstreamer-sections.txt:
4346         * gst/gsterror.c:
4347         * gst/gstghostpad.c:
4348         * gst/gstobject.h:
4349         * gst/gstxml.c:
4350           more section docs
4351
4352 2005-11-14  Wim Taymans  <wim@fluendo.com>
4353
4354         * common/gst.supp:
4355           add suppressions from Wim's Debian machine
4356
4357 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4358
4359         * common/gst.supp:
4360           add suppressions from Andy's AMD64 Ubuntu machine
4361
4362 2005-11-14  Andy Wingo  <wingo@pobox.com>
4363
4364         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
4365         STATE_LOCK not necessary. Fixes #311489.
4366
4367         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
4368         #305291.
4369
4370         * gst/gstindex.c (gst_index_add_object): Note in the docs that
4371         this function is not implemented.
4372
4373 2005-11-14  Julien MOUTTE  <julien@moutte.net>
4374
4375         * gst/base/gstbasetransform.c:
4376         (gst_base_transform_prepare_output_buf):
4377         Ref the source pad caps while we need them.
4378         Fixes (#321386)
4379
4380 2005-11-11  Wim Taymans  <wim@fluendo.com>
4381
4382         * docs/gst/gstreamer-sections.txt:
4383         Added some docs for GstCollectData.
4384
4385         * gst/base/gstadapter.c:
4386         Some small code example fix.
4387
4388         * gst/base/gstcollectpads.c:
4389         * gst/base/gstcollectpads.h:
4390         Document some more.
4391
4392 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
4393
4394         * configure.ac: back to HEAD
4395
4396 === release 0.9.5 ===
4397
4398 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
4399
4400         * configure.ac:
4401           releasing 0.9.5, "Bike Lunch Day"
4402
4403 2005-11-11  Wim Taymans  <wim@fluendo.com>
4404
4405         * gst/gstbuffer.c: (_gst_buffer_copy):
4406         Copy more flags.
4407
4408         * gst/gstcaps.c: (gst_caps_is_equal):
4409         Fix some docs.
4410         Make _is_equal fast in the trivial cases.
4411
4412         * gst/gstminiobject.c:
4413         * gst/gstminiobject.h:
4414         More docs. Spifify .h file.
4415
4416         * gst/gstutils.c:
4417         Small doc update.
4418
4419 2005-11-11  Wim Taymans  <wim@fluendo.com>
4420
4421         * gst/base/gstbasetransform.c:
4422         (gst_base_transform_prepare_output_buf),
4423         (gst_base_transform_handle_buffer):
4424         Small cleanups.
4425         If we're processing a buffer and need to allocate an output
4426         buffer, we cannot accept a format change. If we did get a 
4427         format change, we have to alloc a buffer ourselves of the 
4428         right size.
4429
4430 2005-11-11  Wim Taymans  <wim@fluendo.com>
4431
4432         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
4433         While checking the flag for reentrancy in the gstcaps function
4434         is nice to detect recursive invocations, it also makes it 
4435         impossible to call getcaps from multiple threads, which must be
4436         possible. So, checking for recursive calls has to go.
4437
4438 2005-11-11  Michael Smith <msmith@fluendo.com>
4439
4440         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4441           Don't sync on buffers that fall partially outside our current
4442           segment. Prevents an assertion failure/abort playing some files.
4443
4444 2005-11-10  Andy Wingo  <wingo@pobox.com>
4445
4446         * check/gst/gstbin.c (test_message_state_changed_children): Style
4447         fix..
4448
4449         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
4450         gst_bus_poll with the signal watch. Ensures that poll and a signal
4451         watch see the same messages.
4452
4453         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
4454         a poll and a watch at the same time get the same messages.
4455
4456 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4457
4458         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
4459         * gst/gstcaps.c: (gst_caps_intersect):
4460           Don't call gst_caps_do_simplify - it doesn't respect order of caps
4461           and it's not needed.
4462
4463 2005-11-10  Wim Taymans  <wim@fluendo.com>
4464
4465         * docs/design/part-TODO.txt:
4466         Updated todo.
4467
4468 2005-11-10  Wim Taymans  <wim@fluendo.com>
4469
4470         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
4471         * gst/base/gstbasesrc.c: (gst_base_src_wait),
4472         (gst_base_src_do_sync), (gst_base_src_get_range):
4473         Implement clock sync in base class.
4474
4475 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
4476
4477         patch by: Tim-Philipp Müller <tim at centricular dot net>
4478
4479         * gst/gststructure.c: (gst_structure_parse_field),
4480         (gst_structure_from_string):
4481           Forward-port a 0.8 patch to handle escaped spaces in structure string,
4482           so that gst_parse_launch() can deal with spaces in filtered link
4483           caps (fixes #164479)
4484         * check/gst/capslist.h:
4485         * check/gst/gststructure.c: (GST_START_TEST):
4486           add unit tests for this change
4487
4488 2005-11-10  Wim Taymans  <wim@fluendo.com>
4489
4490         * docs/gst/gstreamer-sections.txt:
4491         * gst/gstelement.c:
4492         * gst/gstelement.h:
4493         Fix docs, move some STATE macros to private.
4494
4495 2005-11-10  Wim Taymans  <wim@fluendo.com>
4496
4497         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
4498         Added check for bug #317341
4499
4500         * gst/gstbuffer.c:
4501         * gst/gstbuffer.h:
4502         Some more spiffifying.
4503
4504         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
4505         Call peer linkfunction if we are a source pad. Totally fixes
4506         #317341
4507
4508         * gst/gstpad.c:
4509         Update docs, source pads should call the peer linkfunction
4510         so they can atomically perform the pad link.
4511
4512 2005-11-09  Wim Taymans  <wim@fluendo.com>
4513
4514         * gst/gstbuffer.c:
4515         * gst/gstbuffer.h:
4516         Uber-spiffy-spiffify some more.
4517
4518 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
4519
4520         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
4521         * gst/elements/gstfilesink.c: (gst_file_sink_init):
4522         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
4523         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
4524         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
4525         * gst/gstpad.c: (gst_pad_init):
4526           Use GST_DEBUG_FUNCPTR() more extensively.
4527
4528 2005-11-09  Wim Taymans  <wim@fluendo.com>
4529
4530         * gst/gstobject.c: (gst_object_class_init):
4531         * gst/gstobject.h:
4532         Documentation fixes.
4533
4534 2005-11-09  Edward Hervey  <edward@fluendo.com>
4535
4536         * gst/gsttypefindfactory.c:
4537         Fix docs.
4538         
4539 2005-11-09  Edward Hervey  <edward@fluendo.com>
4540
4541         * gst/base/gsttypefindhelper.c:
4542         * gst/gsttypefind.c:
4543         * gst/gsttypefind.h:
4544         Fix docs.
4545
4546 2005-11-09  Wim Taymans  <wim@fluendo.com>
4547
4548         * gst/gstiterator.c:
4549         Fix revision data.
4550
4551         * gst/gsttask.c:
4552         * gst/gsttask.h:
4553         Fix docs.
4554
4555 2005-11-09  Wim Taymans  <wim@fluendo.com>
4556
4557         * gst/gstevent.h:
4558         * gst/gsturi.h:
4559         Fix docs.
4560
4561 2005-11-09  Wim Taymans  <wim@fluendo.com>
4562
4563         * docs/gst/gstreamer-sections.txt:
4564         Moved the message async delivery private lock and cond
4565         to the private section.
4566
4567         * gst/gstmessage.c:
4568         * gst/gstmessage.h:
4569         Fixed docs.
4570
4571 2005-11-09  Edward Hervey  <edward@fluendo.com>
4572
4573         * docs/gst/gstreamer-sections.txt:
4574         * gst/gsturi.c:
4575         * gst/gsturi.h:
4576         Document GstURIHandler
4577
4578 2005-11-09  Wim Taymans  <wim@fluendo.com>
4579
4580         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
4581         (gst_iterator_find_custom):
4582         * gst/gstiterator.h:
4583         Fix iterator docs.
4584
4585 2005-11-09  Wim Taymans  <wim@fluendo.com>
4586
4587         * gst/gstbin.h:
4588         Document another field.
4589
4590         * gst/gststructure.c:
4591         * gst/gststructure.h:
4592         Document.
4593
4594 2005-11-09  Wim Taymans  <wim@fluendo.com>
4595
4596         * gst/gstbin.h:
4597         Documented structs.
4598
4599 2005-11-09  Wim Taymans  <wim@fluendo.com>
4600
4601         * docs/gst/gstreamer-sections.txt:
4602         Added some new macros.
4603
4604         * gst/gstclock.c:
4605         * gst/gstclock.h:
4606         * gst/gstobject.h:
4607         Docs updates.
4608
4609 2005-11-09  Wim Taymans  <wim@fluendo.com>
4610
4611         * docs/design/part-TODO.txt:
4612         Some more items for the TODO
4613
4614         * gst/gstcaps.c:
4615         * gst/gstcaps.h:
4616         Document GstCaps.
4617
4618 2005-11-09  Andy Wingo  <wingo@pobox.com>
4619
4620         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
4621         to work on something else now tho...
4622
4623         * gst/base/gstadapter.c: More adapter docs.
4624
4625         * gst/elements/gstfilesink.c (gst_file_sink_start) 
4626         (gst_file_sink_stop): New functions, replace the state change
4627         handler.
4628         (gst_file_sink_class_init): Hook up the start and stop functions.
4629         (gst_file_sink_base_init): Don't set the state change handler any
4630         more. It was a bit ugly too, being set from here...
4631         (gst_file_sink_get_property, gst_file_sink_set_property):
4632         Cleanups...
4633         (gst_file_sink_set_location): More robust check that doesn't call
4634         GST_STATE. Ugggggg.
4635
4636 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
4637
4638         * gst/base/gstbasetransform.c: (gst_base_transform_event):
4639           Hold STREAM_LOCK while pushing newsegment or tag events as well.
4640
4641 2005-11-08  Wim Taymans  <wim@fluendo.com>
4642
4643         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
4644         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
4645         (gst_base_sink_chain), (gst_base_sink_change_state):
4646         * gst/base/gstbasesink.h:
4647         * gst/base/gstbasesrc.h:
4648         * gst/gstelement.h:
4649         * gst/gstevent.h:
4650         Avoid excessive typechecking in macros.
4651
4652         * gst/gstminiobject.c: (gst_mini_object_get_type),
4653         (gst_mini_object_init), (gst_mini_object_new),
4654         (gst_mini_object_free):
4655         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
4656         (gst_object_finalize):
4657         Remove cruft code, optimize alloc_trace.
4658
4659 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4660
4661         * docs/faq/gst-uninstalled:
4662           fix up PS1 for systems that try to reset it
4663
4664 2005-11-07  Wim Taymans  <wim@fluendo.com>
4665
4666         * gst/base/gstbasesrc.c: (gst_base_src_init),
4667         (gst_base_src_get_range):
4668         Set the segment_end to -1 initially. Fixed typefind.
4669
4670 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
4671
4672         * gst/base/gstadapter.c:
4673           Debug category should be 'adapter', not 'GstAdapter'.
4674           
4675         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
4676         (gst_collectpads_class_init), (gst_collectpads_init),
4677         (gst_collectpads_peek), (gst_collectpads_pop),
4678         (gst_collectpads_event), (gst_collectpads_chain):
4679           Add debug category and some debugging output. Use boilerplate
4680           macros. Remove some extraneous words from docs.
4681
4682 2005-11-05  Andy Wingo  <wingo@pobox.com>
4683
4684         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
4685         macro.
4686
4687 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
4688
4689         * docs/gst/gstreamer-sections.txt:
4690         * gst/gstcaps.h:
4691         * gst/gstinfo.c:
4692         * gst/gstminiobject.h:
4693         * gst/gstobject.h:
4694         * gst/gstutils.h:
4695           more docs added
4696
4697 2005-11-04  Wim Taymans  <wim@fluendo.com>
4698
4699         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4700         Small update to stop at the configured segment_end
4701         position.
4702
4703 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
4704
4705         * gst/gstregistry.c:
4706         * gst/gstregistry.h:
4707           added missing docs
4708
4709 2005-11-04  Edward Hervey  <edward@fluendo.com>
4710
4711         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
4712         Check if we are doing a segment seek and have arrived at the
4713         end of that segment.
4714
4715 2005-11-04  Wim Taymans  <wim@fluendo.com>
4716
4717         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
4718         Don't leak a mutex unlock in case of an error.
4719
4720         * gst/gstbus.h:
4721         Doc fixes.
4722
4723 2005-11-04  Wim Taymans  <wim@fluendo.com>
4724
4725         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
4726         (gst_bus_post):
4727         Get the context to wake up only once.
4728
4729 2005-11-03  Wim Taymans  <wim@fluendo.com>
4730
4731         * check/states/sinks.c: (GST_START_TEST):
4732         Uncomment fixed check.
4733
4734         * docs/design/part-TODO.txt:
4735         Updated TODO.
4736
4737         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4738         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
4739         (gst_base_sink_get_position):
4740         If we are going to PLAYING, post the right pending state
4741         when we post the intermediate paused message.
4742
4743         * gst/gstelement.c: (gst_element_continue_state),
4744         (gst_element_set_state_func), (gst_element_change_state):
4745         Don't post state changes that were between the same state
4746         and were not ASYNC.
4747
4748 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
4749
4750         * docs/gst/gstreamer-sections.txt:
4751         * gst/gstcaps.h:
4752         * gst/gstinfo.c:
4753         * gst/gstminiobject.h:
4754         * gst/gstobject.h:
4755         * gst/gstutils.h:
4756           more docs and doc style fixes
4757
4758 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
4759
4760         * docs/gst/gstreamer-sections.txt:
4761         * gst/gstelement.c:
4762         * gst/gstminiobject.c:
4763         doc fixes
4764
4765 2005-11-03  Andy Wingo  <wingo@pobox.com>
4766
4767         * check/states/sinks.c (test_livesrc_sink): Add checks that the
4768         state-changed messages actually have the right order and the right
4769         values.
4770
4771 2005-11-03  Wim Taymans  <wim@fluendo.com>
4772
4773         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
4774         Added some more checks. Specifically the case where NO_PREROLL
4775         elements are in the pipeline.
4776
4777         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
4778         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
4779         (gst_base_sink_get_position):
4780         Post READY->PAUSED state change messages too.
4781         Fix bug where VOID was posted as pending state...
4782
4783         * gst/gstbin.c: (gst_bin_recalc_state):
4784         use _element_continue_state() to continue the state change.
4785
4786         * gst/gstelement.c: (gst_element_continue_state),
4787         (gst_element_commit_state), (gst_element_set_state_func),
4788         (gst_element_change_state), (gst_element_change_state_func):
4789         Lots of state change cleanups, assign the STATE_RETURN in
4790         a new continue_state() function that also propagates the
4791         last return value from a state change to the app.
4792         Update some debug statements with proper category.
4793
4794 2005-11-03  Wim Taymans  <wim@fluendo.com>
4795
4796         * docs/design/part-events.txt:
4797         * docs/design/part-gstpipeline.txt:
4798         * docs/design/part-messages.txt:
4799         * docs/design/part-overview.txt:
4800         * docs/design/part-seeking.txt:
4801         * docs/design/part-states.txt:
4802         * docs/design/part-trickmodes.txt:
4803         * docs/manual/advanced-position.xml:
4804         Small docs updates.
4805
4806         * gst/gstobject.h:
4807         People think !! is ugly, this looks better.
4808
4809         * gst/gstpad.c: (gst_pad_set_blocked_async):
4810         Remove !! since it's fixed elsewhere now.
4811
4812 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4813
4814         * gst/gstminiobject.h:
4815         * gst/gstobject.h:
4816           Add !! to _FLAG_IS_SET macros to make the result boolean.
4817
4818 2005-11-03  Edward Hervey  <edward@fluendo.com>
4819
4820         * gst/gstpad.c: (gst_pad_set_blocked_async):
4821         comparing a flag and a gboolean rarely returns coherent results...
4822         Added two characters (!!) to make that work correctly.
4823         
4824 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4825
4826         * gst/gstbus.c: (gst_bus_class_init):
4827           Fix some typos.
4828           
4829         * gst/gstqueue.c: (gst_queue_loop):
4830           Don't assume a miniobject that isn't a buffer is an
4831           event (it could be that there is a refcounting
4832           problem somewhere and the pointer is stale and
4833           refers to an already destroyed miniobject).
4834
4835 2005-11-03  Julien MOUTTE  <julien@moutte.net>
4836
4837         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
4838
4839 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
4840
4841         * docs/manual/advanced-position.xml:
4842           Update seek example and explanations to current 0.9 API.
4843
4844         * gst/elements/gsttypefindelement.c:
4845         (gst_type_find_element_activate):
4846           Remove FIXME comment now that the found caps
4847           are unreffed.
4848
4849 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
4850
4851         * gst/gstregistryxml.c: (load_feature):
4852           Add another GST_STR_NULL instance
4853
4854 2005-11-02  Edward Hervey  <edward@fluendo.com>
4855
4856         * gst/gstpad.c: (handle_pad_block):
4857         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
4858         
4859 2005-11-02  Wim Taymans  <wim@fluendo.com>
4860
4861         * gst/gstbin.c:
4862         Fix typo in docs.
4863
4864         * gst/gstelement.c: (gst_element_commit_state):
4865         Remove unused value.
4866
4867         * gst/gstiterator.c:
4868         Mention that the returned element is reffed in the docs.
4869
4870 2005-11-02  Wim Taymans  <wim@fluendo.com>
4871
4872         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
4873         (gst_pad_push), (gst_pad_push_event):
4874         Unlock blocked pads when they are flushed.
4875
4876 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4877
4878         * docs/README:
4879         * docs/gst/gstreamer-sections.txt:
4880         * gst/gstbin.c:
4881           doc updates
4882         * gst/gstregistry.c: (gst_registry_scan_path_level):
4883           fix for a nasty little missed situation where an installed plug-in
4884           which was in the cache did not get overridden by an uninstalled one
4885           which was earlier in the plugin path because the newly created plugin
4886           for the uninstalled one (not in the registry) didn't get its
4887           ->registered set to TRUE
4888
4889 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4890
4891         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
4892         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
4893         (gst_collectpads_is_active), (gst_collectpads_collect),
4894         (gst_collectpads_collect_range), (gst_collectpads_start),
4895         (gst_collectpads_stop), (gst_collectpads_peek),
4896         (gst_collectpads_pop), (gst_collectpads_available),
4897         (gst_collectpads_read), (gst_collectpads_flush):
4898           Guard public API with assertions.
4899         
4900         * gst/gstpad.c:
4901           Fix docs for gst_pad_set_link_function().
4902
4903 2005-11-02  Johan Dahlin  <johan@gnome.org>
4904
4905         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
4906         Unref found_caps after we used it.
4907
4908 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
4909
4910         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
4911           Don't try to ref NULL.
4912
4913 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4914
4915         * win32/common/config.h.in:
4916           provide a GST_FUNCTION that just gives a string for now
4917
4918 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4919
4920         * win32/common/gstenumtypes.c: (register_gst_object_flags),
4921         (gst_object_flags_get_type), (register_gst_bin_flags),
4922         (gst_bin_flags_get_type), (register_gst_buffer_flag),
4923         (gst_buffer_flag_get_type), (register_gst_bus_flags),
4924         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
4925         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
4926         (gst_clock_return_get_type), (register_gst_clock_entry_type),
4927         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
4928         (gst_clock_flags_get_type), (register_gst_state),
4929         (gst_state_get_type), (register_gst_state_change_return),
4930         (gst_state_change_return_get_type), (register_gst_state_change),
4931         (gst_state_change_get_type), (register_gst_element_flags),
4932         (gst_element_flags_get_type), (register_gst_core_error),
4933         (gst_core_error_get_type), (register_gst_library_error),
4934         (gst_library_error_get_type), (register_gst_resource_error),
4935         (gst_resource_error_get_type), (register_gst_stream_error),
4936         (gst_stream_error_get_type), (register_gst_event_type),
4937         (gst_event_type_get_type), (register_gst_seek_type),
4938         (gst_seek_type_get_type), (register_gst_seek_flags),
4939         (gst_seek_flags_get_type), (register_gst_format),
4940         (gst_format_get_type), (register_gst_index_certainty),
4941         (gst_index_certainty_get_type), (register_gst_index_entry_type),
4942         (gst_index_entry_type_get_type),
4943         (register_gst_index_lookup_method),
4944         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
4945         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
4946         (gst_index_resolver_method_get_type), (register_gst_index_flags),
4947         (gst_index_flags_get_type), (register_gst_debug_level),
4948         (gst_debug_level_get_type), (register_gst_debug_color_flags),
4949         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
4950         (gst_iterator_result_get_type), (register_gst_iterator_item),
4951         (gst_iterator_item_get_type), (register_gst_message_type),
4952         (gst_message_type_get_type), (register_gst_mini_object_flags),
4953         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
4954         (gst_pad_link_return_get_type), (register_gst_flow_return),
4955         (gst_flow_return_get_type), (register_gst_activate_mode),
4956         (gst_activate_mode_get_type), (register_gst_pad_direction),
4957         (gst_pad_direction_get_type), (register_gst_pad_flags),
4958         (gst_pad_flags_get_type), (register_gst_pad_presence),
4959         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
4960         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
4961         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
4962         (gst_plugin_error_get_type), (register_gst_plugin_flags),
4963         (gst_plugin_flags_get_type), (register_gst_rank),
4964         (gst_rank_get_type), (register_gst_query_type),
4965         (gst_query_type_get_type), (register_gst_tag_merge_mode),
4966         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
4967         (gst_tag_flag_get_type), (register_gst_task_state),
4968         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
4969         (gst_alloc_trace_flags_get_type),
4970         (register_gst_type_find_probability),
4971         (gst_type_find_probability_get_type), (register_gst_uri_type),
4972         (gst_uri_type_get_type), (register_gst_parse_error),
4973         (gst_parse_error_get_type):
4974         * win32/common/gstversion.h:
4975           update win32 copies
4976
4977 2005-11-01  Luca Ognibene  <luogni@tin.it>
4978
4979         * gst/gst.c:
4980           fix docs. popt is dead, long live GOption.
4981
4982 2005-10-31  Wim Taymans  <wim@fluendo.com>
4983
4984         * gst/gstbuffer.h:
4985         Small doc fix.
4986
4987 2005-10-31  Andy Wingo  <wingo@pobox.com>
4988
4989         * Boo!
4990
4991         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
4992
4993         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
4994         need to serialize property notifications on GLib 2.8. GLib 2.6 has
4995         the possibility of deadlocks here if code calling notify() or
4996         set() has a lock that can be taken in another notify handler (ABBA
4997         with class lock and e.g. python GIL state lock).
4998
4999 2005-10-28  Julien MOUTTE  <julien@moutte.net>
5000
5001         * gst/gstbus.c: Doc updates.
5002
5003 2005-10-28  Wim Taymans  <wim@fluendo.com>
5004
5005         * docs/design/part-TODO.txt:
5006         * gst/gstiterator.c:
5007         * gst/gstsystemclock.c:
5008         * gst/gstsystemclock.h:
5009         Doc updates.
5010
5011 2005-10-28  Edward Hervey  <edward@fluendo.com>
5012
5013         * docs/gst/gstreamer-docs.sgml:
5014         * docs/gst/gstreamer-sections.txt:
5015         the GstURIType documentation page is private, it only defines GstURIType
5016         which should be defined in the GstURIHandler page
5017         
5018 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5019
5020         * gst/gstbin.c: (gst_bin_class_init):
5021         * gst/gstbin.h:
5022         * gst/gstutils.c:
5023         Documentation updates.
5024
5025 2005-10-28  Wim Taymans  <wim@fluendo.com>
5026
5027         * docs/gst/gstreamer-sections.txt:
5028         * gst/gstclock.c:
5029         * gst/gstclock.h:
5030         Documented the clocks.
5031
5032 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
5033
5034         * docs/gst/gstreamer-sections.txt:
5035           move some macros to private sections
5036         * gst/gstminiobject.c:
5037         * gst/gstminiobject.h:
5038           add descriptions provided by ds and some more
5039         * gst/gstpad.h:
5040           mark macro as to be removed
5041
5042 2005-10-28  Wim Taymans  <wim@fluendo.com>
5043
5044         * docs/design/part-TODO.txt:
5045         Add an item to TODO.
5046
5047         * gst/gstiterator.c: (gst_iterator_fold),
5048         (gst_iterator_find_custom):
5049         * gst/gstiterator.h:
5050         Add iterator docs.
5051
5052 2005-10-28  Wim Taymans  <wim@fluendo.com>
5053
5054         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5055         (gst_base_transform_init):
5056         Don't leak class.
5057
5058         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
5059         An EOS event marks the queue as completely filled.
5060
5061 2005-10-27  Wim Taymans  <wim@fluendo.com>
5062
5063         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5064         (gst_base_sink_do_sync), (gst_base_sink_get_position):
5065         Some more debugging.
5066
5067         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
5068         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
5069         (gst_base_transform_event), (gst_base_transform_getrange),
5070         (gst_base_transform_chain):
5071         * gst/base/gstbasetransform.h:
5072         Fix debugging,
5073         Protect transform and concurrent buffer alloc with a new lock.
5074         Try not to break ABI/API.
5075
5076 2005-10-27  Wim Taymans  <wim@fluendo.com>
5077
5078         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
5079         (gst_base_src_init), (gst_base_src_query),
5080         (gst_base_src_default_newsegment),
5081         (gst_base_src_configure_segment), (gst_base_src_do_seek),
5082         (gst_base_src_send_event), (gst_base_src_event_handler),
5083         (gst_base_src_pad_get_range), (gst_base_src_loop),
5084         (gst_base_src_unlock), (gst_base_src_default_negotiate),
5085         (gst_base_src_start), (gst_base_src_deactivate),
5086         (gst_base_src_activate_push), (gst_base_src_change_state):
5087         Move some stuff around and cleanup things.
5088
5089 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
5090
5091         * gst/base/gstbasesrc.c: (gst_base_src_query):
5092           Add missing break statements.
5093
5094 2005-10-27  Wim Taymans  <wim@fluendo.com>
5095
5096         * check/gst/gstbin.c: (GST_START_TEST):
5097         An extra refcount is taken in basesrc.
5098
5099         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
5100         (gst_base_src_get_range), (gst_base_src_pad_get_range),
5101         (gst_base_src_loop):
5102         Small cleanups, check for flushing after being unlocked from the 
5103         LIVE_LOCK. take refcounts correctly (not yet everywhere).
5104         Don't send out EOS when going to READY.
5105
5106 2005-10-27  Wim Taymans  <wim@fluendo.com>
5107
5108         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5109         (gst_base_sink_get_position):
5110         Some more debug.
5111
5112         * gst/gstbin.c: (message_check), (bin_replace_message),
5113         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5114         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
5115         (bin_query_duration_init), (bin_query_duration_fold),
5116         (bin_query_duration_done), (bin_query_generic_fold),
5117         (gst_bin_query):
5118         * tools/gst-launch.c: (main):
5119         Remove old option.
5120
5121 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
5122
5123         * examples/controller/audio-example.c: (main):
5124         * examples/queue/queue.c: (event_loop):
5125         * gst/base/gstbasetransform.h:
5126         * gst/gstelement.c: (gst_element_send_event):
5127         * gst/gstevent.h:
5128         * gst/gstpad.c: (gst_pad_send_event):
5129           fixing examples
5130           fixing docs typos
5131           changing log priority in error situations
5132
5133 2005-10-25  Wim Taymans  <wim@fluendo.com>
5134
5135         * gst/gstbin.c: (message_check), (bin_replace_message),
5136         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5137         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
5138         (bin_query_duration_init), (bin_query_duration_fold),
5139         (bin_query_duration_done), (bin_query_generic_fold),
5140         (gst_bin_query):
5141         Some doc and debug updates.
5142         Cache previously requested query DURATION for speed. invalidate
5143         cached duration if element posts a DURATION message.
5144
5145 2005-10-25  Wim Taymans  <wim@fluendo.com>
5146
5147         * docs/design/part-TODO.txt:
5148         Update TODO.
5149
5150         * gst/gstbin.c: (message_check), (bin_replace_message),
5151         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5152         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
5153         (bin_query_duration_init), (bin_query_duration_fold),
5154         (bin_query_duration_done), (bin_query_generic_fold),
5155         (gst_bin_query):
5156         Handle SEGMENT_START/DONE messages correctly.
5157         More evolved query algorithm that handles duration queries
5158         correctly.
5159
5160         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
5161         (gst_element_get_state_func), (gst_element_abort_state),
5162         (gst_element_commit_state), (gst_element_lost_state):
5163         Some more debugging.
5164
5165         * gst/gstmessage.h:
5166         Added doc.
5167
5168 2005-10-25  Wim Taymans  <wim@fluendo.com>
5169
5170         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
5171         Don't use invalid stream_time.
5172
5173         * gst/gstevent.c: (gst_event_new_newsegment):
5174         stream_time in newsegment cannot be undefined.
5175
5176 2005-10-24  Wim Taymans  <wim@fluendo.com>
5177
5178         * gst/gstbus.c:
5179         Doc fix.
5180
5181         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
5182         (gst_queue_loop):
5183         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
5184
5185 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
5186
5187         * docs/libs/tmpl/gstdparam.sgml:
5188         * docs/libs/tmpl/gstdplinint.sgml:
5189         * docs/libs/tmpl/gstdpman.sgml:
5190         * docs/libs/tmpl/gstdpsmooth.sgml:
5191         * docs/libs/tmpl/gstunitconvert.sgml:
5192           these are obsolete
5193
5194 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5195
5196         * configure.ac:
5197           back to HEAD
5198
5199 === release 0.9.4 ===
5200
5201 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5202
5203         * configure.ac:
5204           releasing 0.9.4, "Tyrannosaurus Rex"
5205
5206 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
5207
5208         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
5209         (gst_file_sink_get_current_offset):
5210           Use fseeko() and ftello() if available. When falling back on
5211           lseek() to get the current offset, fflush() first to make sure
5212           everything is up-to-date and we get the right offset.
5213
5214 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5215
5216         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5217         * gst/base/gstbasesrc.c: (gst_base_src_loop):
5218         * gst/gsterror.c: (_gst_stream_errors_init):
5219         * gst/gsterror.h:
5220         * gst/gstqueue.c: (gst_queue_loop):
5221         * po/POTFILES.in:
5222           remove prematurely added error category and clean up the instances
5223
5224 2005-10-21  Wim Taymans  <wim@fluendo.com>
5225
5226         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5227         (gst_base_sink_get_position), (gst_base_sink_query),
5228         (gst_base_sink_change_state):
5229         Simply set the right flag when going to playing, that's all
5230         we need to do instead of calling a function inside the object
5231         lock (that could take the lock as well and deadlock)
5232
5233 2005-10-21  Wim Taymans  <wim@fluendo.com>
5234
5235         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
5236         (gst_base_src_loop):
5237         Don't warn, the peer element knows what to do best when
5238         the seek failed, it might try something else.
5239
5240 2005-10-21  Wim Taymans  <wim@fluendo.com>
5241
5242         * gst/base/gstbasesrc.c: (gst_base_src_init),
5243         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
5244         Fix seeking.
5245
5246 2005-10-21  Wim Taymans  <wim@fluendo.com>
5247
5248         * docs/design/part-segments.txt:
5249         More docs.
5250
5251         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5252         Correctly set caps, even on the subbufer.
5253
5254 2005-10-21  Wim Taymans  <wim@fluendo.com>
5255
5256         * docs/gst/gstreamer-docs.sgml:
5257         * docs/gst/gstreamer-sections.txt:
5258         * gst/gstelement.h:
5259         * gst/gstevent.c:
5260         * gst/gstevent.h:
5261         * gst/gstmessage.h:
5262         * gst/gstpad.h:
5263         * gst/gstparse.h:
5264         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
5265         * gst/gsttask.h:
5266         * gst/gstutils.c:
5267         * gst/gstutils.h:
5268         And 2% more doc coverage.
5269
5270 2005-10-21  Andy Wingo  <wingo@pobox.com>
5271
5272         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
5273         position reporting.
5274
5275 2005-10-20  Wim Taymans  <wim@fluendo.com>
5276
5277         * gst/gsterror.c: (gst_error_get_message):
5278         * gst/gstparse.h:
5279         * gst/gstquery.h:
5280         * gst/gststructure.c:
5281         * gst/gsttrace.c:
5282         * gst/gstutils.c:
5283         More docs.
5284
5285 2005-10-20  Wim Taymans  <wim@fluendo.com>
5286
5287         * gst/gstbuffer.h:
5288         * gst/gstpad.c:
5289         * gst/gstparse.c:
5290         Another 1% more coverage.
5291
5292 2005-10-20  Wim Taymans  <wim@fluendo.com>
5293
5294         * docs/gst/gstreamer-sections.txt:
5295         * gst/gstelement.c: (gst_element_get_state_func),
5296         (gst_element_abort_state), (gst_element_commit_state),
5297         (gst_element_lost_state):
5298         * gst/gstevent.h:
5299         * gst/gstquery.c: (gst_query_set_position),
5300         (gst_query_parse_position), (gst_query_set_duration),
5301         (gst_query_parse_duration), (gst_query_new_convert):
5302         * gst/gstutils.c:
5303         Yay! 1% more docs coverage.
5304
5305 2005-10-20  Wim Taymans  <wim@fluendo.com>
5306
5307         * gst/gstpad.h:
5308         * gst/gstquery.c: (gst_query_set_position),
5309         (gst_query_parse_position), (gst_query_set_duration),
5310         (gst_query_parse_duration), (gst_query_new_convert):
5311         * gst/gstquery.h:
5312         * gst/gstutils.c: (gst_element_query_convert):
5313         * gst/gstutils.h:
5314         Docs and consistency fixes.
5315
5316 2005-10-20  Wim Taymans  <wim@fluendo.com>
5317
5318         * gst/gsttask.c:
5319         * gst/gsttask.h:
5320         More docs.
5321
5322 2005-10-20  Wim Taymans  <wim@fluendo.com>
5323
5324         * gst/gstbin.c: (message_check), (bin_replace_message),
5325         (bin_remove_messages), (is_eos), (gst_bin_add_func),
5326         (update_degree), (gst_bin_sort_iterator_next),
5327         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
5328         Reworked the message handling a bit, cache the messages instead of
5329         only the senders. alows us to do more in the future.
5330
5331 2005-10-20  Wim Taymans  <wim@fluendo.com>
5332
5333         * docs/design/part-TODO.txt:
5334         Update TODO
5335
5336         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
5337         (gst_base_sink_query):
5338         Don't use clock time to report position when in EOS.
5339
5340 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
5341
5342         * tools/gst-inspect.c: (print_interfaces),
5343         (print_element_properties_info), (print_element_info):
5344           Fix interface output with gst-inspect -a; don't print
5345           newlines after double/float properties.
5346
5347 2005-10-20  Wim Taymans  <wim@fluendo.com>
5348
5349         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
5350         (gst_base_sink_query):
5351         Speed up current position calculation.
5352
5353         * gst/base/gstbasesrc.c: (gst_base_src_query),
5354         (gst_base_src_default_newsegment):
5355         Correctly set stream position in newsegment.
5356
5357         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
5358         (update_degree), (gst_bin_sort_iterator_next),
5359         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
5360         * gst/gstmessage.c: (gst_message_new_custom):
5361         Clean up debugging info
5362
5363         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
5364         (gst_queue_loop), (gst_queue_handle_src_query):
5365         Pause task faster.
5366
5367 2005-10-19  Wim Taymans  <wim@fluendo.com>
5368
5369         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5370         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
5371         Fix query handling again.
5372
5373 2005-10-19  Wim Taymans  <wim@fluendo.com>
5374
5375         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5376         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
5377         * gst/base/gstbasesrc.c: (gst_base_src_query):
5378         * gst/elements/gstfilesink.c: (gst_file_sink_query):
5379         * gst/elements/gsttypefindelement.c:
5380         (gst_type_find_handle_src_query), (find_element_get_length),
5381         (gst_type_find_element_activate):
5382         API change fix.
5383
5384         * gst/gstquery.c: (gst_query_new_position),
5385         (gst_query_set_position), (gst_query_parse_position),
5386         (gst_query_new_duration), (gst_query_set_duration),
5387         (gst_query_parse_duration), (gst_query_set_segment),
5388         (gst_query_parse_segment):
5389         * gst/gstquery.h:
5390         Bundling query position/duration is not a good idea since duration
5391         does not change much and we don't want to recalculate it for every
5392         position query, so they are separated again..
5393         Base value in segment query is not needed.
5394
5395         * gst/gstqueue.c: (gst_queue_handle_src_query):
5396         * gst/gstutils.c: (gst_element_query_position),
5397         (gst_element_query_duration), (gst_pad_query_position),
5398         (gst_pad_query_duration):
5399         * gst/gstutils.h:
5400         Updates for query API change.
5401         Added some docs here and there.
5402
5403 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
5404
5405         * check/gst/gstbin.c: (GST_START_TEST):
5406         * check/gst/gstghostpad.c: (GST_START_TEST):
5407         * check/pipelines/cleanup.c: (GST_START_TEST):
5408           wait on thread to die so we can check refcount correctly
5409
5410 2005-10-18  Wim Taymans  <wim@fluendo.com>
5411
5412         * check/pipelines/stress.c: (GST_START_TEST):
5413         Make check a little more time consuming.
5414
5415 2005-10-18  Wim Taymans  <wim@fluendo.com>
5416
5417         * check/Makefile.am:
5418         * check/pipelines/stress.c: (GST_START_TEST),
5419         (simple_launch_lines_suite), (main):
5420         Small state change torture test.
5421
5422         * docs/design/part-states.txt:
5423         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5424         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
5425         (gst_base_sink_change_state):
5426         Never take state lock from streaming thread, clean up ugly
5427         hacks. Unfortunatly core does not yet support nice ways to
5428         async commit state.
5429         
5430         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
5431         (bin_bus_handler):
5432         Start state recalc if a STATE_DIRTY message is posted, but only
5433         on the toplevel bin.
5434
5435         * gst/gstelement.c: (gst_element_sync_state_with_parent),
5436         (gst_element_get_state_func), (gst_element_abort_state),
5437         (gst_element_commit_state), (gst_element_lost_state),
5438         (gst_element_set_state_func), (gst_element_change_state):
5439         * gst/gstelement.h:
5440         State variables are now protected with the LOCK, the state
5441         lock is only used to serialize _set_state().
5442
5443 2005-10-18  Wim Taymans  <wim@fluendo.com>
5444
5445         * check/gst/gstbin.c: (GST_START_TEST):
5446         * check/gst/gstmessage.c: (GST_START_TEST):
5447         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5448         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
5449         (bin_bus_handler):
5450         * gst/gstelement.c: (gst_element_abort_state),
5451         (gst_element_commit_state), (gst_element_lost_state):
5452         * gst/gstmessage.c: (gst_message_new_state_changed),
5453         (gst_message_new_state_dirty), (gst_message_new_segment_start),
5454         (gst_message_new_segment_done), (gst_message_new_duration),
5455         (gst_message_parse_state_changed),
5456         (gst_message_parse_segment_start),
5457         (gst_message_parse_segment_done), (gst_message_parse_duration):
5458         * gst/gstmessage.h:
5459         * tools/gst-launch.c: (event_loop):
5460         Seriously, this is better than a previous commit as we only need
5461         to notify the fact that an element changed state in a streaming
5462         thread, marking the state of the parents dirty, hence the 
5463         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
5464         message.
5465
5466 2005-10-18  Wim Taymans  <wim@fluendo.com>
5467
5468         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
5469         (gst_bin_recalc_func):
5470         * gst/gstelement.c: (gst_element_set_clock),
5471         (gst_element_abort_state), (gst_element_lost_state):
5472         Cleanups, prepare for state change fixes.
5473
5474 2005-10-18  Wim Taymans  <wim@fluendo.com>
5475
5476         * gst/gstbin.h:
5477         * gst/gstelement.c: (gst_element_class_init),
5478         (gst_element_set_state), (gst_element_set_state_func):
5479         * gst/gstelement.h:
5480         Pending ABI changes.
5481         GThreadPool in GstBinClass to monitor async state changes.
5482         state_cookie in GstElement to detect concurrent gst/set state.
5483         set_state is now virtual too in case a very complicated element
5484         has to be constructed.
5485
5486 2005-10-18  Wim Taymans  <wim@fluendo.com>
5487
5488         * check/gst/gstbin.c: (GST_START_TEST):
5489         * check/gst/gstmessage.c: (GST_START_TEST):
5490         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
5491         * gst/gstbin.c: (bin_bus_handler):
5492         * gst/gstelement.c: (gst_element_commit_state),
5493         (gst_element_lost_state):
5494         * gst/gstmessage.c: (gst_message_new_state_changed),
5495         (gst_message_new_segment_start), (gst_message_new_segment_done),
5496         (gst_message_new_duration), (gst_message_parse_state_changed),
5497         (gst_message_parse_segment_start),
5498         (gst_message_parse_segment_done), (gst_message_parse_duration):
5499         * gst/gstmessage.h:
5500         * tools/gst-launch.c: (event_loop):
5501         Make messages future proof.
5502         state-change gets a flag if it was a message comming from the
5503         streaming thread.
5504         segment-start/stop can also be specified in other formats.
5505         A message to notify an app that a pipeline changed playback 
5506         duration.
5507         Also fix a GstMessage leak in -launch
5508
5509 2005-10-18  Andy Wingo  <wingo@pobox.com>
5510
5511         * gst/gstelement.c (gst_element_dispose): More helpful message.
5512
5513 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5514
5515         reviewed by: <delete if not using a buddy>
5516
5517         * common/gtk-doc.mak:
5518
5519 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
5520
5521         * gst/gstregistry.c: (gst_registry_scan_path_level):
5522           unref a plug-in we get that was already initialized
5523
5524 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
5525
5526         * docs/gst/gstreamer-sections.txt:
5527         * docs/libs/gstreamer-libs-sections.txt:
5528         * gst/gstelement.h:
5529           add new api entries
5530           hide internal macro
5531
5532 2005-10-17  Andy Wingo  <wingo@pobox.com>
5533
5534         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
5535         cleanup.
5536
5537         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
5538
5539         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
5540
5541         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
5542         (gst_element_get_state_func): Better debug message.
5543         (gst_element_commit_state): s/INFO/DEBUG/.
5544         (gst_element_lost_state, gst_element_change_state): 
5545
5546         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
5547         (gst_message_new_custom): s/INFO/LOG/.
5548
5549 2005-10-17  Michael Smith <msmith@fluendo.com>
5550
5551         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
5552           Check if end time is valid using end time, not start time.
5553
5554 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
5555
5556         * check/gst-libs/controller.c: (GST_START_TEST),
5557         (gst_controller_suite):
5558         * libs/gst/controller/gstcontroller.c:
5559         (gst_controlled_property_set_interpolation_mode):
5560         * libs/gst/controller/gstcontroller.h:
5561         * libs/gst/controller/gstinterpolation.c:
5562         * testsuite/controller/.cvsignore:
5563         * testsuite/controller/Makefile.am:
5564         * testsuite/controller/interpolator.c:
5565           merge controller testsuites
5566           fix broken tests
5567           remove mem-chunk from docs
5568
5569 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5570
5571         * gst/gstmemchunk.c:
5572         * gst/gstmemchunk.h:
5573         * gst/gsttrashstack.c:
5574         * gst/gsttrashstack.h:
5575           out.  get out.  you're fired.  to the Attic !
5576
5577 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
5578
5579         * gst/gstcaps.c: (gst_caps_intersect):
5580           fix signedness issues in a (hopefully) correct way
5581         * gst/gstelement.c: (gst_element_pads_activate):
5582           some debugging
5583         * gst/gstobject.c: (gst_object_set_parent):
5584           some debugging
5585
5586 2005-10-17  Julien MOUTTE  <julien@moutte.net>
5587
5588         * gst/gstvalue.h: Fix prototypes.
5589
5590 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5591
5592         * docs/gst/gstreamer-sections.txt:
5593         * gst/gst.c: (gst_version_string):
5594         * gst/gst.h:
5595         * gst/gstversion.h.in:
5596         * win32/common/libgstreamer.def:
5597           add gst_version_string ()
5598
5599 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5600
5601         * configure.ac:
5602           clean up further
5603         * gst/gst.c: (init_post):
5604         * win32/common/config.h.in:
5605           it's PLUGINDIR now
5606         * gst/gstcaps.c: (gst_caps_intersect):
5607           use gint64, the range could be bigger than a guint
5608
5609 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5610
5611         * gst/gstclock.h:
5612           document potential problem in 2038
5613
5614 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5615
5616         * gst/gstcaps.c: (gst_caps_intersect):
5617           Fix guint j diving under 0
5618
5619 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5620
5621         * configure.ac:
5622         * win32/common/config.h:
5623         * win32/common/config.h.in:
5624           check for process.h, declares getpid() on Windows
5625         * gst/gstinfo.c:
5626           include process.h if we have it
5627         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
5628         * gst/gstmemchunk.h:
5629           fix signedness issues
5630         * win32/common/libgstreamer.def:
5631           fix get_type's
5632
5633 2005-10-16  Julien MOUTTE  <julien@moutte.net>
5634
5635         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
5636         fix. Because of unsigned ints, caps intersection was going nuts and
5637         trying to access structures with G_MAXUINT index. That fixes
5638         videotestsrc ! ffmpegcolorspace ! fakesink
5639         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
5640         consistency.
5641
5642 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5643
5644         * configure.ac:
5645           use the gettext macro
5646         * gst/elements/gstelements.c:
5647         * gst/gst.c:
5648         * gst/indexers/gstindexers.c:
5649           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
5650         * win32/common/config.h:
5651           updated config.h
5652         * win32/common/config.h.in:
5653           add the template to generate config.h
5654         * win32/common/gstenumtypes.c:
5655         * win32/common/gstversion.h:
5656           updated copies
5657
5658 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
5659
5660         * gst/gst.c: (gst_version):
5661         * gst/gstversion.h.in:
5662           add the nano
5663
5664 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5665
5666         * gst/gstevent.h:
5667           Oops, add missing closing bracket.
5668
5669 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5670
5671         * configure.ac:
5672           use common m4's for argument checking
5673
5674 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
5675
5676         * docs/gst/gstreamer-sections.txt:
5677         * gst/gstevent.h:
5678           Add GST_EVENT_TYPE_NAME() macro.
5679
5680 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5681
5682         * gst/gstinfo.c:
5683         * gst/gstpluginfeature.c:
5684         * gst/gsttask.c:
5685           privatize more symbols
5686
5687 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5688
5689         * configure.ac:
5690           add srcdir, builddir includes to GST_ALL_CFLAGS, since
5691           everything that uses GStreamer API should have the includes
5692
5693 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5694
5695         * docs/gst/gstreamer-sections.txt:
5696         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
5697         * gst/gstvalue.h:
5698           give each value a _get_type, removes the DATA exports
5699
5700 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5701
5702         * gst/gst.c:
5703         * gst/gst.h:
5704           remove _gst_registry_auto_load, not used anymore
5705         * gst/gstbin.c: (gst_bin_get_type):
5706         * gst/gstbin.h:
5707         * gst/gstelement.c: (gst_element_get_type):
5708         * gst/gstelement.h:
5709         * gst/gstobject.c: (gst_object_get_type):
5710         * gst/gstobject.h:
5711         * gst/gstpad.c: (gst_pad_get_type):
5712         * gst/gstpad.h:
5713           make _get_type functions similar, fixes data export from library
5714
5715 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5716
5717         * configure.ac:
5718           correctly make conditionals
5719         * gst/elements/Makefile.am:
5720         * gst/elements/gstelements.c:
5721           fix typo causing fdsrc not to build
5722
5723 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5724
5725         * testsuite/Makefile.am:
5726         * testsuite/bytestream/.cvsignore:
5727         * testsuite/bytestream/Makefile.am:
5728         * testsuite/bytestream/filepadsink.c:
5729         * testsuite/bytestream/gstbstest.c:
5730         * testsuite/bytestream/test1.c:
5731         * testsuite/bytestream/testfile1:
5732         * testsuite/caps/normalisation.c:
5733         * testsuite/caps/random.c: (main):
5734         * testsuite/cleanup/.cvsignore:
5735         * testsuite/cleanup/Makefile.am:
5736         * testsuite/cleanup/cleanup1.c:
5737         * testsuite/cleanup/cleanup2.c:
5738         * testsuite/cleanup/cleanup3.c:
5739         * testsuite/cleanup/cleanup4.c:
5740         * testsuite/cleanup/cleanup5.c:
5741         * testsuite/controller/interpolator.c:
5742         * testsuite/debug/printf_extension.c: (main):
5743         * testsuite/elements/tee.c:
5744         * testsuite/negotiation/.cvsignore:
5745         * testsuite/negotiation/Makefile.am:
5746         * testsuite/negotiation/pad_link.c:
5747         * testsuite/pad/Makefile.am:
5748         * testsuite/pad/chainnopull.c:
5749         * testsuite/pad/getnopush.c:
5750         * testsuite/pad/link.c:
5751         * testsuite/refcounting/sched.c: (create_pipeline):
5752         * testsuite/registry/Makefile.am:
5753         * testsuite/registry/gst-print-formats.c:
5754         * testsuite/schedulers/.cvsignore:
5755         * testsuite/schedulers/142183-2.c:
5756         * testsuite/schedulers/142183.c:
5757         * testsuite/schedulers/143777-2.c:
5758         * testsuite/schedulers/143777.c:
5759         * testsuite/schedulers/147713.c:
5760         * testsuite/schedulers/147819.c:
5761         * testsuite/schedulers/147894-2.c:
5762         * testsuite/schedulers/147894.c:
5763         * testsuite/schedulers/Makefile.am:
5764         * testsuite/schedulers/group_link.c:
5765         * testsuite/schedulers/queue_link.c:
5766         * testsuite/schedulers/relink.c:
5767         * testsuite/schedulers/unlink.c:
5768         * testsuite/schedulers/unref.c:
5769         * testsuite/schedulers/useless_iteration.c:
5770         * testsuite/states/bin.c:
5771           clean out/remove some stuff from the testsuite directories
5772
5773 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5774
5775         * configure.ac:
5776           check for some headers
5777         * gst/elements/Makefile.am:
5778         * gst/elements/gstelements.c:
5779           don't compile fdsrc without sys/socket.h
5780         * gst/indexers/Makefile.am:
5781         * gst/indexers/gstindexers.c: (plugin_init):
5782           don't compile fileindex without mmap
5783
5784 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
5785
5786         * configure.ac:
5787           reorganize
5788           clean up
5789           document more
5790           remove cruft
5791         * check/Makefile.am:
5792         * docs/gst/Makefile.am:
5793         * examples/helloworld/Makefile.am:
5794         * gst/Makefile.am:
5795         * gst/base/Makefile.am:
5796         * gst/check/Makefile.am:
5797         * gst/elements/Makefile.am:
5798         * gst/indexers/Makefile.am:
5799         * gst/parse/Makefile.am:
5800         * libs/gst/controller/Makefile.am:
5801         * libs/gst/dataprotocol/Makefile.am:
5802         * examples/helloworld/helloworld.c: (event_loop):
5803           compile fixes, though it's not being compiled currently
5804
5805 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5806
5807         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
5808           Add some simple tests for the new taglist date API.
5809
5810 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5811
5812         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
5813         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
5814           Beautify 'last-message' output: print 'none' for buffer timestamps
5815           and durations if none is set; improve alignment with next messages.
5816
5817 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
5818
5819         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
5820         * gst/gstpluginfeature.h:
5821         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
5822         * gst/gstregistry.h:
5823         * docs/gst/gstreamer-sections.txt:
5824           Add new API to check plugin feature version requirements.
5825
5826         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
5827           Some basic tests for the above.         
5828
5829 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5830
5831         * gst/gststructure.c: (gst_structure_to_string):
5832           guard against NULL printf - happens when for example
5833           a message structure with GstClock gets serialized
5834
5835 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5836
5837         * gst/base/gstcollectpads.c: (gst_collectpads_event):
5838           Fix presumable copy'n'pasto.
5839
5840 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5841
5842         * gst/elements/gstfakesrc.h:
5843         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
5844         * gst/elements/gsttypefindelement.c:
5845           fix some signedness
5846         * gst/elements/gstfilesink.c: (gst_file_sink_render):
5847           I wonder if this could actually write +2GB files before
5848
5849 2005-10-13  Andy Wingo  <wingo@pobox.com>
5850
5851         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
5852         Fix Timmeke Waymans bug.
5853         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
5854         string of the proper length to gst_caps_from_string. There's a
5855         potential for, before this fix, that this could cause someone
5856         connecting over the network to cause a segfault if the payload is
5857         not NUL-terminated.
5858
5859 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
5860
5861         * docs/design/draft-push-pull.txt:
5862         * docs/design/part-overview.txt:
5863         * docs/random/TODO-pre-0.9:
5864         * docs/random/old/ChangeLog.gstreamer:
5865         * gst/base/gstpushsrc.c:
5866         * gst/gstclock.c:
5867           fixed typos
5868
5869 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5870
5871         * gst/glib-compat.c: (gst_flags_get_first_value):
5872         * gst/glib-compat.h:
5873         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
5874         (gst_value_compare_double), (gst_value_serialize_flags):
5875           GLib 2.6 g_flags_get_first_value has a bug that triggers an
5876           infinite loop
5877
5878 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5879
5880         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5881         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
5882           fix up debugging
5883         * tools/gst-launch.c: (event_loop):
5884           print out clock nicely
5885
5886 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
5887
5888         * docs/gst/gstreamer-sections.txt:
5889         * gst/gsttaglist.h:
5890         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
5891         (gst_tag_list_get_date_index):
5892           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
5893           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
5894
5895 2005-10-13  Julien MOUTTE  <julien@moutte.net>
5896
5897         * gst/base/gstcollectpads.c: (gst_collectpads_event),
5898         (gst_collectpads_chain):
5899         * gst/base/gstcollectpads.h: Handle newsegment and store informations
5900         in CollectData.
5901
5902 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
5903
5904         * docs/gst/gstreamer-sections.txt:
5905         * gst/gst.c:
5906         * gst/gsterror.h:
5907         * tools/gst-inspect.c: (main):
5908         * tools/gst-launch.c: (main):
5909         * tools/gst-run.c: (main):
5910         * tools/gst-xmlinspect.c: (main):
5911           fix GOption context leaks
5912           doc fixes
5913
5914 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5915
5916         * gst/gstbus.c:
5917           use HAVE_UNISTD_H
5918         * win32/common/config.h:
5919           update config
5920         * win32/vs6/grammar.dsp:
5921         * win32/vs6/libgstelements.dsp:
5922         * win32/vs6/libgstreamer.dsp:
5923           update vs6 files
5924
5925 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5926
5927         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5928         * gst/base/gstbasesrc.c: (gst_base_src_query):
5929           fix more guint64<->gdouble conversions
5930
5931 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5932
5933         * Makefile.am:
5934           add win32-update target
5935         * win32/common/gstconfig.h:
5936         * win32/common/gstenumtypes.c:
5937         * win32/common/gstenumtypes.h:
5938         * win32/common/gstversion.h:
5939           add files that visual studio can't generate
5940
5941 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5942
5943         * Makefile.am:
5944           add a win32-update target
5945         * configure.ac:
5946
5947 2005-10-12  Wim Taymans  <wim@fluendo.com>
5948
5949         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5950         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
5951         * gst/gstelement.c: (gst_element_commit_state),
5952         (gst_element_set_state):
5953         Protect flags with proper lock.
5954         unref provided cached clock in dispose.
5955
5956 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
5957
5958         * gst/gst.c:
5959         * gst/gstminiobject.h:
5960         * gst/gstpad.h:
5961         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
5962           removed unused flags from miniobject
5963           doc fixes
5964
5965 2005-10-12  Wim Taymans  <wim@fluendo.com>
5966
5967         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
5968         (gst_file_sink_event), (gst_file_sink_render):
5969         Flush before seeking.
5970
5971 2005-10-12  Andy Wingo  <wingo@pobox.com>
5972
5973         * gst/gst.c (gst_init_check): Ignore unknown options, as has
5974         always been the case.
5975
5976 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
5977
5978         * check/gst/gstbin.c: (GST_START_TEST):
5979         * docs/gst/gstreamer-sections.txt:
5980         * gst/base/gstbasesink.c: (gst_base_sink_init):
5981         * gst/base/gstbasesrc.c: (gst_base_src_init),
5982         (gst_base_src_get_range), (gst_base_src_check_get_range),
5983         (gst_base_src_start), (gst_base_src_stop):
5984         * gst/base/gstbasesrc.h:
5985         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
5986         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
5987         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
5988         (bin_bus_handler):
5989         * gst/gstbin.h:
5990         * gst/gstbuffer.h:
5991         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
5992         * gst/gstbus.h:
5993         * gst/gstelement.c: (gst_element_is_locked_state),
5994         (gst_element_set_locked_state), (gst_element_commit_state),
5995         (gst_element_set_state):
5996         * gst/gstelement.h:
5997         * gst/gstindex.c: (gst_index_init):
5998         * gst/gstindex.h:
5999         * gst/gstminiobject.h:
6000         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
6001         (gst_object_set_parent):
6002         * gst/gstobject.h:
6003         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
6004         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
6005         * gst/gstpad.h:
6006         * gst/gstpadtemplate.h:
6007         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
6008         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
6009         * gst/gstpipeline.h:
6010         * gst/indexers/gstfileindex.c: (gst_file_index_load),
6011         (gst_file_index_commit):
6012         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
6013         * testsuite/pad/link.c: (gst_test_src_init),
6014         (gst_test_filter_init), (gst_test_sink_init):
6015         * testsuite/states/locked.c: (main):
6016           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
6017           moved bitshift from macro to enum definition
6018
6019 2005-10-12  Wim Taymans  <wim@fluendo.com>
6020
6021         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
6022         * gst/elements/gstfilesink.c: (gst_file_sink_event),
6023         (gst_file_sink_render):
6024         Some more debugging info.
6025
6026 2005-10-12  Wim Taymans  <wim@fluendo.com>
6027
6028         * docs/design/part-states.txt:
6029         * tools/gst-launch.c: (main):
6030         Some doc updates.
6031         Revert non-intentional change.
6032
6033 2005-10-12  Wim Taymans  <wim@fluendo.com>
6034
6035         * check/gst/gstbin.c: (GST_START_TEST):
6036         * check/gst/gstelement.c: (GST_START_TEST):
6037         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
6038         * check/gst/gstghostpad.c: (GST_START_TEST):
6039         * check/gst/gstpipeline.c: (GST_START_TEST):
6040         * check/pipelines/simple_launch_lines.c: (run_pipeline):
6041         * check/states/sinks.c: (GST_START_TEST):
6042         * gst/elements/gsttypefindelement.c: (stop_typefinding):
6043         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6044         (gst_bin_remove_func), (gst_bin_get_state_func),
6045         (gst_bin_recalc_state), (gst_bin_change_state_func),
6046         (bin_bus_handler):
6047         * gst/gstelement.c: (gst_element_get_state_func),
6048         (gst_element_get_state), (gst_element_abort_state),
6049         (gst_element_commit_state), (gst_element_set_state),
6050         (gst_element_change_state), (gst_element_change_state_func):
6051         * gst/gstelement.h:
6052         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
6053         (gst_pipeline_provide_clock_func):
6054         * gst/gstutils.c: (gst_element_link_pads_filtered):
6055         * tools/gst-launch.c: (main):
6056         * tools/gst-typefind.c: (main):
6057         Use GstClockTime in _get_state() instead of GTimeVal.
6058         Remove old code in gstutils.c
6059
6060 2005-10-12  Andy Wingo  <wingo@pobox.com>
6061
6062         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
6063         removed.
6064
6065         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
6066         there is no task. Shouldn't affect any code, as nothing in our
6067         plugins checks this return value.
6068         (gst_pad_stop_task): Also take the stream lock if the pad has no
6069         task. Docs updated.
6070
6071 2005-10-12  Wim Taymans  <wim@fluendo.com>
6072
6073         * gst/gstpad.c: (pre_activate), (post_activate),
6074         (gst_pad_activate_pull), (gst_pad_activate_push):
6075         Cleanup activation code. Reset old state if
6076         activation failed.
6077
6078 2005-10-12  Wim Taymans  <wim@fluendo.com>
6079
6080         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6081         (gst_base_sink_change_state):
6082         No need to prerol after receiving EOS.
6083
6084         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
6085         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
6086         * gst/elements/gstidentity.c: (gst_identity_event):
6087         Print events more verbosely.
6088
6089 2005-10-12  Wim Taymans  <wim@fluendo.com>
6090
6091         * check/Makefile.am:
6092         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
6093         * check/states/sinks2.c:
6094         Moved sinks2 testcode in sinks check.
6095
6096         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6097         (gst_bin_remove_func), (gst_bin_recalc_state),
6098         (gst_bin_change_state_func), (bin_bus_handler):
6099         Fix potential race condition when _get_state() iterated over an
6100         ASYNC element right before it posted a state completion.
6101
6102         * gst/gstclock.h:
6103         Do proper cast here.
6104
6105         * gst/gstevent.c: (gst_event_new_newsegment),
6106         (gst_event_parse_newsegment):
6107         A playback rate of 0.0 is not allowed.
6108
6109 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6110
6111         * win32/common/config.h:
6112         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
6113         (_trewinddir), (_ttelldir), (_tseekdir):
6114         * win32/common/dirent.h:
6115         * win32/common/gtchar.h:
6116         * win32/common/libgstbase.def:
6117         * win32/common/libgstreamer.def:
6118         * win32/vs6/grammar.dsp:
6119         * win32/vs6/gst_inspect.dsp:
6120         * win32/vs6/gst_launch.dsp:
6121         * win32/vs6/gstreamer.dsw:
6122         * win32/vs6/libgstbase.dsp:
6123         * win32/vs6/libgstelements.dsp:
6124         * win32/vs6/libgstreamer.dsp:
6125           Visual Studio 6 project files, and a new common directory.
6126           Phear.
6127
6128 2005-10-11  Wim Taymans  <wim@fluendo.com>
6129
6130         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6131         (gst_base_sink_do_sync), (gst_base_sink_query),
6132         (gst_base_sink_change_state):
6133         * gst/base/gstbasesink.h:
6134         Correctly parse newsegment info.
6135
6136 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6137
6138         * gst/gst.c: (init_post):
6139           split plugin paths correctly
6140
6141 2005-10-11  Wim Taymans  <wim@fluendo.com>
6142
6143         * check/gst/gstevent.c: (GST_START_TEST):
6144         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6145         (gst_base_sink_change_state):
6146         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
6147         * gst/base/gstbasetransform.c: (gst_base_transform_event):
6148         * gst/elements/gstfilesink.c: (gst_file_sink_event):
6149         * gst/gstevent.c: (gst_event_new_newsegment),
6150         (gst_event_parse_newsegment):
6151         * gst/gstevent.h:
6152         Added extra flag to newsegment for future API freeze.
6153         Updated check and base elements.
6154
6155 2005-10-11  Julien MOUTTE  <julien@moutte.net>
6156
6157         * gst/base/gstcollectpads.c: (gst_collectpads_init),
6158         (gst_collectpads_add_pad), (gst_collectpads_pop),
6159         (gst_collectpads_event), (gst_collectpads_chain):
6160         * gst/base/gstcollectpads.h: Handle EOS correctly.
6161
6162 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6163
6164         * tools/gst-launch.c: (main):
6165           more null protecting
6166
6167 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6168
6169         * gst/gst-i18n-lib.h:
6170           check for ENABLE_NLS, not GETTEXT_PACKAGE
6171         * gst/gstregistry.c: (gst_registry_add_plugin),
6172         (gst_registry_scan_path_level),
6173         (_gst_registry_remove_cache_plugins):
6174           protect possibly NULL strings
6175         * gst/parse/types.h:
6176           config.h already included before
6177         * tools/gst-inspect.c: (main):
6178           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
6179           check for ENABLE_NLS, not GETTEXT_PACKAGE
6180         * tools/gst-launch.c: (main):
6181           check for ENABLE_NLS, not GETTEXT_PACKAGE
6182
6183 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6184
6185         * configure.ac:
6186           if we don't have glib, fail before testing 2.8
6187         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
6188           fix a leak, should fix plugins-base testsuite
6189
6190 2005-10-11  Andy Wingo  <wingo@pobox.com>
6191
6192         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
6193         take the mode we're going to as an arg. Go head and set the mode
6194         and flushing flags now, so that if the activate function starts a
6195         thread all the flags will be in the right state.
6196         (post_activate): Renamed also. Just handle making sure streaming
6197         finishes for the deactivation case, and setting the deactivated
6198         mode.
6199         (gst_pad_set_active): Complain loudly if deactivation fails.
6200         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
6201         (gst_pad_activate_push): Adapt to pre/post_activate changes,
6202         remove the terrible hack.
6203
6204 2005-10-11  Wim Taymans  <wim@fluendo.com>
6205
6206         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
6207         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
6208         (gst_bin_recalc_state), (gst_bin_change_state_func),
6209         (gst_bin_dispose), (bin_bus_handler):
6210         * gst/gstbin.h:
6211         Prepare to make current EOS message queue more generic.
6212         Fix some typos.
6213
6214         * gst/gstevent.c: (gst_event_new_newsegment),
6215         (gst_event_parse_newsegment):
6216         * gst/gstevent.h:
6217         Rename base to stream_time.
6218
6219         * gst/gstmessage.h:
6220         Fix typo in docs.
6221
6222 2005-10-11  Wim Taymans  <wim@fluendo.com>
6223
6224         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
6225         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
6226         (gst_bin_change_state_func), (bin_bus_handler):
6227         * gst/gstbin.h:
6228         Work on proper clock selection.
6229
6230 2005-10-11  Edward Hervey  <edward@fluendo.com>
6231
6232         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
6233         * libs/gst/controller/gstcontroller.h:
6234         Added GList* version of _remove_properties() in order to be able to wrap
6235         it in bindings.
6236
6237 2005-10-11  Wim Taymans  <wim@fluendo.com>
6238
6239         * docs/design/part-states.txt:
6240         Some more docs.
6241
6242         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
6243         (gst_bin_change_state_func), (bin_bus_handler):
6244         Doc updates. Don't distribute the same clock over and over again.
6245
6246         * gst/gstclock.c:
6247         * gst/gstclock.h:
6248         Doc updates.
6249
6250         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
6251         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
6252         (gst_pad_send_event):
6253         * gst/gstpad.h:
6254         Make probe emission threadsafe again.
6255         Register quarks and move _get_name() from utils.
6256         Doc updates.
6257
6258         * gst/gstpipeline.c: (gst_pipeline_class_init),
6259         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
6260         Only redistribute the clock of it changed.
6261
6262         * gst/gstsystemclock.h:
6263         Doc updates. 
6264
6265         * gst/gstutils.c:
6266         * gst/gstutils.h:
6267         Moved the _flow_get_name() to GstPad.
6268
6269 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6270
6271         * check/gst-libs/gdp.c: (GST_START_TEST):
6272         * check/gst/gstcaps.c: (GST_START_TEST):
6273         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
6274         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
6275         (gst_dp_packet_from_caps):
6276           fix more valgrind warnings before turning up the heat
6277
6278 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6279
6280         * gst/parse/grammar.y:
6281           some cleanup before the hacking
6282
6283 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6284
6285         * gst/base/gstbasesrc.c: (gst_base_src_query):
6286           use conversions
6287         * gst/gstutils.c: (gst_guint64_to_gdouble),
6288         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
6289         * gst/gstutils.h:
6290           externalize, basesrc uses it
6291           obviously the implementation needs testing
6292
6293 2005-10-10  Wim Taymans  <wim@fluendo.com>
6294
6295         * tests/sched/Makefile.am:
6296         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
6297         (make_pipeline3), (make_pipeline4), (print_elem), (main):
6298
6299 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6300
6301         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
6302           apparently converting from guint64 to double is not implemented
6303           on MSVC
6304
6305 2005-10-10  Wim Taymans  <wim@fluendo.com>
6306
6307         * check/Makefile.am:
6308         * check/generic/states.c: (GST_START_TEST):
6309         * check/gst/gstbin.c: (GST_START_TEST):
6310         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
6311         * check/states/sinks.c: (GST_START_TEST):
6312         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
6313         (main):
6314         Check fixes, use API as stated in design docs, remove hacks.
6315
6316         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6317         (gst_base_sink_change_state):
6318         Catch stopping our task while we're shutting down.
6319
6320         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
6321         (gst_bin_remove_func), (gst_bin_get_state_func),
6322         (gst_bin_recalc_state), (gst_bin_change_state_func),
6323         (bin_bus_handler):
6324         * gst/gstbin.h:
6325         * gst/gstelement.c: (gst_element_init),
6326         (gst_element_get_state_func), (gst_element_abort_state),
6327         (gst_element_commit_state), (gst_element_lost_state),
6328         (gst_element_set_state), (gst_element_change_state),
6329         (gst_element_change_state_func):
6330         * gst/gstelement.h:
6331         New state change algorithm (see #318116)
6332
6333         * gst/gstpipeline.c: (gst_pipeline_class_init),
6334         (gst_pipeline_init), (gst_pipeline_set_property),
6335         (gst_pipeline_get_property), (do_pipeline_seek),
6336         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
6337         * gst/gstpipeline.h:
6338         Remove crude state change hacks.
6339
6340         * gst/gstutils.h:
6341         Remove crude hacks.
6342
6343         * tools/gst-launch.c: (main):
6344         Fixes for state change. Needs some more work to fully use the
6345         new stuff.
6346
6347 2005-10-10  Andy Wingo  <wingo@pobox.com>
6348
6349         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
6350
6351         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
6352         this flag, but it's not even in GLib 2.6. Odd. Hack around the
6353         issue.
6354
6355 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6356
6357         * gst/gstiterator.c: (gst_iterator_new):
6358           Fix my previous commit: GTypes passed to gst_iterator_new()
6359           can be fundamental types.
6360
6361 2005-10-10  Wim Taymans  <wim@fluendo.com>
6362
6363         * gst/gstelement.c: (gst_element_iterate_pad_list),
6364         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
6365         (gst_element_iterate_sink_pads):
6366         Use src/sink pads lists for the respective iterators instead
6367         of filtering.
6368
6369 2005-10-10  Andy Wingo  <wingo@pobox.com>
6370
6371         Merged in popt removal + GOption addition patch from Ronald, bug
6372         #169772.
6373
6374         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
6375         GstElement macros around, remove popt-related symbols, add goption
6376         stuff.
6377
6378         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
6379         
6380         * docs/gst/Makefile.am:
6381         * docs/libs/Makefile.am: No POPT_CFLAGS.
6382         
6383         * examples/manual/Makefile.am:
6384         * docs/manual/basics-init.xml: Doc updates with an example.
6385         
6386         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
6387         (gst_init), (parse_one_option), (parse_goption_arg):
6388         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
6389         bit of hand merging and debugging to get the GOption stuff working
6390         tho.
6391         
6392         * tests/Makefile.am:
6393         * tools/Makefile.am:
6394         * tools/gst-inspect.c: (main):
6395         * tools/gst-launch.c: (main):
6396         * tools/gst-run.c: (main):
6397         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
6398
6399 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6400
6401         * gst/gstiterator.c: (gst_iterator_new):
6402           Add assertions to make sure passed GType is likely to really
6403           be a GType (as the compiler won't catch it if the size and
6404           GType arguments get mixed up, see #318447).
6405
6406 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
6407
6408         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6409
6410         * gst/gstbin.c: (gst_bin_iterate_sorted):
6411           Pass GType and size arguments to gst_iterator_new() in the right
6412           order (maybe we should make _new() take the GType as first argument
6413           just like _new_list()?) (#318447).
6414           
6415
6416 2005-10-10  Wim Taymans  <wim@fluendo.com>
6417
6418         * gst/gstelement.c: (gst_element_finalize):
6419         And free the GStaticRecMutex too
6420
6421 2005-10-10  Andy Wingo  <wingo@pobox.com>
6422
6423         * gst/gstelement.c (gst_element_init, gst_element_finalize):
6424         Allocate and free the mutex properly.
6425
6426         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
6427         New macros.
6428         (GstElement): The state_lock is now recursive. Rebuild your
6429         plugins, suckers. Old macros adapted.
6430
6431         * docs/gst/gstreamer-sections.txt: Doc updates.
6432
6433         * gst/gstutils.h:
6434         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
6435         (g_static_rec_cond_wait): Ported from state changes patch, while
6436         we wait on bug #317802 to be solved in a well-distributed GLib.
6437
6438         * gst/gstelement.c (gst_element_change_state_func): Renamed from
6439         gst_element_change_state, variable name changes.
6440         (gst_element_change_state): Split out of gst_element_set_state in
6441         preparation for the state change merge. Doesn't pay attention to
6442         the 'transition' argument.
6443         (gst_element_set_state): Updates, hopefully purely cosmetic.
6444         (gst_element_sync_state_with_parent): MT-safety. Ported from the
6445         state change patch.
6446         (gst_element_get_state_func): Renamed from get_state, cosmetic
6447         changes.
6448
6449 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6450
6451         * gst/elements/gstelements.c:
6452         * win32/GStreamer.vcproj:
6453         * win32/config.h:
6454         * win32/dirent.c: (_tseekdir):
6455         * win32/gst-inspect.vcproj:
6456         * win32/gst-launch.vcproj:
6457         * win32/gstconfig.h:
6458         * win32/gstelements.vcproj:
6459         * win32/gstenumtypes.c: (gst_object_flags_get_type):
6460         * win32/gstreamer.def:
6461         * win32/msvc71.sln:
6462           updates for the win32 build (patch from Sebastien Moutte)
6463
6464 2005-10-10  Andy Wingo  <wingo@pobox.com>
6465
6466         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
6467         gst_bin_get_state, cleaned up (but no logic changes).
6468         (bin_element_is_sink): Comment updates.
6469         (sink_iterator_filter): Remove needless cast.
6470         (gst_bin_iterate_sinks): Doc update.
6471         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
6472         cleaned up (but no logic changes).
6473
6474         * check/states/sinks.c (test_src_sink): Cleanups from the state
6475         change patch.
6476         (test_livesrc_sink): Sync on the state.
6477
6478         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
6479         the state change patch.
6480
6481         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
6482         change patch.
6483
6484         * check/gst/gstbin.c: Merge in some style fixes and additional
6485         checks from Wim's state change patch.
6486
6487 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6488
6489         * gst/base/gsttypefindhelper.c: (helper_find_peek),
6490         (gst_type_find_helper):
6491           Check whether we have the requested data already in our list of
6492           cached buffers before pulling a new buffer; also make the buffer
6493           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
6494
6495 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6496
6497         * gst/gstcaps.c:
6498         * gst/gstevent.c:
6499           doc updates
6500         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
6501           don't use long long, it's not portable.  Replacing with
6502           gint64 seems to work; let's hope no skeletons fall out of the closet.
6503
6504 2005-10-10  Andy Wingo  <wingo@pobox.com>
6505
6506         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
6507
6508 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
6509
6510         * docs/gst/gstreamer-sections.txt:
6511         * gst/gstevent.c:
6512         * gst/gstevent.h:
6513         * gst/gstinfo.c:
6514         * gst/gstinfo.h:
6515         * gst/gstmessage.c: (gst_message_parse_state_changed):
6516         * gst/gstpad.c:
6517         * gst/gstpad.h:
6518           more docs, fix compilation
6519
6520 2005-10-09  Philippe Khalaf <burger@speedy.org>
6521         * gst/gstmessage.c:
6522           Fixed a few forgotten variables on previous commit
6523
6524 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6525
6526         * gst/base/gsttypefindhelper.c: (helper_find_peek):
6527           Fix evil typefind crasher: getrange() might return a short
6528           buffer at the end of a file, but gst_type_find_peek() must
6529           either return the full data as requested or NULL, but
6530           never a short buffer.
6531
6532 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6533
6534         * gst/gstmessage.c: (gst_message_new_state_changed),
6535         (gst_message_parse_state_changed):
6536         * gst/gstmessage.h:
6537           don't use "new", it's a C++ keyword
6538
6539 2005-10-08  Wim Taymans  <wim@fluendo.com>
6540
6541         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
6542         * gst/gstelement.c: (gst_element_post_message):
6543         * gst/gstpipeline.c: (gst_pipeline_change_state):
6544         Small docs and debug updates.
6545
6546 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
6547
6548         * docs/gst/gstreamer-sections.txt:
6549         * gst/gstelementfactory.c:
6550         * gst/gstevent.c:
6551         * gst/gsttaglist.c:
6552           more docs
6553
6554 2005-10-08  Wim Taymans  <wim@fluendo.com>
6555
6556         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
6557         (gst_bin_dispose), (bin_bus_handler):
6558         Fix typos, add comments.
6559         Clear EOS list when going to PAUSED from any direction and do it
6560         in a threadsafe way.
6561         Get base time in a threadsafe way too.
6562         Fix confusing debug in the change_state function.
6563         Various other small cleanups.
6564         
6565         * gst/gstelement.c: (gst_element_post_message):
6566         Fix very verbose bus posting code.
6567
6568         * gst/gstpipeline.c: (gst_pipeline_class_init),
6569         (gst_pipeline_set_property), (gst_pipeline_get_property),
6570         (gst_pipeline_change_state):
6571         Small ARG_ -> PROP_ cleanup
6572
6573 2005-10-08  Wim Taymans  <wim@fluendo.com>
6574
6575         * gst/gstbin.c: (is_eos), (bin_bus_handler):
6576         Do a less CPU demanding EOS check because we can.
6577
6578 2005-10-08  Wim Taymans  <wim@fluendo.com>
6579
6580         * libs/gst/dataprotocol/dataprotocol.c:
6581         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
6582         (gst_dp_packet_from_event):
6583         * libs/gst/dataprotocol/dataprotocol.h:
6584         * libs/gst/dataprotocol/dp-private.h:
6585         It's about time we bump the version number.
6586         Since event types don't fit in the guint8 anymore describing
6587         the payload type, make payload type 16 bits wide.
6588
6589 2005-10-08  Wim Taymans  <wim@fluendo.com>
6590
6591         * docs/design/part-TODO.txt:
6592         * docs/design/part-clocks.txt:
6593         * docs/design/part-events.txt:
6594         * docs/design/part-gstbin.txt:
6595         * docs/design/part-gstelement.txt:
6596         * docs/design/part-gstpipeline.txt:
6597         * docs/design/part-live-source.txt:
6598         * docs/design/part-messages.txt:
6599         * docs/design/part-overview.txt:
6600         * docs/design/part-states.txt:
6601         Many doc updates.
6602
6603 2005-10-08  Wim Taymans  <wim@fluendo.com>
6604
6605         * gst/gstevent.c:
6606         * gst/gstevent.h:
6607         Fix event quark registration.
6608         Add some space between events so we can insert them in the
6609         right groups.
6610
6611 2005-10-08  Wim Taymans  <wim@fluendo.com>
6612
6613         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6614         (gst_base_sink_handle_buffer):
6615         Better log message.
6616
6617         * gst/gstbus.h:
6618         * gst/gstelement.h:
6619         More docs.
6620
6621         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
6622         (gst_queue_set_property), (gst_queue_get_property):
6623         * gst/gstqueue.h:
6624         Remove old unused properties.
6625
6626 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
6627         * docs/gst/gstreamer-sections.txt:
6628         * gst/gstmessage.c:
6629         * gst/gstmessage.h:
6630         * gst/gstminiobject.c:
6631         * gst/gstminiobject.h:
6632         * gst/gstobject.h:
6633         * gst/gstpad.h:
6634         * gst/gstutils.h:
6635           lots of new docs and doc fixes
6636
6637 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6638
6639         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
6640         * gst/gstplugin.h:
6641         * gst/gstregistry.c: (gst_registry_lookup_locked),
6642         (gst_registry_scan_path_level):
6643         * gst/gstregistryxml.c: (load_plugin):
6644           Only ever load one plugin for a given plugin basename.
6645           This ensures correct overriding of GST_PLUGIN_PATH over
6646           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
6647           system installed plugins.
6648
6649 2005-10-08  Wim Taymans  <wim@fluendo.com>
6650
6651         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6652         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
6653         Prepare for doing QOS.
6654
6655 2005-10-08  Wim Taymans  <wim@fluendo.com>
6656
6657         * check/gst/gstbin.c: (GST_START_TEST):
6658         * check/pipelines/cleanup.c: (GST_START_TEST):
6659         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
6660         Allow new clock message too.
6661
6662 2005-10-08  Wim Taymans  <wim@fluendo.com>
6663
6664         * gst/gstmessage.c: (gst_message_new_error),
6665         (gst_message_new_warning), (gst_message_new_tag),
6666         (gst_message_new_state_changed), (gst_message_new_clock_provide),
6667         (gst_message_new_clock_lost), (gst_message_new_new_clock),
6668         (gst_message_new_segment_start), (gst_message_new_segment_done),
6669         (gst_message_parse_state_changed),
6670         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
6671         (gst_message_parse_new_clock):
6672         * gst/gstmessage.h:
6673         Also carry the clock in question.
6674
6675 2005-10-08  Wim Taymans  <wim@fluendo.com>
6676
6677         * gst/gstmessage.c: (gst_message_new_custom),
6678         (gst_message_new_eos), (gst_message_new_error),
6679         (gst_message_new_warning), (gst_message_new_tag),
6680         (gst_message_new_state_changed), (gst_message_new_clock_provide),
6681         (gst_message_new_new_clock), (gst_message_new_segment_start),
6682         (gst_message_new_segment_done), (gst_message_parse_state_changed),
6683         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
6684         * gst/gstmessage.h:
6685         Clean up.
6686         Added clock related messages.
6687
6688         * gst/gstpipeline.c: (gst_pipeline_change_state):
6689         Post message when the clock changed.
6690
6691         * tools/gst-launch.c: (event_loop):
6692         Print new clock.
6693
6694 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6695
6696         * tools/gst-inspect.c: (print_element_properties_info):
6697           Can't pass NULL strings to g_print() on windows.
6698
6699 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6700
6701         * docs/Makefile.am:
6702         * docs/gst/Makefile.am:
6703         * docs/gst/gstreamer-docs.sgml:
6704         * docs/gst/running.xml:
6705         * docs/version.entities.in:
6706           add a chapter on running GStreamer.
6707           document GST_DEBUG and GST_PLUGIN* env vars
6708
6709 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6710
6711         * Makefile.am:
6712           remove include dir
6713         * configure.ac:
6714           remove PLUGINS_BUILDDIR stuff
6715         * gst/gst.c: (init_post):
6716           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
6717         * idiottest.mak:
6718           remove, it was condescending and not needed
6719
6720 2005-10-08  Wim Taymans  <wim@fluendo.com>
6721
6722         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6723         (gst_base_sink_handle_object), (gst_base_sink_event),
6724         (gst_base_sink_wait), (gst_base_sink_handle_event),
6725         (gst_base_sink_change_state):
6726         * gst/base/gstbasesink.h:
6727         Repost EOS message while going to PLAYING if still EOS.
6728         Make sure that when receiving a FLUSH_START we don't attempt
6729         to sync on the clock anymore.
6730
6731 2005-10-08  Wim Taymans  <wim@fluendo.com>
6732
6733         * tools/gst-launch.c: (event_loop):
6734         Better message printout.
6735
6736 2005-10-08  Wim Taymans  <wim@fluendo.com>
6737
6738         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
6739         (gst_bin_child_proxy_get_children_count):
6740         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
6741         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
6742         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
6743         (gst_child_proxy_set_valist):
6744         * gst/parse/grammar.y:
6745         Make ChildProxy threadsafe and fix mem leaks.
6746
6747 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6748
6749         * gst/gst.c: (init_post):
6750           debug the GST_PLUGIN_ env vars
6751
6752 2005-10-08  Wim Taymans  <wim@fluendo.com>
6753
6754         * check/gst/gstbin.c: (GST_START_TEST):
6755         * check/gst/gstmessage.c: (GST_START_TEST):
6756         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
6757         * gst/gstelement.c: (gst_element_commit_state),
6758         (gst_element_lost_state):
6759         * gst/gstmessage.c: (gst_message_new_state_changed),
6760         (gst_message_parse_state_changed):
6761         * gst/gstmessage.h:
6762         * tools/gst-launch.c: (event_loop):
6763         Added extra field to STATE_CHANGE message with the pending
6764         state, which will be different from the new state soon.
6765
6766 2005-10-08  Wim Taymans  <wim@fluendo.com>
6767
6768         * gst/gstbus.c: (gst_bus_pop):
6769         * gst/gstclock.c:
6770         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6771         Small cleanups and doc updates.
6772
6773 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6774
6775         * gst/gst.c: (init_pre):
6776         * gst/gstbin.c: (gst_bin_add_func):
6777           log distributing clocks and base time
6778         * gst/gstregistry.c: (gst_registry_add_plugin),
6779         (gst_registry_scan_path_level), (gst_registry_scan_path):
6780           clean up the debugging output a little
6781         * gst/gstutils.c: (gst_element_state_get_name):
6782           warn about a memleak (I've actually seen this be used, though
6783           it was probably a bug)
6784
6785 2005-10-07  Wim Taymans  <wim@fluendo.com>
6786
6787         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
6788         (gst_base_src_init), (gst_base_src_default_newsegment),
6789         (gst_base_src_newsegment), (gst_base_src_do_seek),
6790         (gst_base_src_loop), (gst_base_src_start):
6791         * gst/base/gstbasesrc.h:
6792         Make the newsegment event customizable by subclasses.
6793
6794 2005-10-07  Wim Taymans  <wim@fluendo.com>
6795
6796         * gst/gstevent.c: (gst_event_new_buffersize),
6797         (gst_event_parse_buffersize):
6798         * gst/gstevent.h:
6799         New event for future idea.
6800
6801 2005-10-07  Andy Wingo  <wingo@pobox.com>
6802
6803         * gst/gstelement.c (gst_element_post_message): Doc update.
6804
6805         * docs/gst/gstreamer-sections.txt: Update.
6806
6807         * gst/gstmessage.c (gst_message_new_application): Made into a
6808         function like honest API calls.
6809         (gst_message_new_element): New message type.
6810
6811         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
6812
6813         * check/elements/fakesrc.c (test_no_preroll): New check, checks
6814         that setting a live fakesrc to PAUSED returns NO_PREROLL both
6815         times.
6816
6817         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
6818         NO_PREROLL from gst_element_change_state to fall through.
6819
6820 2005-10-07  Wim Taymans  <wim@fluendo.com>
6821
6822         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
6823         (gst_ghost_pad_do_activate_push):
6824         Activating a ghostpad with no internal pad in push mode
6825         is ok.
6826
6827 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
6828
6829         * gst/gstobject.h:
6830           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
6831           Fixes compilation on Windows.
6832
6833 2005-10-07  Michael Smith <msmith@fluendo.com>
6834
6835         * tools/gst-inspect.c:
6836           Print out feature and plugin count at the end when printing out
6837           all features.
6838
6839 2005-10-04  Michael Smith <msmith@fluendo.com>
6840
6841         * gst/gsterror.c: (_gst_stream_errors_init):
6842           Add another error string used in a few existing plugins.
6843
6844         * gst/gstplugin.c:
6845         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6846         * tools/gst-inspect.c: (print_element_info):
6847           When a feature disappears from a plugin (and the feature exists in
6848           the cached registry file), things went horribly wrong. This isn't a
6849           complete fix, we should actually be removing the 'missing' features
6850           from the features list when we load the actual plugin. That's not
6851           yet implemented. 
6852
6853 2005-10-04  Johan Dahlin  <johan@gnome.org>
6854
6855         * check/gst/gstiterator.c: (GST_START_TEST):
6856         * gst/gstbin.c: (gst_bin_iterate_elements),
6857         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
6858         * gst/gstelement.c: (gst_element_iterate_pads):
6859         * gst/gstformat.c: (gst_format_iterate_definitions):
6860         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
6861         (gst_iterator_new_list), (gst_iterator_filter):
6862         * gst/gstiterator.h:
6863         * gst/gstquery.c: (gst_query_type_iterate_definitions):
6864         Add a GType to GstIterator, update callsites and tests.
6865
6866 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6867
6868         * gst/gstpad.c: (gst_pad_event_default_dispatch):
6869           give events a chance to be handled by event probes when the pad
6870           is not linked
6871
6872 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6873
6874         * gst/gstevent.c: (gst_event_type_get_name),
6875         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
6876         * gst/gstevent.h:
6877           add string representations for event types
6878
6879 2005-10-06  Wim Taymans  <wim@fluendo.com>
6880
6881         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
6882         Don't use NULL pointers.
6883
6884 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6885
6886         * gst/gst_private.h:
6887         * gst/gstbus.c:
6888         * gst/gstelement.c:
6889         * gst/gstinfo.c:
6890         * gst/gstpluginfeature.c:
6891           widen the debug category in output to fit the biggest one we have
6892           add a bus category and use it
6893           play with the colors
6894           fix up some categories
6895
6896 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
6897
6898         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
6899           add push activation of sink ghost pads.
6900           Andye, please verify
6901
6902 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6903
6904         * gst/gstutils.c: (gst_element_link_pads):
6905           fix a bug in the case where neither element has a pad
6906         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
6907           add a test for that case
6908
6909 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
6910
6911         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
6912           emit have-data before checking for peers.  This allows
6913           for probe handlers to connect elements.  This helps autopluggers.
6914         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
6915         (gst_pad_suite):
6916           add six checks, linked/unlinked with no/true/false probe
6917
6918 2005-10-04  Wim Taymans  <wim@fluendo.com>
6919
6920         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
6921         (gst_fake_sink_event), (gst_fake_sink_preroll),
6922         (gst_fake_sink_render), (gst_fake_sink_change_state):
6923         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
6924         (gst_fake_src_get_property), (gst_fake_src_create),
6925         (gst_fake_src_stop):
6926         * gst/elements/gstidentity.c: (gst_identity_stop):
6927         Protect last_message with lock.
6928
6929 2005-10-04  Edward Hervey  <edward@fluendo.com>
6930
6931         * gst/gstformat.h: 
6932         Added precision in the comments for GST_FORMAT_DEFAULT
6933
6934 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
6935
6936         * tools/gst-launch.c: (main):
6937           Don't try to run erroneous pipelines.
6938
6939 2005-10-04  Julien MOUTTE  <julien@moutte.net>
6940
6941         * gst/gstbus.c: We don't need this header.
6942
6943 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6944
6945         * configure.ac:
6946           back to development
6947
6948 === release 0.9.3 ===
6949
6950 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6951
6952         * README:
6953         * configure.ac:
6954           Releasing 0.9.3, "Unregistered"
6955
6956 2005-10-03  Andy Wingo  <wingo@pobox.com>
6957
6958         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
6959         whereby calling a pad's activatepush() function can start a thread
6960         that starts to push or pull before the pad gets the FLUSHING flag
6961         unset. Hack around it by holding the stream lock until the flag is
6962         set. Need to replace this with a proper solution. Together with
6963         the ghost pad fixes, this fixes mp3 playing/tagreading.
6964
6965         * docs/design/part-gstghostpad.txt: Add a note about activation of
6966         proxy pads outside of ghost pads.
6967
6968         * gst/gstghostpad.c: Implement the ghost pad activation design.
6969
6970 2005-10-02  Andy Wingo  <wingo@pobox.com>
6971
6972         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
6973         It is volatile, after all.
6974
6975         * docs/design/part-gstghostpad.txt: Flesh out activation with
6976         ghost pads.
6977
6978         * gst/base/gstbasesrc.c (gst_base_src_init): Use
6979         GST_DEBUG_FUNCPTR.
6980
6981 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
6982
6983         * configure.ac:
6984           Fix (unused) AM_CONDITIONAL tests.
6985
6986 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
6987
6988         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6989
6990         * gst/gstutils.c: (gst_pad_query_convert):
6991           Add assertion that makes sure src_val is >=0, just like
6992           gst_query_new_convert() has. (#315895)
6993
6994 2005-09-30  Edward Hervey  <edward@fluendo.com>
6995
6996         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
6997         Let's not iterate pads we're not interested in, it avoids getting 
6998         sky-high refcounts on sinkpad.
6999
7000 2005-09-30  Wim Taymans  <wim@fluendo.com>
7001
7002         * gst/gstelement.c: (gst_element_set_state),
7003         (gst_element_change_state):
7004         Small tweak, element in ASYNC remains ASYNC.
7005
7006 2005-09-30  Wim Taymans  <wim@fluendo.com>
7007
7008         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7009         Only error is an error.
7010
7011         * gst/gstbin.c: (gst_bin_change_state):
7012         Better debugging.
7013
7014         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
7015         Also call pad_block in pad alloc.
7016
7017         * gst/gstutils.c: (gst_flow_get_name):
7018         Better debugging.
7019
7020 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
7021
7022         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7023         (gst_base_src_get_range):
7024           Fix documentation typos. Add some more debug info.
7025
7026 2005-09-29  David Schleef  <ds@schleef.org>
7027
7028         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
7029           more end-user friendly.
7030         * tools/gst-inspect.c: (main): Check if command-line argument is
7031           a file and attempt to load that file as a plugin.
7032
7033 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7034
7035         * check/gst/gstbin.c:
7036         * check/states/sinks.c:
7037           fix tests for the new warning
7038         * check/gst/gstpipeline.c:
7039           add a test for pipeline and bus interaction
7040         * gst/gstelement.c:
7041           elements should be NULL if they get disposed; add a warning if not
7042
7043 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7044
7045         * gst/gstobject.c:
7046           for 2.6 refcounting, make debug log more correct by printing
7047           the actual refcounts at the time of swap (Wim)
7048
7049 2005-09-29  Andy Wingo  <wingo@pobox.com>
7050
7051         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
7052         removes signal watches previously added via
7053         gst_bus_add_signal_watch.
7054         (gst_bus_add_signal_watch): Don't return the source id, just store
7055         it on the bus if there wasn't an id already.
7056
7057         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
7058         add_signal_watch and remove_signal_watch.
7059
7060 2005-09-29  Edward Hervey  <edward@fluendo.com>
7061
7062         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
7063         Better if we actually iterate the list :)
7064
7065 2005-09-29  Wim Taymans  <wim@fluendo.com>
7066
7067         * check/gst/gstbin.c: (GST_START_TEST):
7068         Change for new bus API.
7069
7070         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
7071         (send_messages), (GST_START_TEST), (gstbus_suite):
7072         Change for new bus signal API.
7073
7074         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
7075         (gst_bus_source_prepare), (gst_bus_source_check),
7076         (gst_bus_create_watch), (gst_bus_add_watch_full),
7077         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
7078         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
7079         * gst/gstbus.h:
7080         Remove support for multiple GSources operating on different
7081         message types as it is too complex and unneeded when using
7082         signals.
7083         Added support for receiving signals from the bus.
7084
7085 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
7086
7087         * docs/libs/tmpl/gstdataprotocol.sgml:
7088         * docs/manual/advanced-dataaccess.xml:
7089         * gst/elements/gstcapsfilter.c:
7090         * gst/gstutils.c:
7091           rename filter-caps to caps property
7092
7093 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
7094
7095         * gst/gstvalue.c: (gst_value_deserialize_fraction):
7096           More robust fraction string parsing.
7097
7098         * docs/pwg/appendix-porting.xml:
7099           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
7100
7101 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
7102
7103         * gst/gstcaps.c: (gst_caps_do_simplify):
7104           Thou shalt not free a structure and then continue using it
7105           in the next loop iteration.
7106
7107         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
7108         (gst_caps_suite):
7109           Add test case for caps simplification.
7110
7111 2005-09-29  Wim Taymans  <wim@fluendo.com>
7112
7113         * check/gst/gstbin.c: (GST_START_TEST):
7114         Oops.
7115
7116 2005-09-29  Wim Taymans  <wim@fluendo.com>
7117
7118         * check/gst/gstbin.c: (GST_START_TEST):
7119         Add bus to bin.
7120
7121         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
7122         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
7123         (find_element), (gst_bin_sort_iterator_next),
7124         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7125         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7126         (gst_bin_change_state), (gst_bin_dispose):
7127         A bin does not have a bus, it gets the bus from the parent.
7128
7129         * gst/gstelement.c: (gst_element_requires_clock),
7130         (gst_element_provides_clock), (gst_element_is_indexable),
7131         (gst_element_is_locked_state), (gst_element_change_state),
7132         (gst_element_set_bus_func):
7133         Small cleanups.
7134
7135         * gst/gstpipeline.c: (gst_pipeline_class_init),
7136         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
7137         The pipeline provides a bus.
7138
7139 2005-09-28  Johan Dahlin  <johan@gnome.org>
7140
7141         * gst/gstmessage.c (gst_message_parse_state_changed): Use
7142         gst_structure_get_enum instead of gst_structure_get_int
7143
7144         * gst/gststructure.c (gst_structure_get_enum): Impl.
7145
7146         * gst/gststructure.h (gst_structure_get_enum): Add
7147
7148         * docs/gst/gstreamer-sections.txt: Ditto
7149
7150         * gst/gstmessage.c (gst_message_new_state_changed): Use
7151         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
7152         which does introspection.
7153         Reviewed by Christian Schaller
7154
7155 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
7156
7157         * gst/gstinfo.c: (gst_debug_log_default):
7158           don't do dummy g_strdup()s
7159         * libs/gst/controller/gstcontroller.c:
7160         (on_object_controlled_property_changed),
7161         (gst_controlled_property_new), (gst_controller_new_valist),
7162         (gst_controller_new_list),
7163         (gst_controller_remove_properties_valist), (gst_controller_set),
7164         (gst_controller_get), (gst_controller_sync_values),
7165         (gst_controller_get_value_array), (_gst_controller_class_init),
7166         (gst_controller_get_type):
7167         * libs/gst/controller/gstcontroller.h:
7168         * libs/gst/controller/gstinterpolation.c:
7169         (gst_controlled_property_find_timed_value_node):
7170           convert // to /**/ comments
7171
7172 2005-09-28  Wim Taymans  <wim@fluendo.com>
7173
7174         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
7175         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
7176         (gst_bus_sync_signal_handler):
7177         * gst/gstbus.h:
7178         Added async-message and sync-message signals to the bus.
7179         Added helper BusFunc to emit signals for all posted messages.
7180
7181         * gst/gstmessage.c: (gst_message_type_get_name),
7182         (gst_message_type_to_quark), (gst_message_get_type):
7183         * gst/gstmessage.h:
7184         Register quarks for message names.
7185
7186 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
7187
7188         * docs/libs/gstreamer-libs-sections.txt:
7189         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
7190         (gst_controller_new_list):
7191         * libs/gst/controller/gstcontroller.h:
7192           added another constructor for language bindings
7193
7194 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7195
7196         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
7197           add another check
7198         * gst/gstbus.c:
7199           add some doc
7200         * gst/gstinfo.c: (_gst_debug_init):
7201           slightly more readable color for refcount debugging
7202
7203 2005-09-28  Wim Taymans  <wim@fluendo.com>
7204
7205         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
7206         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
7207         (find_element), (gst_bin_sort_iterator_next),
7208         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7209         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7210         (gst_bin_change_state), (gst_bin_dispose):
7211         Small doc fixes. get_clock -> provide_clock.
7212
7213         * gst/gstelement.c: (gst_element_class_init),
7214         (gst_element_provides_clock), (gst_element_provide_clock),
7215         (gst_element_get_clock), (gst_element_commit_state),
7216         (gst_element_lost_state):
7217         * gst/gstelement.h:
7218         Make get/set_clock() symetric. Add provide_clock vmethod since
7219         that is actually what this function does.
7220
7221         * gst/gstpipeline.c: (gst_pipeline_class_init),
7222         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
7223         (gst_pipeline_get_clock):
7224         get_clock -> provide_clock.
7225
7226 2005-09-28  Andy Wingo  <wingo@pobox.com>
7227
7228         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
7229         lieu of real docs...
7230
7231         * gst/elements/gstfdsrc.c: Cleaned up a bit.
7232
7233 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
7234
7235         * gst/elements/gstcapsfilter.c:
7236         * gst/elements/gstfakesink.c:
7237         * gst/elements/gstfakesrc.c:
7238         * gst/elements/gstfdsink.c:
7239         * gst/elements/gstfdsrc.c:
7240         * gst/elements/gstfilesink.c:
7241         * gst/elements/gstfilesrc.c:
7242         * gst/elements/gstidentity.c:
7243         * gst/elements/gsttee.c:
7244         * gst/elements/gsttypefindelement.c:
7245           Make element details static.
7246
7247 2005-09-28  Wim Taymans  <wim@fluendo.com>
7248
7249         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
7250         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
7251         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7252         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7253         (gst_bin_change_state), (gst_bin_dispose):
7254         Some documentation updates.
7255         Clean up dispose handlers.
7256
7257         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
7258         * gst/gstpad.c: (gst_pad_dispose):
7259         Clean up dispose handler.
7260
7261         * gst/gstpipeline.c: (gst_pipeline_change_state):
7262         Removed spurious UNLOCK.
7263
7264 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
7265
7266         * docs/gst/gstreamer-sections.txt:
7267         * gst/base/gstbasesrc.h:
7268         * gst/gstelement.h:
7269         * gst/gstevent.h:
7270         * gst/gstobject.h:
7271         * gst/gstpad.h:
7272         * gst/gstpipeline.c:
7273         * gst/gstpipeline.h:
7274         * gst/gstutils.h:
7275         * gst/gstxml.h:
7276           added two new functions to the docs
7277                 documents all undocumented GstXXXFlags
7278                 completed some incomplete docs 
7279
7280 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
7281
7282         * gst/gstbin.c: (gst_bin_dispose):
7283         * gst/gstelement.c: (gst_element_dispose):
7284           remove now useless and leaky resurrection code in dispose
7285         * gst/base/gstbasesrc.c: (gst_base_src_init):
7286         * gst/gstelementfactory.c: (gst_element_factory_create):
7287         * gst/gstobject.c: (gst_object_set_parent):
7288           add some debugging
7289
7290 2005-09-27  Wim Taymans  <wim@fluendo.com>
7291
7292         * docs/design/part-TODO.txt:
7293         Update TODO.
7294
7295         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
7296         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
7297         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7298         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7299         (gst_bin_change_state):
7300         * gst/gstelement.h:
7301         Remove element variable, we keep element info in the iterator now.
7302
7303 2005-09-27  Andy Wingo  <wingo@pobox.com>
7304
7305         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
7306         values.
7307
7308 2005-09-27  Wim Taymans  <wim@fluendo.com>
7309
7310         * check/gst/gstbin.c: (GST_START_TEST):
7311         Enable check that works now.
7312
7313         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
7314         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
7315         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
7316         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
7317         (gst_bin_change_state):
7318         * gst/gstbin.h:
7319         Redid the state change algorithm using a topological sort algo.
7320         Handles all cases correctly.
7321         Exposed iterator for state change order.
7322
7323         * gst/gstelement.h:
7324         Temp storage for state changes. Need to get rid of this soon.
7325
7326 2005-09-27  Wim Taymans  <wim@fluendo.com>
7327
7328         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
7329         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
7330         (link_fold_func), (gst_pad_proxy_setcaps):
7331         Leak fixes, the fold functions need to unref the passed object and
7332         _get_parent_*() returns ref to parent.
7333
7334 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
7335
7336         * check/gst/gstbuffer.c: (test_make_writable):
7337           Plug leak in test case and fix 'make check-valgrind'
7338
7339 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
7340
7341         * gst/gstbuffer.c: (gst_subbuffer_init):
7342           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
7343           works correctly in all circumstances (we could have just copied
7344           the parent buffer's readonly flag, but conceptually it seems
7345           cleaner to mark all subbuffers as read-only). (based on patch
7346           by Alessandro Decina, #314710).
7347         
7348         * check/gst/gstbuffer.c: (create_read_only_buffer),
7349         (test_make_writable), (test_subbuffer_make_writable),
7350         (gst_test_suite):
7351           Add some tests for gst_buffer_make_writable().
7352
7353 2005-09-27  Wim Taymans  <wim@fluendo.com>
7354
7355         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
7356         use gst_object_has_ancestor().
7357
7358         * gst/gstobject.c: (gst_object_has_ancestor):
7359         * gst/gstobject.h:
7360         gst_object_has_ancestor() copied from gstbin.c as it is a
7361         usefull function.
7362
7363         * tests/instantiate/create.c: (create_all_elements):
7364         * tests/lat.c: (handoff_src), (handoff_sink):
7365         * tests/sched/runxml.c: (main):
7366         * tests/seeking/seeking1.c: (main):
7367         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
7368         (main):
7369         Fix compilation of some tests.
7370
7371 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
7372
7373         * gst/gsterror.h:
7374           Remove comment. GST_TYPE_G_ERROR is here to stay,
7375           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
7376           (#316961, #300610).
7377
7378 2005-09-26  Wim Taymans  <wim@fluendo.com>
7379
7380         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7381         Added check that shows error in state change order.
7382
7383 2005-09-26  Wim Taymans  <wim@fluendo.com>
7384
7385         * gst/gstbin.c: (gst_bin_change_state):
7386         Make state change function use 3 queues again, we were
7387         adding elements in the wrong order.
7388
7389         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
7390         Some debug info,
7391
7392         * gst/gstpad.c: (gst_pad_dispose):
7393         Added some debug info first.
7394
7395 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
7396
7397         * docs/design/draft-push-pull.txt:
7398         * docs/design/part-events.txt:
7399         * docs/design/part-overview.txt:
7400         * docs/design/part-scheduling.txt:
7401           Replace all _pull_region() with _pull_range()
7402           
7403 2005-09-26  Andy Wingo  <wingo@pobox.com>
7404
7405         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
7406
7407         * check/gst-libs/controller.c: Update for controller api change.
7408
7409         * configure.ac: 
7410         * tests/Makefile.am:
7411         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
7412         over by GLib bug 118439.
7413         
7414         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
7415         routines to a function.
7416
7417         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
7418
7419         * libs/gst/controller/gsthelper.c:
7420         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
7421         (gst_object_sync_values): Renamed from sink_values. Ugh.
7422
7423         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
7424
7425         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
7426         Renamed from controller_key, as it is exported.
7427
7428         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
7429
7430 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
7431
7432         * gst/Makefile.am:
7433         * gst/gst.h:
7434         * gst/gstpad.h:
7435         * gst/gstpadtemplate.h:
7436         * gst/gstquery.c:
7437         * gst/gstquery.h:
7438         * gst/gstqueryutils.c:
7439         * gst/gstqueryutils.h:
7440           remove queryutils headers after moving the two used functions
7441           to gstquery.  also fixes build problem for gstsiddec
7442
7443 2005-09-26  Michael Smith <msmith@fluendo.com>
7444
7445         * tools/gst-launch.1.in:
7446         Correct documentation in manpage of debug syntax
7447
7448 2005-09-26  Wim Taymans  <wim@fluendo.com>
7449
7450         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
7451         (gst_base_src_is_seekable), (gst_base_src_change_state):
7452         Some more debugging info.
7453
7454 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
7455
7456         * docs/gst/gstreamer-sections.txt:
7457         * gst/base/gstbasetransform.h:
7458         * gst/gstindex.h:
7459           added more docs
7460
7461 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
7462
7463         * docs/gst/.cvsignore:
7464         * docs/gst/tmpl/.cvsignore:
7465         * docs/gst/tmpl/gstpipeline.sgml:
7466         * docs/gst/tmpl/gstplugin.sgml:
7467         * gst/gstpipeline.c:
7468         * gst/gstplugin.c:
7469         * gst/gstplugin.h:
7470           inlined the last two docs files
7471           removed the tmpl directory from cvs (no more conflicts here!)
7472
7473 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
7474
7475         * docs/gst/gstreamer-sections.txt:
7476         * docs/gst/tmpl/.cvsignore:
7477         * docs/gst/tmpl/gstpad.sgml:
7478         * docs/gst/tmpl/gstpadtemplate.sgml:
7479         * gst/Makefile.am:
7480         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
7481         (gst_pad_finalize), (gst_pad_set_pad_template):
7482         * gst/gstpad.h:
7483         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
7484         (gst_pad_template_class_init), (gst_pad_template_init),
7485         (gst_pad_template_dispose), (name_is_valid),
7486         (gst_static_pad_template_get), (gst_pad_template_new),
7487         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
7488         (gst_pad_template_pad_created):
7489         * gst/gstpadtemplate.h:
7490           inlined two more docs
7491           factored gstpadtemplate out of gstpad
7492
7493 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
7494
7495         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
7496         (test_children_state_change_order_semi_sink):
7497           Fix test case: we can't rely on a fixed state change order when
7498           going from READY => PAUSED because the sink might commit its 
7499           new state first when the first buffer created by the source 
7500           reaches the sink before the source has finished its change state.
7501           (Test case still fails at times, see #316856, comment 5 onwards)
7502
7503 2005-09-24  Wim Taymans  <wim@fluendo.com>
7504
7505         * docs/design/part-events.txt:
7506         * docs/design/part-gstbus.txt:
7507         * docs/design/part-gstpipeline.txt:
7508         * docs/design/part-messages.txt:
7509         * docs/design/part-overview.txt:
7510         * docs/design/part-segments.txt:
7511         * gst/gstbin.c:
7512         * gst/gstbuffer.c:
7513         * gst/gstclock.c:
7514         * gst/gstelement.c:
7515         * gst/gstevent.c:
7516         * gst/gstfilter.c:
7517         * gst/gstiterator.c:
7518         Various documentation updates.
7519
7520 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7521
7522         * gst/gstclock.h:
7523           Well, that's embarassing.  Luckily we weren't using
7524           GST_CLOCK_DIFF anywhere.
7525
7526 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7527
7528         * common/gtk-doc.mak:
7529           don't fail on building XML, FC4 slave shows a bunch of doc
7530           missing bits that I don't get
7531         * gst/gstpad.c:
7532         * gst/gstpipeline.c:
7533         * gst/gststructure.c:
7534           some doc updates
7535
7536 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
7537
7538         * docs/design/part-gstbin.txt:
7539         * docs/design/part-gstbus.txt:
7540         * gst/gstbus.c:
7541           Add blurb about how the bus goes into flushing mode and
7542           drops all messages when its bin goes from READY into NULL 
7543           state.
7544
7545 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7546
7547         * docs/gst/gstreamer-sections.txt:
7548         * gst/gststructure.c: (gst_structure_get_clock_time):
7549         * gst/gststructure.h:
7550           add a method to get a GstClockTime out of a structure
7551
7552 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
7553
7554         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
7555         (test_children_state_change_order_semi_sink), (gst_bin_suite):
7556           Added test to check state change order in bins (can still be made
7557           to fail here under heavy disk load; bails out with 'Push on pad
7558           fakesink:sink0, but it was not activated in push mode').
7559
7560         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
7561           Fix state change order when there is only a semi sink (#316856)
7562
7563         * gst/gstbus.c: (gst_bus_class_init):
7564           Use _class_peek_parent(), not _class_ref(); fix docs to say
7565           'default main context' instead of 'mainloop' where that is
7566           what's meant.
7567
7568         * gst/gstelement.c: (gst_element_commit_state),
7569         (gst_element_set_state):
7570           Fix typos in debug messages
7571
7572 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7573
7574         * docs/README:
7575         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
7576         * gst/gstpluginfeature.c:
7577         * gst/gstutils.c:
7578           various doc updates
7579         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7580           change an assert into an error until it gets fixed properly
7581
7582 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
7583
7584         * docs/gst/gstreamer-sections.txt:
7585         * docs/gst/tmpl/.cvsignore:
7586         * docs/gst/tmpl/gstelement.sgml:
7587         * docs/gst/tmpl/gstinfo.sgml:
7588         * docs/gst/tmpl/gstobject.sgml:
7589         * gst/gstelement.c:
7590         * gst/gstelement.h:
7591         * gst/gstinfo.c:
7592         * gst/gstinfo.h:
7593         * gst/gstobject.c: (gst_object_class_init):
7594         * gst/gstobject.h:
7595           inlined 3 more biiiig doc files and added some missing docs on the fly
7596
7597 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7598
7599         * check/gst/.cvsignore:
7600         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
7601         * gst/gstregistryxml.c: (load_plugin),
7602         (gst_registry_xml_save_plugin):
7603           put back source in registry.  add checks for find_plugin.
7604         * testsuite/states/bin.c: (assert_state), (empty_bin),
7605         (test_adding_one_element), (main):
7606         * testsuite/states/locked.c: (main):
7607           some compile/run fixes
7608
7609 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7610
7611         * check/gst/gstvalue.c: (GST_START_TEST):
7612           fix leaks in the test itself
7613
7614 2005-09-22  Wim Taymans  <wim@fluendo.com>
7615
7616         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7617         (gst_base_sink_send_event), (gst_base_sink_peer_query),
7618         (gst_base_sink_query):
7619         Prepare for more accurate position reporting and query
7620         handling.
7621
7622         * gst/gstelement.c: (gst_element_send_event),
7623         (gst_element_set_state):
7624         Add some comment.
7625
7626 2005-09-22  Wim Taymans  <wim@fluendo.com>
7627
7628         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
7629         (gst_query_parse_segment):
7630         * gst/gstquery.h:
7631         More documentation.
7632         Add segment query for future use.
7633
7634 2005-09-22  Wim Taymans  <wim@fluendo.com>
7635
7636         * gst/gstbin.c: (gst_bin_add_func):
7637         Some more debug info.
7638
7639         * gst/gstelement.c: (gst_element_send_event):
7640         Simplify send_event
7641
7642         * gst/gstelement.h:
7643         Don't know how flags got broken.
7644
7645         * gst/gstquery.h:
7646         Added new query.
7647
7648 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
7649
7650         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
7651           Add simplistic test suite for GST_TYPE_DATE serialisation and
7652           deserialisation.
7653
7654 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
7655
7656         * docs/gst/gstreamer-sections.txt:
7657         * gst/gststructure.c: (gst_structure_set_valist),
7658         (gst_structure_get_date):
7659         * gst/gststructure.h:
7660         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
7661         (gst_date_copy), (gst_value_compare_date),
7662         (gst_value_serialize_date), (gst_value_deserialize_date),
7663         (gst_value_transform_date_string),
7664         (gst_value_transform_string_date), (_gst_value_initialize):
7665         * gst/gstvalue.h:
7666           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
7667           bunch of utility functions along with a hack that checks that
7668           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
7669           is required. Part of the grand scheme in #170777.
7670
7671 2005-09-22  Andy Wingo  <wingo@pobox.com>
7672
7673         * gst/gstconfig.h.in: Psych out gtk-doc.
7674
7675         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
7676
7677         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
7678
7679         * tools/gst-inspect.c (print_element_list): Plug some
7680         inconsequential leaks.
7681
7682         * gst/gstregistry.c (gst_registry_get_default): Doc.
7683
7684         * check/gst/gstplugin.c: 
7685         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
7686         * gst/gstelementfactory.c (gst_element_factory_create): 
7687         * gst/gstindexfactory.c (gst_index_factory_create): Update for
7688         refcount changes.
7689
7690         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
7691         (gst_plugin_feature_load): Doc, don't eat refs.
7692
7693         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
7694         (gst_plugin_list_free): Doc.
7695         (gst_plugin_load_file): Doc updates.
7696
7697         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
7698         accessors returning refcounted objects, return a ref.
7699
7700         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
7701         accessor for caps. IDEMPOTENCE. Oh yes.
7702
7703 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
7704
7705         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7706
7707         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
7708         (_gst_debug_register_funcptr):
7709           Add mutex to serialise access to the hash table with
7710           the function pointer => function name string mapping;
7711           make that hash table static scope (#316809).
7712
7713         * gst/registries/.cvsignore:
7714           Remove left-over file.
7715
7716 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
7717
7718         * docs/pwg/appendix-porting.xml:
7719           And something about newsegment events and caps-on-buffers to
7720           the porting guide (feel free to improve).
7721
7722 2005-09-21  Andy Wingo  <wingo@pobox.com>
7723
7724         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
7725         data and event probes on the same pad.
7726         (test_buffer_probe_once): Test that removing probes from within
7727         the probe functions works.
7728
7729 2005-09-21  Andy Wingo  <wingo@pobox.com>
7730
7731         * check/gst/gstutils.c: New file.
7732         (test_buffer_probe_n_times): A simple buffer probe test. More to
7733         come, foolios.
7734
7735         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
7736         have-data::buffer, not have-data.
7737         (gst_pad_add_event_probe): Likewise for have-data::event.
7738         (gst_pad_add_data_probe): More docs. The part about 'resolving the
7739         peer' isn't quite right yet though.
7740         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
7741         (gst_pad_remove_data_probe): Change to take the guint handler_id
7742         as their arg, not the function+data, which is more glib-like.
7743
7744         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
7745         the signal emission to indicate if the data is a buffer or an
7746         event.
7747         (gst_pad_get_type): Initialize buffer and event quarks.
7748         (gst_pad_class_init): have-data is now a detailed signal, yes it
7749         is.
7750
7751 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
7752
7753         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
7754         * gst/gstutils.c: (gst_util_set_value_from_string),
7755         (gst_util_set_object_arg):
7756           Don't put functional code in g_return_if_fail() or
7757           g_return_val_if_fail() statements, otherwise things will 
7758           break when G_DISABLE_CHECKS is defined during compilation.
7759
7760 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7761
7762         * docs/gst/tmpl/.cvsignore:
7763         * docs/gst/tmpl/gstvalue.sgml:
7764         * gst/gstvalue.c:
7765         * gst/gstvalue.h:
7766           inlied another one and added  some obvious docs
7767
7768 2005-09-21  Wim Taymans  <wim@fluendo.com>
7769
7770         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
7771         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
7772         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
7773         (gst_fdsrc_get_property), (gst_fdsrc_create):
7774         * gst/elements/gstfdsrc.h:
7775         Properly implement fdsrc. Removed signal and timeout,
7776         better implemented somewhere else.
7777
7778 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7779
7780         * docs/gst/tmpl/.cvsignore:
7781         * docs/gst/tmpl/gstimplementsinterface.sgml:
7782         * gst/gstinterface.c:
7783           inlined more docs
7784
7785 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7786
7787         * docs/gst/gstreamer-sections.txt:
7788         * docs/gst/tmpl/.cvsignore:
7789         * docs/gst/tmpl/gstenumtypes.sgml:
7790           remove obsolete doc file
7791
7792 2005-09-21  David Schleef  <ds@schleef.org>
7793
7794         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
7795         little beer, fix a little leak.
7796
7797 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
7798
7799         * docs/gst/gstreamer-docs.sgml:
7800         * docs/gst/gstreamer-sections.txt:
7801         * docs/gst/tmpl/.cvsignore:
7802         * gst/Makefile.am:
7803         * gst/gst.h:
7804         * gst/gstbin.c:
7805         * gst/gstelement.h:
7806         * gst/gstindex.c: (gst_index_class_init):
7807         * gst/gstindex.h:
7808         * gst/gstindexfactory.c: (gst_index_factory_get_type),
7809         (gst_index_factory_class_init), (gst_index_factory_init),
7810         (gst_index_factory_finalize), (gst_index_factory_new),
7811         (gst_index_factory_destroy), (gst_index_factory_find),
7812         (gst_index_factory_create), (gst_index_factory_make):
7813         * gst/gstindexfactory.h:
7814         * gst/gstpluginfeature.c:
7815         * gst/gstpluginfeature.h:
7816         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7817           more docs inlined, splitted gstindex.{c,h}
7818
7819 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7820
7821         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7822           fix a leak
7823
7824 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
7825
7826         * gst/elements/gstfilesink.c: (gst_file_sink_init):
7827           Set sync to FALSE by default.
7828
7829 2005-09-20  Wim Taymans  <wim@fluendo.com>
7830
7831         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7832         (gst_base_sink_init):
7833         Make sync property settable from subclass.
7834
7835         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
7836         (gst_fake_sink_change_state):
7837         Set sync to FALSE by default.
7838
7839 2005-09-20  Wim Taymans  <wim@fluendo.com>
7840
7841         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
7842         * tools/gst-launch.c: (main):
7843         The timeout handler should have lower priority than the source
7844         so we don't timeout before popping a message with 0 timeout.
7845         Dump error messages after failed state change.
7846
7847 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
7848
7849         * tools/gst-inspect.c: (print_element_properties_info):
7850           Fix two typos.
7851
7852 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7853
7854         * check/gst/gstevent.c:
7855         * gst/elements/gstfakesink.c:
7856         * gst/elements/gstfakesink.h:
7857           remove the sync property from fakesink.
7858           has the side effect of setting sync TRUE
7859           for fakesink, which is a change.  Anyone who knows how
7860           to fix this nicely in a GObject-y way, feel free.
7861
7862 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7863
7864         * docs/gst/gstreamer-docs.sgml:
7865           remove probe refsection
7866
7867 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7868
7869         * check/Makefile.am:
7870           disable valgrinding the controller test again
7871         * docs/gst/gstreamer-sections.txt:
7872           update for api-changes
7873
7874 2005-09-20  Wim Taymans  <wim@fluendo.com>
7875
7876         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
7877         (gst_base_sink_set_property), (gst_base_sink_get_property),
7878         (gst_base_sink_do_sync):
7879         * gst/base/gstbasesink.h:
7880         Added sync property to basesink to disable clock sync.
7881
7882 2005-09-20  Andy Wingo  <wingo@pobox.com>
7883
7884         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
7885         eating the caller's refcount.
7886
7887         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
7888         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
7889         refcount.
7890
7891         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
7892         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
7893         of GLib 2.8 public, so we can know which refcount to check in
7894         tests.
7895
7896         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
7897         (gst_object_init): Only set the gst refcount if we're going ahead
7898         with the refcount hack.
7899
7900 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7901
7902         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
7903         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
7904           more leaks plumbed, added more debug-logging
7905         * gst/gstmacros.h:
7906           whitespace fix
7907
7908 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7909
7910         * gst/gstmessage.c:
7911           remove include of gstmemchunk.h
7912
7913 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7914
7915         * gst/gstclock.c: (_gst_clock_id_free):
7916           Commit from the Political Party For More Atomic CVS Commits,
7917           so that people don't waste too much of their day fishing
7918           out obvious leaks out of massive commits.
7919           Oh, and fix a pretty damn obvious leak in the memchunk
7920           removal code.
7921
7922 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
7923
7924         * check/Makefile.am:
7925         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
7926           plug mem-leak, re-add to valgrindable tests
7927
7928 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
7929
7930         * gst/gstplugin.h:
7931           unbreak the build for those who have chronic arthritis
7932           and typing "make check" is just too taxing on the hands
7933
7934 2005-09-20  Andy Wingo  <wingo@pobox.com>
7935
7936         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
7937         really want it out, you should fix plugins at the same time.
7938
7939 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
7940
7941         * configure.ac:
7942         * docs/gst/gstreamer-sections.txt:
7943         * gst/gstobject.c:
7944           added missing symbols to api docs
7945           disable ref-count hack if we have glib >= 2.8
7946
7947 2005-09-19  David Schleef  <ds@schleef.org>
7948
7949         * docs/gst/Makefile.am: Ignore a few more internal headers
7950         * docs/gst/gstreamer-docs.sgml: Remove old sections
7951         * docs/gst/gstreamer-sections.txt: Remove old sections
7952         * docs/gst/tmpl/gstobject.sgml: update
7953         * docs/gst/tmpl/gstplugin.sgml: update
7954         * docs/gst/tmpl/gstpluginfeature.sgml: update
7955         * docs/random/ds/0.9-suggested-changes: update.
7956         * gst/Makefile.am: remove memchunk and trashstack, since they're
7957           not used.
7958         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
7959         * gst/gst.h: don't include some headers
7960         * gst/gstchildproxy.c: add gstmarshal.h
7961         * gst/gstclock.c: Don't use memchunks
7962         * gst/gstminiobject.c: Add some docs
7963         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
7964         * gst/gstobject.h: same
7965         * gst/gstplugin.c: include gstmacros.h
7966         * gst/gstplugin.h: don't include gstmacros.h, since it's private
7967         * gst/gstquery.c: don't use memchunks
7968         * gst/gstregistry.c: rename gst_registry_deinit()
7969         * gst/gstregistry.h: same
7970
7971 2005-09-19  David Schleef  <ds@schleef.org>
7972
7973         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
7974         * docs/libs/gstreamer-libs-sections.txt:
7975         * docs/libs/tmpl/gstgetbits.sgml:
7976         * docs/libs/tmpl/gstputbits.sgml:
7977
7978 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
7979
7980         * win32/gstenumtypes.c:
7981         * win32/gstenumtypes.h:
7982           Update.
7983
7984 2005-09-19  Wim Taymans  <wim@fluendo.com>
7985
7986         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
7987         Automatically PAUSE and RESUME a pipeline when a flushing seek
7988         is performed.
7989
7990 2005-09-19  Andy Wingo  <wingo@pobox.com>
7991
7992         * gst/gstregistry.h: Spacing fixen.
7993
7994 2005-09-19  Wim Taymans  <wim@fluendo.com>
7995
7996         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
7997         Handle state change failure more correctly.
7998
7999 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8000
8001         * check/Makefile.am:
8002         * check/pipelines/cleanup.c: (run_pipeline):
8003         * check/pipelines/simple_launch_lines.c: (run_pipeline),
8004         (GST_START_TEST):
8005           enable cleanup again after fixing the leak
8006         * docs/README:
8007           some more info on docs
8008
8009 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8010
8011         * check/Makefile.am:
8012           re-enable tests now that leaks are plugged
8013         * check/gst/gst.c:
8014         * check/gst/gstbin.c:
8015         * check/gst/gstpipeline.c:
8016           add some more tests while fixing leaks
8017         * common/check.mak:
8018           make sure binaries are uptodate when valgrinding/gdbing
8019         * gst/gst.c:
8020         * gst/gstelementfactory.c:
8021           remove a ref too many, and add a FIXME for when we get
8022           round to disposing of classes
8023         * gst/gstplugin.c:
8024           fix the refcounting when loading a plugin from a file and
8025           the code pretends that the pointer is the same even though
8026           of course it can change
8027         * gst/gstpluginfeature.c:
8028           unref plugins marked cached (a bit confusing as a name)
8029           as the docs state should be done
8030           various doc additions to explain refcounting
8031         * gst/gstregistry.c:
8032         * gst/gstregistryxml.c:
8033           debugging
8034
8035 2005-09-19  Wim Taymans  <wim@fluendo.com>
8036
8037         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
8038         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
8039         (send_messages), (GST_START_TEST), (gstbus_suite):
8040         * check/gst/gstpipeline.c: (GST_START_TEST):
8041         * check/pipelines/cleanup.c: (run_pipeline):
8042         * check/pipelines/simple_launch_lines.c: (run_pipeline),
8043         (GST_START_TEST):
8044         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
8045         (gst_bus_source_check), (gst_bus_source_dispatch),
8046         (gst_bus_create_watch), (gst_bus_add_watch_full),
8047         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
8048         * gst/gstbus.h:
8049         * tools/gst-launch.c: (event_loop):
8050         * tools/gst-md5sum.c: (event_loop):
8051         GstBusHandler -> GstBusFunc, return value has the same meaning as
8052         any other GSource (FALSE == remove source).
8053         _add_watch() and _add_watch_full() now take a MessageType mask to
8054         only handle specific types of messages.
8055         _poll() returns the GstMessage instead of the message type to avoid
8056         race conditions.
8057         _have_pending() takes a MessageType mask now too.
8058         Added testsuite for multiple bus watches.
8059         Fix testsuites and applications for new bus API.
8060
8061 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8062
8063         * check/Makefile.am:
8064           mark a bunch of the tests as to fix until we fix them
8065
8066 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8067
8068         * common/check.mak:
8069           use GST_PLUGIN settings for valgrind tests as well, so we're
8070           valgrinding the correct thing
8071         * gst/gst.c: (init_post):
8072           plug another leak
8073
8074 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8075
8076         * gst/gst.c: (init_post), (gst_deinit):
8077         * gst/gstelementfactory.c: (gst_element_factory_class_init),
8078         (gst_element_factory_finalize), (gst_element_factory_cleanup):
8079         * gst/gstindex.c: (gst_index_factory_class_init),
8080         (gst_index_factory_finalize):
8081         * gst/gstobject.c: (gst_object_dispose):
8082         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
8083         (gst_plugin_load_file), (gst_plugin_desc_free):
8084         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
8085         (gst_plugin_feature_finalize):
8086         * gst/gstregistry.c: (gst_registry_class_init),
8087         (gst_registry_init), (gst_registry_finalize),
8088         (gst_registry_get_default), (gst_registry_deinit):
8089         * gst/gstregistry.h:
8090         * gst/gstregistryxml.c: (load_feature), (load_plugin):
8091           various cleanups and memleak plugging.  make valgrind is happy now.
8092
8093 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8094
8095         * common/check.mak:
8096           add a check-valgrind target
8097
8098 2005-09-18  David Schleef  <ds@schleef.org>
8099
8100         * tools/gst-inspect.c: Revert the GOption code.
8101
8102 2005-09-17  David Schleef  <ds@schleef.org>
8103
8104         * check/Makefile.am: Fix environment variables.
8105         * check/gst/gstplugin.c: Fix for API changes.
8106         * tools/gst-inspect.c: Fix for API changes.
8107         * tools/gst-xmlinspect.c: Fix for API changes.
8108         * gst/gstelementfactory.c:
8109         * gst/gstplugin.c:
8110         * gst/gstplugin.h:
8111         * gst/gstpluginfeature.c:
8112         * gst/gstpluginfeature.h:
8113         * gst/gstregistry.c:
8114         * gst/gstregistry.h:
8115         * gst/gstregistryxml.c:
8116         * gst/gsttypefind.c:
8117         * gst/gsttypefindfactory.c:
8118         * gst/indexers/gstfileindex.c:
8119         * gst/indexers/gstmemindex.c:
8120         * gst/schedulers/Makefile.am:
8121           Change registry to keep track of both plugins and features,
8122           removing the feature tracking from plugins themselves.
8123
8124 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8125
8126         * check/Makefile.am:
8127         * tools/gst-register.1.in:
8128           remove gst-register
8129
8130 2005-09-15  David Schleef  <ds@schleef.org>
8131
8132         * check/gst/gstplugin.c:
8133         * gst/gstelementfactory.c:
8134         * gst/gstplugin.c:
8135         * gst/gstpluginfeature.c:
8136         * gst/gstregistry.c:
8137           Getting tired of debugging.  Disabled all the unreffing of
8138           plugins and features, which fixes the segfaults, but of
8139           course leaks like crazy.  At least playbin works.
8140
8141 2005-09-15  David Schleef  <ds@schleef.org>
8142
8143         * check/gst/gstplugin.c: (register_check_elements),
8144         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
8145         More testing
8146         * gst/elements/gsttypefindelement.c: Fix refcounting.
8147         * gst/gsttypefind.c:
8148         * gst/gsttypefindfactory.c:
8149         * gst/gsttypefindfactory.h:
8150
8151 2005-09-15  David Schleef  <ds@schleef.org>
8152
8153         * gst/gstindex.c: get refcounting correct.
8154         * gst/gstregistry.c: Handle the case where a feature/plugin is
8155           not found.
8156
8157 2005-09-15  David Schleef  <ds@schleef.org>
8158
8159         * check/Makefile.am:
8160         * check/gst/gstplugin.c: Add test
8161         * gst/gstplugin.c: Fix problems noticed by testsuite
8162         * gst/gstplugin.h:
8163         * gst/gstregistry.c: 
8164         * gst/gstregistry.h:
8165
8166 2005-09-15  David Schleef  <ds@schleef.org>
8167
8168         * gst/gstplugin.c: Implement semi-decent recounting and locking
8169           in plugins and plugin features.
8170         * gst/gstplugin.h:
8171         * gst/gstpluginfeature.c:
8172         * gst/gstpluginfeature.h:
8173         * gst/gstregistry.c:
8174
8175 2005-09-15  Michael Smith <msmith@fluendo.com>
8176
8177         * gst/gstregistry.c: (gst_registry_get_feature_list):
8178           Implement this. Makes oggdemux work; decodebin still broken.
8179
8180 2005-09-14  David Schleef  <ds@schleef.org>
8181
8182         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
8183           #316076)
8184         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
8185         * gst/check/Makefile.am:
8186         * libs/gst/controller/Makefile.am:
8187         * libs/gst/dataprotocol/Makefile.am:
8188
8189 2005-09-14  David Schleef  <ds@schleef.org>
8190
8191         * configure.ac: Remove getbits library.  Nothing uses it, and
8192           it should be in something like liboil if someone did want
8193           to use it.
8194         * libs/gst/Makefile.am:
8195         * libs/gst/getbits/Makefile.am:
8196         * libs/gst/getbits/gbtest.c:
8197         * libs/gst/getbits/getbits.c:
8198         * libs/gst/getbits/getbits.h:
8199         * libs/gst/getbits/gstgetbits_generic.c:
8200         * libs/gst/getbits/gstgetbits_i386.s:
8201         * libs/gst/getbits/gstgetbits_inl.h:
8202
8203 2005-09-14  David Schleef  <ds@schleef.org>
8204
8205         * gst/Makefile.am: Dist glib-compat.h
8206
8207 2005-09-14  David Schleef  <ds@schleef.org>
8208
8209         * configure.ac: Remove gst/registries, since it's no longer used.
8210         * gst/registries/Makefile.am:
8211         * gst/registries/gstlibxmlregistry.c:
8212         * gst/registries/gstlibxmlregistry.h:
8213         * gst/registries/gstxmlregistry.c:
8214         * gst/registries/gstxmlregistry.h:
8215         * gst/registries/registrytest.c:
8216
8217 2005-09-14  David Schleef  <ds@schleef.org>
8218
8219         * gst/glib-compat.h:
8220         * gst/gstregistryxml.c:
8221           Convergence is near.  Seriously.
8222
8223 2005-09-14  David Schleef  <ds@schleef.org>
8224
8225         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8226         * gst/glib-compat.h:
8227           Attempt #4 to appease the buildbots.
8228
8229 2005-09-14  David Schleef  <ds@schleef.org>
8230
8231         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8232           Attempt #3.
8233
8234 2005-09-14  David Schleef  <ds@schleef.org>
8235
8236         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8237         Attempt #2.
8238
8239 2005-09-14  David Schleef  <ds@schleef.org>
8240
8241         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
8242           the new functions.
8243
8244 2005-09-14  David Schleef  <ds@schleef.org>
8245
8246         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
8247         * gst/glib-compat.h: Add some functions that are in newer versions
8248           of glib than we care to require.
8249         * gst/gstregistryxml.c: Use them.
8250
8251 2005-09-14  David Schleef  <ds@schleef.org>
8252
8253         * po/POTFILES.in: remove gst-register.c
8254
8255 2005-09-14  David Schleef  <ds@schleef.org>
8256
8257         * docs/gst/gstreamer-docs.sgml:
8258         * docs/gst/gstreamer-sections.txt:
8259         * docs/gst/gstreamer.types:
8260         * docs/gst/tmpl/gstelement.sgml:
8261         * docs/gst/tmpl/gstplugin.sgml:
8262         * docs/gst/tmpl/gstpluginfeature.sgml:
8263           Documentation updates for registry changes.
8264
8265 2005-09-14  David Schleef  <ds@schleef.org>
8266
8267         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
8268           because we don't require glib-2.8.
8269
8270 2005-09-14  David Schleef  <ds@schleef.org>
8271
8272         * gst/gstregistryxml.c: Added.  Essentially moved out of the
8273           registries directory.
8274
8275 2005-09-14  David Schleef  <ds@schleef.org>
8276
8277         * check/Makefile.am:
8278         * check/generic/states.c:
8279         * gst/Makefile.am:
8280         * gst/gst.c:
8281         * gst/gst.h:
8282         * gst/gst_private.h:
8283         * gst/gstelementfactory.c:
8284         * gst/gstindex.c:
8285         * gst/gstinfo.c:
8286         * gst/gstplugin.c:
8287         * gst/gstplugin.h:
8288         * gst/gstpluginfeature.c:
8289         * gst/gstpluginfeature.h:
8290         * gst/gstregistry.c:
8291         * gst/gstregistry.h:
8292         * gst/gstregistrypool.c: remove
8293         * gst/gstregistrypool.h: remove
8294         * gst/gsttypefind.c:
8295         * gst/gsttypefindfactory.c:
8296         * gst/gsturi.c:
8297         * tools/Makefile.am:
8298         * tools/gst-compprep.c:
8299         * tools/gst-inspect.c:
8300         * tools/gst-register.c: remove
8301         * tools/gst-xmlinspect.c:
8302           Registry rewrite.  Changes registry from being a file created
8303           by a tool into a simple cache file created automatically by 
8304           libgstreamer.  Removed gst-register (because it's no longer
8305           needed).  Remove registry pools, because we only have one
8306           registry implementation (XML).  Fix up other subsystems as
8307           necessary.
8308
8309 2005-09-13  Michael Smith <msmith@fluendo.com>
8310
8311         * gst/gstconfig.h.in:
8312           Don't Use windows linking attributes for MinGW. Fixes #316157
8313
8314 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8315
8316         * gst/gstutils.c: (set_state_async_thread_func),
8317         (gst_element_set_state_async):
8318           Apparently people think it's better if this function doesn't
8319           try to set the state to whatever state was asked for on the first
8320           call to this function for any object.  Seriously.
8321
8322 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8323
8324         * check/gst/gstpipeline.c: (GST_START_TEST):
8325         * docs/gst/gstreamer-sections.txt:
8326         * gst/gstutils.c: (set_state_async_thread_func),
8327         (gst_element_set_state_async):
8328         * gst/gstutils.h:
8329           add a "gst_element_set_state_async" method that
8330           sets the state and starts a thread to make sure the state
8331           change completes as best as it can
8332
8333 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8334
8335         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
8336           codify design+behaviour in testsuite after discussion
8337
8338 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8339
8340         * docs/gst/tmpl/gstelement.sgml:
8341         * docs/manual/appendix-quotes.xml:
8342           add a quote
8343         * gst/gstelement.c: (gst_element_set_state):
8344           add some debug
8345
8346 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
8347
8348         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8349         (gst_base_transform_prepare_output_buf),
8350         (gst_base_transform_handle_buffer):
8351         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
8352         (gst_capsfilter_prepare_buf):
8353           Remove the requirement for sub-classes to call the parent
8354           implementation of prepare_output_buffer with a wrapper function.
8355           
8356         * gst/gsttaglist.h:
8357         * gst/gsttagsetter.h:
8358           Fix #define wrapper
8359
8360 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
8361
8362         * docs/gst/gstreamer-sections.txt:
8363           more doc cleanups
8364
8365 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8366
8367         * docs/gst/gstreamer-sections.txt:
8368         * docs/gst/tmpl/gstelement.sgml:
8369         * docs/gst/tmpl/gstplugin.sgml:
8370         * gst/gstminiobject.c:
8371         * gst/gstvalue.h:
8372           docs now stop throwing warnings
8373
8374 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8375
8376         * docs/gst/gstreamer-sections.txt:
8377         * docs/gst/gstreamer.types:
8378         * docs/gst/tmpl/gstpad.sgml:
8379         * docs/gst/tmpl/gsttypes.sgml:
8380         * gst/base/gstadapter.h:
8381         * gst/base/gstbasesink.h:
8382         * gst/base/gstbasesrc.h:
8383         * gst/gstbin.h:
8384         * gst/gstbuffer.h:
8385         * gst/gstbus.h:
8386         * gst/gstcaps.h:
8387         * gst/gstclock.h:
8388         * gst/gstelement.h:
8389         * gst/gstevent.h:
8390         * gst/gstmessage.h:
8391         * gst/gstpad.h:
8392         * gst/gststructure.c:
8393         * gst/registries/gstlibxmlregistry.h:
8394           various documentation fixes
8395
8396 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8397
8398         * docs/gst/gstreamer-sections.txt:
8399         * docs/gst/tmpl/gstvalue.sgml:
8400           rearrange gstvalue section
8401         * gst/gstutils.c: (gst_element_state_get_name):
8402           NONE -> VOID
8403         * gst/gstvalue.c: (_gst_value_initialize):
8404         * gst/gstvalue.h:
8405           doc updates
8406
8407 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
8408
8409         * check/gst-libs/controller.c:
8410           Header include fix.
8411         * gst/base/gstbasetransform.c:
8412         (gst_base_transform_default_prepare_buf),
8413         (gst_base_transform_handle_buffer):
8414         * gst/base/gstbasetransform.h:
8415           Some more basetransform changes and fixes to enable sub-classes
8416           that modify buffer metadata only.
8417         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
8418         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
8419         (gst_capsfilter_prepare_buf):
8420           If the output pad has fixed allowed caps and input buffers 
8421           don't have any, set the fixed caps on outgoing buffers.
8422
8423 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
8424         * check/elements/identity.c: (GST_START_TEST):
8425           Make the error a little clearer when the test fails because
8426           identity made a copy of the buffer.
8427         * docs/gst/gstreamer-sections.txt:
8428           New symbols in gstbasetransform.h
8429         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8430         (gst_base_transform_init), (gst_base_transform_transform_size),
8431         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
8432         (gst_base_transform_default_prepare_buf),
8433         (gst_base_transform_get_unit_size),
8434         (gst_base_transform_buffer_alloc),
8435         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
8436         (gst_base_transform_change_state),
8437         (gst_base_transform_set_passthrough),
8438         (gst_base_transform_set_in_place),
8439         (gst_base_transform_is_in_place):
8440         * gst/base/gstbasetransform.h:
8441           Change BaseTransform to separate in_place operate from same_caps
8442           output. in_place implies that the element can perform the transform
8443           on incoming buffers in-place, even if the caps on the output are
8444           different.
8445           Sub-class elements can now implement special buffer allocation
8446           methods for outgoing buffers if they wish to.
8447           Big documentation addition.
8448         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
8449         * gst/elements/gstelements.c:
8450           Changes for basetransform modifications.
8451         * gst/elements/Makefile.am:
8452         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
8453           Compile fix. Extra debug output.
8454
8455 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8456
8457         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
8458         (gst_pad_suite):
8459           add tests for valid pad naming
8460         * gst/check/gstcheck.c: (gst_check_log_message_func),
8461         (gst_check_log_critical_func):
8462           add ASSERT_WARNING
8463           remove printing of code, it is fragile when the code contains
8464           % and the line number is enough info
8465         * gst/check/gstcheck.h:
8466         * gst/gstpad.c: (gst_pad_template_new):
8467           fix memleaks
8468
8469 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8470
8471         * configure.ac:
8472           say what CHECK flags we use
8473         * docs/libs/gstreamer-libs.types:
8474         * libs/gst/controller/Makefile.am:
8475         * libs/gst/controller/gst-controller.c:
8476         * libs/gst/controller/gst-controller.h:
8477         * libs/gst/controller/gst-helper.c:
8478         * libs/gst/controller/gst-interpolation.c:
8479         * libs/gst/controller/gstcontroller.c:
8480         * libs/gst/controller/gsthelper.c:
8481         * libs/gst/controller/gstinterpolation.c:
8482         * tools/gst-inspect.c: (print_plugin_info):
8483           we don't use dashes in header names
8484
8485 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
8486
8487         * check/Makefile.am:
8488         * check/gst/.cvsignore:
8489         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
8490         (gst_pipeline_suite), (main):
8491           adding a test for pipelines and state changes
8492         * gst/gstutils.c: (get_state_func):
8493           add some debugging
8494         * gstreamer.spec.in:
8495           fix up spec file
8496
8497 2005-09-08  Michael Smith <msmith@fluendo.com>
8498
8499         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
8500         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
8501         (gst_file_src_is_seekable), (gst_file_src_get_size),
8502         (gst_file_src_start):
8503         * gst/elements/gstfilesrc.h:
8504           Various fixes for unseekable, unmmapable, and non-normal files, so
8505           that fallback to read() rather than mmap() works.
8506         * gst/gstevent.c: (gst_event_new_newsegment):
8507           Allow newsegment events with segment_start == segment_end, as will
8508           correctly happen if you use filesrc on a zero-size file, for
8509           example.
8510
8511 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
8512
8513         * gst/gstplugin.c: (gst_plugin_load_file):
8514           Call g_module_close when we don't load the module
8515
8516         * gst/registries/gstlibxmlregistry.c:
8517         (gst_xml_registry_get_property):
8518           Port leak fix from 0.8
8519
8520 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8521
8522         * docs/gst/gstreamer-docs.sgml:
8523         * docs/gst/tmpl/.cvsignore:
8524         * docs/gst/tmpl/gsttrace.sgml:
8525         * docs/gst/tmpl/gsttrashstack.sgml:
8526         * gst/Makefile.am:
8527         * gst/gst.h:
8528         * gst/gstelement.h:
8529         * gst/gstevent.h:
8530         * gst/gstmessage.c:
8531         * gst/gstmessage.h:
8532         * gst/gsttag.c:
8533         * gst/gsttag.h:
8534         * gst/gsttaginterface.c:
8535         * gst/gsttaginterface.h:
8536         * gst/gsttaglist.c:
8537         * gst/gsttaglist.h:
8538         * gst/gsttagsetter.c:
8539         * gst/gsttagsetter.h:
8540         * gst/gsttrace.c:
8541         * gst/gsttrace.h:
8542         * gst/gsttrashstack.c:
8543           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
8544           inlined docs for gsttrace, gsttrashstack
8545
8546 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8547
8548         * gst/Makefile.am:
8549         * gst/elements/gstbufferstore.h:
8550         * gst/elements/gsttypefindelement.c:
8551         * gst/elements/gsttypefindelement.h:
8552         * gst/gst.h:
8553         * gst/gsttypefind.c:
8554         * gst/gsttypefind.h:
8555         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
8556         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
8557         (gst_type_find_factory_dispose),
8558         (gst_type_find_factory_unload_thyself),
8559         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
8560         (gst_type_find_factory_get_caps),
8561         (gst_type_find_factory_get_extensions),
8562         (gst_type_find_factory_call_function):
8563         * gst/gsttypefindfactory.h:
8564         * gst/registries/gstlibxmlregistry.c:
8565         * gst/registries/gstxmlregistry.c:
8566           splitted gsttypefind into gsttypefind, gsttypefindfactory
8567
8568 2005-09-07  Andy Wingo  <wingo@pobox.com>
8569
8570         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
8571         condition whereby the pad's task function is entered before the
8572         pad_mode variable was set.
8573
8574 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
8575
8576         * gst/gstpad.c: (gst_pad_alloc_buffer):
8577           Catch misbehaving pad_alloc functions that don't
8578           set up caps and do it for them.
8579
8580 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
8581
8582         * check/pipelines/simple_launch_lines.c: (run_pipeline):
8583           test for pipe!=NULL
8584         * docs/gst/tmpl/.cvsignore:
8585         * docs/gst/tmpl/gstmemchunk.sgml:
8586         * docs/gst/tmpl/gstparse.sgml:
8587         * docs/gst/tmpl/gsttaglist.sgml:
8588         * docs/gst/tmpl/gsttagsetter.sgml:
8589         * docs/gst/tmpl/gsttypefind.sgml:
8590         * docs/gst/tmpl/gsttypefindfactory.sgml:
8591         * gst/gstmemchunk.c:
8592         * gst/gstparse.c:
8593         * gst/gsttag.c:
8594         * gst/gsttaginterface.c:
8595         * gst/gsttypefind.c:
8596         * gst/gsttypefind.h:
8597           inlined more docs
8598
8599 === release 0.9.2 ===
8600
8601 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8602
8603         * NEWS:
8604         * RELEASE:
8605         * configure.ac:
8606           releasing 0.9.2, "South"
8607
8608 2005-09-05  Andy Wingo  <wingo@pobox.com>
8609
8610         * gst/registries/gstxmlregistry.h:
8611         * gst/registries/gstxmlregistry.c: Um... resurrect...
8612         
8613         * gst/registries/gstxmlregistry.h:
8614         * gst/registries/gstxmlregistry.c: and update to newer API.
8615         Incidentally they should be a bit faster now that they don't have
8616         to parse the caps.
8617         
8618 2005-09-05  Andy Wingo  <wingo@pobox.com>
8619
8620         * gst/registries/gstxmlregistry.h:
8621         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
8622         replaced by the libxml registry a while back
8623
8624 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8625
8626         * docs/gst/tmpl/gstplugin.sgml:
8627         * gst/elements/gstelements.c:
8628         * gst/gst.c:
8629         * gst/gstplugin.c: (gst_plugin_register_func),
8630         (gst_plugin_desc_copy), (gst_plugin_desc_free),
8631         (gst_plugin_get_source):
8632         * gst/gstplugin.h:
8633         * gst/registries/gstlibxmlregistry.c: (load_plugin),
8634         (gst_xml_registry_save_plugin):
8635         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
8636         (gst_xml_registry_save_plugin):
8637         * tools/gst-inspect.c: (print_plugin_info):
8638           add a "source" plugin description field, to represent the source
8639           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
8640           will set it to PACKAGE, which is automake's idea of the name of
8641           the source project.
8642
8643 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
8644
8645         * Makefile.am:
8646         * autogen.sh:
8647         * configure.ac:
8648         * docs/Makefile.am:
8649         * docs/faq/Makefile.am:
8650         * docs/gst/tmpl/gstelement.sgml:
8651         * docs/gst/tmpl/gsttypes.sgml:
8652         * docs/htmlinstall.mak:
8653         * docs/manual/Makefile.am:
8654         * docs/pwg/Makefile.am:
8655           reorganize doc build a little
8656           split out docbook and gtk-doc stuff
8657           have two separate --enable's and enable them through autogen
8658           but disable by default in configure (to be similar to other
8659           projects)
8660         * gstreamer.spec.in:
8661           clean up docs install
8662         * po/af.po:
8663         * po/az.po:
8664         * po/ca.po:
8665         * po/cs.po:
8666         * po/de.po:
8667         * po/en_GB.po:
8668         * po/fr.po:
8669         * po/it.po:
8670         * po/nb.po:
8671         * po/nl.po:
8672         * po/ru.po:
8673         * po/sq.po:
8674         * po/sr.po:
8675         * po/sv.po:
8676         * po/tr.po:
8677         * po/uk.po:
8678         * po/vi.po:
8679           translation updates
8680
8681 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
8682
8683         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
8684           Add comment.
8685           
8686         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
8687         (gst_fake_sink_change_state):
8688           Make state change function thread-safe.
8689           
8690         * gst/gstpad.c: (gst_pad_alloc_buffer):
8691           Set offset on generic buffer allocated by fallback.
8692
8693 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
8694
8695         * docs/gst/gstreamer-sections.txt:
8696         * docs/gst/tmpl/gstelement.sgml:
8697         * gst/gstpad.c:
8698         * libs/gst/controller/gst-controller.c:
8699         (gst_controlled_property_set_interpolation_mode),
8700         (gst_controlled_property_new),
8701         (gst_controller_find_controlled_property):
8702          run the wingo-magic script against the docs
8703
8704 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
8705
8706         * docs/gst/gstreamer-docs.sgml:
8707         * docs/gst/gstreamer-sections.txt:
8708         * docs/gst/tmpl/.cvsignore:
8709         * docs/gst/tmpl/gstelementdetails.sgml:
8710         * docs/gst/tmpl/gstelementfactory.sgml:
8711         * gst/gst.c:
8712         * gst/gstbus.c:
8713         * gst/gstelementfactory.c:
8714         * gst/gstelementfactory.h:
8715           merged elementdetails docs into elementfactory docs
8716           inlined both
8717
8718 2005-09-02  Andy Wingo  <wingo@pobox.com>
8719
8720         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
8721         consider this enum an enum and not a flags.
8722
8723 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
8724
8725         * docs/gst/gstreamer-docs.sgml:
8726         * docs/gst/tmpl/.cvsignore:
8727         * docs/gst/tmpl/gstghostpad.sgml:
8728         * docs/gst/tmpl/gstiterator.sgml:
8729         * docs/gst/tmpl/gstmacros.sgml:
8730         * docs/gst/tmpl/gstrealpad.sgml:
8731         * docs/gst/tmpl/gstregistry.sgml:
8732         * docs/gst/tmpl/gstregistrypool.sgml:
8733         * docs/gst/tmpl/gststructure.sgml:
8734         * docs/gst/tmpl/gstsystemclock.sgml:
8735         * docs/gst/tmpl/gsttrace.sgml:
8736         * gst/gstghostpad.c:
8737         * gst/gstmacros.h:
8738         * gst/gstmemchunk.c:
8739         * gst/gstmemchunk.h:
8740         * gst/gstqueue.c:
8741         * gst/gstregistry.c:
8742         * gst/gstregistrypool.c:
8743         * gst/gststructure.c:
8744         * gst/gstsystemclock.c:
8745           more docs inlined
8746
8747 2005-09-02  Andy Wingo  <wingo@pobox.com>
8748
8749         * gst/gstelement.h (GstState): Renamed from GstElementState,
8750         changed to be a normal enum instead of flags.
8751         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
8752         munged to be GST_STATE_CHANGE_*.
8753         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
8754         work with the new state representation.
8755         (GstStateChange): New enumeration of possible state transitions.
8756         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
8757         (GstElementClass::change_state): Pass the GstStateChange along as
8758         an argument. Helps language bindings, so they don't have to use
8759         tricky lock-needing macros like GST_STATE_CHANGE ().
8760
8761         * scripts/update-states (file): New script. Run it on a file to
8762         update it for state naming and API changes. Updates files in
8763         place.
8764
8765         * All files updated for the new API.
8766
8767 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
8768
8769         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
8770         * gst/gstutils.c: (gst_util_set_value_from_string),
8771         (gst_util_set_object_arg):
8772           fix a bunch of unchecked return values
8773         * tools/gst-complete.c: (main):
8774         * gstreamer.spec.in:
8775           clean up a little
8776
8777 2005-09-01  Wim Taymans  <wim@fluendo.com>
8778
8779         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8780         (gst_base_sink_event), (gst_base_sink_do_sync),
8781         (gst_base_sink_handle_event):
8782         * gst/base/gstbasesink.h:
8783         Handle newsegments more correctly.
8784
8785         * gst/gstbus.c:
8786         Fix docs.
8787
8788         * gst/gstevent.c: (gst_event_new_newsegment):
8789         A newsegment cannot have a start_time of -1
8790
8791 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
8792
8793         * win32/gstenumtypes.c:
8794         * win32/gstenumtypes.h:
8795           Update
8796
8797 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8798
8799         * libs/gst/controller/gst-controller.c:
8800         (gst_controlled_property_set_interpolation_mode),
8801         (gst_controlled_property_new):
8802          fixed boolean again
8803
8804 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
8805
8806         * docs/faq/gst-uninstalled:
8807           add -good
8808         * gst/gstevent.c:
8809         * gst/gstevent.h:
8810           remove wrong docs
8811         * gst/gstutils.c: (gst_element_link_filtered):
8812         * gst/gstutils.h:
8813           add gst_element_link_filtered
8814
8815 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8816
8817         * docs/gst/gstreamer-docs.sgml:
8818         * docs/gst/gstreamer-sections.txt:
8819         * docs/gst/tmpl/.cvsignore:
8820         * docs/gst/tmpl/gsterror.sgml:
8821         * docs/gst/tmpl/gstfilter.sgml:
8822         * docs/gst/tmpl/gsturihandler.sgml:
8823         * docs/gst/tmpl/gsturitype.sgml:
8824         * docs/gst/tmpl/gstutils.sgml:
8825         * docs/gst/tmpl/gstxml.sgml:
8826         * gst/gsterror.c:
8827         * gst/gsterror.h:
8828         * gst/gstfilter.c:
8829         * gst/gsturi.c:
8830         * gst/gsturitype.c:
8831         * gst/gstutils.c:
8832         * gst/gstxml.c:
8833           inlined more docs, fixed double id-ref
8834
8835 2005-08-31  Wim Taymans  <wim@fluendo.com>
8836
8837         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8838         (gst_base_transform_handle_buffer):
8839         Passthrough elements don't need the caps as they don't care.
8840
8841 2005-08-31  Wim Taymans  <wim@fluendo.com>
8842
8843         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
8844         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
8845         Don't leak refcounts on buffers.
8846
8847 2005-08-31  Wim Taymans  <wim@fluendo.com>
8848
8849         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
8850         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
8851         (gst_base_transform_chain), (gst_base_transform_change_state):
8852         * gst/base/gstbasetransform.h:
8853         Handle the case where we are not negotiated more gracefully.
8854
8855 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
8856
8857         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
8858         (gst_file_src_map_region):
8859           Set READONLY flag on mmap'ed buffers, otherwise
8860           gst_buffer_make_writable() won't work properly (#314708).
8861
8862 2005-08-31  Wim Taymans  <wim@fluendo.com>
8863
8864         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
8865         passthrough elements can even do inplace on non writable
8866         buffers (as they don't touch them).
8867
8868 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
8869
8870         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
8871         (gst_test_mono_source_set_property),
8872         (gst_test_mono_source_class_init), (GST_START_TEST),
8873         (gst_controller_suite):
8874           more tests (hehe I have the most)
8875         * gst/gstbus.c:
8876           describe popping messages whenusing mulltiple sources
8877         * libs/gst/controller/gst-controller.c:
8878         (gst_controlled_property_set_interpolation_mode),
8879         (gst_controlled_property_new):
8880         * libs/gst/controller/gst-controller.h:
8881         * libs/gst/controller/gst-interpolation.c:
8882           implement boolean properties
8883
8884 2005-08-31  Wim Taymans  <wim@fluendo.com>
8885
8886         * gst/gstminiobject.c: (gst_mini_object_ref):
8887         Cannot assert that the refcount has to be positive
8888         since a disposed object can be resurrected.
8889
8890 2005-08-31  Wim Taymans  <wim@fluendo.com>
8891
8892         * gst/gstpad.c: (gst_pad_init):
8893         Revert change, need to first fix badly behaving 
8894         apps.
8895
8896 2005-08-30  Wim Taymans  <wim@fluendo.com>
8897
8898         * check/elements/fakesrc.c: (setup_fakesrc):
8899         * check/elements/identity.c: (setup_identity):
8900         Activate pads before using them.
8901
8902 2005-08-30  Wim Taymans  <wim@fluendo.com>
8903
8904         * gst/base/gstadapter.c: (gst_adapter_flush):
8905         Flushing out 0 bytes is ok for this function.
8906
8907         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8908         no newsegment gives a warning and sets the start/stop to 
8909         invalid.
8910
8911         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
8912         (gst_base_transform_set_passthrough):
8913         Some debug info.
8914
8915         * gst/gstminiobject.c: (gst_mini_object_ref):
8916         Check refcount here too.
8917
8918         * gst/gstpad.c: (gst_pad_init):
8919         Pads are initially flushing and refusing data.
8920
8921         * gst/gstutils.c: (gst_element_link_pads_filtered):
8922         When adding a capsfilter element make sure it has the
8923         same state as the parent bin.
8924
8925 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8926
8927         * docs/gst/tmpl/.cvsignore:
8928         * docs/gst/tmpl/gstformat.sgml:
8929         * docs/gst/tmpl/gstversion.sgml:
8930         * gst/gstbus.h:
8931         * gst/gstformat.c:
8932         * gst/gstformat.h:
8933         * gst/gstversion.h.in:
8934           more docs and two more inlined
8935
8936 2005-08-30  Wim Taymans  <wim@fluendo.com>
8937
8938         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
8939         Don't sync to clock.
8940
8941 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8942
8943         * docs/gst/gstreamer-sections.txt:
8944           ultral33t func10ns deserve to appear in the docs actually
8945         * docs/gst/tmpl/.cvsignore:
8946         * docs/gst/tmpl/gstcompat.sgml:
8947         * docs/gst/tmpl/gstconfig.sgml:
8948         * gst/check/gstcheck.c:
8949         * gst/gstcompat.h:
8950         * gst/gstconfig.h.in:
8951           inlined more docs
8952
8953 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8954
8955         * docs/gst/tmpl/.cvsignore:
8956         * docs/gst/tmpl/gstquery.sgml:
8957         * docs/gst/tmpl/gstutils.sgml:
8958         * gst/gstquery.c:
8959         * gst/gstquery.h:
8960           inlined and extended docs
8961
8962 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
8963
8964         * check/gst-libs/controller.c: (GST_START_TEST),
8965         (gst_controller_suite):
8966           more tests
8967         * docs/gst/tmpl/gstutils.sgml:
8968         * docs/libs/gstreamer-libs-sections.txt:
8969         * docs/libs/tmpl/gstdataprotocol.sgml:
8970           include path fixes
8971         * examples/controller/audio-example.c: (main):
8972           controller example works now
8973         * gst/gstclock.h:
8974           doc fixes
8975         * tools/gst-inspect.c: (print_element_properties_info):
8976           show param spec flags
8977
8978 2005-08-29  Andy Wingo  <wingo@pobox.com>
8979
8980         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
8981
8982 2005-08-28  Andy Wingo  <wingo@pobox.com>
8983
8984         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
8985         as having two arguments instead of just one. Allows superclasses
8986         to access information on subclasses -- see the terrible for() loop
8987         in gtype.c:g_type_create_instance for the reason why. All callers
8988         changed.
8989
8990 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
8991
8992         * docs/design/part-messages.txt:
8993           update info
8994         * docs/gst/tmpl/.cvsignore:
8995         * docs/gst/tmpl/gstcaps.sgml:
8996         * docs/gst/tmpl/gstclock.sgml:
8997         * gst/gstbus.c:
8998         * gst/gstcaps.c:
8999         * gst/gstcaps.h:
9000         * gst/gstclock.c:
9001         * gst/gstclock.h:
9002         * gst/gstmessage.c:
9003           added descriptions for bus and message
9004           inline caps and clock docs
9005
9006 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
9007
9008         * gst/gstmessage.c:
9009         * gst/gstmessage.h:
9010           doc fixes
9011
9012 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
9013
9014         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
9015           fix div-by-zero
9016
9017 2005-08-26  Andy Wingo  <wingo@pobox.com>
9018
9019         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
9020         element_set_state's return val.
9021         (test_2_elements): Add test that's been disabled for months.
9022
9023         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
9024         can-activate-pull properties.
9025
9026         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
9027         can-activate-pull properties. Implement is_seekable so fakesrc can
9028         operate in pull mode.
9029
9030         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
9031         properties.
9032         (gst_base_sink_activate, gst_base_sink_activate_pull)
9033         (gst_base_sink_activate_push): Make activation mode choosing work.
9034         Cleanups.
9035         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
9036         is right. Make pull mode work. Post an eos before pausing in pull
9037         mode.
9038         (gst_base_sink_change_state): Pay attention to the core's
9039         change_state() return val.
9040         
9041         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
9042         has-getrange properties. Cleanups.
9043         
9044         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
9045         has_getrange and replace with can_activate_pull and
9046         can_activate_push.
9047
9048         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
9049         locking comments. Remove has_loop, has_chain and replace with
9050         can_activate_pull and can_activate_push.
9051
9052 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
9053
9054         * configure.ac:
9055         * examples/Makefile.am:
9056         * examples/metadata/Makefile.am:
9057         * examples/metadata/read-metadata.c: (message_loop),
9058         (have_pad_handler), (make_pipeline), (print_tag), (main):
9059           Add metadata reading example that loops over a list of filenames,
9060           dumping any tags found.
9061
9062         * gst/gstbus.c: (gst_bus_dispose):
9063         * gst/gstelement.c: (gst_element_dispose):
9064           Release a few potentially-held references in dispose.
9065
9066 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
9067
9068         * docs/gst/tmpl/gstminiobject.sgml:
9069           do *not* add tmpl/*.sgml files to CVS!
9070
9071 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
9072
9073         * libs/gst/bytestream/.cvsignore:
9074         * libs/gst/bytestream/Makefile.am:
9075         * libs/gst/bytestream/adapter.c:
9076         * libs/gst/bytestream/adapter.h:
9077         * libs/gst/bytestream/bytestream.c:
9078         * libs/gst/bytestream/bytestream.h:
9079         * libs/gst/bytestream/filepad.c:
9080         * libs/gst/bytestream/filepad.h:
9081           removing obsolete files
9082
9083 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
9084
9085         * docs/gst/gstreamer-docs.sgml:
9086         * docs/libs/gstreamer-libs-docs.sgml:
9087           disabed additional index entries again, as this makes docs-gen just
9088           slow and they aren't useful yet
9089         * docs/libs/gstreamer-libs-sections.txt:
9090           little -section.txt cleanup for libs
9091
9092 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9093
9094         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9095         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
9096           fix up some debugging
9097         (gst_base_transform_get_unit_size),
9098         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
9099         (gst_base_transform_handle_buffer):
9100         * gst/base/gstbasetransform.h:
9101           handle and store timed NEWSEGMENT events so that subclasses that
9102           calculate time by counting samples have a segment_start time they
9103           need to add to their timestamps - see audioresample
9104
9105 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
9106
9107         * gst/gstbin.h:
9108           removed ';' from the end of macro defs
9109         * docs/gst/gstreamer-docs.sgml:
9110         * docs/gst/gstreamer-sections.txt:
9111         * docs/gst/tmpl/.cvsignore:
9112         * gst/gstbus.h:
9113         * gst/gstelement.c: (gst_element_class_init),
9114         (gst_element_set_state), (activate_pads),
9115         (gst_element_save_thyself):
9116         * gst/gstevent.c: (gst_event_new_newsegment):
9117         * gst/gstevent.h:
9118         * gst/gstiterator.c:
9119         * gst/gstiterator.h:
9120         * gst/gstpad.c:
9121         * gst/gstprobe.h:
9122         * gst/gstutils.c: (gst_pad_query_convert):
9123         * gst/gstutils.h:
9124           fixed parameter name mismatches between source, header and docs
9125           added some more docs, resolved the last batch of unused elements in
9126           docs (now someone needs to doc them)
9127
9128 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9129
9130         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
9131         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
9132           don't walk through the plugins backwards.  Where is all this
9133           reversed logic coming from ?
9134
9135 2005-08-25  Wim Taymans  <wim@fluendo.com>
9136
9137         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9138         (gst_base_transform_transform_size),
9139         (gst_base_transform_configure_caps),
9140         (gst_base_transform_get_unit_size),
9141         (gst_base_transform_buffer_alloc),
9142         (gst_base_transform_change_state):
9143         * gst/base/gstbasetransform.h:
9144         Cache caps unit_size.
9145         Make sure we cannot negotiate up and downstream at the
9146         same time.
9147
9148 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9149
9150         * gst/gst.c: (init_pre), (init_post):
9151           register the installed plugin path after the env var
9152         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
9153         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
9154           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
9155           directories, so the tests can prefer uninstalled over installed
9156
9157 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
9158
9159         * gst/base/gstbasetransform.h:
9160           comment
9161         * gst/gstpad.c:
9162           add to docs
9163
9164 2005-08-25  Wim Taymans  <wim@fluendo.com>
9165
9166         * gst/gstbin.c: (bin_bus_handler):
9167         Be a bit more conservative about the posted message.
9168         
9169         * gst/gstbus.c: (gst_bus_post):
9170         Some cleanups, warn wrong return values.
9171
9172 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
9173
9174         * check/gst/gstbin.c: (GST_START_TEST):
9175         * gst/gstbin.c: (bin_bus_handler):
9176         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
9177         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
9178         (gst_message_new_warning), (gst_message_new_tag),
9179         (gst_message_new_state_changed), (gst_message_new_segment_start),
9180         (gst_message_new_segment_done), (gst_message_new_custom):
9181         * gst/gstmessage.h:
9182         * tools/gst-launch.c: (event_loop):
9183         * tools/gst-md5sum.c: (event_loop):
9184           Revert unpopular change for GST_MESSAGE_SRC to GObject.
9185
9186 2005-08-25  Wim Taymans  <wim@fluendo.com>
9187
9188         * check/generic/states.c: (GST_START_TEST):
9189         Cleanup can be done at the end.
9190
9191         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
9192         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
9193         (gst_task_get_state), (gst_task_start), (gst_task_pause):
9194         Oh boy.. Thanks for finding this, Thomas. 
9195
9196 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
9197
9198         * docs/gst/gstreamer.types:
9199           added missing types
9200
9201 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
9202
9203         * docs/gst/gstreamer-docs.sgml:
9204         * docs/gst/gstreamer-sections.txt:
9205         * docs/gst/tmpl/.cvsignore:
9206         * gst/gstbin.c:
9207         * gst/gstiterator.c:
9208         * gst/gstutils.c:
9209         * gst/registries/gstxmlregistry.h:
9210           added missing classes and symbols (123 more to go)
9211           removed removed symbols from section file
9212           fixed many doc-comments
9213
9214 2005-08-24  Wim Taymans  <wim@fluendo.com>
9215
9216         * check/generic/states.c: (GST_START_TEST):
9217         Make sure all tasks are stopped.
9218
9219         * check/gst/gstbin.c: (GST_START_TEST):
9220         Unref after usage for proper valgrinding.
9221
9222         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
9223         Really wait for the task to stop before destroying the
9224         mutex.
9225
9226         * gst/gstqueue.c: (gst_queue_sink_activate_push),
9227         (gst_queue_src_activate_push):
9228         Small cleanups. Don't stop the task when we did not start
9229         it.
9230
9231         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
9232         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
9233         (gst_task_get_state), (gst_task_start), (gst_task_pause),
9234         (gst_task_join):
9235         * gst/gsttask.h:
9236         Protect the stream lock with the object lock.
9237         Disallow setting the stream lock when running.
9238         Add cleanup_all to wait for the threadpool to finish.
9239         Remove code to autoallocate a mutex if none was provided.
9240         Add _join() to wait for a task to stop.
9241         Protect the thread pool with a global lock.
9242
9243 2005-08-24  Wim Taymans  <wim@fluendo.com>
9244
9245         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9246         (gst_base_sink_get_times), (gst_base_sink_do_sync),
9247         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
9248         * gst/base/gstbasesink.h:
9249         Handle newsegment events correctly.
9250         Drop buffers out of the segment range.
9251
9252 2005-08-22  Andy Wingo  <wingo@pobox.com>
9253
9254         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
9255         macro, implements an interface and gstimplementsinterface for a
9256         new type.
9257
9258 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9259
9260         * check/Makefile.am:
9261         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
9262           add a test that does a bunch of state changes on elements
9263           needs some fixing for valgrind
9264         * check/states/sinks.c: (gst_object_suite):
9265           whitespace
9266         * gst/gstcaps.h:
9267           add prototype for gst_caps_is_equal_fixed
9268         * gst/gstplugin.c:
9269         * gst/gstregistrypool.c:
9270           doc fixes
9271
9272 2005-08-24  Andy Wingo  <wingo@pobox.com>
9273
9274         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
9275         convert a negative value. Doesn't make much sense. Mostly this is
9276         here to force callers to ensure -1 maps to -1.
9277
9278 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
9279
9280         * docs/pwg/advanced-types.xml:
9281           Well done to Michael for catching my deliberate introduction
9282           of this spelling mistake. 
9283         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
9284         * gst/gstelement.h:
9285           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
9286           unlink pads before removing the element from the bin.
9287
9288 2005-08-24  Andy Wingo  <wingo@pobox.com>
9289
9290         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
9291         the same thing as GST_DEBUG=*:4.
9292         (parse_debug_level, parse_debug_category): New helper parsers.
9293
9294 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9295
9296         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9297         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
9298         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
9299         (gst_base_transform_buffer_alloc),
9300         (gst_base_transform_handle_buffer):
9301           use gboolean return values and pointers to size so we can use the
9302           full GST_BUFFER_SIZE range (guint) for buffer sizes
9303           use GstPadDirection for transform_caps
9304         * gst/base/gstbasetransform.h:
9305           rename get_size to get_unit_size since that's what it is
9306         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
9307           use GstPadDirection for transform_caps
9308         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
9309         * gst/gstutils.h:
9310           cleanup and debugging
9311
9312 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
9313
9314         * gst/gstelement.c: (gst_element_class_init),
9315         (gst_element_set_state), (activate_pads),
9316         (gst_element_save_thyself):
9317         * tools/gst-compprep.c: (main):
9318         * tools/gst-inspect.c: (print_element_properties_info):
9319         * tools/gst-xmlinspect.c: (print_element_properties):
9320           Fixed long standing mem-leak
9321
9322 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
9323
9324         * check/gst/gstbin.c: (GST_START_TEST):
9325         * gst/gstbin.c: (bin_bus_handler):
9326         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
9327         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
9328         (gst_message_new_warning), (gst_message_new_tag),
9329         (gst_message_new_state_changed), (gst_message_new_segment_start),
9330         (gst_message_new_segment_done), (gst_message_new_custom):
9331         * gst/gstmessage.h:
9332         * tools/gst-launch.c: (event_loop):
9333         * tools/gst-md5sum.c: (event_loop):
9334           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
9335           that applications can sensibly post custom messages with references
9336           to their own objects.
9337
9338 2005-08-24  Andy Wingo  <wingo@pobox.com>
9339
9340         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
9341         already.
9342
9343 2005-08-24  Wim Taymans  <wim@fluendo.com>
9344
9345         * gst/base/gstbasetransform.c: (gst_base_transform_init),
9346         (gst_base_transform_transform_caps),
9347         (gst_base_transform_transform_size),
9348         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
9349         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
9350         (gst_base_transform_handle_buffer):
9351         * gst/base/gstbasetransform.h:
9352         Many fixes and new features added by Thomas. Can now also do
9353         transforms with variable sizes and a custom fixate_caps function.
9354
9355 2005-08-24  Wim Taymans  <wim@fluendo.com>
9356
9357         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
9358         Some debugging.
9359
9360         * gst/gstclock.h:
9361         Cast to ClockTime before formatting to time.
9362
9363         * gst/gstutils.h:
9364         Cleanups.
9365
9366 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
9367
9368         * check/gst-libs/controller.c: (GST_START_TEST),
9369         (gst_controller_suite):
9370         * docs/gst/tmpl/gstcaps.sgml:
9371         * docs/gst/tmpl/gstghostpad.sgml:
9372         * docs/gst/tmpl/gstquery.sgml:
9373         * docs/gst/tmpl/gstutils.sgml:
9374         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
9375         (gst_object_sink_values), (gst_object_get_value_arrays),
9376         (gst_object_get_value_array):
9377           gracefully handle helper method calls to objects that are not beeing
9378           controlled, added test case for that          
9379
9380 2005-08-23  Wim Taymans  <wim@fluendo.com>
9381
9382         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
9383         (gst_event_new_newsegment), (gst_event_parse_newsegment),
9384         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
9385         (gst_event_parse_qos), (gst_event_new_seek),
9386         (gst_event_parse_seek):
9387         * gst/gstevent.h:
9388         Some more debugging output and doc cleanups.
9389
9390         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9391         Fix possible deadlock.
9392
9393 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
9394
9395         * docs/gst/gstreamer-docs.sgml:
9396         * docs/gst/gstreamer-sections.txt:
9397         * docs/gst/gstreamer.types:
9398         * docs/gst/tmpl/.cvsignore:
9399         * gst/gstbin.h:
9400         * gst/gstbus.c:
9401         * gst/gstelement.c:
9402         * gst/gstevent.h:
9403           added 100 symbols from gstreamer-unused.txt to the right sections
9404           fixed more broken comments
9405           added GstBus to docs
9406
9407 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
9408
9409         * docs/gst/gstreamer-sections.txt:
9410         * docs/gst/tmpl/.cvsignore:
9411         * docs/gst/tmpl/gstbin.sgml:
9412         * docs/gst/tmpl/gstbuffer.sgml:
9413         * gst/base/gstbasesrc.c:
9414         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
9415         * gst/gstbuffer.c:
9416         * gst/gstbuffer.h:
9417         * tools/gst-launch.1.in:
9418           inlined more doc comments, added missing comments and fixed comments
9419           fixed typos
9420
9421 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
9422
9423         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
9424           some debugging
9425         * gst/gstcaps.h:
9426           whitespace fixes
9427         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
9428           more debugging
9429         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
9430         * gst/gststructure.h:
9431           add a fixate function for booleans; add a FIXME that these func
9432           names should probably be gst_structure_fixate_*
9433
9434 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
9435
9436         * docs/gst/gstreamer-docs.sgml:
9437         * docs/gst/gstreamer-sections.txt:
9438         * gst/Makefile.am:
9439         * gst/gstbin.c: (gst_bin_get_type),
9440         (gst_bin_child_proxy_get_child_by_index),
9441         (gst_bin_child_proxy_get_children_count),
9442         (gst_bin_child_proxy_init):
9443         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
9444         (gst_child_proxy_get_child_by_index),
9445         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
9446         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
9447         (gst_child_proxy_get), (gst_child_proxy_set_property),
9448         (gst_child_proxy_set_valist), (gst_child_proxy_set),
9449         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
9450         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
9451         * gst/gstchildproxy.h:
9452         * gst/parse/grammar.y:
9453         * tools/gst-inspect.c: (print_interfaces),
9454         (print_element_properties_info), (print_element_info):
9455           ported gstchildproxy over from 0.8
9456           ported gst-inspect fixes and enhancements over from 0.8
9457
9458 2005-08-22  Wim Taymans  <wim@fluendo.com>
9459
9460         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
9461         (gst_base_transform_handle_buffer):
9462         Also call the transform function if we have ANY caps.
9463
9464         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
9465         Fix debug info.
9466
9467 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
9468
9469         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
9470           Don't pretend to handle seek events if the source is not seekable
9471
9472 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
9473
9474         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9475           Remove extra parameter to debug output
9476
9477         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9478         (gst_base_src_do_seek), (gst_base_src_activate_push):
9479           Fix seek event handling.
9480
9481         * gst/gstpipeline.c: (gst_pipeline_change_state):
9482         * gst/gstqueue.c: (gst_queue_handle_sink_event),
9483         (gst_queue_src_activate_push):
9484           Don't start the src pad task on FLUSH_STOP if the pad
9485           isn't linked.
9486           Debug changes.
9487
9488 2005-08-22  Wim Taymans  <wim@fluendo.com>
9489
9490         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
9491         Added check for gst_static_caps_get() refcounting.
9492
9493 2005-08-22  Wim Taymans  <wim@fluendo.com>
9494
9495         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
9496         Make _static_caps_get() refcounting sane.
9497         
9498         * gst/gstelement.c: (gst_element_set_state):
9499         Add g_return_val_if_fail() to protect against segfaults.
9500
9501 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
9502
9503         * docs/gst/tmpl/gstevent.sgml:
9504         * gst/gstevent.c:
9505         * gst/gstevent.h:
9506           inlined remaining docs, added missing doc comments
9507
9508 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
9509
9510         * check/gst/gstbin.c: (GST_START_TEST):
9511           since we don't know when preroll is done, use refcount range
9512           check for the sink
9513         * gst/check/gstcheck.h:
9514           add macro for checking refcount range
9515
9516 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9517
9518         * check/Makefile.am:
9519           clean up environment for when registry gets built versus
9520           when actual tests are run; valgrind seems to not report
9521           leaks if GST_PLUGIN_PATH is set to some specific values
9522         * check/gst/gstbin.c: (GST_START_TEST):
9523           add more refcounting checks; maybe this exposes a
9524           preroll lock bug ?
9525         * common/check.mak:
9526         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9527         * gst/check/gstcheck.h:
9528         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
9529         (gst_bin_change_state):
9530         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
9531           add/fix debugging/whitespace
9532
9533 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
9534
9535         * check/gst/gstevent.c: (event_probe), (test_event),
9536         (GST_START_TEST):
9537          Er, don't call gst_bin_watch_for_state_change you idiot.
9538
9539 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
9540
9541         * check/Makefile.am:
9542           Use CHECK_CFLAGS and CHECK_LIBS
9543         * check/gst/gstevent.c: (event_probe), (test_event),
9544         (GST_START_TEST):
9545           Don't leak events.
9546         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
9547         (gst_base_src_start), (gst_base_src_stop),
9548         (gst_base_src_activate_push), (gst_base_src_activate_pull),
9549         (gst_base_src_change_state):
9550           Sprinkle gst_base_src_stop liberally around error paths to fix
9551           problems reusing a source after failed state changes.
9552         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9553         (helper_find_suggest), (gst_type_find_helper):
9554           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
9555         * gst/gstevent.h:
9556         * docs/gst/tmpl/gstevent.sgml:
9557           Migrate part of the docs from the SGML file. Wait for ensonic to
9558           tell me how I did it wrong ;)
9559         * tools/gst-typefind.c: (main):
9560           Extra robustness to state changes between files.
9561
9562 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9563
9564         * check/Makefile.am:
9565           don't valgrind the controller test - it's leaking - Stefan, HELP
9566         * gst/check/gstcheck.c: (gst_check_message_error),
9567         (gst_check_chain_func), (gst_check_setup_element),
9568         (gst_check_teardown_element), (gst_check_setup_src_pad),
9569         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
9570         (gst_check_teardown_sink_pad):
9571         * gst/check/gstcheck.h:
9572           add a bunch of methods to set up elements, and src and sink pads
9573         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
9574         * check/elements/identity.c: (setup_identity), (cleanup_identity),
9575         (GST_START_TEST):
9576           use them
9577         * gst/gstmessage.c:
9578         * gst/gsttag.h:
9579           whitespace/doc fixes
9580
9581 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9582
9583         * gst/gstelement.h:
9584           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
9585           be handled by the application and not always printed as well
9586
9587 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9588
9589         * check/Makefile.am:
9590           set GST_TOOLS_DIR
9591         * gst/check/gstcheck.c: (gst_check_message_error):
9592         * gst/check/gstcheck.h:
9593           add a fail_unless_equals_int
9594           add fail_unless for error messages
9595
9596 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9597
9598         * check/Makefile.am:
9599         * check/gst.supp:
9600         * common/Makefile.am:
9601         * common/check.mak:
9602         * common/gst.supp:
9603           factor out some of the common stuff so we can use it
9604
9605 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9606
9607         * check/Makefile.am:
9608         * check/gst/gstiterator.c: (GST_START_TEST):
9609         * check/gst/gstsystemclock.c: (GST_START_TEST),
9610         (gst_systemclock_suite):
9611         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
9612         * gst/gstclock.c:
9613           valgrind more tests
9614
9615 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9616
9617         * check/elements/.cvsignore:
9618         * check/elements/gstfakesrc.c:
9619           rename to name of element
9620         * check/elements/identity.c: (chain_func), (event_func),
9621         (setup_identity), (cleanup_identity), (GST_START_TEST),
9622         (identity_suite), (main):
9623           add a test for identity
9624         * check/Makefile.am:
9625         * pkgconfig/Makefile.am:
9626         * pkgconfig/gstreamer-check.pc.in:
9627         * pkgconfig/gstreamer-check-uninstalled.pc.in:
9628         * gst/check:
9629         * gst/Makefile.am:
9630         * configure.ac:
9631           move the check stuff to a library that gets installed
9632         * check/gst-libs/controller.c: (GST_START_TEST):
9633         * check/gst-libs/gdp.c:
9634         * check/gst/gst.c: (GST_START_TEST):
9635         * check/gst/gstbin.c:
9636         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9637         * check/gst/gstbus.c:
9638         * check/gst/gstcaps.c: (GST_START_TEST):
9639         * check/gst/gstelement.c:
9640         * check/gst/gstghostpad.c:
9641         * check/gst/gstiterator.c:
9642         * check/gst/gstmessage.c:
9643         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
9644         * check/gst/gstobject.c:
9645         * check/gst/gstpad.c: (GST_START_TEST):
9646         * check/gst/gststructure.c: (GST_START_TEST):
9647         * check/gst/gstsystemclock.c: (GST_START_TEST),
9648         (gst_systemclock_suite):
9649         * check/gst/gsttag.c: (gst_tag_suite):
9650         * check/gst/gstvalue.c:
9651         * check/pipelines/cleanup.c:
9652         * check/pipelines/simple_launch_lines.c:
9653         * check/states/sinks.c:
9654           change include statement
9655
9656         * docs/gst/gstreamer-sections.txt:
9657         * docs/gst/tmpl/gstpad.sgml:
9658           document more pad stuff
9659         * gst/gstminiobject.c: (gst_mini_object_ref),
9660         (gst_mini_object_unref):
9661           debug refcounting
9662
9663 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
9664
9665         * docs/gst/tmpl/gst.sgml:
9666         * gst/gst.c:
9667           eliminate another tmpl file, fix spelling in the long-description
9668
9669 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9670
9671         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9672         (test_event), (timediff), (gstevents_suite):
9673           Should fix build on 64-bit arch's
9674
9675 2005-08-18  Andy Wingo  <wingo@pobox.com>
9676
9677         Make sure that when a pipeline goes to PLAYING, that data has
9678         actually hit the sink.
9679
9680         * check/states/sinks.c (test_sink): A sink that doesn't get any
9681         data shouldn't return SUCCESS for going to either PLAYING or
9682         PAUSED. Test also the return values on the way back down.
9683
9684         * gst/gstelement.c (gst_element_set_state): When changing the
9685         state of an element currently changing state asynchronously, go to
9686         lost-state after commiting the pending state. Makes future calls
9687         to get_state continue to return ASYNC.
9688
9689         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
9690         ASYNC when going to PLAYING if we still don't have preroll, as can
9691         happen with live sources.
9692
9693 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9694
9695         * docs/pwg/advanced-types.xml:
9696           Hack long paragraph into 2 chunks as a workaround for buggy
9697           jadetex version in sid and breezy that loops infinitely and
9698           eats all RAM.
9699
9700 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9701
9702         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9703         (test_event), (timediff), (gstevents_suite):
9704           Provide more error margin in clock measurements to allow for 
9705           g_get_current_time inaccuracies.
9706
9707 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9708
9709         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9710         (test_event), (timediff), (gstevents_suite):
9711            Fix error message output so I might be able to tell why the
9712            test works here but fails on the build farm.
9713
9714 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
9715
9716         * check/Makefile.am:
9717         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
9718         (test_event), (timediff), (gstevents_suite), (main):
9719           I wrote a test!
9720
9721         * docs/design/part-seeking.txt:
9722           Spelling correction
9723
9724         * docs/gst/tmpl/gstevent.sgml:
9725         * docs/gst/tmpl/gstfakesrc.sgml:
9726           Docs updates.
9727
9728         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
9729           Treat a buffer-without-newsegment the same as a receiving 
9730           a newsegment not in time format, and disable syncing to the clock
9731           with a warning.
9732
9733         * gst/gstbus.c: (gst_bus_set_sync_handler):
9734           Assert if anyone tries to replace the existing sync_handler for bus, 
9735           as only the owner should be setting it.
9736
9737         * gst/gstevent.h:
9738           Have a fixed set of custom event enums with events identified by
9739           their structure name (as in 0.8), rather than a free-for-all
9740           allowing collisions between enum values from different plugins.
9741
9742         * gst/gstpad.c: (gst_pad_class_init):
9743           Docs change.
9744           
9745         * gst/gstqueue.c: (gst_queue_handle_sink_event):
9746           Handle out-of-band downstream events from the sending thread.
9747
9748 2005-08-17  Andy Wingo  <wingo@pobox.com>
9749
9750         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
9751         play-timeout==0 to mean no timeout at all. In that case, don't
9752         bother with a get_state or a warning, just return directly, even
9753         if it's ASYNC.
9754
9755         * gst/base/gstbasetransform.c: Debug changes.
9756
9757         * gst/gstutils.h:
9758         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
9759         ensure bins post state change messages. A bit of a hack but I can't
9760         think of a way to avoid it.
9761
9762         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
9763
9764 2005-08-16  Andy Wingo  <wingo@pobox.com>
9765
9766         * gst/base/gstadapter.h:
9767         * gst/base/gstadapter.c (gst_adapter_take): New function, like
9768         peek() but you own the data. Not terribly efficient atm.
9769
9770 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9771
9772         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
9773         (gst_element_found_tags):
9774         * gst/gstutils.h:
9775           Add two utility functions for tag handling.
9776
9777 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9778
9779         * docs/manual/advanced-dataaccess.xml:
9780         * docs/manual/basics-helloworld.xml:
9781           Fix docs to use _bin_add() before _link(), which fixes the examples
9782           with recent core versions (reported by Madhan Raj M
9783           <raj_madan@rediffmail.com>, #313199).
9784
9785 2005-08-16  Wim Taymans  <wim@fluendo.com>
9786
9787         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
9788         Added subtract checks.
9789
9790         * docs/design/part-events.txt:
9791         Some more docs about newsegment
9792
9793         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
9794         Fix FIXME
9795
9796         * gst/gstcaps.c: (gst_caps_to_string):
9797         Add comments, cleanups.
9798         
9799         * gst/gstelement.c: (gst_element_save_thyself):
9800         cleanups
9801         
9802         * gst/gstvalue.c: (gst_value_collect_int_range),
9803         (gst_string_unwrap), (gst_value_union_int_int_range),
9804         (gst_value_union_int_range_int_range),
9805         (gst_value_intersect_int_int_range),
9806         (gst_value_intersect_int_range_int_range),
9807         (gst_value_intersect_double_double_range),
9808         (gst_value_intersect_double_range_double_range),
9809         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
9810         (gst_value_subtract_int_range_int),
9811         (gst_value_subtract_double_range_double),
9812         (gst_value_subtract_double_range_double_range),
9813         (gst_value_subtract_from_list), (gst_value_subtract_list),
9814         (gst_value_can_compare), (gst_value_compare_fraction):
9815         Cleanups, add comments, remove unneeded asserts.
9816
9817 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9818
9819         * tools/gst-launch.c: (event_loop):
9820           don't convert NULL structures to strings
9821
9822 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
9823
9824         * docs/gst/gstreamer-sections.txt:
9825           made some defines private
9826         * docs/gst/tmpl/gstconfig.sgml:
9827         * docs/gst/tmpl/gstqueue.sgml:
9828         * docs/gst/tmpl/gsttaglist.sgml:
9829         * docs/gst/tmpl/gsttypes.sgml:
9830         * docs/gst/tmpl/gstutils.sgml:
9831         * docs/pwg/appendix-porting.xml:
9832         * gst/base/gstbasesink.h:
9833         * gst/base/gstbasesrc.c:
9834         * gst/base/gstbasesrc.h:
9835         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
9836         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
9837         * gst/gstelement.c: (gst_element_class_init):
9838         * gst/gstpad.c: (gst_pad_class_init):
9839         * gst/gstqueue.c: (gst_queue_class_init):
9840         * gst/gstxml.c: (gst_xml_class_init):
9841           documented all undocumented signal inline
9842         * libs/gst/controller/gst-controller.h:
9843           added padding
9844
9845 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9846
9847         * docs/pwg/appendix-porting.xml:
9848           Document _set_link_function -> _set_setcaps_function.
9849
9850 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
9851
9852         * check/Makefile.am:
9853           add a .check target for running the check
9854         * check/gst-libs/controller.c: (GST_START_TEST):
9855           cosmetic fixups
9856         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9857           complete checks for gstbuffer; would be nice if I could get the
9858           gcov stuff to work so I can see if I actually completed gstbuffer.c
9859         * check/gstcheck.h:
9860           add ASSERT_BUFFER_REFCOUNT
9861
9862 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
9863
9864         * docs/gst/gstreamer-sections.txt:
9865         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
9866         * gst/gsttag.h:
9867           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
9868           spew out a warning if a tag that is already registered
9869           is re-registered, unless it is re-registered with a 
9870           different type (#308438).
9871
9872 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
9873
9874         * docs/pwg/appendix-porting.xml:
9875         * docs/pwg/building-state.xml:
9876           Add some paragraphs about state changes in 0.9 to the PWG
9877           and the porting guide, in particular about the new meaning
9878           of GST_STATE_PAUSED and how to write state change functions
9879           with concurrent access by multiple threads in mind.
9880
9881 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
9882
9883         * docs/gst/gstreamer-docs.sgml:
9884         * docs/libs/gstreamer-libs-docs.sgml:
9885           added deprecation and since indexes
9886         * libs/gst/controller/gst-controller.c:
9887         * libs/gst/controller/gst-helper.c:
9888           added since tags
9889
9890
9891 2005-08-11  Wim Taymans  <wim@fluendo.com>
9892
9893         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
9894         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
9895         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
9896         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
9897         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
9898         (gst_ghost_pad_set_target):
9899         Actually implement (re)setting the target on a ghostpad
9900         as described in the docs.
9901
9902 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
9903
9904         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
9905           Check whether GST_DEBUG_NO_COLOR environment variable is
9906           set and disable coloured debug output if that is the case.
9907
9908 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
9909
9910         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9911         (gst_type_find_helper):
9912           The memory returned by gst_type_find_peek() needs to
9913           stay valid until the end of a typefind function, and
9914           typefind functions may keep results from different 
9915           offsets around, so we can't just unref the buffer from
9916           the previous _peek(), but have to save all buffers 
9917           returned by _peek() until typefinding is done and only
9918           free them then.
9919
9920 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
9921
9922         * docs/gst/gstreamer-sections.txt:
9923         * gst/gstutils.h:
9924           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
9925
9926 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9927
9928         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
9929           Fix a pretty good memleak.
9930
9931 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
9932
9933         * gst/gstiterator.h:
9934           Fix wrong include and 'make distcheck'.
9935
9936 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9937
9938         * gst/gstbin.c: (bin_bus_handler):
9939           Use gst_element_post_message() instead.
9940
9941 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
9942
9943         * gst/base/gstadapter.h:
9944         * gst/base/gstbasesink.h:
9945         * gst/base/gstbasesrc.h:
9946         * gst/base/gstbasetransform.h:
9947         * gst/base/gstcollectpads.h:
9948         * gst/base/gstpushsrc.h:
9949         * gst/gstiterator.h:
9950           Add padding to our base elements' class and instance structs and
9951           to GstIterator (you will need to rebuild all plugins and apps!)
9952
9953 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9954
9955         * gst/gstbin.c: (bin_bus_handler):
9956           Make default message forwarding from child->bus to bin->bus
9957           threadsafe and make it not emit warnings if the parent has no bus.
9958
9959 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9960
9961         * gst/gstelement.c: (activate_pads):
9962           On paused->ready, set pad->caps to NULL, as is the documented
9963           behaviour in this state change. Fixes playback of series of
9964           media files when visualization is enabled in Totem.
9965
9966 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
9967
9968         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
9969           Allow NULL as filter-caps (which means "any").
9970
9971 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9972
9973         * docs/libs/gstreamer-libs-sections.txt:
9974         * libs/gst/controller/gst-controller.c:
9975         * libs/gst/controller/gst-controller.h:
9976         * libs/gst/controller/gst-helper.c:
9977           adding more entries to the docs and fix small doc-bugs
9978
9979 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
9980
9981         * docs/gst/gstreamer-docs.sgml:
9982         * docs/gst/gstreamer-sections.txt:
9983         * docs/gst/gstreamer.types:
9984         * docs/gst/tmpl/gstbasesink.sgml:
9985         * docs/gst/tmpl/gstbasesrc.sgml:
9986         * docs/gst/tmpl/gstbasetransform.sgml:
9987         * docs/gst/tmpl/gstfakesrc.sgml:
9988         * gst/base/gstcollectpads.c:
9989         * gst/base/gstcollectpads.h:
9990         * libs/gst/controller/gst-controller.c:
9991         * libs/gst/controller/gst-controller.h:
9992         * libs/gst/controller/gst-helper.c:
9993         * libs/gst/controller/gst-interpolation.c:
9994         * libs/gst/controller/lib.c:
9995           added long/short desc for controller docs
9996           added collectpads base class docs
9997           added correct includes to base-class docs
9998
9999 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
10000
10001         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
10002         (gst_test_mono_source_set_property),
10003         (gst_test_mono_source_class_init), (GST_START_TEST),
10004         (gst_controller_suite):
10005         * docs/gst/gstreamer-docs.sgml:
10006         * docs/gst/gstreamer-sections.txt:
10007         * docs/gst/gstreamer.types:
10008         * docs/libs/gstreamer-libs-docs.sgml:
10009         * docs/libs/gstreamer-libs-sections.txt:
10010         * gst/base/gstadapter.c:
10011         * libs/gst/controller/gst-controller.c:
10012         (gst_controlled_property_new), (gst_controlled_property_free),
10013         (gst_controller_new_valist),
10014         (gst_controller_remove_properties_valist),
10015         (gst_controller_sink_values), (_gst_controller_finalize):
10016         * libs/gst/controller/gst-controller.h:
10017         * libs/gst/controller/gst-helper.c:
10018         (gst_object_control_properties), (gst_object_uncontrol_properties),
10019         (gst_object_get_controller), (gst_object_set_controller),
10020         (gst_object_sink_values), (gst_object_get_value_arrays),
10021         (gst_object_get_value_array):
10022           more tests (and fixes) for the controller
10023           more docs for the controller
10024           integrated companies docs for the adapter 
10025
10026 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10027
10028         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
10029         (GST_START_TEST), (fakesrc_suite):
10030           add tests for sizetype
10031
10032 2005-08-04  Andy Wingo  <wingo@pobox.com>
10033
10034         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
10035         fixes buffer_alloc proxying among other things.
10036
10037         * gst/base/gstbasetransform.c:
10038         * gst/base/gstbasetransform.h:
10039         Revert patch to gstbasetransform from 7-28 removing
10040         delay_configure.
10041
10042         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
10043         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
10044         Semantics changed, should return not the size of the output buffer
10045         but the byte size of a buffer with a given caps.
10046
10047         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
10048         debug object.
10049         (gst_base_transform_configure_caps): Don't set out_size here: (in,
10050         out) are not the pad caps until setcaps finishes.
10051         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
10052         not-in-place case as well. Deal with changing from in-place to
10053         not-in-place within calling pad_alloc_buffer. Still a bit
10054         concerned about the overhead here...
10055
10056 2005-08-03  Andy Wingo  <wingo@pobox.com>
10057
10058         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
10059         fixating is an error.
10060
10061 2005-08-04  Edward Hervey  <edward@fluendo.com>
10062
10063         * gst/base/gstadapter.h: 
10064         Added gst_adapter_get_type() to the header
10065
10066 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
10067
10068         * check/Makefile.am:
10069         * check/gst-libs/controller.c:
10070         * libs/gst/controller/gst-controller.c:
10071         (gst_controller_new_valist):
10072           added check test suite for the controller
10073         * gst/base/gstpushsrc.c:
10074           fixed a doc typo
10075
10076 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
10077
10078         * docs/gst/Makefile.am:
10079         * docs/gst/gstreamer-docs.sgml:
10080         * docs/gst/gstreamer-sections.txt:
10081         * docs/gst/gstreamer.types:
10082         * docs/gst/tmpl/gstfakesrc.sgml:
10083         * gst/base/README:
10084         * gst/base/gstbasesink.c:
10085         * gst/base/gstbasesink.h:
10086         * gst/base/gstbasesrc.c:
10087         * gst/base/gstbasesrc.h:
10088         * gst/base/gstbasetransform.c:
10089         * gst/base/gstpushsrc.c:
10090         * gst/base/gstpushsrc.h:
10091           add short/long description docs to base classes
10092           add pushsrc to the docs
10093           remove consolidated doc fragments
10094
10095 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
10096
10097         * configure.ac:
10098         * docs/libs/Makefile.am:
10099         * docs/libs/gstreamer-libs-docs.sgml:
10100         * docs/libs/gstreamer-libs-sections.txt:
10101         * docs/libs/gstreamer-libs.types:
10102         * examples/Makefile.am:
10103         * examples/controller/.cvsignore:
10104         * examples/controller/Makefile.am:
10105         * examples/controller/audio-example.c: (main):
10106         * libs/gst/Makefile.am:
10107         * libs/gst/controller/.cvsignore:
10108         * libs/gst/controller/Makefile.am:
10109         * libs/gst/controller/gst-controller.c:
10110         (on_object_controlled_property_changed), (gst_timed_value_compare),
10111         (gst_timed_value_find),
10112         (gst_controlled_property_set_interpolation_mode),
10113         (gst_controlled_property_new), (gst_controlled_property_free),
10114         (gst_controller_find_controlled_property),
10115         (gst_controller_new_valist), (gst_controller_new),
10116         (gst_controller_remove_properties_valist),
10117         (gst_controller_remove_properties), (gst_controller_set),
10118         (gst_controller_set_from_list), (gst_controller_unset),
10119         (gst_controller_get), (gst_controller_get_all),
10120         (gst_controller_sink_values), (gst_controller_get_value_arrays),
10121         (gst_controller_get_value_array),
10122         (gst_controller_set_interpolation_mode),
10123         (_gst_controller_finalize), (_gst_controller_init),
10124         (_gst_controller_class_init), (gst_controller_get_type):
10125         * libs/gst/controller/gst-controller.h:
10126         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
10127         (g_object_uncontrol_properties), (g_object_get_controller),
10128         (g_object_set_controller), (g_object_sink_values),
10129         (g_object_get_value_arrays), (g_object_get_value_array):
10130         * libs/gst/controller/gst-interpolation.c:
10131         (gst_controlled_property_find_timed_value_node),
10132         (interpolate_none_get), (interpolate_trigger_get),
10133         (interpolate_trigger_get_value_array):
10134         * libs/gst/controller/lib.c: (gst_controller_init):
10135         * pkgconfig/Makefile.am:
10136         * pkgconfig/gstreamer-control-uninstalled.pc.in:
10137         * pkgconfig/gstreamer-control.pc.in:
10138         * testsuite/Makefile.am:
10139         * testsuite/controller/.cvsignore:
10140         * testsuite/controller/Makefile.am:
10141         * testsuite/controller/interpolator.c: (main):
10142           added controller code
10143           removed dparam pc files
10144
10145 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
10146         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
10147         (gst_collectpads_stop):
10148           Broadcast the condition when shutting down, to make sure we wake all
10149           threads up. Shut down pads on finalize, for safety.
10150
10151 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
10152         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10153         (gst_base_transform_handle_buffer),
10154         (gst_base_transform_change_state):
10155           Handle PAUSED->READY->PAUSED transition after negotiation
10156           occurred already.
10157         * gst/gstmessage.c: (gst_message_init):
10158           Extra piece of debug for new messages.
10159
10160 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
10161
10162         * configure.ac:
10163         * docs/gst/tmpl/gstbasesrc.sgml:
10164         * docs/gst/tmpl/gstelement.sgml:
10165         * docs/gst/tmpl/gstevent.sgml:
10166         * docs/gst/tmpl/gstfakesrc.sgml:
10167         * docs/gst/tmpl/gstformat.sgml:
10168         * docs/gst/tmpl/gstghostpad.sgml:
10169         * docs/gst/tmpl/gstpad.sgml:
10170         * docs/gst/tmpl/gstquery.sgml:
10171         * docs/gst/tmpl/gststructure.sgml:
10172         * docs/gst/tmpl/gsttaglist.sgml:
10173         * docs/gst/tmpl/gstvalue.sgml:
10174         * docs/libs/gstreamer-libs-docs.sgml:
10175         * docs/libs/gstreamer-libs-sections.txt:
10176         * docs/libs/gstreamer-libs.types:
10177         * libs/gst/Makefile.am:
10178         * libs/gst/control/.cvsignore:
10179         * libs/gst/control/Makefile.am:
10180         * libs/gst/control/control.c:
10181         * libs/gst/control/control.h:
10182         * libs/gst/control/dparam.c:
10183         * libs/gst/control/dparam.h:
10184         * libs/gst/control/dparam_smooth.c:
10185         * libs/gst/control/dparam_smooth.h:
10186         * libs/gst/control/dparamcommon.h:
10187         * libs/gst/control/dparammanager.c:
10188         * libs/gst/control/dparammanager.h:
10189         * libs/gst/control/dplinearinterp.c:
10190         * libs/gst/control/dplinearinterp.h:
10191         * libs/gst/control/unitconvert.c:
10192         * libs/gst/control/unitconvert.h:
10193         * testsuite/Makefile.am:
10194         * testsuite/dynparams/.cvsignore:
10195         * testsuite/dynparams/Makefile.am:
10196         * testsuite/dynparams/dparamstest.c:
10197         * tools/Makefile.am:
10198         * tools/gst-inspect.c: (print_element_info), (main):
10199         * tools/gst-xmlinspect.c: (print_element_info), (main):
10200           deactivate and remove dparams (libgstcontrol)
10201
10202 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
10203
10204         * gst/elements/gsttypefindelement.c:
10205         (gst_type_find_element_have_type), (gst_type_find_element_init),
10206         (stop_typefinding), (gst_type_find_element_handle_event),
10207         (gst_type_find_element_chain), (gst_type_find_element_getrange):
10208         * gst/elements/gsttypefindelement.h:
10209           Set caps on all outgoing buffers, not just the first one.
10210
10211 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
10212
10213         * gst/elements/gsttypefindelement.c:
10214         (gst_type_find_element_have_type),
10215         (gst_type_find_element_check_set_buffer_caps),
10216         (gst_type_find_element_init), (stop_typefinding),
10217         (gst_type_find_element_handle_event),
10218         (gst_type_find_element_chain), (gst_type_find_element_getrange):
10219         * gst/elements/gsttypefindelement.h:
10220           Set caps on first outgoing buffer when we've found the type.
10221
10222 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
10223
10224         * docs/gst/gstreamer-docs.sgml:
10225         * docs/gst/gstreamer-sections.txt:
10226         * docs/gst/tmpl/gstscheduler.sgml:
10227         * docs/gst/tmpl/gstschedulerfactory.sgml:
10228           Remove some old cruft from docs.
10229
10230 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
10231
10232         * gst/gstpad.h:
10233           Fix inline docs for GstPadLinkReturn.
10234           
10235         * gst/gststructure.c: (gst_structure_has_name):
10236         * gst/gststructure.h:
10237         * docs/gst/gstreamer-sections.txt:
10238           New API: gst_structure_has_name().
10239
10240 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
10241
10242         * configure.ac:
10243           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
10244           and _LARGEFILE_SOURCE in config.h as required. Do not 
10245           export those flags in our .pc files any longer (#142209).
10246
10247           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
10248
10249         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
10250         (gst_file_sink_do_seek), (gst_file_sink_event),
10251         (gst_file_sink_get_current_offset), (gst_file_sink_render):
10252           Redo seek/tell calls with large file support in mind; add some
10253           debugging messages; add log message that tells us when large
10254           file support is unavailable or not enabled for some reason.
10255
10256         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
10257           Add log message that tells us when large file support 
10258           is unavailable or not enabled for some reason.
10259
10260 2005-07-29  Wim Taymans  <wim@fluendo.com>
10261
10262         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
10263         Added test for removing an element with ghostpad from a bin.
10264         Fixed test as current implementation does the right thing.
10265
10266         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
10267         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
10268         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
10269         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
10270         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
10271         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
10272         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
10273         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10274         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
10275         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
10276         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
10277         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
10278         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
10279         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
10280         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
10281         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
10282         * gst/gstghostpad.h:
10283         Clean up ghostpads, remove properties for internal stuff.
10284         Make threadsafe.
10285         Fix refcounting.
10286         Prepare for switching targets, not all use cases work yet.
10287
10288 2005-07-29  Wim Taymans  <wim@fluendo.com>
10289
10290         * docs/design/part-gstghostpad.txt:
10291         Small update.
10292
10293         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
10294         (gst_bin_remove_func):
10295         Unlinking pads while holding the bin LOCK is not a good
10296         idea.
10297
10298         * gst/gstpad.c: (gst_pad_class_init),
10299         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
10300         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
10301         No prob setting template after creating the pad.
10302
10303 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
10304
10305         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
10306         (gst_bus_peek), (gst_bus_source_dispatch),
10307         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
10308         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
10309           gst_bus_poll may be called from other threads. Handle
10310           this nicely by not making poll_data disappear off the
10311           stack once gst_bus_poll returns.
10312           gst_bus_peek now increments the refcount on the returned
10313           message.
10314
10315 2005-07-29  Wim Taymans  <wim@fluendo.com>
10316
10317         * docs/design/part-gstghostpad.txt:
10318         Overview of current GhostPad datastructures and use
10319         cases for changing the target.
10320
10321 2005-07-28  Wim Taymans  <wim@fluendo.com>
10322
10323         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10324         Added checks for hierarchy consistency whan adding linked
10325         elements to bins.
10326
10327         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
10328         Added check to test element scheduling without bin/pipeline.
10329
10330         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
10331         First add elements to bin, then link.
10332         
10333         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
10334         (gst_bin_remove_func):
10335         Unlink pads from elements added/removed from bin to maintain
10336         hierarchy consistency.
10337
10338 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10339
10340         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
10341         (gst_base_transform_handle_buffer):
10342         * gst/base/gstbasetransform.h:
10343           Remove broken delay_configure (fixes renegotiation of software
10344           scaling pipelines); remove some leftover printf()s.
10345
10346 2005-07-28  Wim Taymans  <wim@fluendo.com>
10347
10348         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
10349         Added some more tests for wrong hierarchy
10350
10351         * docs/design/part-overview.txt:
10352         Some updates.
10353
10354         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
10355         Cleanups.
10356
10357         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
10358         (gst_element_dispose):
10359         Some more cleanups.
10360
10361         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
10362         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
10363         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10364         (gst_pad_set_caps), (gst_pad_send_event):
10365         Check for correct hierarchy when linking pads. Moving to
10366         strict requirement for ghostpads when linking elements in
10367         different bins.
10368
10369         * gst/gstpad.h:
10370         Clean ups. Added WRONG_HIERARCHY return value.
10371
10372 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10373
10374         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
10375           Better debug if no transform is possible.
10376
10377 2005-07-27  Wim Taymans  <wim@fluendo.com>
10378
10379         * docs/random/wtay/network-transp:
10380         Some old doc I had.
10381
10382 2005-07-27  Wim Taymans  <wim@fluendo.com>
10383
10384         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
10385         (gst_dp_event_from_packet):
10386         Fix serialization of seek events.
10387
10388 2005-07-27  Wim Taymans  <wim@fluendo.com>
10389
10390         * check/gst-libs/gdp.c: (GST_START_TEST):
10391         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
10392         Fix compilation and fix event serialization.
10393
10394 2005-07-27  Wim Taymans  <wim@fluendo.com>
10395
10396         * CHANGES-0.9:
10397         * docs/design/part-TODO.txt:
10398         * docs/design/part-events.txt:
10399         Some docs updates
10400
10401         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10402         (gst_base_sink_event), (gst_base_sink_do_sync),
10403         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
10404         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10405         (gst_base_src_do_seek), (gst_base_src_event_handler),
10406         (gst_base_src_loop):
10407         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10408         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10409         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
10410         (gst_base_transform_event), (gst_base_transform_handle_buffer),
10411         (gst_base_transform_set_passthrough),
10412         (gst_base_transform_is_passthrough):
10413         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
10414         * gst/elements/gstfilesink.c: (gst_file_sink_event):
10415         Event updates.
10416
10417         * gst/gstbuffer.h:
10418         Use faster casts.
10419
10420         * gst/gstelement.c: (gst_element_seek):
10421         * gst/gstelement.h:
10422         Update gst_element_seek.
10423
10424         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
10425         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
10426         (gst_event_new_flush_start), (gst_event_new_flush_stop),
10427         (gst_event_new_eos), (gst_event_new_newsegment),
10428         (gst_event_parse_newsegment), (gst_event_new_tag),
10429         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
10430         (gst_event_parse_qos), (gst_event_new_seek),
10431         (gst_event_parse_seek), (gst_event_new_navigation):
10432         * gst/gstevent.h:
10433         Make GstEvent use GstStructure. Add parsing code, make sure the
10434         API is sufficiently generic.
10435         Mark possible directions of events and serialization.
10436
10437         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
10438         (_gst_message_copy), (gst_message_new_segment_start),
10439         (gst_message_new_segment_done), (gst_message_new_custom),
10440         (gst_message_parse_segment_start),
10441         (gst_message_parse_segment_done):
10442         Small cleanups.
10443
10444         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10445         (gst_pad_set_caps), (gst_pad_send_event):
10446         Update for new events. 
10447         Catch events sent in wrong directions.
10448
10449         * gst/gstqueue.c: (gst_queue_link_src),
10450         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
10451         (gst_queue_handle_src_query):
10452         Event updates.
10453
10454         * gst/gsttag.c:
10455         * gst/gsttag.h:
10456         Remove event code from this file.
10457
10458         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
10459         (gst_dp_event_from_packet):
10460         Event updates.
10461
10462 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10463
10464         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
10465         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10466         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
10467           Make debugging actually useful.
10468
10469 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10470
10471         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
10472         (gst_pad_fixate_caps):
10473           Implement default fixation once again, so that gst_pad_fixate()
10474           actually does anything at all. This probably needs to be some
10475           sort of a last resort, and use profile-based fixation first, but
10476           since that doesn't exist yet, this is the best we have. Fixes
10477           visualization in Totem.
10478
10479 2005-07-22  Wim Taymans  <wim@fluendo.com>
10480
10481         * docs/design/part-events.txt:
10482         Small update.
10483
10484         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10485         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
10486         (gst_base_sink_activate_pull):
10487         Some more comments.
10488
10489         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
10490         (gst_fake_src_create):
10491         Fix handoff marshall.
10492
10493         * gst/elements/gstidentity.c: (gst_identity_class_init),
10494         (gst_identity_transform_ip):
10495         We're a real inplace element.
10496
10497         * gst/gstbus.c: (gst_bus_post):
10498         Added some comments.
10499
10500         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
10501         * tests/muxing/case1.c: (main):
10502         * tests/sched/dynamic-pipeline.c: (main):
10503         * tests/sched/interrupt1.c: (main):
10504         * tests/sched/interrupt2.c: (main):
10505         * tests/sched/interrupt3.c: (main):
10506         * tests/sched/runxml.c: (main):
10507         * tests/sched/sched-stress.c: (main):
10508         * tests/seeking/seeking1.c: (event_received), (main):
10509         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
10510         (main):
10511         * tests/threadstate/threadstate3.c: (main):
10512         * tests/threadstate/threadstate4.c: (main):
10513         * tests/threadstate/threadstate5.c: (main):
10514         Fix the tests.
10515
10516 2005-07-21  Wim Taymans  <wim@fluendo.com>
10517
10518         * docs/design/part-seeking.txt:
10519         Some small additions.
10520
10521         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10522         (gst_base_sink_get_times), (gst_base_sink_do_sync),
10523         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
10524         * gst/base/gstbasesink.h:
10525         discont values are gint64, handle the math correctly.
10526
10527         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10528         Make the basesrc report error if the source pad is not linked.
10529
10530         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
10531         (gst_queue_loop), (gst_queue_handle_src_query),
10532         (gst_queue_src_activate_push):
10533         Make queue collect data even if the srcpad is not linked.
10534         Start pushing out data as soon as it is linked.
10535
10536         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
10537         * gst/gstutils.h:
10538         Added gst_flow_get_name() to ease error reporting.
10539
10540 2005-07-20  Wim Taymans  <wim@fluendo.com>
10541
10542         * gst/gstmessage.c: (gst_message_new_segment_start),
10543         (gst_message_new_segment_done), (gst_message_parse_segment_start),
10544         (gst_message_parse_segment_done):
10545         * gst/gstmessage.h:
10546         Added a bunch of messages for advanced seeking.
10547
10548         * gst/parse/grammar.y:
10549         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
10550         (gst_dpman_state_changed):
10551         Fix some new-pad -> pad-added signals
10552
10553 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10554
10555         * docs/manual/appendix-porting.xml:
10556         * docs/pwg/appendix-porting.xml:
10557           Document new-pad/state-change signal renames and the FixedList
10558           type rename.
10559
10560 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10561
10562         * docs/manual/advanced-autoplugging.xml:
10563         * docs/manual/basics-helloworld.xml:
10564         * docs/manual/basics-pads.xml:
10565         * docs/random/ds/0.9-suggested-changes:
10566         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
10567         * gst/gstelement.h:
10568         * gst/gstevent.h:
10569         * gst/gstformat.h:
10570         * gst/gstquery.h:
10571         * gst/gststructure.c: (gst_structure_value_get_generic_type),
10572         (gst_structure_parse_array), (gst_structure_parse_value):
10573         * gst/gstvalue.c: (gst_type_is_fixed),
10574         (gst_value_list_prepend_value), (gst_value_list_append_value),
10575         (gst_value_list_get_size), (gst_value_list_get_value),
10576         (gst_value_transform_array_string), (gst_value_serialize_array),
10577         (gst_value_deserialize_array), (gst_value_intersect_array),
10578         (gst_value_is_fixed), (_gst_value_initialize):
10579         * gst/gstvalue.h:
10580           GstElement::new-pad -> pad-added, GstElement::state-change ->
10581           state-changed, GstValueFixedList -> GstValueArray, add format and
10582           flags as their own arguments in gst_element_seek() (should improve
10583           "bindeability"), remove function generators since they don't work
10584           under a whole bunch of compilers (they were deprecated already
10585           anyway).
10586
10587 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10588
10589         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10590         (_gst_debug_register_funcptr):
10591         * gst/gstinfo.h:
10592           Fix illegal cast on some platforms (#309253).
10593
10594 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10595
10596         * gst/gstmessage.c: (gst_message_new_custom):
10597         * gst/gstmessage.h:
10598           Add _new_custom, make _new_application a macro to _new_custom.
10599
10600 2005-07-20  Wim Taymans  <wim@fluendo.com>
10601
10602         * gst/base/gstbasesrc.c: (gst_base_src_init),
10603         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
10604         * gst/base/gstbasesrc.h:
10605         Add a gboolean to decide when to push out a discont.
10606
10607         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
10608         (gst_queue_loop), (gst_queue_handle_src_query),
10609         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
10610         (gst_queue_set_property), (gst_queue_get_property):
10611         Some cleanups.
10612
10613         * tests/threadstate/threadstate1.c: (main):
10614         Make a thread test compile and run... very silly..
10615
10616
10617 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10618
10619         * docs/manual/appendix-porting.xml:
10620           Mention removal of libgstgconf-0.9.la and existence of gconf
10621           elements.
10622
10623 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
10624
10625         * docs/pwg/advanced-clock.xml:
10626         * docs/pwg/appendix-porting.xml:
10627         * docs/pwg/intro-preface.xml:
10628         * docs/pwg/other-base.xml:
10629         * docs/pwg/other-manager.xml:
10630         * docs/pwg/other-nton.xml:
10631         * docs/pwg/other-ntoone.xml:
10632         * docs/pwg/other-oneton.xml:
10633         * docs/pwg/pwg.xml:
10634           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
10635           demuxer), remove n-to-n (was never written), fix some code examples
10636           and links and update the porting section to include all this.
10637
10638 2005-07-19  Wim Taymans  <wim@fluendo.com>
10639
10640         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
10641         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
10642         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
10643         (gst_queue_src_activate_push), (gst_queue_change_state),
10644         (gst_queue_get_property):
10645         * gst/gstqueue.h:
10646         Propagate GstFlowReturn more intelligently upstream and output
10647         an ERROR/EOS when streaming stopped due to fatal error.
10648
10649 2005-07-19  Wim Taymans  <wim@fluendo.com>
10650
10651         * tools/gst-launch.c: (check_intr), (event_loop), (main):
10652         Don't block forever for the state change to complete, the
10653         pipeline already did with a sensible timeout.
10654
10655 2005-07-19  Wim Taymans  <wim@fluendo.com>
10656
10657         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
10658         Make sure we never call the create function is we
10659         got deactivated.
10660
10661 2005-07-19  Andy Wingo  <wingo@pobox.com>
10662
10663         * gst/parse/parse.l: Attempt to solve bug #172815.
10664
10665 2005-07-19  Wim Taymans  <wim@fluendo.com>
10666
10667         * docs/design/part-clocks.txt:
10668         * docs/design/part-events.txt:
10669         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
10670         Small docs updates.
10671         Only update the seeking values when we are not
10672         busy streaming.
10673
10674 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
10675
10676         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10677           Oops, ignore the result of gst_pad_push_event here.
10678
10679 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
10680
10681         * gst/base/gstbasesrc.c: (gst_base_src_loop),
10682         (gst_base_src_activate_push):
10683           Send discont event from the loop function, as pads
10684           aren't activated yet in the activate_push handler.
10685
10686         * gst/gstbin.c: (bin_bus_handler):
10687           Don't leak element name.
10688
10689 2005-07-18  Andy Wingo  <wingo@pobox.com>
10690
10691         * configure.ac: Use AS_LIBTOOL_TAGS.
10692
10693 2005-07-18  Wim Taymans  <wim@fluendo.com>
10694
10695         * docs/gst/gstreamer.types:
10696         Remove deleted types.
10697
10698 2005-07-18  Wim Taymans  <wim@fluendo.com>
10699
10700         * check/elements/gstfakesrc.c: (GST_START_TEST):
10701         * configure.ac:
10702         * gst/Makefile.am:
10703         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
10704         (init_popt_callback):
10705         * gst/gst.h:
10706         * gst/gst_private.h:
10707         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
10708         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
10709         * gst/gstbin.h:
10710         * gst/gstbus.h:
10711         * gst/gstconfig.h.in:
10712         * gst/gstelement.c: (gst_element_class_init),
10713         (gst_element_set_base_time), (gst_element_get_base_time),
10714         (iterator_fold_with_resync), (gst_element_change_state),
10715         (gst_element_dispose), (gst_element_get_bus):
10716         * gst/gstelement.h:
10717         * gst/gstelementfactory.h:
10718         * gst/gsterror.c: (_gst_core_errors_init):
10719         * gst/gsterror.h:
10720         * gst/gstevent.h:
10721         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
10722         * gst/gstindex.c:
10723         * gst/gstinfo.c: (_gst_debug_init):
10724         * gst/gstmessage.c: (_gst_message_copy):
10725         * gst/gstmessage.h:
10726         * gst/gstminiobject.h:
10727         * gst/gstobject.c:
10728         * gst/gstobject.h:
10729         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10730         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
10731         * gst/gstpad.h:
10732         * gst/gstparse.h:
10733         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
10734         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
10735         (gst_pipeline_get_last_stream_time):
10736         * gst/gstpipeline.h:
10737         * gst/gstpluginfeature.h:
10738         * gst/gstquery.h:
10739         * gst/gstscheduler.c:
10740         * gst/gstscheduler.h:
10741         * gst/gststructure.h:
10742         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
10743         (gst_task_finalize), (gst_task_func), (gst_task_create),
10744         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
10745         (gst_task_stop), (gst_task_pause):
10746         * gst/gsttask.h:
10747         * gst/gsttypefind.h:
10748         * gst/gsttypes.h:
10749         * gst/registries/gstlibxmlregistry.c: (load_feature),
10750         (gst_xml_registry_load), (gst_xml_registry_save_feature):
10751         * gst/registries/gstxmlregistry.c:
10752         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
10753         * gst/schedulers/threadscheduler.c:
10754         * libs/gst/control/dparammanager.h:
10755         * tools/gst-inspect.c: (print_element_list),
10756         (print_plugin_features), (print_element_features):
10757         * tools/gst-xmlinspect.c: (print_element_list),
10758         (print_plugin_info), (main):
10759         Removed plugable schedulers.
10760         Removed Scheduler/Manager from elements.
10761         Removed gsttypes.h, rearranged includes.
10762         Removed dependency pad<->element, element<>pipeline, and
10763         various others,  fix includes.
10764         implement gst_pad_get_parent() with gst_object_get_parent()
10765         Make GstTask sefcontained.
10766         Fix _get_state() on GstBin, it did not return ASYNC with a 0
10767         timeout.
10768         Fix endless loop in iterator_fold_with_resync.
10769
10770
10771 2005-07-18  Wim Taymans  <wim@fluendo.com>
10772
10773         * gst/Makefile.am:
10774         * gst/gstarch.h:
10775         Remove old file.
10776
10777 2005-07-18  Wim Taymans  <wim@fluendo.com>
10778
10779         * gst/Makefile.am:
10780         No more cothreads.h
10781
10782 2005-07-18  Wim Taymans  <wim@fluendo.com>
10783
10784         * gst/cothreads.c:
10785         * gst/cothreads.h:
10786         Let's remove these.
10787
10788 2005-07-18  Wim Taymans  <wim@fluendo.com>
10789
10790         * docs/design/part-dynamic.txt:
10791         * docs/design/part-events.txt:
10792         * docs/design/part-seeking.txt:
10793         Some more docs in the works.
10794
10795         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
10796         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
10797         (gst_base_transform_setcaps), (gst_base_transform_get_size),
10798         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
10799         (gst_base_transform_handle_buffer),
10800         (gst_base_transform_sink_activate_push),
10801         (gst_base_transform_src_activate_pull),
10802         (gst_base_transform_set_passthrough),
10803         (gst_base_transform_is_passthrough):
10804         Refcounting fixes.
10805
10806         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
10807         Cleanups.
10808
10809         * gst/gstevent.c: (gst_event_finalize):
10810         Set SRC to NULL.
10811
10812         * gst/gstutils.c: (gst_element_unlink),
10813         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
10814         (gst_pad_proxy_setcaps):
10815         * gst/gstutils.h:
10816         Add _get_parent_element() to get a pads parent as an element.
10817
10818 2005-07-18  Wim Taymans  <wim@fluendo.com>
10819
10820         * check/gst/gstbin.c: (GST_START_TEST):
10821         Remove bogus test.
10822
10823 2005-07-18  Wim Taymans  <wim@fluendo.com>
10824
10825         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
10826         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
10827         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
10828         (gst_base_sink_event), (gst_base_sink_do_sync),
10829         (gst_base_sink_chain), (gst_base_sink_loop),
10830         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
10831         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
10832         Refcounting fixes.
10833         Fix logic for returning ASYNC when not prerolled.
10834
10835 2005-07-18  Wim Taymans  <wim@fluendo.com>
10836
10837         * gst/gstqueue.c: (gst_queue_handle_sink_event):
10838         Fix nasty refcount bug.
10839
10840 2005-07-16 Philippe Khalaf <burger@speedy.org>
10841
10842         * gst/elements/gstfdsrc.c:
10843         * gst/elements/gstfdsrc.h:
10844         * gst/elements/gstelements.c:
10845         * gst/elements/Makefile.am:
10846         Ported fdsrc to 0.9.
10847
10848 2005-07-16  Wim Taymans  <wim@fluendo.com>
10849
10850         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10851         (gst_base_sink_do_sync):
10852         Fix compile error.
10853
10854 2005-07-16  Wim Taymans  <wim@fluendo.com>
10855
10856         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10857         (gst_base_sink_event), (gst_base_sink_get_times),
10858         (gst_base_sink_do_sync), (gst_base_sink_change_state):
10859         * gst/base/gstbasesink.h:
10860         Store and use discont values when syncing buffers as described
10861         in design docs.
10862         
10863         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
10864         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
10865         (gst_base_src_activate_push):
10866         Push discont event when starting.
10867
10868         * gst/elements/gstidentity.c: (gst_identity_transform):
10869         Small cleanups.
10870
10871         * gst/gstbin.c: (gst_bin_change_state):
10872         Small cleanups in base_time  distribution.
10873
10874         * gst/gstelement.c: (gst_element_set_base_time),
10875         (gst_element_get_base_time), (gst_element_change_state):
10876         * gst/gstelement.h:
10877         Added methods for the base_time of the element.
10878         Some MT fixes.
10879
10880         * gst/gstpipeline.c: (gst_pipeline_send_event),
10881         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
10882         (gst_pipeline_get_last_stream_time):
10883         * gst/gstpipeline.h:
10884         MT fixes.
10885         Handle seeking as described in design doc, remove stream_time
10886         hack.
10887         Cleanups clock and stream_time selection code. Added accessors
10888         for the stream_time.
10889         
10890
10891 2005-07-16  Andy Wingo  <wingo@pobox.com>
10892
10893         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
10894         (#305291).
10895
10896 2005-07-16  Wim Taymans  <wim@fluendo.com>
10897
10898         * check/gst/gstbin.c: (GST_START_TEST):
10899         Make elements silent as the deep_notify refs the
10900         parent, which might make the test fail.
10901
10902         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
10903         Don't hold the lock for too long.
10904
10905 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
10906
10907         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
10908           Don't unref the caps we passed to gst_caps_make_writable() after
10909           passing them. gst_caps_make_writable() will do that for us.
10910
10911 2005-07-15  Andy Wingo  <wingo@pobox.com>
10912
10913         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
10914         (#157311).
10915
10916         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
10917         own marshalling function for the handoff signal. Properly type the
10918         buffer as a buffer. Fixes some warnings. Should do a more general
10919         solution.
10920         (gst_identity_class_init): Plug into the right marshaller.
10921
10922 2005-07-15  Wim Taymans  <wim@fluendo.com>
10923
10924         * docs/design/part-TODO.txt:
10925         * docs/design/part-clocks.txt:
10926         * docs/design/part-element-sink.txt:
10927         * docs/design/part-events.txt:
10928         * docs/design/part-gstpipeline.txt:
10929         Updated docs, mostly DISCONT related.
10930
10931 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
10932
10933         * docs/pwg/building-pads.xml:
10934           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
10935
10936 2005-07-15  Andy Wingo  <wingo@pobox.com>
10937
10938         * tools/gst-typefind.c: Update, add copyright block.
10939
10940         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
10941         Normalize and truncate caps before fixation.
10942
10943         * gst/gstcaps.h:
10944         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
10945         discards all but the first structure from its argument.
10946
10947 2005-07-15  Wim Taymans  <wim@fluendo.com>
10948
10949         * gst/base/gstbasetransform.c: (gst_base_transform_init),
10950         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
10951         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10952         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
10953         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
10954         (gst_base_transform_chain), (gst_base_transform_change_state),
10955         (gst_base_transform_set_passthrough),
10956         (gst_base_transform_is_passthrough):
10957         * gst/base/gstbasetransform.h:
10958         Make passthrough work using the bufferpools.
10959         Changed API a bit, subclasses have to write into a buffer
10960         provided by the base class.
10961         More debug info in nego functions.
10962         
10963         * gst/elements/gstidentity.c: (gst_identity_init),
10964         (gst_identity_transform):
10965         Port to new base class.
10966
10967 2005-07-15  Wim Taymans  <wim@fluendo.com>
10968
10969         * gst/gstmessage.c: (gst_message_new_state_changed):
10970         * tools/gst-launch.c: (event_loop), (main):
10971         Totally dump messages in -launch with the -m option.
10972         Fix message name for State messages,
10973
10974 2005-07-14  Wim Taymans  <wim@fluendo.com>
10975
10976         * gst/base/gstbasesrc.c: (gst_base_src_loop):
10977         Post error messages on errors.
10978
10979 2005-07-14  Wim Taymans  <wim@fluendo.com>
10980
10981         * gst/gstcaps.c: (gst_caps_do_simplify):
10982         Remove debug info.
10983
10984         * gst/gsterror.h:
10985         Define error for stream stopped.
10986
10987         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
10988         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
10989         Do proper return values.
10990
10991         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
10992         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
10993         (gst_pad_get_range):
10994         Better return values.
10995
10996         * gst/gstpad.h:
10997         Reorganise return values, add macro to check for fatal errors.
10998
10999         * gst/gstqueue.c: (gst_queue_chain):
11000         Return proper GstFlowReturn values,
11001
11002 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
11003
11004         * docs/gst/gstreamer-sections.txt:
11005         * docs/gst/gstreamer.types:
11006         * docs/gst/tmpl/gst.sgml:
11007         * docs/gst/tmpl/gstbasesink.sgml:
11008         * docs/gst/tmpl/gstbasesrc.sgml:
11009         * docs/gst/tmpl/gstbasetransform.sgml:
11010         * docs/gst/tmpl/gstbin.sgml:
11011         * docs/gst/tmpl/gstbuffer.sgml:
11012         * docs/gst/tmpl/gstcaps.sgml:
11013         * docs/gst/tmpl/gstclock.sgml:
11014         * docs/gst/tmpl/gstcompat.sgml:
11015         * docs/gst/tmpl/gstconfig.sgml:
11016         * docs/gst/tmpl/gstelement.sgml:
11017         * docs/gst/tmpl/gstelementdetails.sgml:
11018         * docs/gst/tmpl/gstelementfactory.sgml:
11019         * docs/gst/tmpl/gstenumtypes.sgml:
11020         * docs/gst/tmpl/gsterror.sgml:
11021         * docs/gst/tmpl/gstevent.sgml:
11022         * docs/gst/tmpl/gstfakesink.sgml:
11023         * docs/gst/tmpl/gstfakesrc.sgml:
11024         * docs/gst/tmpl/gstfilesink.sgml:
11025         * docs/gst/tmpl/gstfilesrc.sgml:
11026         * docs/gst/tmpl/gstfilter.sgml:
11027         * docs/gst/tmpl/gstformat.sgml:
11028         * docs/gst/tmpl/gstghostpad.sgml:
11029         * docs/gst/tmpl/gstimplementsinterface.sgml:
11030         * docs/gst/tmpl/gstindex.sgml:
11031         * docs/gst/tmpl/gstindexfactory.sgml:
11032         * docs/gst/tmpl/gstinfo.sgml:
11033         * docs/gst/tmpl/gstiterator.sgml:
11034         * docs/gst/tmpl/gstmacros.sgml:
11035         * docs/gst/tmpl/gstmemchunk.sgml:
11036         * docs/gst/tmpl/gstminiobject.sgml:
11037         * docs/gst/tmpl/gstobject.sgml:
11038         * docs/gst/tmpl/gstpad.sgml:
11039         * docs/gst/tmpl/gstpadtemplate.sgml:
11040         * docs/gst/tmpl/gstparse.sgml:
11041         * docs/gst/tmpl/gstpipeline.sgml:
11042         * docs/gst/tmpl/gstplugin.sgml:
11043         * docs/gst/tmpl/gstpluginfeature.sgml:
11044         * docs/gst/tmpl/gstquery.sgml:
11045         * docs/gst/tmpl/gstqueue.sgml:
11046         * docs/gst/tmpl/gstregistry.sgml:
11047         * docs/gst/tmpl/gstregistrypool.sgml:
11048         * docs/gst/tmpl/gstscheduler.sgml:
11049         * docs/gst/tmpl/gstschedulerfactory.sgml:
11050         * docs/gst/tmpl/gststructure.sgml:
11051         * docs/gst/tmpl/gstsystemclock.sgml:
11052         * docs/gst/tmpl/gsttaglist.sgml:
11053         * docs/gst/tmpl/gsttagsetter.sgml:
11054         * docs/gst/tmpl/gsttrace.sgml:
11055         * docs/gst/tmpl/gsttrashstack.sgml:
11056         * docs/gst/tmpl/gsttypefind.sgml:
11057         * docs/gst/tmpl/gsttypefindfactory.sgml:
11058         * docs/gst/tmpl/gsttypes.sgml:
11059         * docs/gst/tmpl/gsturihandler.sgml:
11060         * docs/gst/tmpl/gsturitype.sgml:
11061         * docs/gst/tmpl/gstutils.sgml:
11062         * docs/gst/tmpl/gstvalue.sgml:
11063         * docs/gst/tmpl/gstversion.sgml:
11064         * docs/gst/tmpl/gstxml.sgml:
11065         * docs/libs/tmpl/gstcontrol.sgml:
11066         * docs/libs/tmpl/gstdataprotocol.sgml:
11067         * docs/libs/tmpl/gstdparam.sgml:
11068         * docs/libs/tmpl/gstdplinint.sgml:
11069         * docs/libs/tmpl/gstdpman.sgml:
11070         * docs/libs/tmpl/gstdpsmooth.sgml:
11071         * docs/libs/tmpl/gstgetbits.sgml:
11072         * docs/libs/tmpl/gstunitconvert.sgml:
11073         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
11074         (gst_push_src_base_init), (gst_push_src_class_init),
11075         (gst_push_src_init), (gst_push_src_create):
11076         * gst/base/gstpushsrc.h:
11077         * gst/elements/gstelements.c:
11078         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
11079         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
11080         (gst_fake_sink_init), (gst_fake_sink_set_property),
11081         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
11082         (gst_fake_sink_event), (gst_fake_sink_preroll),
11083         (gst_fake_sink_render), (gst_fake_sink_change_state):
11084         * gst/elements/gstfakesink.h:
11085         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
11086         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
11087         (gst_fake_src_base_init), (gst_fake_src_class_init),
11088         (gst_fake_src_init), (gst_fake_src_event_handler),
11089         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
11090         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
11091         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
11092         (gst_fake_src_create_buffer), (gst_fake_src_create),
11093         (gst_fake_src_start), (gst_fake_src_stop):
11094         * gst/elements/gstfakesrc.h:
11095         * gst/elements/gstfilesink.c: (_do_init),
11096         (gst_file_sink_base_init), (gst_file_sink_class_init),
11097         (gst_file_sink_init), (gst_file_sink_dispose),
11098         (gst_file_sink_set_location), (gst_file_sink_set_property),
11099         (gst_file_sink_get_property), (gst_file_sink_open_file),
11100         (gst_file_sink_close_file), (gst_file_sink_query),
11101         (gst_file_sink_event), (gst_file_sink_render),
11102         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
11103         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
11104         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
11105         * gst/elements/gstfilesink.h:
11106         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
11107         (gst_file_src_class_init), (gst_file_src_init),
11108         (gst_file_src_finalize), (gst_file_src_set_location),
11109         (gst_file_src_set_property), (gst_file_src_get_property),
11110         (gst_file_src_map_region), (gst_file_src_map_small_region),
11111         (gst_file_src_create_mmap), (gst_file_src_create_read),
11112         (gst_file_src_create), (gst_file_src_is_seekable),
11113         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
11114         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
11115         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
11116         (gst_file_src_uri_handler_init):
11117         * gst/elements/gstfilesrc.h:
11118           more autistic cleanliness in functions/names/defines
11119
11120 2005-07-13  Andy Wingo  <wingo@pobox.com>
11121
11122         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
11123         source couldn't negotiate.
11124
11125         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
11126         connections again.
11127
11128         * gst/gstutils.h:
11129         * gst/gstutils.c (gst_element_link_pads_filtered): New old
11130         function. I am channeling Hades. Put your boots on suckers!!!
11131
11132 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11133
11134         * testsuite/caps/Makefile.am:
11135         * testsuite/caps/value_compare.c:
11136         * testsuite/caps/value_intersect.c:
11137         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11138           move two testsuite apps over to the check dir
11139
11140 2005-07-12  Wim Taymans  <wim@fluendo.com>
11141
11142         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
11143         Added more debug info in the negotiate process.
11144
11145         * gst/gstmessage.h:
11146         Prepare for segment playback.
11147
11148         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
11149         Better debugging.
11150
11151         * gst/gstutils.c:
11152         Some more docs.
11153
11154         * tools/gst-launch.c: (main):
11155         NULL pipeline on errors.
11156
11157 2005-07-12  Andy Wingo  <wingo@pobox.com>
11158
11159         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
11160         not it comes from a malloc region. Make sure our copy gets freed.
11161
11162 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11163
11164         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
11165         * check/gst/gstmessage.c: (GST_START_TEST):
11166         * check/gst/gststructure.c: (GST_START_TEST),
11167         (gst_structure_suite), (main):
11168           more testing
11169         * gst/gstelement.c: (gst_element_message_full):
11170           clean up GError and debug string now that they get copied
11171         * gst/gstmessage.c: (gst_message_new_error),
11172         (gst_message_new_warning), (gst_message_parse_error),
11173         (gst_message_parse_warning):
11174           use GST_TYPE_G_ERROR for structure_new, and take copies of
11175           arguments, so that we don't mess up refcounting
11176
11177 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11178
11179         * check/Makefile.am:
11180           add per-test valgrind targets
11181         * check/gst-libs/gdp.c: (GST_START_TEST),
11182         (gst_data_protocol_suite), (main):
11183           clean up
11184
11185 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11186
11187         * check/Makefile.am:
11188           instate more valgrindable tests
11189         * check/elements/gstfakesrc.c: (chain_func), (event_func),
11190         (GST_START_TEST), (fakesrc_suite):
11191         * check/gst/gstpad.c: (GST_START_TEST):
11192         * check/gst/gststructure.c: (GST_START_TEST):
11193           fix test leaks
11194         * docs/gst/tmpl/gstminiobject.sgml:
11195         * gst/gstpad.c: (gst_pad_finalize):
11196           fix the static mutex leak
11197
11198 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11199
11200         * check/Makefile.am:
11201           add two more tests for valgrinding
11202         * check/gst/gstvalue.c: (GST_START_TEST):
11203           test refcount of deserialized buffer, found a leak
11204         * docs/gst/gstreamer-docs.sgml:
11205         * docs/gst/gstreamer-sections.txt:
11206         * docs/gst/gstreamer.types:
11207         * docs/gst/tmpl/gstminiobject.sgml:
11208           add miniobject to docs
11209         * gst/gstminiobject.c:
11210           add some docs
11211         * gst/gstvalue.c: (gst_value_deserialize_buffer),
11212         (gst_string_unwrap):
11213           fix a hard-to-find invalid write for one of the tests
11214           fix a leak for deserialized buffers
11215
11216 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11217
11218         * docs/pwg/advanced-events.xml:
11219         * docs/pwg/advanced-request.xml:
11220         * docs/pwg/advanced-scheduling.xml:
11221         * docs/pwg/appendix-porting.xml:
11222         * docs/pwg/building-boiler.xml:
11223         * docs/pwg/intro-preface.xml:
11224         * docs/pwg/other-ntoone.xml:
11225           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
11226           of example code and explanation for pad activation, loop() and
11227           getrange() functions and a bit more. Remove old comments pointing
11228           to loop-functions.
11229         * examples/pwg/Makefile.am:
11230           Add loop/getrange examples.
11231
11232 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11233
11234         * configure.ac:
11235           check for valgrind binary + some fixes
11236         * check/gst.supp:
11237           valgrind suppressions for the tests
11238         * check/Makefile.am:
11239           add a valgrind: target that valgrinds the unit tests
11240         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
11241         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
11242         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11243         * check/gst/gstghostpad.c:
11244           added some cleanup
11245         * check/gst/gstdata.c:
11246           removed
11247         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
11248         (thread_unref), (gst_mini_object_suite), (main):
11249           added
11250         * gst/gst.c: (gst_deinit):
11251         * gst/gst.h:
11252           add a method to clean up.
11253         * gst/gstsystemclock.c: (gst_system_clock_dispose),
11254         (gst_system_clock_obtain):
11255           allow for disposing the system clock.
11256         * tools/gst-launch.c: (main):
11257           deinit
11258
11259 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11260
11261         * docs/gst/tmpl/gstbasesrc.sgml:
11262         * docs/gst/tmpl/gstfakesrc.sgml:
11263         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11264         (gst_base_src_init), (gst_base_src_set_property),
11265         (gst_base_src_get_property), (gst_base_src_get_range),
11266         (gst_base_src_start):
11267         * gst/base/gstbasesrc.h:
11268           add num-buffers property
11269         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11270         (gst_fakesrc_init), (gst_fakesrc_set_property),
11271         (gst_fakesrc_get_property), (gst_fakesrc_create),
11272         (gst_fakesrc_start):
11273           remove num-buffers property
11274
11275 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11276
11277         * docs/gst/gstreamer-sections.txt:
11278         * docs/gst/tmpl/gstbasesink.sgml:
11279         * docs/gst/tmpl/gstbasesrc.sgml:
11280         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
11281         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
11282         (gst_base_sink_finalize), (gst_base_sink_set_clock),
11283         (gst_base_sink_set_property), (gst_base_sink_get_property),
11284         (gst_base_sink_handle_object), (gst_base_sink_event),
11285         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
11286         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
11287         (gst_base_sink_loop), (gst_base_sink_deactivate),
11288         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
11289         (gst_base_sink_change_state):
11290         * gst/base/gstbasesink.h:
11291         * gst/base/gstbasesrc.h:
11292         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
11293         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
11294         (gst_filesink_init):
11295           more macro splitting
11296
11297 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11298
11299         * gst/gstelement.c: (gst_element_get_bus):
11300           add debug
11301         * tools/gst-launch.c: (check_intr), (event_loop):
11302           fix bus leaks
11303
11304 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11305
11306         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
11307           fix a caps leak
11308
11309 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11310
11311         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11312         (gst_base_src_finalize):
11313           add finalize method and clean up properly
11314         * gst/gstpipeline.c: (gst_pipeline_dispose):
11315           add debug
11316
11317 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11318
11319         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
11320         (gst_bin_suite):
11321           add more things to check
11322         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
11323         * gst/gstelement.c:
11324           more debug
11325
11326 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11327
11328         * check/elements/gstfakesrc.c: (chain_func), (event_func),
11329         (GST_START_TEST), (fakesrc_suite):
11330         * check/gst-libs/gdp.c: (GST_START_TEST):
11331         * check/gst/gst.c: (GST_START_TEST):
11332         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
11333         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
11334         * check/gst/gstbus.c: (GST_START_TEST):
11335         * check/gst/gstcaps.c: (GST_START_TEST):
11336         * check/gst/gstdata.c: (GST_START_TEST):
11337         * check/gst/gstelement.c: (GST_START_TEST):
11338         * check/gst/gstghostpad.c: (GST_START_TEST):
11339         * check/gst/gstiterator.c: (GST_START_TEST):
11340         * check/gst/gstmessage.c: (GST_START_TEST):
11341         * check/gst/gstobject.c: (GST_START_TEST):
11342         * check/gst/gstpad.c: (GST_START_TEST):
11343         * check/gst/gststructure.c: (GST_START_TEST):
11344         * check/gst/gstsystemclock.c: (GST_START_TEST),
11345         (gst_systemclock_suite):
11346         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11347         * check/gst/gstvalue.c: (GST_START_TEST):
11348         * check/pipelines/cleanup.c: (GST_START_TEST):
11349         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
11350         * check/states/sinks.c: (GST_START_TEST):
11351         * check/gstcheck.c: (gst_check_init):
11352         * check/gstcheck.h:
11353           add debugging category
11354           use GST_START_TEST now, so we add a debug line
11355
11356 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11357
11358         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
11359           add test for state change message on a bin
11360         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
11361           add another test
11362         * gst/gstbin.c: (gst_bin_init):
11363         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
11364         * gst/gstelement.c: (gst_element_post_message),
11365         (gst_element_set_state):
11366         * gst/gstelementfactory.c: (gst_element_factory_create):
11367         * gst/gstmessage.c: (gst_message_new):
11368         * gst/gstscheduler.c:
11369           various debugging additions and cleanups
11370
11371 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11372
11373         * check/Makefile.am:
11374         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
11375         (main):
11376           adding tests for elements
11377         * gst/gstelement.c: (gst_element_dispose):
11378
11379 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11380
11381         * gst/registries/gstlibxmlregistry.c: (load_feature):
11382           plug more leaks.  A simple gst_init() now is leakfree, yay.
11383
11384 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11385
11386         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
11387         (gst_xml_registry_load):
11388           plug another memleak
11389
11390 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11391
11392         * configure.ac:
11393           use GST_SET_ERROR_CFLAGS
11394         * docs/faq/cvs.xml:
11395           change to ERROR_CFLAGS
11396
11397 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11398
11399         * configure.ac:
11400           make GST_ERROR_CFLAGS overridable and re-enable Werror
11401         * docs/faq/cvs.xml:
11402           add a note about error CFLAGS
11403         * docs/gst/tmpl/gstfakesrc.sgml:
11404         * gst/elements/gstfakesrc.c:
11405           comment out some unused code
11406         * gst/gst.c: (split_and_iterate):
11407         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
11408         (load_feature):
11409           plug some memleaks
11410
11411 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11412
11413         * common/Makefile.am:
11414         * common/gtk-doc.mak:
11415         * docs/gst/Makefile.am:
11416           factor out gtk-doc.mak
11417
11418 2005-07-07  Wim Taymans  <wim@fluendo.com>
11419
11420         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
11421         (gst_thread_scheduler_dispose):
11422         Unlock the STREAM_LOCK completely.
11423
11424 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
11425
11426         * check/Makefile.am:
11427         * check/elements/.cvsignore:
11428         * check/elements/gstfakesrc.c: (chain_func), (event_func),
11429         (START_TEST), (fakesrc_suite), (main):
11430         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
11431         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
11432         (gst_fakesrc_create), (gst_fakesrc_start):
11433         * gst/elements/gstfakesrc.h:
11434           adding a first element test
11435
11436 2005-07-07  Andy Wingo  <wingo@pobox.com>
11437
11438         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
11439         debug message.
11440
11441 2005-07-07  Wim Taymans  <wim@fluendo.com>
11442
11443         * gst/gstquery.c:
11444         * gst/gstquery.h:
11445         Remove old types
11446
11447 2005-07-07  Wim Taymans  <wim@fluendo.com>
11448
11449         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
11450         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
11451         Allow subclasses to implement their own negotiation.
11452
11453 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
11454
11455         * docs/design/part-gstbin.txt:
11456         * docs/design/part-gstpipeline.txt:
11457           Update design notes to reflect the movement of
11458           responsibility for bus handling from GstPipeline to
11459           GstBin
11460
11461 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
11462
11463         * configure.ac:
11464           Remove unnecessary queue2/3/4 examples.
11465
11466 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
11467
11468         * examples/Makefile.am:
11469         * examples/helloworld/helloworld.c: (event_loop), (main):
11470         * examples/queue/queue.c: (event_loop), (main):
11471         * examples/queue2/queue2.c: (main):
11472           Update a couple of the examples to work again.
11473
11474         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11475         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
11476          Spelling corrections and extra debug.
11477         
11478         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
11479         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
11480         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
11481         * gst/gstbin.h:
11482         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
11483         (gst_pipeline_change_state):
11484         * gst/gstpipeline.h:
11485           Move the bus handler for children to the GstBin, and create a
11486           separate bus for receiving messages from children to the one the
11487           bus sends 'upwards' on.
11488
11489 2005-07-06  Wim Taymans  <wim@fluendo.com>
11490
11491         * gst/base/README:
11492         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11493         (gst_base_sink_handle_object), (gst_base_sink_loop),
11494         (gst_base_sink_change_state):
11495         * gst/base/gstbasesink.h:
11496         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
11497         (gst_base_src_init), (gst_base_src_setcaps),
11498         (gst_base_src_getcaps), (gst_base_src_loop),
11499         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
11500         (gst_base_src_start), (gst_base_src_change_state):
11501         * gst/base/gstbasesrc.h:
11502         Make basesrc negotiate.
11503         Handle the case where preroll fails in basesink.
11504         Update README.
11505
11506 2005-07-06  Wim Taymans  <wim@fluendo.com>
11507
11508         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
11509         Implement the fixate function.
11510         Clean up acceptcaps.
11511
11512 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11513
11514         * docs/pwg/building-filterfactory.xml:
11515         * docs/pwg/pwg.xml:
11516           Remove never-written filter-factory chapter; I'll add the various
11517           base classes to part 4 ("other element types") later on.
11518
11519 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11520
11521         * docs/pwg/advanced-negotiation.xml:
11522         * docs/pwg/building-boiler.xml:
11523         * docs/pwg/building-pads.xml:
11524         * docs/pwg/pwg.xml:
11525         * examples/pwg/Makefile.am:
11526           Add a chapter on caps negotiation, simplify the original code
11527           samples a bit w.r.t. caps negotiation, add link to the advanced
11528           section. Add a bunch of examples showing different use cases of
11529           different types of caps negotiation. Upstream renegotiation isn't
11530           fully documented yet since nobody knows how that works.
11531
11532 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11533
11534         * check/gst/gstpad.c:
11535         * check/gstcheck.c:
11536         * gst/gstpad.c: (gst_pad_get_internal_links_default):
11537           if pad has no parent, return NULL as list of internal links
11538
11539 2005-07-05  Andy Wingo  <wingo@pobox.com>
11540
11541         * gst/elements/gstfilesrc.c:
11542         * gst/elements/gstfakesrc.c: 
11543         * gst/base/gstpushsrc.c:
11544         * gst/base/gstbasesrc.h: 
11545         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
11546         
11547 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
11548
11549         * Makefile.am:
11550           better report generation target (lcov needs a patch)
11551
11552 2005-07-05  Andy Wingo  <wingo@pobox.com>
11553
11554         * gst/elements, testsuite: Null if we got it...
11555
11556 2005-07-05  Wim Taymans  <wim@fluendo.com>
11557
11558         * configure.ac:
11559         * libs/gst/dataprotocol/Makefile.am:
11560         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
11561         * libs/gst/dataprotocol/dataprotocol.h:
11562         * pkgconfig/Makefile.am:
11563         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
11564         * pkgconfig/gstreamer-dataprotocol.pc.in:
11565         Ported dataprotol to 0.9. 
11566         Added pkgconfig files.
11567
11568 2005-07-05  Andy Wingo  <wingo@pobox.com>
11569
11570         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
11571         Default to returning TRUE for the case when tranform_caps returns
11572         a fixed caps, like for identity or volume.
11573
11574         * check/gst/gstbus.c (pound_bus_with_messages): 
11575         * check/gst/gstmessage.c (START_TEST): 
11576         * check/pipelines/simple_launch_lines.c (got_handoff): Application
11577         message API change.
11578
11579         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
11580         logic weaks here: always run transform_caps, trying passthrough
11581         operation only if the original caps intersects with the transform.
11582
11583         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
11584         source and sink caps.
11585
11586         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
11587         Intersect the peer caps with the pad template before going into
11588         transform_caps.
11589         (gst_base_transform_transform_caps): More debugging.
11590
11591         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
11592         src argument.
11593
11594 2005-07-04  Edward Hervey  <edward@fluendo.com>
11595
11596         * gst/gstutils.c:
11597         * gst/gstutils.h:
11598         (gst_pad_add_*_probe): now returns the signal id for better wrapping
11599         in bindings.
11600
11601 2005-07-04  Andy Wingo  <wingo@pobox.com>
11602
11603         * check/gst/gstpad.c: Only set explicit caps on pads.
11604
11605 2005-07-01  Andy Wingo  <wingo@pobox.com>
11606
11607         * tests/network-clock.scm: Commentary update.
11608
11609         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
11610         Didn't really make sense, not implementable with basetransform,
11611         etc.
11612         (gst_identity_transform): Unref inbuf via make_writable. Feeble
11613         attempt at implementing the sync property, needs an unlock method.
11614
11615         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
11616         New func, by default returns the same caps (the identity
11617         transformation).
11618         (gst_base_transform_getcaps): Uses transform_caps to return
11619         something sensible.
11620         (gst_base_transform_setcaps): Complicated logic to get caps on
11621         both pads, even if they are different, and to call set_caps once
11622         for every time both pads get their caps set.
11623         (gst_base_transform_handle_buffer): Give the ref to the transform
11624         function. Allows in-place modification of the buffer.
11625
11626         * gst/base/gstbasetransform.h (transform_caps): New class method.
11627         Given caps on one side, what can I do on the other.
11628         (set_caps): Take two caps, one for each side of the element.
11629
11630         * gst/gstpad.h:
11631         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
11632         caps in place. This is safe because we can check the mutability of
11633         the caps, and a good idea because fixate functions are just called
11634         as a matter of last resort. (Not actually implemented.)
11635         (gst_pad_set_caps): If the caps we're setting is actually the same
11636         as the existing pad caps, just update the pointer without calling
11637         setcaps. Assert that caps is either NULL or fixed, as per the
11638         docs.
11639
11640         * gst/gstghostpad.c: Update for fixate changes.
11641
11642 2005-07-02  Andy Wingo  <wingo@pobox.com>
11643
11644         * gst/gstcaps.c:
11645         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
11646         two refcounts makes it immutable, which is enough. Doc more.
11647
11648 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
11649
11650         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
11651           Put the mini_object into GValue as a mini_object,
11652           not a gpointer, since that's how we declared
11653           the signal.
11654
11655 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11656
11657         * examples/pwg/Makefile.am:
11658           Fix buildbot again.
11659
11660 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11661
11662         * docs/pwg/building-testapp.xml:
11663           Add extra check.
11664         * examples/pwg/Makefile.am:
11665           Fix buildbot.
11666
11667 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11668
11669         * configure.ac:
11670         * examples/Makefile.am:
11671         * examples/pwg/Makefile.am:
11672         * examples/pwg/extract.pl:
11673           Enable building the PWG examples.
11674         * docs/pwg/advanced-interfaces.xml:
11675           Add URI interface stub.
11676         * docs/pwg/advanced-types.xml:
11677         * docs/pwg/other-autoplugger.xml:
11678         * docs/pwg/appendix-porting.xml:
11679         * docs/pwg/pwg.xml:
11680           Add porting guide (mostly stubs), remove autoplugging (see ADM).
11681         * docs/pwg/building-boiler.xml:
11682         * docs/pwg/building-chainfn.xml:
11683         * docs/pwg/building-pads.xml:
11684         * docs/pwg/building-props.xml:
11685         * docs/pwg/building-state.xml:
11686         * docs/pwg/building-testapp.xml:
11687           Update the building-*.xml parts for 0.9 changes. All examples
11688           code blocks compile in examples/pwg/*.
11689
11690 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11691
11692         * docs/manual/advanced-autoplugging.xml:
11693         * docs/manual/appendix-checklist.xml:
11694         * docs/manual/appendix-integration.xml:
11695         * docs/manual/highlevel-components.xml:
11696           Fix playbin/decodebin examples, update docs a bit, mention bus
11697           instead of signals in various places, mention kmplayer and
11698           kaffeine since they have a working GStreamer backend in the KDE
11699           section.
11700
11701 2005-06-30  Wim Taymans  <wim@fluendo.com>
11702
11703         * CHANGES-0.9:
11704         * docs/design/draft-ghostpads.txt:
11705         * docs/design/draft-push-pull.txt:
11706         * docs/design/draft-query.txt:
11707         * docs/design/part-TODO.txt:
11708         * docs/design/part-query.txt:
11709         Added CHANGES-0.9 doc, updated status of other docs.
11710         
11711         * gst/gstquery.h:
11712         Remove "hmm" macro
11713
11714 2005-06-30  Wim Taymans  <wim@fluendo.com>
11715
11716         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
11717         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
11718         (gst_base_sink_change_state):
11719         * gst/base/gstbasesink.h:
11720         Some tweaks, only EOS and a buffer complete a preroll.
11721
11722 2005-06-30  Andy Wingo  <wingo@pobox.com>
11723
11724         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
11725         activate_push down to the internal pad as well.
11726
11727 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
11728
11729         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11730
11731         * gst/gsttaginterface.c:
11732           Some documentation fixes (#307394 and #307397).
11733
11734 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
11735
11736         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11737
11738         * gst/gstvalue.c: (gst_value_intersect_list):
11739           Fix memleak (#309125).
11740
11741 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11742
11743         * docs/manual/advanced-dataaccess.xml:
11744           Fix fakesrc example to compile; doesn't work, bug somewhere...?
11745         * docs/manual/basics-pads.xml:
11746           Add reference for filtered caps to above chapter.
11747
11748 2005-06-30  Wim Taymans  <wim@fluendo.com>
11749
11750         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
11751         (gst_bin_change_state):
11752         Probes are gone.
11753         Lame attempt at making the state change function a bit
11754         more readable.
11755
11756 2005-06-30  Wim Taymans  <wim@fluendo.com>
11757
11758         * docs/design/part-clocks.txt:
11759         * docs/design/part-element-sink.txt:
11760         * docs/design/part-events.txt:
11761         * docs/design/part-preroll.txt:
11762         * docs/design/part-states.txt:
11763         Some more tweeks and additions to the docs.
11764
11765 2005-06-30  Wim Taymans  <wim@fluendo.com>
11766
11767         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11768         (default_have_data), (gst_pad_class_init), (gst_pad_init),
11769         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
11770         (gst_pad_check_pull_range), (gst_pad_get_range),
11771         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
11772         * gst/gstpad.h:
11773         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
11774         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11775         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11776         (gst_pad_remove_buffer_probe):
11777         Removed atomic operations, use existing LOCK.
11778         Move exception handling out of main code path.
11779
11780 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11781
11782         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11783         (silly_return_true_function), (gst_pad_class_init),
11784         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
11785         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
11786         (gst_pad_send_event):
11787           Fix accumulator, add default value by using _emitv() instead
11788           of _emit() for signal emission.
11789
11790 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11791
11792         * docs/manual/advanced-dataaccess.xml:
11793         * examples/manual/Makefile.am:
11794           Add probe example.
11795         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
11796           Make work (??).
11797
11798 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
11799
11800         * gst/elements/gstfilesink.c: (gst_filesink_render):
11801           Simplify code so that we don't have to handle short
11802           writes and return GST_FLOW_ERROR if an error occured.
11803
11804 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11805
11806         * docs/gst/gstreamer-docs.sgml:
11807           Remove probes more.
11808
11809 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11810
11811         * docs/gst/gstreamer-sections.txt:
11812         * docs/gst/tmpl/gstpad.sgml:
11813         * docs/gst/tmpl/gstprobe.sgml:
11814         * gst/Makefile.am:
11815         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
11816         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
11817         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
11818         (gst_pad_push_event), (gst_pad_send_event):
11819         * gst/gstpad.h:
11820         * gst/gstutils.c: (gst_pad_add_data_probe),
11821         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
11822         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
11823         (gst_pad_remove_buffer_probe):
11824         * gst/gstutils.h:
11825           Remove old probes, add new g-signal-based probes and some utility
11826           functions.
11827
11828 2005-06-29  Edward Hervey  <edward@fluendo.com>
11829
11830         * gst/gstelementfactory.c:
11831         * gst/gstutils.h:
11832         * gst/gstutils.c:
11833         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
11834         the definition to the header file.
11835
11836 2005-06-29  Andy Wingo  <wingo@pobox.com>
11837
11838         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
11839         plugins from the source directory.
11840
11841 2005-06-29  Wim Taymans  <wim@fluendo.com>
11842
11843         * docs/gst/tmpl/gstbuffer.sgml:
11844         * docs/gst/tmpl/gstclock.sgml:
11845         Some fixings for blantently wrong text.
11846
11847 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11848
11849         * check/Makefile.am:
11850         * gst/gst.c: (add_path_func), (init_pre):
11851         * gst/gstregistry.c: (gst_registry_add_path):
11852           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
11853           only scan the GST_PLUGIN_PATH locations, and not add
11854           system locations
11855
11856 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11857
11858         * docs/gst/gstreamer-sections.txt:
11859         * docs/gst/tmpl/gstbasesrc.sgml:
11860         * gst/gstelement.c:
11861         * gst/gstelement.h:
11862         * gst/gstevent.c:
11863         * gst/gstutils.c:
11864           doc fixes
11865
11866 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11867
11868         * docs/manual/advanced-autoplugging.xml:
11869           Fix autoplugging example.
11870
11871 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11872
11873         * docs/manual/advanced-autoplugging.xml:
11874         * docs/manual/mime-world.fig:
11875           Try to get autoplugging working, fix type detection. Fix text
11876           in hello-world image.
11877
11878 2005-06-29  Wim Taymans  <wim@fluendo.com>
11879
11880         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11881         (gst_base_sink_change_state):
11882         Small debug line.
11883
11884         * gst/gstclock.h:
11885         map SIGNAL and BROADCAST to the right function.
11886
11887         * gst/gstobject.h:
11888         Remove redundant braces.
11889
11890         * gst/gstpad.c: (gst_pad_set_caps):
11891         Don't call setcaps function when reseting caps to NULL.
11892
11893         * gst/gstsystemclock.c: (gst_system_clock_dispose),
11894         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
11895         (gst_system_clock_id_unschedule):
11896         Use BROADCAST as this is what we do.
11897
11898 2005-06-29  Wim Taymans  <wim@fluendo.com>
11899
11900         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11901         We are actually prerolling before commiting the state
11902         change. 
11903
11904 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
11905
11906         * docs/manual/advanced-clocks.xml:
11907         * docs/manual/advanced-interfaces.xml:
11908         * docs/manual/advanced-metadata.xml:
11909         * docs/manual/advanced-position.xml:
11910         * docs/manual/advanced-schedulers.xml:
11911         * docs/manual/advanced-threads.xml:
11912         * docs/manual/appendix-porting.xml:
11913         * docs/manual/basics-bins.xml:
11914         * docs/manual/basics-bus.xml:
11915         * docs/manual/basics-elements.xml:
11916         * docs/manual/basics-helloworld.xml:
11917         * docs/manual/basics-pads.xml:
11918         * docs/manual/highlevel-components.xml:
11919         * docs/manual/manual.xml:
11920         * docs/manual/thread.fig:
11921           Update (until threads/scheduling) Application Development Manual;
11922           remove GstThread, add GstBus, add simple porting checklist, add
11923           documentation for tag writing, clocks, make all examples until this
11924           part compile and run.
11925         * examples/manual/Makefile.am:
11926           Update from changes to Application Development Manual; add bus
11927           example, remove thread example.
11928
11929 2005-06-28  Wim Taymans  <wim@fluendo.com>
11930
11931         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
11932         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
11933         (gst_bus_source_dispatch):
11934         Add debugging messages.
11935         Make internal methods static.
11936         Handle the case where the bus is flushed in the handler.
11937         
11938         * gst/gstelement.c: (gst_element_get_bus):
11939         Fix refcount in _get_bus();
11940
11941         * gst/gstpipeline.c: (gst_pipeline_change_state),
11942         (gst_pipeline_get_clock_func):
11943         Clock refcounting fixes.
11944         Handle the case where preroll timed out more gracefully.
11945         
11946         * gst/gstsystemclock.c: (gst_system_clock_dispose):
11947         Clean up the internal thread in dispose. This is needed
11948         for subclasses that actually get disposed.
11949         
11950         * gst/schedulers/threadscheduler.c:
11951         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
11952         (gst_thread_scheduler_dispose):
11953         Free thread pool in dispose.
11954
11955 2005-06-28  Andy Wingo  <wingo@pobox.com>
11956
11957         * tests/network-clock-utils.scm (debug, print-event): New utils.
11958
11959         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
11960         (*packet-loss*): Unified loss probability.
11961         (network-time): Report out-of-band events.
11962
11963         * tests/plot-data: Add support for out-of-band events. Hack it
11964         into this script instead of passing it down the pipe; should fix
11965         this later.
11966
11967 2005-06-28  Wim Taymans  <wim@fluendo.com>
11968
11969         * docs/gst/gstreamer.types:
11970         * docs/gst/tmpl/gstbasesrc.sgml:
11971         * docs/gst/tmpl/gstpad.sgml:
11972         Docs fixes.
11973
11974 2005-06-28  Wim Taymans  <wim@fluendo.com>
11975
11976         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11977         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
11978         (gst_proxy_pad_do_fixatecaps):
11979         Correctly proxy the check_pull_range function.
11980
11981 2005-06-28  Andy Wingo  <wingo@pobox.com>
11982
11983         * tests/network-clock.scm: Removed need for slib.
11984         
11985 2005-06-28  Wim Taymans  <wim@fluendo.com>
11986
11987         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
11988         (gst_basesink_preroll_queue_flush):
11989         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
11990         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
11991         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
11992         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
11993         (gst_proxy_pad_set_property):
11994         * gst/gstpad.c:
11995         * gst/gstpad.h:
11996         * gst/gstqueue.c: (gst_queue_init):
11997         The deprecated pad loop function is removed now.
11998
11999 2005-06-28  Andy Wingo  <wingo@pobox.com>
12000
12001         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
12002         New parameters, simulate network packet loss.
12003
12004         * tests/network-clock-utils.scm: Initialize the RNG.
12005
12006 2005-06-28  Wim Taymans  <wim@fluendo.com>
12007
12008         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
12009         (gst_basesink_event), (gst_basesink_deactivate):
12010         Flushing the preroll queue always needs to unlock the waiters.
12011
12012 2005-06-28  Edward Hervey  <edward@fluendo.com>
12013
12014         * gst/gstpipeline.c: (gst_pipeline_send_event): 
12015         Wheen a seek was successful on a pipeline, set the stream_time to the
12016         seek offset in order to have a synchronized stream_time.
12017
12018 2005-06-28  Wim Taymans  <wim@fluendo.com>
12019
12020         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
12021         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12022         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
12023         (gst_proxy_pad_do_fixatecaps):
12024         Call wrapper function instead of just calling the function
12025         pointers. This takes care of any locking and whatmore.
12026
12027 2005-06-28  Wim Taymans  <wim@fluendo.com>
12028
12029         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
12030         (gst_pad_pull_range):
12031         * gst/gstpad.h:
12032         CONNECTED -> LINKED.
12033
12034 2005-06-28  Andy Wingo  <wingo@pobox.com>
12035
12036         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
12037         source-munging commit!!!
12038
12039         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
12040         (gst_object_sink): Take gpointer arguments, not GstObject --
12041         avoids casts. Like GLib.
12042
12043         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
12044         activate.
12045
12046 2005-06-27  Andy Wingo  <wingo@pobox.com>
12047
12048         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
12049         remaining buffer.
12050
12051         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
12052         returns a sorted copy of the trace list.
12053         (gst_alloc_trace_print_live): New API, only prints traces with
12054         live objects. Sort the list.
12055         (gst_alloc_trace_print_all): Sort the list.
12056         (gst_alloc_trace_print): Align columns.
12057
12058         * gst/elements/gstttypefindelement.c:
12059         * gst/elements/gsttee.c:
12060         * gst/base/gstbasesrc.c:
12061         * gst/base/gstbasesink.c:
12062         * gst/base/gstbasetransform.c:
12063         * gst/gstqueue.c: Adapt for pad activation changes.
12064
12065         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
12066         sched.
12067         (gst_pipeline_dispose): Drop ref on sched.
12068
12069         * gst/gstpad.c (gst_pad_init): Set the default activate func.
12070         (gst_pad_activate_default): Push mode by default.
12071         (pre_activate_switch, post_activate_switch): New stubs, things to
12072         do before and after switching activation modes on pads.
12073         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
12074         the pad's activate function to choose which mode to activate.
12075         Shortcut on deactivation and call the right function directly.
12076         (gst_pad_activate_pull): New API, (de)activates a pad in pull
12077         mode.
12078         (gst_pad_activate_push): New API, same for push mode.
12079         (gst_pad_set_activate_function) 
12080         (gst_pad_set_activatepull_function) 
12081         (gst_pad_set_activatepush_function): Setters for new API.
12082
12083         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
12084         Trace all miniobjects.
12085         (gst_mini_object_make_writable): Unref the arg if we copy, like
12086         gst_caps_make_writable.
12087
12088         * gst/gstmessage.c (_gst_message_initialize): No trace init.
12089
12090         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
12091         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
12092         Adapt for new pad API.
12093
12094         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
12095
12096         * gst/gstelement.h:
12097         * gst/gstelement.c (gst_element_iterate_src_pads) 
12098         (gst_element_iterate_sink_pads): New API functions.
12099         
12100         * gst/gstelement.c (iterator_fold_with_resync): New utility,
12101         should fold into gstiterator.c in some form.
12102         (gst_element_pads_activate): Simplified via use of fold and
12103         delegation of decisions to gstpad->activate.
12104
12105         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
12106         help in debugging.
12107
12108         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
12109         class once in init, like gstmessage. Didn't run into this issue
12110         but it seems correct. Don't initialize a trace, gstminiobject does
12111         that.
12112
12113         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
12114         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
12115         to the bus.
12116         (assert_live_count): New util function, uses alloc traces to check
12117         cleanup.
12118
12119         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
12120         To be modified when unlink drops the internal pad.
12121
12122 2005-06-27  Wim Taymans  <wim@fluendo.com>
12123
12124         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
12125         (gst_bin_change_state):
12126         Cleanup the get_state() function a little, make sure it
12127         iterates the same set of elements.
12128         Added stub iterate_state_order().
12129
12130 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
12131
12132         * docs/gst/gstreamer-docs.sgml:
12133         * docs/gst/gstreamer-sections.txt:
12134         * docs/gst/gstreamer.types:
12135         * docs/gst/tmpl/gstbasesink.sgml:
12136         * docs/gst/tmpl/gstbasesrc.sgml:
12137         * docs/gst/tmpl/gstbasetransform.sgml:
12138         * docs/gst/tmpl/gstelement.sgml:
12139         * docs/gst/tmpl/gstiterator.sgml:
12140         * gst/base/gstbasesrc.c:
12141         * gst/base/gstbasesrc.h:
12142         * gst/base/gstbasetransform.h:
12143         * gst/gstelement.c:
12144         * gst/gstiterator.h:
12145           adding basetransform and iterator docs
12146
12147 2005-06-27  Andy Wingo  <wingo@pobox.com>
12148
12149         * docs/design/part-activation.txt: Notes on how activation should
12150         work -- not quite implemented yet.
12151
12152 2005-06-25  Wim Taymans  <wim@fluendo.com>
12153
12154         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
12155         At least get the chain function correct, needs more
12156         fixing.
12157
12158 2005-06-25  Wim Taymans  <wim@fluendo.com>
12159
12160         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12161         (gst_basesink_handle_object), (gst_basesink_event),
12162         (gst_basesink_do_sync), (gst_basesink_handle_event),
12163         (gst_basesink_change_state):
12164         * gst/gsttask.h:
12165         Right, two problems here: ghostpads don't take locks and
12166         glib _rec_mutex_lock_full() with depth==0 still locks.
12167         Catch illegal locking and g_warn them.
12168
12169 2005-06-25  Wim Taymans  <wim@fluendo.com>
12170
12171         * check/states/sinks.c: (START_TEST), (gst_object_suite):
12172         Have to check for completion now...
12173
12174 2005-06-25  Wim Taymans  <wim@fluendo.com>
12175
12176         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
12177         (gst_basesink_handle_object), (gst_basesink_event),
12178         (gst_basesink_do_sync), (gst_basesink_handle_event),
12179         (gst_basesink_change_state):
12180         * gst/gstpad.h:
12181         Unlock STREAM_LOCK whatever the recursion was.
12182
12183 2005-06-25  Wim Taymans  <wim@fluendo.com>
12184
12185         * gst/base/gstbasesink.c: (gst_basesink_set_property),
12186         (gst_basesink_preroll_queue_empty),
12187         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
12188         (gst_basesink_event), (gst_basesink_do_sync),
12189         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
12190         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
12191         (gst_basesink_change_state):
12192         Reworked the base sink, handle event and buffer serialisation
12193         correctly and removed possible deadlock.
12194         Handle EOS correctly.
12195
12196 2005-06-25  Wim Taymans  <wim@fluendo.com>
12197
12198         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
12199         (gst_pipeline_change_state):
12200         * tools/gst-launch.c: (check_intr), (event_loop), (main):
12201         Allow elements to post EOS in the state change function.
12202         Fix up -launch, make it exit the poll loop when the
12203         pipeline actually changed state.
12204         Fix up warning parsing in -launch.
12205
12206 2005-06-25  Wim Taymans  <wim@fluendo.com>
12207
12208         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
12209         (gst_tee_sink_activate):
12210         Core takes STREAM_LOCK for us now.
12211
12212 2005-06-25  Wim Taymans  <wim@fluendo.com>
12213
12214         * gst/gstelement.c: (gst_element_get_state_func),
12215         (gst_element_set_state):
12216         * gst/gstelement.h:
12217         * gst/gstmessage.c: (gst_message_parse_error),
12218         (gst_message_parse_warning):
12219         Keep track of current target state while performing a state
12220         change so that subclasses can do something interesting.
12221         Fix parsing of warning/error messages when GError is NULL.
12222
12223 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12224
12225         * docs/gst/Makefile.am:
12226         * docs/gst/gstreamer-docs.sgml:
12227         * docs/gst/gstreamer-sections.txt:
12228         * docs/gst/gstreamer.types:
12229         * docs/gst/tmpl/gstbasesink.sgml:
12230         * docs/gst/tmpl/gstbasesrc.sgml:
12231         * docs/gst/tmpl/gstbin.sgml:
12232         * docs/gst/tmpl/gstcompat.sgml:
12233         * docs/gst/tmpl/gstfakesink.sgml:
12234         * docs/gst/tmpl/gstfakesrc.sgml:
12235         * docs/gst/tmpl/gstfilesink.sgml:
12236         * docs/gst/tmpl/gstfilesrc.sgml:
12237         * docs/gst/tmpl/gstindex.sgml:
12238         * docs/manual/appendix-quotes.xml:
12239         * gst/base/gstbasesrc.h:
12240         * gst/elements/gstfakesrc.h:
12241         * gst/gstmessage.h:
12242           start pulling in base classes and elements in our docs
12243
12244 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
12245
12246         * docs/gst/Makefile.am:
12247         * docs/libs/Makefile.am:
12248           fixed make distcheck with gtk-doc 1.3
12249
12250 2005-06-23  Wim Taymans  <wim@fluendo.com>
12251
12252         * gst/gstelement.c: (gst_element_get_state_func),
12253         (gst_element_set_state), (gst_element_change_state):
12254         When the state did not change, also report NO_PREROLL
12255         when it matters.
12256
12257 2005-06-23  Wim Taymans  <wim@fluendo.com>
12258
12259         * gst/gstpad.c: (gst_pad_event_default):
12260         * gst/gstqueue.c: (gst_queue_loop):
12261         No unsafe task pausing please.
12262
12263 2005-06-23  Wim Taymans  <wim@fluendo.com>
12264
12265         * gst/schedulers/threadscheduler.c:
12266         (gst_thread_scheduler_task_start),
12267         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
12268         Ref the task before pushing it on the threadpool. This
12269         makes sure that we have a ref when the threadfunction is
12270         actually called.
12271
12272 2005-06-23  Andy Wingo  <wingo@pobox.com>
12273
12274         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
12275         offset is greater than the file's size.
12276
12277         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
12278         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
12279         * gst/gstobject.c (gst_object_class_init): Make the class lock
12280         recursive. Wim won't let me drop deep_notify. Decodebin works
12281         again, whoopdy doo.
12282
12283         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
12284         internal pad, and hacks accordingly. Doesn't do it on the target
12285         pad because we change its caps. Probably catches all cases of
12286         interest tho.
12287         (gst_ghost_pad_set_property): Connect to notify::caps as
12288         appropritate.
12289
12290         * tests/network-clock.scm (plot-simulation): Pipe data to the
12291         elite python skript.
12292
12293         * tests/network-clock-utils.scm (define-parameter): New macro,
12294         defines a parameter that can be set via the command line.
12295         (set-parameter!, parse-parameter-arguments): Command line args
12296         parser.
12297
12298         * tests/plot-data: Simple matplotlib-based plotter, takes input on
12299         stdin.
12300
12301 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
12302
12303         * gst/elements/gsttypefindelement.c:
12304         (gst_type_find_element_handle_event):
12305           Don't restart typefinding on a discont.
12306         * gst/gstelement.c: (gst_element_set_state):
12307           Debug spelling fix.
12308         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
12309           Allow changing mode of an active pad.
12310           Debug output fixes.
12311         * gst/registries/gstlibxmlregistry.c: (load_feature):
12312           Don't cast a static pad template to a normal pad template.
12313
12314 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12315
12316         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
12317         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
12318           remove gst_strtoll completely, since it didn't actually do
12319           anything more than what g_ascii_strtoull already does.
12320           check for range errors when deserializing
12321           do a cast for the unsigned cases; but further fixing needs
12322           a decision on what the interpretation of "(int)" and
12323           deserialization should be for values that fall outside the
12324           type's boundaries (ie, refuse, or interpret as casting)
12325
12326 2005-06-23  Wim Taymans  <wim@fluendo.com>
12327
12328         * check/Makefile.am:
12329         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
12330         * docs/design/part-live-source.txt:
12331         * docs/design/part-states.txt:
12332         * gst/base/gstbasesrc.c: (gst_basesrc_init),
12333         (gst_basesrc_set_live), (gst_basesrc_is_live),
12334         (gst_basesrc_get_range), (gst_basesrc_activate),
12335         (gst_basesrc_change_state):
12336         * gst/base/gstbasesrc.h:
12337         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
12338         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
12339         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
12340         * gst/gstelement.c: (gst_element_get_state_func),
12341         (gst_element_set_state):
12342         * gst/gstelement.h:
12343         * gst/gsttypes.h:
12344         * tools/gst-launch.c: (event_loop), (main):
12345         Added support for live sources and other elements that
12346         cannot do preroll.
12347         Updated design docs, added live-source design doc.
12348         Implemented live source functionality in basesrc
12349         Fix error condition in _bin_get_state()
12350         Implement live source handling in -launch.
12351         Added check for live sources.
12352         Fixed case in GstBin where elements were changed state
12353         multiple times.
12354
12355
12356 2005-06-23  Andy Wingo  <wingo@pobox.com>
12357
12358         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
12359         borken refcounting.
12360
12361         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
12362         gst_caps_replace takes care of this for us.
12363
12364         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
12365         gst_pad_set_caps on the target, not just its setcaps() function.
12366
12367         * tests/network-clock.scm: 
12368         * tests/network-clock-utils.scm: A network clock simulator.
12369         Something of an algorithmic testbed before doing something in C.
12370
12371 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12372
12373         * check/Makefile.am:
12374         * check/gst/capslist.h:
12375           copy over from 0.8, and add two with bitmasks specified with
12376           (int) 0xFF...
12377         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
12378           add test to parse everything from capslist.h
12379         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
12380         (main):
12381           add test for structure deserialization
12382         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
12383           add tests for deserialization of strings to int types
12384         * gst/gststructure.c: (gst_structure_nth_field_name):
12385         * gst/gststructure.h:
12386           add a way to get the name of a field referenced by index
12387         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
12388           instead of checking if the resulting long long lies between
12389           min and max, we check if the long long would fit into
12390           a number of bytes for the final type.
12391           This fixes cases where a string represents 2^32 - 1, which
12392           when cast to int would be the (valid) -1, but is bigger than
12393           G_MAXINT
12394
12395 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12396
12397         * gst/parse/grammar.y:
12398           add a log line for type deserialization
12399
12400 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12401
12402         * check/gst/gstvalue.c: (START_TEST):
12403         * gst/gstvalue.c: (gst_value_deserialize):
12404           return long long, not int, so gint64 deserialization actually
12405           works.  Is there any flag that makes the compiler check this ?
12406           Fixes #308559
12407
12408 2005-06-22  Wim Taymans  <wim@fluendo.com>
12409
12410         * gst/gstbuffer.h:
12411         Added convenience macros for setting buffers in GValue.
12412
12413 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12414
12415         * check/gst/.cvsignore:
12416         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
12417           add a test deserializing int64, and comment part out because
12418           it fails, yay !
12419
12420 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12421
12422         * check/Makefile.am:
12423         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
12424         * testsuite/Makefile.am:
12425         * testsuite/caps/Makefile.am:
12426         * testsuite/caps/value_serialize.c:
12427         * testsuite/test_gst_init.c:
12428           move a value_serialize test over
12429
12430 2005-06-20  Wim Taymans  <wim@fluendo.com>
12431
12432         * gst/gstpad.c:
12433         Small doc updates.
12434         
12435         * gst/gstvalue.c: (gst_value_compare_buffer),
12436         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
12437         (gst_value_compare_flags), (gst_value_serialize_flags),
12438         (gst_value_deserialize_flags), (_gst_value_initialize):
12439         Fix serialisation of buffers, they are not boxed types anymore
12440
12441 2005-06-20  Wim Taymans  <wim@fluendo.com>
12442
12443         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
12444         Testcase to show error in buffer-on-caps serialisation.
12445
12446 2005-06-20  Andy Wingo  <wingo@pobox.com>
12447
12448         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
12449         will be adding to later.
12450
12451         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
12452         if its socks fill with rocks.
12453         (gst_system_clock_obtain): Set the name on object construction.
12454         Avoid double-checked locking.
12455
12456 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
12457
12458         * gst/gsturi.c: (gst_element_make_from_uri):
12459           Fix potential endless loop.
12460
12461 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12462
12463         * check/Makefile.am:
12464           add gsttag
12465         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
12466         (main):
12467           move over from testsuite dir and clean up
12468         * configure.ac:
12469         * gst/gsttag.c:
12470         * testsuite/Makefile.am:
12471         * testsuite/tags/.cvsignore:
12472         * testsuite/tags/Makefile.am:
12473         * testsuite/tags/merge.c:
12474           remove testsuite/tags
12475
12476 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12477
12478         * docs/gst/gstreamer-sections.txt:
12479         * docs/gst/tmpl/gstenumtypes.sgml:
12480         * win32/gstenumtypes.c:
12481           clean up documentation build a little
12482
12483 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12484
12485         * check/gstcheck.h:
12486           add macros for checking refcounts on objects and caps
12487         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
12488           add some more unit tests
12489         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
12490         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
12491           fix leaked refcounts (I hope :)) so unittest works
12492         * gst/gstpad.h:
12493           whitespace removal
12494
12495 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
12496
12497         * configure.ac: back to HEAD
12498
12499 === release 0.9.1 ===
12500
12501 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
12502
12503         * NEWS:
12504         * RELEASE:
12505           updated
12506
12507 2005-06-17  Andy Wingo  <wingo@pobox.com>
12508
12509         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
12510         assert; it's always possible that the pad gets deactivated in
12511         between the checks in gstpad.c and the implementation. Rely on
12512         finish_preroll() to return a FLUSHING or similar instead of on the
12513         assert.
12514         
12515         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
12516         clock and post an EOS message if we come out of finish_preroll in
12517         the playing state.
12518
12519 2005-06-16  David Schleef  <ds@schleef.org>
12520
12521         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
12522         (gst_capsfilter_set_property): Allow NULL as possible value
12523         for filter_caps property, indicating GST_CAPS_ANY.
12524
12525 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12526
12527         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
12528           fix debug output
12529         * gst/schedulers/Makefile.am:
12530           use libgst prefix
12531         * gstreamer.spec.in:
12532           fix spec for it
12533
12534 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
12535
12536         * gstreamer.spec.in:
12537           clean up
12538
12539 2005-06-08  Andy Wingo  <wingo@pobox.com>
12540
12541         * gst/gstutils.c: RPAD fixes all around.
12542         (gst_element_link_pads): Refcounting fixes.
12543
12544         * tools/gst-inspect.c:
12545         * tools/gst-xmlinspect.c:
12546         * parse/grammar.y:
12547         * gst/base/gsttypefindhelper.c:
12548         * gst/base/gstbasesink.c:
12549         * gst/gstqueue.c: RPAD fixes.
12550
12551         * gst/gstghostpad.h:
12552         * gst/gstghostpad.c: New ghost pad implementation as full proxy
12553         pads. The tricky thing is they provide both source and sink
12554         interfaces, since they proxy the internal pad for the external
12555         pad, and vice versa. Implement with lower-level ProxyPad objects,
12556         with the interior proxy pad as a child of the exterior ghost pad.
12557         Should write a doc on this.
12558         
12559         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
12560         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
12561         gst_object API.
12562         
12563         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
12564         pads are real pads. No ghost pads in this file. Not documenting
12565         the myriad s/RPAD/PAD/ and REALIZE fixes.
12566         (gst_pad_class_init): Add properties for "direction" and
12567         "template". Both are construct-only, so they can't change during
12568         the life of the pad. Fixes properly deriving from GstPad.
12569         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
12570         derived objects, just set properties when creating the objects via
12571         g_object_new.
12572         (gst_pad_get_parent): Implement as a function, return NULL if the
12573         parent is not an element.
12574         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
12575         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
12576         
12577         * gst/gstobject.c (gst_object_class_init): Make name a construct
12578         property. Don't set it in the object init.
12579
12580         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
12581         with UNKNOWN direction.
12582         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
12583         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
12584         (gst_element_remove_pad): Remove ghost-pad special cases.
12585         (gst_element_pads_activate): Remove rpad cruft.
12586
12587         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
12588         catch the pad's-parent-not-an-element case.
12589
12590         * gst/gst.h: Include gstghostpad.h.
12591
12592         * gst/gst.c (init_post): No more real, ghost pads.
12593
12594         * gst/Makefile.am: Add gstghostpad.[ch].
12595
12596         * check/Makefile.am:
12597         * check/gst/gstbin.c:
12598         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
12599         into a bin creates ghost pads, and that the refcounts are right.
12600         Partly moved from gstbin.c.
12601
12602 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12603
12604         * check/gst-libs/.cvsignore:
12605         * check/gst/.cvsignore:
12606         * check/pipelines/.cvsignore:
12607           ignore more
12608         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
12609         (START_TEST), (cleanup_suite), (main):
12610           add some tests related to cleanup after running pipelines
12611
12612 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12613
12614         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
12615           add a testsuite for GstBuffer
12616
12617 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
12618
12619         * gst/gstminiobject.h:
12620           add defines for accessing the refcount
12621
12622 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
12623
12624         * Makefile.am: added support for html unit test coverage reports
12625
12626 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
12627
12628         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12629           Free existing caps if the capsfilter changes. Add a FIXME about
12630           setting those caps on the pads.
12631
12632         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
12633           Before adding a ghost pad to a parent bin, check that there isn't
12634           already one for the element on the bin. Prevents infinite recursion
12635           when using decodebin in parse pipelines. Andy says he'll rewrite the
12636           way this works anyway, so ignore the hack.
12637
12638 2005-06-02  Andy Wingo  <wingo@pobox.com>
12639
12640         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
12641         file size, pass it on to the type find helper.
12642
12643         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
12644         segment_start and segment_end properly according to the seek
12645         method. Segment_end is still a bit flaky because offset can be
12646         negative for CUR and END cases, but it takes -1 as an "unset"
12647         value.
12648
12649 2005-06-02  Wim Taymans  <wim@fluendo.com>
12650
12651         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
12652         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
12653         (gst_basesink_activate):
12654         * gst/base/gstbasesink.h:
12655         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12656         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
12657         (gst_pad_query), (gst_pad_start_task):
12658         * gst/gstpad.h:
12659         * gst/gstqueue.c: (gst_queue_bufferalloc),
12660         (gst_queue_handle_sink_event), (gst_queue_chain):
12661         Bufferalloc: return GstFlowReturn to more accuratly report
12662         why allocation failed.
12663
12664 2005-06-02  Wim Taymans  <wim@fluendo.com>
12665
12666         * gst/gstpipeline.c: (gst_pipeline_send_event):
12667         Take snapshot of state without blocking.
12668
12669 2005-06-02  Wim Taymans  <wim@fluendo.com>
12670
12671         * docs/design/part-TODO.txt:
12672         * docs/design/part-caps.txt:
12673         * docs/design/part-clocks.txt:
12674         * docs/design/part-negotiation.txt:
12675         * docs/design/part-preroll.txt:
12676         Small doc updates 
12677
12678 2005-05-30  Wim Taymans  <wim@fluendo.com>
12679
12680         * gst/elements/gstidentity.c: (gst_identity_event),
12681         (gst_identity_transform), (gst_identity_get_property):
12682         Protect last_message property as it is accessed from
12683         multiple threads.
12684
12685 2005-05-30  Wim Taymans  <wim@fluendo.com>
12686
12687         * gst/gstelement.c: (gst_element_init),
12688         (gst_element_pads_activate), (gst_element_change_state):
12689         Slicker pad activation code.
12690
12691 2005-05-30  Wim Taymans  <wim@fluendo.com>
12692
12693         * gst/Makefile.am:
12694         * gst/gstelement.h:
12695         * gst/gstelementfactory.h:
12696         * gst/gsttypes.h:
12697         Move elementfactory methods to separate .h file.
12698
12699 2005-05-30  Wim Taymans  <wim@fluendo.com>
12700
12701         * docs/design/part-overview.txt:
12702         * gst/gstsystemclock.h:
12703         Small typo fixes, doc updates.
12704
12705 2005-05-30  Wim Taymans  <wim@fluendo.com>
12706
12707         * gst/gst.c: (gst_init_get_popt_table), (init_post),
12708         (init_popt_callback):
12709         Remove cpu-opt flag.
12710
12711 2005-05-30  Wim Taymans  <wim@fluendo.com>
12712
12713         * gst/gstbuffer.c: (gst_subbuffer_finalize),
12714         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
12715         * gst/gstbuffer.h:
12716         Avoid typechecking in places where not needed.
12717         Added accessor for malloc_data.
12718
12719 2005-05-30  Wim Taymans  <wim@fluendo.com>
12720
12721         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
12722         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
12723         (gst_pad_configure_sink), (gst_pad_configure_src),
12724         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
12725         (gst_pad_start_task):
12726         Propagate errors from _set_caps() in configure_src/sink
12727         functions instead of returning TRUE.
12728         FLUSH events can travel up and downstream
12729
12730
12731 2005-05-30  Wim Taymans  <wim@fluendo.com>
12732
12733         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
12734         (gst_basesink_activate):
12735         Handle EOS in preroll.
12736
12737 2005-05-30  Wim Taymans  <wim@fluendo.com>
12738
12739         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12740         (gst_queue_loop), (gst_queue_handle_src_event):
12741         Remove old pieces of code
12742         Flushing the queue in an upstream event is a very bad idea.
12743
12744 2005-05-26  Andy Wingo  <wingo@pobox.com>
12745
12746         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
12747         gst_value_set_mini_object so as to add a ref on the object (which
12748         will be removed when the value is unset).
12749
12750         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
12751         arg type in ::handoff.
12752
12753         * gst/gstelement.c (gst_element_change_state): Also deactivate
12754         pads in READY->NULL, just in case the element didn't make it to
12755         PAUSED. Wingo tested, Wim approved.
12756
12757 2005-05-26  Wim Taymans  <wim@fluendo.com>
12758
12759         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12760         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
12761         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
12762         A flushing pad cannot be used to alloc_buffer from.
12763
12764 2005-05-26  Wim Taymans  <wim@fluendo.com>
12765
12766         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
12767         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
12768         (gst_bus_source_dispatch), (gst_bus_source_finalize),
12769         (gst_bus_create_watch), (gst_bus_add_watch_full):
12770         * gst/gstbus.h:
12771         Implement a real GSource and use g_main_context_wakeup() to
12772         signal new messages instead of the socketpair.
12773
12774 2005-05-25  Wim Taymans  <wim@fluendo.com>
12775
12776         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
12777         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
12778         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12779         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
12780         (gst_pad_send_event), (gst_pad_start_task):
12781         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
12782         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
12783         (gst_queue_sink_activate), (gst_queue_src_activate),
12784         (gst_queue_change_state):
12785         * gst/gstqueue.h:
12786         Fix state changes for non sinks. We now change sinks, then elements
12787         with unconnected srcpads, then the rest.
12788         More efficient queue unlocking in flush and state changes.
12789         Set the pad activate mode even if it does not have an activate
12790         function.
12791
12792 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12793
12794         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
12795           Don't go in pull mode for non-seekable sources.
12796         * gst/elements/gsttypefindelement.h:
12797         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
12798         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
12799         (free_entry), (stop_typefinding),
12800         (gst_type_find_element_handle_event), (find_peek),
12801         (gst_type_find_element_chain), (do_pull_typefind),
12802         (gst_type_find_element_change_state):
12803           Allow typefinding (w/o seeking) in push-mode, simplified version
12804           of what was in 0.8.
12805         * gst/gstutils.c: (gst_buffer_join):
12806         * gst/gstutils.h:
12807           gst_buffer_join() from 0.8.
12808
12809 2005-05-25  Wim Taymans  <wim@fluendo.com>
12810
12811         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
12812         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
12813         (gst_pad_send_event), (gst_pad_start_task):
12814         Disable attempt at mode switching until it is figured out.
12815
12816 2005-05-25  Wim Taymans  <wim@fluendo.com>
12817
12818         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
12819         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
12820         (gst_basesink_finish_preroll), (gst_basesink_chain),
12821         (gst_basesink_loop), (gst_basesink_activate),
12822         (gst_basesink_change_state):
12823         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
12824         (gst_basesrc_get_range), (gst_basesrc_loop),
12825         (gst_basesrc_activate):
12826         * gst/elements/gsttee.c: (gst_tee_sink_activate):
12827         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
12828         (gst_real_pad_init), (gst_real_pad_set_property),
12829         (gst_real_pad_get_property), (gst_pad_set_active),
12830         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
12831         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
12832         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
12833         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
12834         (gst_pad_event_default_dispatch), (gst_pad_event_default),
12835         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
12836         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
12837         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
12838         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
12839         (gst_pad_stop_task):
12840         * gst/gstpad.h:
12841         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
12842         (gst_queue_loop), (gst_queue_src_activate):
12843         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
12844         (gst_task_get_state):
12845         * gst/gsttask.h:
12846         * gst/schedulers/threadscheduler.c:
12847         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
12848         Implement gst_pad_pause/start/stop_task(), take STREAM lock
12849         in task function.
12850         Remove ACTIVE pad flag, use FLUSHING everywhere
12851         Added _pad_chain(), _pad_get_range() to call chain/getrange 
12852         functions.
12853         Add locks around IS_FLUSHING when reading.
12854         Take STREAM lock in chain(), get_range() functions so plugins
12855         don't need to take it anymore.
12856         
12857
12858
12859 2005-05-25  Wim Taymans  <wim@fluendo.com>
12860
12861         * tools/gst-launch.c: (event_loop):
12862         Unref message after using its contents instead of
12863         before.
12864
12865 2005-05-24  Wim Taymans  <wim@fluendo.com>
12866
12867         * docs/design/draft-ghostpads.txt:
12868         * docs/design/draft-push-pull.txt:
12869         * docs/design/draft-query.txt:
12870         * docs/design/part-overview.txt:
12871         Docs updates, added general overview doc.
12872
12873 2005-05-21  David Schleef  <ds@schleef.org>
12874
12875         * docs/gst/tmpl/old/GstBin.sgml:
12876         * docs/gst/tmpl/old/GstBuffer.sgml:
12877         * docs/gst/tmpl/old/GstCaps.sgml:
12878         * docs/gst/tmpl/old/GstClock.sgml:
12879         * docs/gst/tmpl/old/GstCompat.sgml:
12880         * docs/gst/tmpl/old/GstData.sgml:
12881         * docs/gst/tmpl/old/GstElement.sgml:
12882         * docs/gst/tmpl/old/GstEvent.sgml:
12883         * docs/gst/tmpl/old/GstIndex.sgml:
12884         * docs/gst/tmpl/old/GstStructure.sgml:
12885         * docs/gst/tmpl/old/GstTag.sgml:
12886         * docs/gst/tmpl/old/cothreads.sgml:
12887         * docs/gst/tmpl/old/cothreads_compat.sgml:
12888         * docs/gst/tmpl/old/gettext.sgml:
12889         * docs/gst/tmpl/old/gobject2gtk.sgml:
12890         * docs/gst/tmpl/old/grammar.tab.sgml:
12891         * docs/gst/tmpl/old/gst-i18n-app.sgml:
12892         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
12893         * docs/gst/tmpl/old/gst_private.sgml:
12894         * docs/gst/tmpl/old/gstaggregator.sgml:
12895         * docs/gst/tmpl/old/gstarch.sgml:
12896         * docs/gst/tmpl/old/gstatomic_impl.sgml:
12897         * docs/gst/tmpl/old/gstbufferstore.sgml:
12898         * docs/gst/tmpl/old/gstdata_private.sgml:
12899         * docs/gst/tmpl/old/gstdisksink.sgml:
12900         * docs/gst/tmpl/old/gstdisksrc.sgml:
12901         * docs/gst/tmpl/old/gstelementfactory.sgml:
12902         * docs/gst/tmpl/old/gstextratypes.sgml:
12903         * docs/gst/tmpl/old/gstfakesink.sgml:
12904         * docs/gst/tmpl/old/gstfakesrc.sgml:
12905         * docs/gst/tmpl/old/gstfdsink.sgml:
12906         * docs/gst/tmpl/old/gstfdsrc.sgml:
12907         * docs/gst/tmpl/old/gstfilesink.sgml:
12908         * docs/gst/tmpl/old/gstfilesrc.sgml:
12909         * docs/gst/tmpl/old/gsthttpsrc.sgml:
12910         * docs/gst/tmpl/old/gstidentity.sgml:
12911         * docs/gst/tmpl/old/gstindexfactory.sgml:
12912         * docs/gst/tmpl/old/gstmarshal.sgml:
12913         * docs/gst/tmpl/old/gstmd5sink.sgml:
12914         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
12915         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
12916         * docs/gst/tmpl/old/gstpadtemplate.sgml:
12917         * docs/gst/tmpl/old/gstpipefilter.sgml:
12918         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
12919         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
12920         * docs/gst/tmpl/old/gstshaper.sgml:
12921         * docs/gst/tmpl/old/gstspider.sgml:
12922         * docs/gst/tmpl/old/gstspideridentity.sgml:
12923         * docs/gst/tmpl/old/gststatistics.sgml:
12924         * docs/gst/tmpl/old/gsttee.sgml:
12925         * docs/gst/tmpl/old/gsttimecache.sgml:
12926         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
12927         * docs/gst/tmpl/old/gstxmlregistry.sgml:
12928         * docs/gst/tmpl/old/gthread-cothreads.sgml:
12929         * docs/gst/tmpl/old/types.sgml:
12930           I didn't intend to add these or check them in.
12931
12932 2005-05-19  David Schleef  <ds@schleef.org>
12933
12934         * configure.ac: Use -no-common everywhere.  In a sane world, it
12935           would be the default in libtool, because without it, you can't
12936           build DLLs on Windows.
12937         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
12938         * docs/gst/gstreamer-sections.txt:
12939         * docs/gst/tmpl/gstcpu.sgml:
12940         * docs/gst/tmpl/gstdata.sgml:
12941         * docs/gst/tmpl/gstthread.sgml:
12942
12943 2005-05-19  David Schleef  <ds@schleef.org>
12944
12945         * gst/gstminiobject.c: (gst_value_set_mini_object),
12946         (gst_value_take_mini_object), (gst_value_get_mini_object):
12947         * gst/gstminiobject.h: Add GValue set/get functions.
12948
12949 2005-05-19  Wim Taymans  <wim@fluendo.com>
12950
12951         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
12952         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
12953         (gst_subbuffer_init), (gst_buffer_is_span_fast):
12954         * gst/gstbuffer.h:
12955         * gst/gstbus.c: (gst_bus_post):
12956         * gst/gstelement.c: (gst_element_get_random_pad):
12957         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
12958         Make subbufer unref the parent in finalize.
12959         some more debugging info.
12960
12961
12962 2005-05-19  Wim Taymans  <wim@fluendo.com>
12963
12964         * gst/base/gstbasesink.c: (gst_basesink_class_init),
12965         (gst_basesink_init), (gst_basesink_finalize),
12966         (gst_basesink_activate), (gst_basesink_change_state):
12967         Don't free preroll queue too early.
12968
12969 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12970
12971         * gst/Makefile.am:
12972         * gst/ROADMAP:
12973           Hi, I'm outdated. Please shoot me.
12974
12975 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12976
12977         * gst/gstpipeline.c: (gst_pipeline_send_event):
12978           Do not access variables after they have been deleted.
12979
12980 2005-05-19  Wim Taymans  <wim@fluendo.com>
12981
12982         * tools/gst-inspect.c: (print_plugin_features):
12983         A plugin feature does unfortunatly not use the
12984         object name yet...
12985
12986 2005-05-18  Wim Taymans  <wim@fluendo.com>
12987
12988         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
12989         Port _span() functions to new subbuffers.
12990
12991 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12992
12993         * gst/gstbin.c: (gst_bin_add_func):
12994           Fix clock settery in bins when adding kids after the clock has
12995           been selected.
12996
12997 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12998
12999         * gst/elements/gstidentity.c: (gst_identity_class_init):
13000           Workaround until signals support GstMiniObject.
13001
13002 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
13003
13004         * gst/gstbuffer.c:
13005         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
13006
13007 2005-05-18  Wim Taymans  <wim@fluendo.com>
13008
13009         * gst/base/Makefile.am:
13010         * gst/base/gstadapter.c: (gst_adapter_base_init),
13011         (gst_adapter_class_init), (gst_adapter_init),
13012         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
13013         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
13014         (gst_adapter_flush), (gst_adapter_available),
13015         (gst_adapter_available_fast):
13016         * gst/base/gstadapter.h:
13017         Ported and added adapter to the base classes.
13018
13019 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13020
13021         * gst/gst.c:
13022         * gst/gstmessage.c:
13023           Make sure the class is reffed/unreffed once before threads can be
13024           used.  Fixes #304551.
13025
13026 2005-05-17  Wim Taymans  <wim@fluendo.com>
13027
13028         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
13029         (gst_basesink_chain_unlocked), (gst_basesink_activate):
13030         * gst/gstminiobject.c: (gst_mini_object_get_type),
13031         (gst_mini_object_free):
13032         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
13033         (gst_pad_push), (gst_pad_push_event):
13034         * gst/gstqueue.c: (gst_queue_change_state):
13035         Don't queue buffers in basesink when we are flushing.
13036         Unref buffer when flushing in basesink.
13037         Flush queue when going to READY
13038         Unref buffer when _push() returns an error.
13039         Don't free MiniObject instance when refcount is incremented
13040         in _finalize() so that we can recover objects.
13041
13042 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13043
13044         * docs/manual/advanced-schedulers.xml:
13045         * docs/manual/appendix-checklist.xml:
13046         * docs/pwg/advanced-clock.xml:
13047         * docs/pwg/advanced-interfaces.xml:
13048         * docs/pwg/advanced-request.xml:
13049         * docs/pwg/advanced-types.xml:
13050         * docs/pwg/intro-preface.xml:
13051         * examples/plugins/example.c: (gst_example_get_type),
13052         (gst_example_class_init), (gst_example_chain),
13053         (gst_example_set_property), (gst_example_get_property),
13054         (gst_example_change_state), (plugin_init):
13055         * examples/plugins/example.h:
13056           small doc fixes
13057
13058 2005-05-17  Wim Taymans  <wim@fluendo.com>
13059
13060         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
13061         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
13062         * gst/gstqueue.c: (gst_queue_change_state):
13063         Clear queue when going to READY.
13064         Remove IN_SETCAPS flag too.
13065
13066 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
13067
13068         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
13069           Remove implicit cast from gboolean to GstElementStateReturn;
13070           make sure we still return failure in paused => ready case if
13071           the parent class fails to change state and our own stop 
13072           vfunc succeeds.
13073
13074 2005-05-17  Wim Taymans  <wim@fluendo.com>
13075
13076         * tools/gst-launch.c: (event_loop):
13077         Message was unreffed too soon.
13078
13079 2005-05-16  Andy Wingo  <wingo@pobox.com>
13080
13081         * gst/gstbin.c (sink_iterator_filter): Err... um...
13082
13083         * check/gst/gstbin.c (test_ghost_pads): New test for the
13084         ghosting-if-elements-not-in-same-bin behavior.
13085
13086 2005-05-16  David Schleef  <ds@schleef.org>
13087
13088         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
13089         accessing refcount directly.
13090
13091 2005-05-15  David Schleef  <ds@schleef.org>
13092
13093         * check/Makefile.am: remove GstData checks
13094         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
13095         * gst/Makefile.am: add miniobject, remove data
13096         * gst/gst.h: add miniobject, remove data
13097         * gst/gstdata.c: remove
13098         * gst/gstdata.h: remove
13099         * gst/gstdata_private.h: remove
13100         * gst/gsttypes.h: remove GstEvent and GstMessage
13101         * gst/gstelement.c: (gst_element_post_message): fix for API changes
13102         * gst/gstmarshal.list: change BOXED -> OBJECT
13103
13104         Implement GstMiniObject.
13105         * gst/gstminiobject.c:
13106         * gst/gstminiobject.h:
13107
13108         Modify to be subclasses of GstMiniObject.
13109         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
13110         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
13111         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
13112         (gst_subbuffer_get_type), (gst_subbuffer_init),
13113         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
13114         (gst_buffer_span):
13115         * gst/gstbuffer.h:
13116         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
13117         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
13118         (_gst_event_copy), (gst_event_new):
13119         * gst/gstevent.h:
13120         * gst/gstmessage.c: (_gst_message_initialize),
13121         (gst_message_get_type), (gst_message_class_init),
13122         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
13123         (gst_message_new), (gst_message_new_error),
13124         (gst_message_new_warning), (gst_message_new_tag),
13125         (gst_message_new_state_changed), (gst_message_new_application):
13126         * gst/gstmessage.h:
13127         * gst/gstprobe.c: (gst_probe_perform),
13128         (gst_probe_dispatcher_dispatch):
13129         * gst/gstprobe.h:
13130         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
13131         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
13132         (_gst_query_copy), (gst_query_new):
13133
13134         Update elements for GstData -> GstMiniObject changes
13135         * gst/gstquery.h:
13136         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
13137         (gst_queue_chain), (gst_queue_loop):
13138         * gst/elements/gstbufferstore.c:
13139         (gst_buffer_store_add_buffer_func),
13140         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
13141         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13142         (gst_fakesink_render):
13143         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
13144         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
13145         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
13146         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
13147         (gst_filesrc_create_read):
13148         * gst/elements/gstidentity.c: (gst_identity_class_init):
13149         * gst/elements/gsttypefindelement.c:
13150         (gst_type_find_element_src_event), (free_entry_buffers),
13151         (gst_type_find_element_handle_event):
13152         * libs/gst/dataprotocol/dataprotocol.c:
13153         (gst_dp_header_from_buffer):
13154         * libs/gst/dataprotocol/dataprotocol.h:
13155         * libs/gst/dataprotocol/dp-private.h:
13156
13157 2005-05-15  David Schleef  <ds@schleef.org>
13158
13159         * gst/elements/gstelements.c: Don't include headers that were
13160         just removed.
13161
13162 2005-05-15  David Schleef  <ds@schleef.org>
13163
13164         * gst/elements/Makefile.am: Remove some elements that don't
13165         need to be in the core (or even exist at all).
13166         * gst/elements/gstaggregator.c:
13167         * gst/elements/gstaggregator.h:
13168         * gst/elements/gstmd5sink.c:
13169         * gst/elements/gstmd5sink.h:
13170         * gst/elements/gstmultifilesrc.c:
13171         * gst/elements/gstmultifilesrc.h:
13172         * gst/elements/gstpipefilter.c:
13173         * gst/elements/gstpipefilter.h:
13174         * gst/elements/gstshaper.c:
13175         * gst/elements/gstshaper.h:
13176         * gst/elements/gststatistics.c:
13177         * gst/elements/gststatistics.h:
13178         * po/POTFILES.in: Remove above files.
13179
13180 2005-05-14  Andy Wingo  <wingo@pobox.com>
13181
13182         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
13183         so as to get the refs right.
13184         (sink_iterator_filter): New function, wraps bin_element_is_sink,
13185         unreffing objects that don't pass the filter.
13186
13187         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
13188         gst_element_set_bus.
13189         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
13190         normal cases, this will destroy the bus.
13191
13192         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
13193         object.
13194
13195         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
13196         has no sinks.
13197
13198 2005-05-13  Andy Wingo  <wingo@pobox.com>
13199
13200         * gst/gstutils.c (gst_element_link_pads): Instead of calling
13201         gst_pad_link, call pad_link_maybe_ghosting,
13202         (pad_link_maybe_ghosting): Links pads, making sure that the
13203         elements being linked are in the same bin.
13204         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
13205         Helpers for pad_link_maybe_ghosting.
13206
13207 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
13208
13209         * configure.ac:
13210           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
13211
13212 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
13213
13214         * docs/design/part-element-source.txt:
13215           Mention GstPushSrc
13216
13217 2005-05-12  Wim Taymans  <wim@fluendo.com>
13218
13219         * gst/base/gstbasesink.c: (gst_basesink_init),
13220         (gst_basesink_activate):
13221         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
13222         (gst_basesrc_is_seekable):
13223         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
13224         (bin_element_is_sink), (gst_bin_change_state):
13225         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
13226         * gst/gstelement.h:
13227         Identify sinks by their flag to avoid overly complicated
13228         checks (fow now).
13229         Do state changes even for elements not reachable from the
13230         sinks.
13231         BaseSink is a sink now :)
13232         Some more debugging info in the basesrc.
13233
13234
13235 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13236
13237         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
13238           Implement _query on a bin, similar to _send_event.
13239
13240 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
13241
13242         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
13243           Discont event offset format should be GST_FORMAT_BYTES,
13244           not GST_FORMAT_TIME.
13245
13246 2005-05-12  Wim Taymans  <wim@fluendo.com>
13247
13248         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
13249         Same fix as Ronald's but without the signal. 
13250
13251 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13252
13253         * gst/gstutils.c: (gst_element_query_position):
13254           No, an element is not a pad.
13255
13256 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13257
13258         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
13259         (gst_bin_get_state):
13260           If a child is removed from a bin while we remove the child from
13261           the bin and while we're retrieving its state, signal this to the
13262           get_state function so we abort the wait (instead of waiting for
13263           a timeout) and can immediately re-iterate over all other elements.
13264
13265 2005-05-12  Wim Taymans  <wim@fluendo.com>
13266
13267         * gst/base/Makefile.am:
13268         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
13269         (gst_basesrc_start):
13270         * gst/base/gstbasesrc.h:
13271         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
13272         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
13273         (gst_pushsrc_init), (gst_pushsrc_create):
13274         * gst/base/gstpushsrc.h:
13275         Added is_seekable to BaseSrc
13276         Added simple PushSrc.
13277
13278 2005-05-11  Wim Taymans  <wim@fluendo.com>
13279
13280         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
13281         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13282         (gst_element_link_pads), (gst_element_query_position),
13283         (gst_element_query_convert), (intersect_caps_func),
13284         (gst_pad_query_position), (gst_pad_query_convert):
13285         Fix refcounting in utils function.
13286         No point in trying to activate a pad when it's added, it could
13287         be added from the state change function and then we deadlock, the
13288         element has to decide what to do.
13289
13290 2005-05-10  Andy Wingo  <wingo@pobox.com>
13291
13292         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
13293         *all* the arguments.
13294
13295         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
13296         stream lock if it's a FLUSH_DONE; normal flushes don't get the
13297         lock (according to the docs -- if this is wrong change the docs).
13298
13299         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
13300         flush messages in the NULL state.
13301
13302         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
13303         message immediately and return.
13304         (gst_bus_set_flushing): New function. If a bus is flushing, it
13305         flushes out any queued messages and immediately unrefs new
13306         messages. This is so when an element goes to NULL, all of the
13307         unhandled messages coming from it can be freed, and their
13308         references to the element dropped. In other words: message source
13309         ref considered harmful :P
13310
13311         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
13312         we're finished with it.
13313
13314         * gst/gstmessage.c (gst_message_new_state_changed): 
13315
13316 2005-05-10  Wim Taymans  <wim@fluendo.com>
13317
13318         * gst/gstvalue.c: (gst_value_compare_flags),
13319         (gst_value_serialize_flags), (gst_value_deserialize_flags),
13320         (_gst_value_initialize):
13321         Added flags serialize/deserialize/compare code.
13322
13323 2005-05-09  Andy Wingo  <wingo@pobox.com>
13324
13325         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
13326         Intersect the peer's caps with our caps.
13327
13328 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13329
13330         * gst/base/gsttypefindhelper.c: (helper_find_peek):
13331         * gst/elements/gsttypefindelement.c: (find_peek):
13332           Handle negative offsets better. Fixes decodebin.
13333
13334 2005-05-09  Wim Taymans  <wim@fluendo.com>
13335
13336         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
13337         (gst_base_transform_event):
13338         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
13339         Implement accept_caps.
13340         Fix silly lock/unlock mismatch in base class.
13341
13342 2005-05-09  Wim Taymans  <wim@fluendo.com>
13343
13344         * docs/design/draft-push-pull.txt:
13345         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
13346         * gst/elements/gstfilesink.c: (gst_filesink_init),
13347         (gst_filesink_query):
13348         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
13349         (gst_type_find_handle_src_query), (find_element_get_length):
13350         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
13351         * gst/gstelement.h:
13352         * gst/gstmessage.c:
13353         * gst/gstmessage.h:
13354         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
13355         (gst_real_pad_get_caps_unlocked),
13356         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
13357         (gst_pad_event_default_dispatch), (gst_pad_event_default),
13358         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
13359         (gst_real_pad_dispose), (gst_real_pad_finalize),
13360         (gst_pad_load_and_link), (gst_pad_save_thyself),
13361         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
13362         (gst_pad_check_pull_range), (gst_pad_pull_range),
13363         (gst_pad_template_get_type), (gst_pad_template_class_init),
13364         (gst_pad_template_init), (gst_pad_template_dispose),
13365         (name_is_valid), (gst_static_pad_template_get),
13366         (gst_pad_template_new), (gst_static_pad_template_get_caps),
13367         (gst_pad_template_get_caps), (gst_pad_set_element_private),
13368         (gst_pad_get_element_private), (gst_pad_start_task),
13369         (gst_pad_pause_task), (gst_pad_stop_task),
13370         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
13371         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
13372         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
13373         (gst_ghost_pad_new):
13374         * gst/gstpad.h:
13375         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
13376         (gst_query_new_position), (gst_query_set_position),
13377         (gst_query_parse_position), (gst_query_new_convert),
13378         (gst_query_set_convert), (gst_query_parse_convert):
13379         * gst/gstquery.h:
13380         * gst/gstqueryutils.c:
13381         * gst/gstqueryutils.h:
13382         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13383         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
13384         (gst_queue_handle_src_query):
13385         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13386         (gst_element_query_position), (gst_element_query_convert),
13387         (intersect_caps_func), (gst_pad_query_position),
13388         (gst_pad_query_convert):
13389         * gst/gstutils.h:
13390         * tools/gst-inspect.c: (print_pad_info):
13391         * tools/gst-xmlinspect.c: (print_element_info):
13392         Remove old query functions. Ported old code.
13393         Added position/convert helper functions to gstutils.
13394         Reordered gstpad.c code, grouping relevant things.
13395         Remove gst_message_new(), always need to speficy a specific
13396         message.
13397
13398
13399 2005-05-09  Andy Wingo  <wingo@pobox.com>
13400
13401         * gst/gstiterator.h: Add some includes.
13402
13403         * gst/gstqueryutils.h: Include more headers.
13404
13405         * gst/gstpad.h:
13406         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
13407         some uses of gst_pad_query.
13408
13409         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
13410         NULL out parameters.
13411         (gst_query_new_position): New proc, allocates a new position
13412         query.
13413
13414         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
13415         gstqueryutils.c to the build.
13416
13417         * gst/gststructure.c (gst_structure_set_valist): Implement with
13418         the generic G_VALUE_COLLECT.
13419         
13420 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
13421
13422         * gst/Makefile.am: (gst_headers):
13423         Added gstqueryutils.h to the list of headers to install, that was
13424         a 'nachty' move wingo :)
13425
13426 2005-05-06  Andy Wingo  <wingo@pobox.com>
13427
13428         * gst/gstquery.h
13429         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
13430         GstData, init a memchunk.
13431         (standard_definitions): Add a few query types, deprecate a few.
13432         (gst_query_get_type): New proc.
13433         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
13434         implementation.
13435         (gst_query_new_application, gst_query_get_structure): New public
13436         procs.
13437
13438         * docs/design/draft-query.txt: Removed LINKS from the query types,
13439         because all the rest can be dispatched to other pads -- seemed
13440         ugly to have a query that couldn't be dispatched. internal_links
13441         is fine as a pad method.
13442
13443         * gst/gstpad.h: Add query2 as a pad method, add the new functions
13444         in gstpad.c, but maintain binary compatibility for the moment.
13445         Will fix before 0.9 is out.
13446
13447         * gst/gstqueryutils.c: 
13448         * gst/gstqueryutils.h: New files, implement 3 methods for each
13449         query type: parse_query, parse_response, and set. Probably need an
13450         allocator as well.
13451
13452         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
13453
13454         * gst/elements/gstfilesink.c (gst_filesink_query2):
13455         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
13456         query_types, and formats methods.
13457
13458         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
13459         (gst_pad_set_query2_function): New functions.
13460         (gst_real_pad_init): Set query2_default as the default query2
13461         function. Basically just dispatches to internally linked pads.
13462
13463         Needs review!
13464         
13465         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
13466         without using the atomic operations. Only one thread can possibly
13467         be accessing the data at this point. Changed so as to avoid
13468         gst_atomic operations.
13469
13470 2005-05-06  Wim Taymans  <wim@fluendo.com>
13471
13472         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
13473         Also set caps if we use the fallback buffer alloc.
13474
13475 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
13476
13477         * docs/gst/Makefile.am:
13478         * docs/gst/gstreamer-docs.sgml:
13479         * docs/gst/gstreamer-sections.txt:
13480         * docs/gst/tmpl/gstatomic.sgml:
13481         * docs/gst/tmpl/gstmemchunk.sgml:
13482         * testsuite/elements/struct_i386.h:
13483         * win32/GStreamer.vcproj:
13484         * win32/Makefile:
13485           Purge GstAtomic stuff from docs and win32 makefiles as well
13486
13487 2005-05-06  Wim Taymans  <wim@fluendo.com>
13488
13489         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
13490         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
13491         * gst/gstpad.c: (gst_pad_peer_get_caps):
13492         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
13493         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
13494         (gst_queue_src_activate), (gst_queue_change_state):
13495         * gst/gstqueue.h:
13496         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13497         (intersect_caps_func):
13498         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
13499         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
13500         Some fixes for the peer_get_caps() change.
13501
13502 2005-05-06  Wim Taymans  <wim@fluendo.com>
13503
13504         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
13505         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
13506         (gst_basesink_activate):
13507         Actually do something with error codes returned from the push
13508         functions.
13509
13510 2005-05-06  Wim Taymans  <wim@fluendo.com>
13511
13512         * docs/design/part-element-sink.txt:
13513         * docs/design/part-element-source.txt:
13514         * gst/base/gstbasesink.c: (gst_basesink_class_init),
13515         (gst_basesink_event), (gst_basesink_activate):
13516         * gst/base/gstbasesink.h:
13517         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
13518         (gst_basesrc_activate):
13519         * gst/base/gstbasesrc.h:
13520         * gst/gstelement.c: (gst_element_pads_activate):
13521         Some more documentation.
13522         Fixed scheduling decision in _pads_activate().
13523
13524 2005-05-05  Andy Wingo  <wingo@pobox.com>
13525
13526         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
13527         the test suite.
13528
13529 2005-05-05  Wim Taymans  <wim@fluendo.com>
13530
13531         * gst/base/Makefile.am:
13532         * gst/base/gstbasesink.h:
13533         * gst/base/gstbasesrc.c: (gst_basesrc_init),
13534         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
13535         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
13536         (gst_collectpads_class_init), (gst_collectpads_init),
13537         (gst_collectpads_finalize), (gst_collectpads_new),
13538         (gst_collectpads_set_function), (gst_collectpads_add_pad),
13539         (find_pad), (gst_collectpads_remove_pad),
13540         (gst_collectpads_is_active), (gst_collectpads_collect),
13541         (gst_collectpads_collect_range), (gst_collectpads_start),
13542         (gst_collectpads_stop), (gst_collectpads_peek),
13543         (gst_collectpads_pop), (gst_collectpads_available),
13544         (gst_collectpads_read), (gst_collectpads_flush),
13545         (gst_collectpads_chain):
13546         * gst/base/gstcollectpads.h:
13547         * gst/elements/Makefile.am:
13548         * gst/elements/gstelements.c:
13549         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13550         (gst_fakesink_get_times), (gst_fakesink_event),
13551         (gst_fakesink_preroll), (gst_fakesink_render):
13552         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
13553         (gst_filesink_init), (gst_filesink_set_location),
13554         (gst_filesink_open_file), (gst_filesink_close_file),
13555         (gst_filesink_pad_query), (gst_filesink_event),
13556         (gst_filesink_render), (gst_filesink_change_state):
13557         * gst/elements/gstfilesink.h:
13558         Added object to help in making collect pad based elements.
13559         Ported filesink.
13560         Make event function in sink baseclass return gboolean.
13561
13562 2005-05-05  Wim Taymans  <wim@fluendo.com>
13563
13564         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
13565         (gst_bin_get_by_name):
13566         * gst/gstbuffer.h:
13567         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
13568         (gst_clock_finalize):
13569         * gst/gstdata.c: (gst_data_replace):
13570         * gst/gstdata.h:
13571         * gst/gstelement.c: (gst_element_request_pad),
13572         (gst_element_pads_activate):
13573         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
13574         (gst_object_unref):
13575         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13576         (gst_pad_set_checkgetrange_function),
13577         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
13578         (gst_pad_check_pull_range), (gst_pad_pull_range),
13579         (gst_static_pad_template_get_caps), (gst_pad_start_task),
13580         (gst_pad_pause_task), (gst_pad_stop_task):
13581         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
13582         (gst_element_request_pad), (gst_pad_proxy_getcaps):
13583         Fix name lookup in GstBin.
13584         Added _data_replace() function and _buffer_replace()
13585         Use finalize method to clean up clock.
13586         Fix refcounting on request pads.
13587         Fix pad schedule mode error.
13588         Some more object refcounting debug info,
13589
13590
13591 2005-05-04  Andy Wingo <wingo@pobox.com>
13592
13593         * check/Makefile.am:
13594         * docs/gst/tmpl/gstatomic.sgml:
13595         * docs/gst/tmpl/gstplugin.sgml:
13596         * gst/base/gstbasesink.c: (gst_basesink_activate):
13597         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
13598         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
13599         (gst_basesrc_query), (gst_basesrc_set_property),
13600         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
13601         (gst_basesrc_activate):
13602         * gst/base/gstbasesrc.h:
13603         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
13604         (gst_base_transform_src_activate):
13605         * gst/elements/gstelements.c:
13606         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13607         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
13608         * gst/elements/gsttee.c: (gst_tee_sink_activate):
13609         * gst/elements/gsttypefindelement.c: (find_element_get_length),
13610         (gst_type_find_element_checkgetrange),
13611         (gst_type_find_element_activate):
13612         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
13613         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
13614         (gst_caps_load_thyself):
13615         * gst/gstelement.c: (gst_element_pads_activate),
13616         (gst_element_save_thyself), (gst_element_restore_thyself):
13617         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
13618         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
13619         * gst/gstpad.h:
13620         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
13621         (gst_xml_parse_file), (gst_xml_parse_memory),
13622         (gst_xml_get_element), (gst_xml_make_element):
13623         * gst/indexers/gstfileindex.c: (gst_file_index_load),
13624         (_file_index_id_save_xml), (gst_file_index_commit):
13625         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
13626         (read_enum), (load_pad_template), (load_feature), (load_plugin),
13627         (load_paths):
13628         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
13629         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
13630         * tools/gst-complete.c: (main):
13631         * tools/gst-compprep.c: (main):
13632         * tools/gst-inspect.c: (print_element_properties_info):
13633         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
13634         * tools/gst-xmlinspect.c: (print_element_properties):
13635         GCC 4 fixen.
13636         
13637 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13638
13639         * gst/gstplugin.c: (gst_plugin_check_module),
13640         (gst_plugin_check_file), (gst_plugin_load_file):
13641             apply patch from #172526 to make register work on MacOSX
13642
13643 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13644
13645         * docs/gst/tmpl/gstconfig.sgml:
13646         * gst/gstconfig.h.in:
13647           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
13648         * testsuite/debug/printf_extension.c: (main):
13649           Do not use GST_PTR_FORMAT on pointers to types with
13650           sizeof < sizeof(gpointer).  Fixes test on 64-bit
13651         * testsuite/elements/property.h:
13652           use correct printf format
13653
13654 2005-05-02  Wim Taymans  <wim@fluendo.com>
13655
13656         * docs/design/draft-push-pull.txt:
13657         * docs/design/draft-query.txt:
13658         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
13659         (gst_basesrc_start):
13660         Added draft for new query API.
13661         Added draft for better selecting scheduling methods.
13662         Make basesrc ignore length if the subclass does not support
13663         it.
13664
13665 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13666
13667         * gst/Makefile.am:
13668           possible fixes for automake-1.5 - _LIBADD is reserved
13669
13670 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13671
13672         * docs/faq/Makefile.am:
13673         * docs/manual/Makefile.am:
13674         * docs/manuals.mak:
13675         * docs/pwg/Makefile.am:
13676         * gst/Makefile.am:
13677           possible fixes for automake-1.5
13678
13679 2005-04-28  Wim Taymans  <wim@fluendo.com>
13680
13681         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13682         (gst_basesink_pad_getcaps), (gst_basesink_init),
13683         (gst_basesink_do_sync):
13684         * gst/gstclock.c: (gst_clock_entry_new):
13685         * gst/gstevent.c: (gst_event_discont_get_value):
13686         * gst/gstpipeline.c: (pipeline_bus_handler),
13687         (gst_pipeline_change_state):
13688         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
13689         Better debugging of clocking info.
13690         Allow NULL values when getting discont values.
13691
13692 2005-04-27  Wim Taymans  <wim@fluendo.com>
13693
13694         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
13695         * check/gst/gstpad.c: (gst_pad_suite):
13696         Increase timeout for checks.
13697
13698 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
13699
13700         * check/Makefile.am:
13701           fix the broken rule for cleanup.  Apparently this rule is
13702           only needed on FC2, so maybe this warrants further autotool
13703           inspection.
13704
13705 2005-04-26  Wim Taymans  <wim@fluendo.com>
13706
13707         * gst/gsttrashstack.h:
13708         Ooohh. a nasty one! After having a failed pop() from the stack,
13709         it's possible that the stack is empty. In that case, don't
13710         follow the NULL pointer.
13711
13712 2005-04-25  Wim Taymans  <wim@fluendo.com>
13713
13714         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13715         (gst_pad_set_checkgetrange_function),
13716         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
13717         (gst_pad_check_pull_range), (gst_pad_pull_range),
13718         (gst_static_pad_template_get_caps), (gst_pad_start_task),
13719         (gst_pad_pause_task), (gst_pad_stop_task):
13720         * gst/gstplugin.c: (gst_plugin_load):
13721         * gst/gstplugin.h:
13722         Remove gst_library_load as it does more harm than good with
13723         the new g_module flags.
13724         Revert bogus caps template check in pad linking, pad caps
13725         are important when linking not the template, which is more
13726         general than the current caps.
13727
13728 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13729
13730         * gst/autoplug/.cvsignore:
13731         * gst/autoplug/Makefile.am:
13732         * gst/autoplug/gstsearchfuncs.c:
13733         * gst/autoplug/gstsearchfuncs.h:
13734         * gst/autoplug/gstspider.c:
13735         * gst/autoplug/gstspider.h:
13736         * gst/autoplug/gstspideridentity.c:
13737         * gst/autoplug/gstspideridentity.h:
13738         * gst/autoplug/spidertest.c:
13739           Die, spider, die.
13740
13741 2005-04-25  Wim Taymans  <wim@fluendo.com>
13742
13743         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13744         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
13745         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
13746         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
13747         * gst/gstpad.h:
13748         Added stubs for unimplemented functions. 
13749
13750 2005-04-24  David Schleef  <ds@schleef.org>
13751
13752         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
13753         please fix.
13754
13755 2005-04-24  David Schleef  <ds@schleef.org>
13756
13757         Convert everything from GstAtomicInt to g_atomic_int_*, and
13758         remove gstatomic.
13759         * gst/Makefile.am:
13760         * gst/gstatomic.c:
13761         * gst/gstatomic.h:
13762         * gst/gstatomic_impl.h:
13763         * gst/gstbuffer.c:
13764         * gst/gstcaps.c:
13765         * gst/gstcaps.h:
13766         * gst/gstclock.c:
13767         * gst/gstclock.h:
13768         * gst/gstdata.c:
13769         * gst/gstdata.h:
13770         * gst/gstdata_private.h:
13771         * gst/gstevent.c:
13772         * gst/gstinfo.c:
13773         * gst/gstinfo.h:
13774         * gst/gstmessage.c:
13775         * gst/gstobject.c:
13776         * gst/gstobject.h:
13777         * gst/gststructure.c:
13778         * gst/gststructure.h:
13779         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
13780         * gst/gstutils.h:
13781
13782 2005-04-24  David Schleef  <ds@schleef.org>
13783
13784         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
13785         make the regressions tests work.  Remove some code that is no
13786         longer true.
13787         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
13788         Disable warning for pads without templates.
13789
13790 2005-04-24  David Schleef  <ds@schleef.org>
13791
13792         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
13793         functions that handle filtered links.
13794         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
13795         removed functions.
13796         * gst/gstutils.c: Fix/remove utility functions that handle
13797         filtered caps.
13798         * gst/gstutils.h:
13799         * gst/gstvalue.c: Add serialization/deserialization of caps
13800         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
13801         requires fixing so that the filter caps notation creates
13802         a capsfilter element and sets the filter_caps property.  I
13803         think everyone probably wants to keep the shorthand notation.
13804         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
13805         * docs/gst/tmpl/gstpad.sgml:
13806
13807         * gst/elements/gstelements.c: Register capsfilter element.
13808         * gst/Makefile.am: fix spacing
13809         * docs/random/ds/0.9-suggested-changes: random
13810
13811 2005-04-23  David Schleef  <ds@schleef.org>
13812
13813         * gst/elements/Makefile.am:
13814         * gst/elements/gstcapsfilter.c: New element that acts like an
13815         identity, but filters caps.  Will eventually replace filtered
13816         caps in pad linking.
13817         * gst/gstutils.c: (gst_element_create_all_pads): New function
13818         to create all the ALWAYS pads that are registered with an
13819         element class.  This functionality should eventually be
13820         merged in with GstElement initialization.
13821         * gst/gstutils.h:
13822         * testsuite/trigger/README: part of trigger test code that should
13823         have been checked in a long time ago.
13824
13825 2005-04-23  David Schleef  <ds@schleef.org>
13826
13827         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
13828         needed with new versions of libtool (nobody will confirm this),
13829         and hard to carry around.
13830         * gst/autoplug/Makefile.am:
13831         * gst/base/Makefile.am:
13832         * gst/elements/Makefile.am:
13833         * gst/indexers/Makefile.am:
13834         * gst/schedulers/Makefile.am:
13835         * libs/gst/bytestream/Makefile.am:
13836         * libs/gst/control/Makefile.am:
13837         * libs/gst/dataprotocol/Makefile.am:
13838         * libs/gst/getbits/Makefile.am:
13839
13840 2005-04-21  Wim Taymans  <wim@fluendo.com>
13841
13842         * docs/design/draft-push-pull.txt:
13843         * docs/design/part-MT-refcounting.txt:
13844         * docs/design/part-TODO.txt:
13845         * docs/design/part-caps.txt:
13846         * docs/design/part-events.txt:
13847         * docs/design/part-gstbus.txt:
13848         * docs/design/part-gstpipeline.txt:
13849         * docs/design/part-messages.txt:
13850         * docs/design/part-push-pull.txt:
13851         * docs/design/part-query.txt:
13852         Some more docs.
13853
13854 2005-04-21  Wim Taymans  <wim@fluendo.com>
13855
13856         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
13857         (gst_message_new), (gst_message_new_error),
13858         (gst_message_new_warning), (gst_message_new_tag),
13859         (gst_message_new_state_changed), (gst_message_new_application),
13860         (gst_message_get_structure):
13861         * gst/gstmessage.h:
13862         * gst/gststructure.c: (gst_structure_set_parent_refcount),
13863         (gst_structure_copy_conditional):
13864         Use parent refcount in GstMessage to ensure GstStructure
13865         consistency.
13866         Cleaned up headers a bit.
13867         
13868
13869 2005-04-20  Wim Taymans  <wim@fluendo.com>
13870
13871         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13872         (gst_basesink_pad_getcaps), (gst_basesink_init),
13873         (gst_basesink_chain_unlocked):
13874         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
13875         (gst_type_find_helper):
13876         * gst/elements/gsttypefindelement.c:
13877         (gst_type_find_element_have_type), (gst_type_find_element_init),
13878         (stop_typefinding), (gst_type_find_element_handle_event),
13879         (find_suggest), (gst_type_find_element_chain),
13880         (gst_type_find_element_checkgetrange),
13881         (gst_type_find_element_getrange), (do_typefind),
13882         (gst_type_find_element_activate):
13883         * gst/gstbuffer.c: (_gst_buffer_sub_free),
13884         (gst_buffer_default_free), (gst_buffer_default_copy),
13885         (gst_buffer_set_caps):
13886         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
13887         (gst_caps_replace):
13888         * gst/gstmessage.c: (gst_message_new),
13889         (gst_message_new_state_changed):
13890         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
13891         (gst_pad_set_checkgetrange_function),
13892         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
13893         (gst_pad_set_caps), (gst_pad_check_pull_range),
13894         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
13895         * gst/gstpad.h:
13896         * gst/gsttypefind.c: (gst_type_find_register):
13897         Make gst_caps_replace() work like other _replace() functions.
13898         Use _caps_replace() where possible.
13899         Make sure _message_new() initialises its field.
13900         Add gst_static_pad_template_get_caps()
13901
13902
13903 2005-04-18  Andy Wingo  <wingo@pobox.com>
13904
13905         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
13906         on the peer, not the pad. I think that was a typo. Pass an extra
13907         arg to see if random access is possible. Activate the pads as
13908         PULL_RANGE if possible.
13909
13910         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
13911
13912         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
13913         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
13914         to PROP_....
13915
13916 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13917
13918         * docs/faq/using.xml:
13919           Add note on gstreamer-properties (#154996).
13920
13921 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13922
13923         * docs/random/bbb/optional-properties:
13924           Some analysis on optional properties.
13925
13926 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13927
13928         * docs/gst/tmpl/gstelementfactory.sgml:
13929         * gst/gstelement.h:
13930         * gst/gstelementfactory.c: (gst_element_factory_init),
13931         (gst_element_factory_cleanup), (gst_element_register),
13932         (__gst_element_factory_add_static_pad_template),
13933         (gst_element_factory_get_static_pad_templates),
13934         (gst_element_factory_can_src_caps),
13935         (gst_element_factory_can_sink_caps):
13936         * gst/registries/Makefile.am:
13937         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
13938         (gst_xml_registry_class_init), (gst_xml_registry_init),
13939         (gst_xml_registry_new), (gst_xml_registry_set_property),
13940         (gst_xml_registry_get_property), (get_time), (make_dir),
13941         (gst_xml_registry_get_perms_func),
13942         (plugin_times_older_than_recurse), (plugin_times_older_than),
13943         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
13944         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
13945         (add_to_char_array), (read_string), (read_uint), (read_enum),
13946         (load_pad_template), (load_feature), (load_plugin), (load_paths),
13947         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
13948         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
13949         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
13950         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
13951         (gst_xml_registry_rebuild):
13952         * gst/registries/gstlibxmlregistry.h:
13953         * tools/gst-compprep.c: (main):
13954         * tools/gst-inspect.c: (print_pad_templates_info):
13955         * tools/gst-xmlinspect.c: (print_element_info):
13956           Use libxml2 for registry parsing, use staticpadtemplates in
13957           elementfactories. Makes gst_init() +/- 10x faster.
13958
13959 2005-04-12  Wim Taymans  <wim@fluendo.com>
13960
13961         * gst/base/Makefile.am:
13962         * gst/base/gstbasesink.c: (gst_basesink_base_init),
13963         (gst_basesink_pad_getcaps), (gst_basesink_init),
13964         (gst_basesink_event), (gst_basesink_change_state):
13965         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
13966         (gst_basesrc_init), (gst_basesrc_query),
13967         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
13968         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
13969         (gst_basesrc_check_get_range), (gst_basesrc_loop),
13970         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
13971         (gst_basesrc_stop), (gst_basesrc_activate),
13972         (gst_basesrc_change_state):
13973         * gst/base/gsttypefindhelper.c: (helper_find_peek),
13974         (helper_find_suggest), (gst_type_find_helper):
13975         * gst/base/gsttypefindhelper.h:
13976         * gst/elements/Makefile.am:
13977         * gst/elements/gstelements.c:
13978         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
13979         (gst_fakesink_get_times), (gst_fakesink_event),
13980         (gst_fakesink_preroll), (gst_fakesink_render):
13981         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13982         (gst_fakesrc_init), (gst_fakesrc_event_handler),
13983         (gst_fakesrc_get_property), (gst_fakesrc_create),
13984         (gst_fakesrc_start), (gst_fakesrc_stop):
13985         * gst/elements/gstfakesrc.h:
13986         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
13987         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
13988         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
13989         (gst_filesrc_create_read), (gst_filesrc_create),
13990         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
13991         (gst_filesrc_start):
13992         * gst/elements/gsttypefindelement.c:
13993         (gst_type_find_element_have_type), (gst_type_find_element_init),
13994         (start_typefinding), (stop_typefinding), (push_buffer_store),
13995         (gst_type_find_element_handle_event),
13996         (gst_type_find_element_chain),
13997         (gst_type_find_element_checkgetrange),
13998         (gst_type_find_element_getrange), (do_typefind),
13999         (gst_type_find_element_activate),
14000         (gst_type_find_element_change_state):
14001         * gst/elements/gsttypefindelement.h:
14002         * gst/gstpipeline.c: (pipeline_bus_handler):
14003         Added typefind helper.
14004         Small preroll fix in the base sink.
14005         Disable typefind code in basesrc.
14006         Crude port of typefindelement.
14007         Fakesrc cleanups.
14008
14009
14010 2005-04-11  Wim Taymans  <wim@fluendo.com>
14011
14012         * check/gst/gstbus.c: (gstbus_suite):
14013         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
14014         * check/gstcheck.h:
14015           Fix up the timeout so that the test does not fail.
14016
14017 2005-04-06  Wim Taymans  <wim@fluendo.com>
14018
14019         * gst/base/README:
14020         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
14021         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
14022         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
14023         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
14024         (gst_basesrc_check_get_range), (gst_basesrc_loop),
14025         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
14026         (gst_basesrc_stop), (gst_basesrc_activate),
14027         (gst_basesrc_change_state), (basesrc_find_peek),
14028         (basesrc_find_suggest), (gst_basesrc_type_find):
14029         * gst/base/gstbasesrc.h:
14030         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
14031         (gst_filesrc_class_init), (gst_filesrc_init),
14032         (gst_filesrc_finalize), (gst_filesrc_set_location),
14033         (gst_filesrc_set_property), (gst_filesrc_get_property),
14034         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
14035         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
14036         (gst_filesrc_create_read), (gst_filesrc_create),
14037         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
14038         * gst/elements/gstfilesrc.h:
14039         * gst/gstelement.c: (gst_element_get_state_func),
14040         (gst_element_lost_state), (gst_element_pads_activate):
14041         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14042         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
14043         (gst_pad_pull_range):
14044         * gst/gstpad.h:
14045         More work on the generic source base class, implement seeking,
14046         query.
14047         Make filesrc extend the base source class.
14048         Added gst_pad_set_checkgetrange_function to GstPad.
14049
14050 2005-04-06  Andy Wingo  <wingo@pobox.com>
14051
14052         * pkgconfig/gstreamer-base.pc.in:
14053         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
14054
14055         * pkgconfig/Makefile.am:
14056         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
14057
14058 2005-04-04  Wim Taymans  <wim@fluendo.com>
14059
14060         * gst/base/Makefile.am:
14061         * gst/base/README:
14062         * gst/base/gstbasesink.c: (gst_basesink_base_init),
14063         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
14064         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
14065         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
14066         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
14067         (gst_basesrc_base_init), (gst_basesrc_class_init),
14068         (gst_basesrc_init), (gst_basesrc_get_formats),
14069         (gst_basesrc_get_query_types), (gst_basesrc_query),
14070         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
14071         (gst_basesrc_set_property), (gst_basesrc_get_property),
14072         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
14073         (gst_basesrc_loop), (gst_basesrc_activate),
14074         (gst_basesrc_change_state):
14075         * gst/base/gstbasesrc.h:
14076         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
14077         (gst_fakesrc_class_init), (gst_fakesrc_init),
14078         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
14079         (gst_fakesrc_get_property), (gst_fakesrc_create):
14080         * gst/elements/gstfakesrc.h:
14081         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
14082         (gst_filesrc_open_file), (gst_filesrc_loop),
14083         (gst_filesrc_activate), (filesrc_find_peek),
14084         (gst_filesrc_type_find):
14085         Made base source class, make fakesrc extend it.
14086         Add comments to basesink class.
14087         Some filesrc cleanup.
14088
14089 2005-03-31  David Schleef  <ds@schleef.org>
14090
14091         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
14092         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
14093         expected to link against libgstreamer.
14094         * gst/base/Makefile.am: link against libgstreamer
14095         * gst/elements/Makefile.am: same
14096
14097 2005-03-31  Andy Wingo  <wingo@pobox.com>
14098
14099         * tests/instantiate/Makefile.am:
14100         * tests/instantiate/caps.c: Add test to test speed of caps copy
14101         and free.
14102
14103         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
14104         GMemChunk to be fair.
14105
14106         * gst/gsttrashstack.h: Remove warning about using the fallback
14107         trash stack implementation, it's still faster than malloc.
14108
14109 2005-03-30  Andy Wingo  <wingo@pobox.com>
14110
14111         * tests/complexity.c: Add a copyright.
14112
14113 2005-03-31  Wim Taymans  <wim@fluendo.com>
14114
14115         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
14116         (gst_base_transform_class_init), (gst_base_transform_init),
14117         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
14118         (gst_base_transform_get_property),
14119         (gst_base_transform_sink_activate),
14120         (gst_base_transform_src_activate),
14121         (gst_base_transform_change_state):
14122         * gst/base/gstbasetransform.h:
14123         * gst/elements/gstidentity.c: (gst_identity_class_init),
14124         (gst_identity_event), (gst_identity_check_perfect),
14125         (gst_identity_transform), (gst_identity_start),
14126         (gst_identity_stop):
14127         Added start/stop methods to transform base class so subclasses 
14128         don't need to deal with state changes even.
14129
14130 2005-03-31  Wim Taymans  <wim@fluendo.com>
14131
14132         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
14133         (gst_event_new_discontinuous), (gst_event_discont_get_value):
14134         * gst/gstevent.h:
14135         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14136         (gst_pad_pull_range):
14137         Added rate to the discont event to prepare for variable speed
14138         and reverse playback.
14139
14140 2005-03-29  David Schleef  <ds@schleef.org>
14141
14142         * configure.ac:
14143         * testsuite/trigger/Makefile.am:
14144         * testsuite/trigger/trigger.c: A little example program to show
14145         how trigger-based elements can work.
14146
14147 2005-03-29  Wim Taymans  <wim@fluendo.com>
14148
14149         * gst/base/Makefile.am:
14150         * gst/base/README:
14151         * gst/base/gstbasesink.c: (gst_basesink_get_type),
14152         (gst_basesink_base_init), (gst_basesink_class_init),
14153         (gst_basesink_pad_getcaps), (gst_basesink_init),
14154         (gst_basesink_activate), (gst_basesink_change_state):
14155         * gst/base/gstbasesink.h:
14156         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
14157         (gst_base_transform_base_init), (gst_base_transform_finalize),
14158         (gst_base_transform_class_init), (gst_base_transform_init),
14159         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
14160         (gst_base_transform_event), (gst_base_transform_getrange),
14161         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
14162         (gst_base_transform_set_property),
14163         (gst_base_transform_get_property),
14164         (gst_base_transform_sink_activate),
14165         (gst_base_transform_src_activate),
14166         (gst_base_transform_change_state):
14167         * gst/base/gstbasetransform.h:
14168         * gst/elements/gstidentity.c: (gst_identity_finalize),
14169         (gst_identity_class_init), (gst_identity_init),
14170         (gst_identity_event), (gst_identity_check_perfect),
14171         (gst_identity_transform), (gst_identity_set_property),
14172         (gst_identity_get_property), (gst_identity_change_state):
14173         * gst/elements/gstidentity.h:
14174         * gst/gstelement.c: (gst_element_get_state_func),
14175         (gst_element_lost_state), (gst_element_pads_activate):
14176         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
14177         (gst_pad_check_pull_range), (gst_pad_pull_range):
14178         * gst/gstpad.h:
14179         Simplify pad activation.
14180         Added function to check if pull_range can be performed.
14181         Error out when pulling inactive or flushing pads.
14182         Removed const from refcounted types as it does not make sense.
14183         Simplify pad templates in basesink
14184         Added base class for simple 1-to-1 transforms.
14185         Make identity subclass the base transform.
14186
14187 2005-03-29  Andy Wingo  <wingo@pobox.com>
14188
14189         * docs/libs/gstreamer-libs-overrides.txt: 
14190         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
14191         really don't understand what's going on, but like whatever. I want
14192         green buildbot!
14193
14194         * docs/gst/Makefile.am:
14195         * docs/libs/Makefile.am: Dist the overrides files.
14196
14197         * check/Makefile.am (clean-local): Remove .libs directories.
14198
14199         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
14200         elements to EXTRA_DIST, so po/ files are happy.
14201
14202         * po/POTFILES.in: Er, remove it here.
14203
14204         * po/POTFILES: Remove gstspider.c.
14205
14206         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
14207
14208         * docs/libs/gstreamer-libs-docs.sgml: 
14209         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
14210         bytestream.
14211
14212         * tests/complexity.c (main): Set the length of the preroll queue
14213         on the sinks to prevent a lockup.
14214
14215         * libs/gst/dataprotocol/Makefile.am: 
14216         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
14217         the same as the one in check/gst-libs/gdp.c.
14218
14219         * po/, docs/gst/: Commit automatic changes to docs and po files.
14220
14221         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
14222         the versioned libgstbase.
14223
14224         * check/Makefile.am: Depend on an unversioned gst-register, seems
14225         to make autoconf happier.
14226
14227         * gst/base/Makefile.am: Make libgstbase a versioned lib.
14228
14229 2005-03-28  Wim Taymans  <wim@fluendo.com>
14230
14231         * configure.ac:
14232         * docs/design/part-gstelement.txt:
14233         * docs/design/part-negotiation.txt:
14234         * docs/design/part-preroll.txt:
14235         * docs/design/part-scheduling.txt:
14236         * docs/design/part-states.txt:
14237         * gst/Makefile.am:
14238         * gst/base/Makefile.am:
14239         * gst/base/README:
14240         * gst/base/gstbasesink.c: (gst_basesink_get_template),
14241         (gst_basesink_base_init), (gst_basesink_class_init),
14242         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
14243         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
14244         (gst_basesink_set_pad_functions),
14245         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
14246         (gst_basesink_set_property), (gst_basesink_get_property),
14247         (gst_base_sink_get_template), (gst_base_sink_get_caps),
14248         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
14249         (gst_basesink_preroll_queue_push),
14250         (gst_basesink_preroll_queue_empty),
14251         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
14252         (gst_basesink_event), (gst_basesink_get_times),
14253         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
14254         (gst_basesink_chain_unlocked), (gst_basesink_chain),
14255         (gst_basesink_loop), (gst_basesink_activate),
14256         (gst_basesink_change_state):
14257         * gst/base/gstbasesink.h:
14258         * gst/elements/Makefile.am:
14259         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
14260         (gst_fakesink_class_init), (gst_fakesink_init),
14261         (gst_fakesink_set_property), (gst_fakesink_get_property),
14262         (gst_fakesink_get_times), (gst_fakesink_event),
14263         (gst_fakesink_preroll), (gst_fakesink_render),
14264         (gst_fakesink_change_state):
14265         * gst/elements/gstfakesink.h:
14266         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
14267         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
14268         * gst/gstelement.c: (gst_element_add_pad),
14269         (gst_element_get_state_func), (gst_element_abort_state),
14270         (gst_element_commit_state), (gst_element_lost_state),
14271         (gst_element_set_state), (gst_element_pads_activate):
14272         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
14273         * gst/gstpipeline.c: (gst_pipeline_send_event),
14274         (gst_pipeline_change_state):
14275         Added state change code.
14276         Added/updated docs.
14277         Added sink base class, make fakesink extend the base class.
14278         Small cleanups in GstPipeline.
14279
14280 2005-03-26  David Schleef  <ds@schleef.org>
14281
14282         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
14283         is broken and should be implemented in a different library.
14284         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
14285         * gst/gst.h: remove gstcpu.h
14286         * gst/gstcpu.c: remove
14287         * gst/gstcpu.h: remove
14288         * gst/Makefile.am.future: Remove this file.  It's ancient.
14289
14290 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14291
14292         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
14293         (gst_bin_send_event):
14294           Add default event/set_manager handlers. The set_manager handler
14295           takes care that the manager is distributed over kids that were
14296           already in the bin before the manager was set. The event handler
14297           is a utility virtual function that sends the event over all sinks,
14298           so that gst_element_send_event (bin, event); has the expected
14299           behaviour.
14300         * gst/gstpad.c: (gst_pad_event_default):
14301           Re-install default event handling for discontinuities, so that
14302           seeking works without requiring hacks in applications or extra
14303           code in sinks.
14304         * gst/gstpipeline.c: (gst_pipeline_class_init),
14305         (gst_pipeline_send_event):
14306           Half hack, half utility: set a pipeline to PAUSED for seek events,
14307           since that is the only way we can guarantee a/v sync. Means that
14308           you can do gst_element_seek (pipeline, method, pos); on a pipeline
14309           and it "just works".
14310
14311 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14312
14313         * gst/gstpipeline.c: (gst_pipeline_use_clock):
14314           Lock/unlock mismatch.
14315
14316 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
14317
14318         * docs/faq/gst-uninstalled:
14319           add gst-plugins-base
14320         * docs/gst/Makefile.am:
14321           don't error out until docs are fixed
14322         * docs/gst/gstreamer.types:
14323           remove thread
14324
14325 2005-03-22  Wim Taymans  <wim@fluendo.com>
14326
14327         * check/Makefile.am:
14328         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
14329         * gst/gststructure.c: (gst_structure_set_valist),
14330         (gst_structure_copy_conditional):
14331         Activated more tests.
14332         Added message test.
14333         Added G_TYPE_POINTER to GstStructure.
14334         
14335
14336 2005-03-22  Wim Taymans  <wim@fluendo.com>
14337
14338         * docs/design/part-TODO.txt:
14339         * docs/design/part-events.txt:
14340         * docs/design/part-gstbin.txt:
14341         * docs/design/part-gstbus.txt:
14342         * docs/design/part-gstpipeline.txt:
14343         * docs/design/part-messages.txt:
14344         * gst/gstbus.c:
14345         * gst/gstmessage.c:
14346         Docs updates
14347
14348 2005-03-21  Wim Taymans  <wim@fluendo.com>
14349
14350         * gst/gstbus.c: (gst_bus_post):
14351         Fix copy-and-paste error.
14352
14353 2005-03-21  Wim Taymans  <wim@fluendo.com>
14354
14355         * check/Makefile.am:
14356         * gst/Makefile.am:
14357         * gst/elements/Makefile.am:
14358         * gst/elements/gstelements.c:
14359         * gst/elements/gstfakesink.c: (gst_fakesink_init),
14360         (gst_fakesink_event), (gst_fakesink_chain):
14361         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14362         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
14363         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
14364         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
14365         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
14366         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
14367         (gst_fakesrc_loop), (gst_fakesrc_activate),
14368         (gst_fakesrc_change_state):
14369         * gst/elements/gstfakesrc.h:
14370         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
14371         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
14372         (gst_filesrc_open_file), (gst_filesrc_loop),
14373         (gst_filesrc_activate), (gst_filesrc_change_state),
14374         (filesrc_find_peek), (filesrc_find_suggest),
14375         (gst_filesrc_type_find):
14376         * gst/elements/gstidentity.c: (gst_identity_finalize),
14377         (gst_identity_class_init), (gst_identity_init),
14378         (gst_identity_proxy_getcaps), (identity_queue_push),
14379         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
14380         (gst_identity_getrange), (gst_identity_chain),
14381         (gst_identity_sink_loop), (gst_identity_src_loop),
14382         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
14383         (gst_identity_set_property), (gst_identity_get_property),
14384         (gst_identity_change_state):
14385         * gst/elements/gstidentity.h:
14386         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
14387         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
14388         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
14389         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
14390         (gst_tee_sink_activate):
14391         * gst/elements/gsttee.h:
14392         * gst/gst.c: (gst_register_core_elements), (init_post):
14393         * gst/gst.h:
14394         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
14395         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
14396         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
14397         (gst_bin_change_state):
14398         * gst/gstbin.h:
14399         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
14400         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
14401         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
14402         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
14403         (gst_bus_set_sync_handler), (gst_bus_create_watch),
14404         (bus_watch_callback), (bus_watch_destroy),
14405         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
14406         (poll_timeout), (gst_bus_poll):
14407         * gst/gstbus.h:
14408         * gst/gstcaps.h:
14409         * gst/gstdata.h:
14410         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
14411         (gst_element_post_message), (gst_element_message_full),
14412         (gst_element_get_state_func), (gst_element_get_state),
14413         (gst_element_abort_state), (gst_element_commit_state),
14414         (gst_element_lost_state), (gst_element_set_state),
14415         (gst_element_pads_activate), (gst_element_change_state),
14416         (gst_element_dispose), (gst_element_set_manager_func),
14417         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
14418         (gst_element_set_manager), (gst_element_get_manager),
14419         (gst_element_set_bus), (gst_element_get_bus),
14420         (gst_element_set_scheduler), (gst_element_get_scheduler):
14421         * gst/gstelement.h:
14422         * gst/gstevent.c: (gst_event_new_segment_seek),
14423         (gst_event_new_flush):
14424         * gst/gstevent.h:
14425         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
14426         (_gst_message_free), (gst_message_get_type), (gst_message_new),
14427         (gst_message_new_eos), (gst_message_new_error),
14428         (gst_message_new_warning), (gst_message_new_tag),
14429         (gst_message_new_state_changed), (gst_message_new_application),
14430         (gst_message_get_structure), (gst_message_parse_tag),
14431         (gst_message_parse_state_changed), (gst_message_parse_error),
14432         (gst_message_parse_warning):
14433         * gst/gstmessage.h:
14434         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
14435         (gst_real_pad_set_property), (gst_pad_set_active),
14436         (gst_pad_is_active), (gst_pad_set_blocked_async),
14437         (gst_pad_set_blocked), (gst_pad_is_blocked),
14438         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
14439         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
14440         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
14441         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
14442         (gst_pad_link_filtered), (gst_pad_relink_filtered),
14443         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
14444         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
14445         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
14446         (gst_pad_set_caps), (gst_pad_configure_sink),
14447         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
14448         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
14449         (gst_real_pad_dispose), (gst_real_pad_finalize),
14450         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
14451         (gst_pad_event_default_dispatch), (gst_pad_event_default),
14452         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
14453         * gst/gstpad.h:
14454         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
14455         (pipeline_bus_handler), (gst_pipeline_change_state),
14456         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
14457         * gst/gstpipeline.h:
14458         * gst/gstprobe.h:
14459         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
14460         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
14461         (gst_queue_link_src), (gst_queue_bufferalloc),
14462         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
14463         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
14464         (gst_queue_loop), (gst_queue_handle_src_event),
14465         (gst_queue_handle_src_query), (gst_queue_src_activate),
14466         (gst_queue_change_state):
14467         * gst/gstqueue.h:
14468         * gst/gstscheduler.c: (gst_scheduler_init),
14469         (gst_scheduler_dispose), (gst_scheduler_create_task),
14470         (gst_scheduler_factory_create):
14471         * gst/gstscheduler.h:
14472         * gst/gststructure.c: (gst_structure_get_type),
14473         (gst_structure_copy_conditional):
14474         * gst/gststructure.h:
14475         * gst/gsttaginterface.h:
14476         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
14477         (gst_task_init), (gst_task_dispose), (gst_task_create),
14478         (gst_task_get_state), (gst_task_start), (gst_task_stop),
14479         (gst_task_pause):
14480         * gst/gsttask.h:
14481         * gst/gstthread.c:
14482         * gst/gstthread.h:
14483         * gst/gsttypes.h:
14484         * gst/schedulers/Makefile.am:
14485         * gst/schedulers/cothreads_compat.h:
14486         * gst/schedulers/entryscheduler.c:
14487         * gst/schedulers/faircothreads.c:
14488         * gst/schedulers/faircothreads.h:
14489         * gst/schedulers/fairscheduler.c:
14490         * gst/schedulers/gstbasicscheduler.c:
14491         * gst/schedulers/gstoptimalscheduler.c:
14492         * gst/schedulers/gthread-cothreads.h:
14493         * gst/schedulers/threadscheduler.c:
14494         (gst_thread_scheduler_task_get_type),
14495         (gst_thread_scheduler_task_class_init),
14496         (gst_thread_scheduler_task_init),
14497         (gst_thread_scheduler_task_start),
14498         (gst_thread_scheduler_task_stop),
14499         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
14500         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
14501         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
14502         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
14503         (plugin_init):
14504         * libs/gst/Makefile.am:
14505         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
14506         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
14507         (gst_file_pad_parent_set):
14508         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
14509         (gst_dp_event_from_packet):
14510         * tests/complexity.c: (main):
14511         * tests/mass_elements.c: (main):
14512         * testsuite/states/locked.c: (message_received), (main):
14513         * testsuite/states/parent.c: (main):
14514         * tools/gst-inspect.c: (print_element_flag_info),
14515         (print_implementation_info), (print_pad_info):
14516         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
14517         (main):
14518         * tools/gst-md5sum.c: (event_loop), (main):
14519         * tools/gst-typefind.c: (main):
14520         * tools/gst-xmlinspect.c: (print_element_info):
14521         Next big merge.
14522         Added GstBus for mainloop integration.
14523         Added GstMessage for sending notifications on the bus.
14524         Added GstTask as an abstraction for pipeline entry points.
14525         Removed GstThread.
14526         Removed Schedulers.
14527         Simplified GstQueue for multithreaded core.
14528         Made _link threadsafe, removed old capsnego.
14529         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
14530         Added pad blocking functions.
14531         Reworked scheduling functions in GstPad to prepare for
14532         scheduling updates soon.
14533         Moved events out of data stream.
14534         Simplified GstEvent types.
14535         Added return values to push/pull.
14536         Removed clocking from GstElement.
14537         Added prototypes for state change function for next merge.
14538         Removed iterate from bins and state change management.
14539         Fixed some elements, disabled others for now.
14540         Fixed -inspect and -launch.
14541         Added check for GstBus.
14542
14543 2005-03-10  Wim Taymans  <wim@fluendo.com>
14544
14545         * docs/design/part-MT-refcounting.txt:
14546         * docs/design/part-clocks.txt:
14547         * docs/design/part-gstelement.txt:
14548         * docs/design/part-gstobject.txt:
14549         * docs/design/part-standards.txt:
14550         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14551         (gst_bin_remove_func), (gst_bin_remove):
14552         * gst/gstbin.h:
14553         * gst/gstbuffer.c:
14554         * gst/gstcaps.h:
14555         * testsuite/clock/clock1.c: (main):
14556         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
14557         (main):
14558         * testsuite/dlopen/loadgst.c: (do_test):
14559         * testsuite/refcounting/bin.c: (add_remove_test1),
14560         (add_remove_test2), (main):
14561         * testsuite/refcounting/element.c: (main):
14562         * testsuite/refcounting/element_pad.c: (main):
14563         * testsuite/refcounting/pad.c: (main):
14564         * tools/gst-launch.c: (sigint_handler_sighandler):
14565         * tools/gst-typefind.c: (main):
14566         Doc updates.
14567         Added doc about clock.
14568         removed gst_bin_iterate_recurse_up(), marked methods
14569         for removal.
14570         Fix more testsuites.
14571
14572 2005-03-09  Wim Taymans  <wim@fluendo.com>
14573
14574         * gst/gstpad.c: (gst_pad_get_direction),
14575         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
14576         (gst_pad_collect_valist):
14577         * testsuite/bins/interface.c: (main):
14578         * testsuite/caps/audioscale.c: (test_caps):
14579         * testsuite/caps/caps.c: (test1), (test2), (test3):
14580         * testsuite/caps/deserialize.c: (main):
14581         * testsuite/caps/enumcaps.c: (main):
14582         * testsuite/caps/filtercaps.c: (main):
14583         * testsuite/caps/intersect2.c: (main):
14584         * testsuite/caps/random.c: (main):
14585         * testsuite/caps/renegotiate.c: (my_fixate), (main):
14586         * testsuite/caps/sets.c: (check_caps):
14587         * testsuite/caps/simplify.c: (check_caps), (main):
14588         * testsuite/caps/subtract.c: (check_caps):
14589         Fix _pad_get_direction wrt ghostpads.
14590         Fix caps testsuite.
14591
14592 2005-03-09  Wim Taymans  <wim@fluendo.com>
14593
14594         * check/Makefile.am:
14595         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
14596         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
14597         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
14598         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
14599         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
14600         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
14601         (gst_bin_remove), (gst_bin_iterate_recurse_up),
14602         (bin_element_is_sink), (gst_bin_iterate_sinks),
14603         (gst_bin_iterate_all_by_interface):
14604         * gst/gstbin.h:
14605         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
14606         (gst_element_change_state), (gst_element_dispose),
14607         (gst_element_finalize), (gst_element_set_loop_function):
14608         * gst/gstelement.h:
14609         * gst/gstiterator.c: (find_custom_fold_func):
14610         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
14611         (gst_pad_collectv), (gst_pad_collect_valist),
14612         (gst_pad_template_new):
14613         * gst/gstpipeline.c: (gst_pipeline_class_init),
14614         (gst_pipeline_dispose), (gst_pipeline_set_property),
14615         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
14616         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
14617         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
14618         * gst/gstutils.h:
14619         * gst/schedulers/entryscheduler.c:
14620         * gst/schedulers/gstbasicscheduler.c:
14621         (gst_basic_scheduler_cothreaded_chain),
14622         (gst_basic_scheduler_chain_add_element):
14623         * testsuite/bins/interface.c: (main):
14624         Added GstBin test.
14625         Added GstSystemClock test.
14626         Implemented clock distribution code in GstBin.
14627         Implemented iterate sinks method for future use.
14628         Rearranged gstelement.h
14629         Fix GstIterator comparison bug.
14630         Moved some code to GstPipeline, mostly clocking related.
14631
14632 2005-03-09  Wim Taymans  <wim@fluendo.com>
14633
14634         * configure.ac:
14635         * gst/gst_private.h:
14636         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14637         (gst_bin_remove_func), (gst_bin_remove),
14638         (gst_bin_get_by_name_recurse_up):
14639         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
14640         (gst_clock_id_compare_func), (gst_clock_id_wait),
14641         (gst_clock_id_wait_async), (gst_clock_init),
14642         (gst_clock_adjust_unlocked), (gst_clock_get_time):
14643         * gst/gstelement.h:
14644         * gst/gstinfo.c: (_gst_debug_init):
14645         * gst/gstobject.h:
14646         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
14647         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
14648         * gst/gstpad.h:
14649         Bump version number, we're now 0.9.0
14650         Add future debugging category.
14651         Fix NULL _unref() in _get_by_name_recurse_up
14652         Rearrange gstpad.h.
14653         Update some docs.
14654
14655 2005-03-08  Wim Taymans  <wim@fluendo.com>
14656
14657         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
14658         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
14659         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
14660         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
14661         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
14662         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
14663         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
14664         * gst/elements/gstidentity.c: (gst_identity_class_init):
14665         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
14666         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
14667         * gst/elements/gstshaper.c: (gst_shaper_class_init):
14668         * gst/elements/gststatistics.c: (gst_statistics_class_init):
14669         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
14670         (gst_tee_link):
14671         * gst/gstelement.c: (gst_element_class_init),
14672         (gst_element_base_class_init), (gst_element_init),
14673         (gst_element_get_random_pad), (gst_element_wait_state_change),
14674         (gst_element_change_state), (gst_element_dispose),
14675         (gst_element_finalize), (gst_element_set_loop_function):
14676         * gst/gstelement.h:
14677         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
14678         * gst/gstthread.c: (gst_thread_class_init),
14679         (gst_thread_release_children_locks), (gst_thread_change_state):
14680         * gst/schedulers/gstbasicscheduler.c:
14681         (gst_basic_scheduler_loopfunc_wrapper),
14682         (gst_basic_scheduler_chain_wrapper),
14683         (gst_basic_scheduler_src_wrapper),
14684         (gst_basic_scheduler_remove_element):
14685         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
14686         Remove threadsafe properties. Fix elements because GObject
14687         complains when installing a property before declaring a
14688         set/get_property handler.
14689         Rearrange gstelement.h file, use STATE macros for state locks.
14690         Free mutexes in the finalize method instead of dispose.
14691
14692 2005-03-08  Wim Taymans  <wim@fluendo.com>
14693
14694         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
14695         * gst/gstthread.c: (gst_thread_release_children_locks):
14696         Added parentage check.
14697         Fix build og GstThread again.
14698
14699 2005-03-08  Wim Taymans  <wim@fluendo.com>
14700
14701         * docs/design/part-MT-refcounting.txt:
14702         * docs/design/part-conventions.txt:
14703         * docs/design/part-gstobject.txt:
14704         * docs/design/part-relations.txt:
14705         * docs/design/part-standards.txt:
14706         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
14707         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
14708         (gst_bin_get_by_name), (gst_bin_get_by_interface),
14709         (gst_bin_iterate_all_by_interface):
14710         * gst/gstbuffer.h:
14711         * gst/gstclock.h:
14712         * gst/gstelement.c: (gst_element_class_init),
14713         (gst_element_change_state), (gst_element_set_loop_function):
14714         * gst/gstelement.h:
14715         * gst/gstiterator.c:
14716         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
14717         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
14718         (gst_object_dispatch_properties_changed), (gst_object_set_name),
14719         (gst_object_set_parent), (gst_object_unparent),
14720         (gst_object_check_uniqueness):
14721         * gst/gstobject.h:
14722         Docs updates, clean up some headers.
14723
14724 2005-03-07  Wim Taymans  <wim@fluendo.com>
14725
14726         * check/.cvsignore:
14727         * check/Makefile.am:
14728         * check/gst-libs/.cvsignore:
14729         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
14730         * check/gst/.cvsignore:
14731         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
14732         (START_TEST), (gstbus_suite), (main):
14733         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
14734         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
14735         (gst_data_suite), (main):
14736         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
14737         (add_fold_func), (gstiterator_suite), (main):
14738         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
14739         (thread_name_object), (thread_name_object_default),
14740         (gst_object_name_compare), (gst_object_suite), (main):
14741         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
14742         (gst_pad_suite), (main):
14743         * check/gstcheck.c: (gst_check_log_message_func),
14744         (gst_check_log_critical_func), (gst_check_init):
14745         * check/gstcheck.h:
14746         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
14747         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
14748         Added checks.
14749
14750 2005-03-07  Wim Taymans  <wim@fluendo.com>
14751
14752         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
14753         (gst_list_iterator_next), (gst_list_iterator_resync),
14754         (gst_list_iterator_free), (gst_iterator_new_list),
14755         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
14756         (gst_iterator_free), (gst_iterator_push), (filter_next),
14757         (filter_resync), (filter_uninit), (filter_free),
14758         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
14759         (gst_iterator_foreach), (find_custom_fold_func),
14760         (gst_iterator_find_custom):
14761         * gst/gstiterator.h:
14762         Added missing files.
14763
14764 2005-03-07  Wim Taymans  <wim@fluendo.com>
14765
14766         * Makefile.am:
14767         * configure.ac:
14768         * docs/design/part-MT-refcounting.txt:
14769         * docs/design/part-conventions.txt:
14770         * docs/design/part-gstobject.txt:
14771         * docs/design/part-relations.txt:
14772         * examples/mixer/mixer.c: (main):
14773         * examples/thread/thread.c: (eos), (main):
14774         * gst/Makefile.am:
14775         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
14776         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
14777         (gst_spider_plug_from_srcpad):
14778         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
14779         (gst_spider_identity_change_state),
14780         (gst_spider_identity_sink_loop_type_finding):
14781         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
14782         * gst/elements/gstidentity.c: (gst_identity_init):
14783         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
14784         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
14785         * gst/elements/gsttypefindelement.c: (free_entry):
14786         * gst/gst.c:
14787         * gst/gst.h:
14788         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
14789         (gst_bin_set_clock_func), (gst_bin_auto_clock),
14790         (gst_bin_set_index), (gst_bin_set_element_sched),
14791         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
14792         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
14793         (gst_bin_iterate_elements), (iterate_child_recurse),
14794         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
14795         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
14796         (compare_interface), (gst_bin_get_by_interface),
14797         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
14798         * gst/gstbin.h:
14799         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
14800         (gst_buffer_default_free), (gst_buffer_default_copy),
14801         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
14802         (gst_buffer_create_sub):
14803         * gst/gstbuffer.h:
14804         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
14805         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
14806         (gst_caps_unref), (gst_static_caps_get),
14807         (gst_caps_remove_and_get_structure), (gst_caps_append),
14808         (gst_caps_append_structure), (gst_caps_remove_structure),
14809         (gst_caps_copy_nth), (gst_caps_set_simple),
14810         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
14811         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
14812         (gst_caps_structure_intersect_field), (gst_caps_intersect),
14813         (gst_caps_structure_subtract_field), (gst_caps_subtract),
14814         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
14815         (gst_caps_structure_figure_out_union),
14816         (gst_caps_switch_structures), (gst_caps_do_simplify),
14817         (gst_caps_replace), (gst_caps_from_string),
14818         (gst_caps_copy_conditional):
14819         * gst/gstcaps.h:
14820         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
14821         (_gst_clock_id_free), (gst_clock_id_unref),
14822         (gst_clock_id_compare_func), (gst_clock_id_wait),
14823         (gst_clock_id_wait_async), (gst_clock_class_init),
14824         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
14825         (gst_clock_get_time), (gst_clock_set_time_adjust),
14826         (gst_clock_set_property), (gst_clock_get_property):
14827         * gst/gstclock.h:
14828         * gst/gstcompat.h:
14829         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
14830         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
14831         * gst/gstdata.h:
14832         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
14833         (gst_element_requires_clock), (gst_element_provides_clock),
14834         (gst_element_set_clock), (gst_element_clock_wait),
14835         (gst_element_wait), (gst_element_set_time_delay),
14836         (gst_element_is_indexable), (gst_element_add_pad),
14837         (gst_element_add_ghost_pad), (gst_element_remove_pad),
14838         (pad_compare_name), (gst_element_get_static_pad),
14839         (gst_element_request_pad), (gst_element_get_request_pad),
14840         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
14841         (gst_element_class_get_pad_template_list),
14842         (gst_element_class_get_pad_template), (gst_element_error_func),
14843         (gst_element_get_random_pad), (gst_element_get_event_masks),
14844         (gst_element_send_event), (gst_element_seek),
14845         (gst_element_get_query_types), (gst_element_query),
14846         (gst_element_get_formats), (gst_element_convert),
14847         (gst_element_is_locked_state), (gst_element_set_locked_state),
14848         (gst_element_sync_state_with_parent), (gst_element_change_state),
14849         (gst_element_finalize), (gst_element_yield),
14850         (gst_element_interrupt), (gst_element_set_scheduler),
14851         (gst_element_get_scheduler), (gst_element_set_loop_function):
14852         * gst/gstelement.h:
14853         * gst/gstevent.h:
14854         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
14855         (gst_format_get_by_nick), (gst_format_get_details),
14856         (gst_format_iterate_definitions):
14857         * gst/gstformat.h:
14858         * gst/gstindex.c: (gst_index_gtype_resolver):
14859         * gst/gstinfo.c:
14860         * gst/gstinfo.h:
14861         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
14862         (gst_mem_chunk_free):
14863         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
14864         (gst_object_ref), (gst_object_unref), (gst_object_sink),
14865         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
14866         (gst_object_dispatch_properties_changed),
14867         (gst_object_set_name_default), (gst_object_set_name),
14868         (gst_object_get_name), (gst_object_set_name_prefix),
14869         (gst_object_get_name_prefix), (gst_object_set_parent),
14870         (gst_object_get_parent), (gst_object_unparent),
14871         (gst_object_check_uniqueness), (gst_object_save_thyself),
14872         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
14873         (gst_object_set_property), (gst_object_get_property),
14874         (gst_object_get_path_string):
14875         * gst/gstobject.h:
14876         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
14877         (gst_real_pad_init), (gst_real_pad_get_property),
14878         (gst_pad_custom_new), (gst_pad_get_direction),
14879         (gst_pad_set_active), (gst_pad_is_active),
14880         (gst_pad_set_event_function), (gst_pad_is_linked),
14881         (gst_pad_link_free), (gst_pad_link_intersect),
14882         (gst_pad_link_fixate), (gst_pad_set_caps),
14883         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
14884         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
14885         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
14886         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
14887         (gst_pad_get_caps), (gst_pad_peer_get_caps),
14888         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
14889         (gst_pad_realize), (gst_pad_get_allowed_caps),
14890         (gst_real_pad_dispose), (gst_real_pad_finalize),
14891         (gst_pad_collectv), (gst_pad_collect_valist),
14892         (gst_pad_template_dispose), (gst_pad_template_new),
14893         (gst_pad_get_internal_links):
14894         * gst/gstpad.h:
14895         * gst/gstpipeline.c: (gst_pipeline_dispose),
14896         (gst_pipeline_change_state):
14897         * gst/gstpipeline.h:
14898         * gst/gstplugin.c:
14899         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
14900         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
14901         * gst/gstpluginfeature.h:
14902         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
14903         * gst/gstquery.c: (_gst_query_type_initialize),
14904         (gst_query_type_register), (gst_query_type_get_by_nick),
14905         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
14906         * gst/gstquery.h:
14907         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
14908         * gst/gstscheduler.c: (gst_scheduler_add_element),
14909         (gst_scheduler_factory_create):
14910         * gst/gststructure.c: (gst_structure_set_parent_refcount),
14911         (gst_structure_free), (gst_structure_set_name),
14912         (gst_structure_id_set_value), (gst_structure_set_value),
14913         (gst_structure_set_valist), (gst_structure_remove_field),
14914         (gst_structure_remove_fields),
14915         (gst_structure_remove_fields_valist),
14916         (gst_structure_remove_all_fields), (gst_structure_foreach),
14917         (gst_structure_map_in_place),
14918         (gst_caps_structure_fixate_field_nearest_int),
14919         (gst_caps_structure_fixate_field_nearest_double):
14920         * gst/gststructure.h:
14921         * gst/gstsystemclock.c: (gst_system_clock_class_init),
14922         (gst_system_clock_init), (gst_system_clock_dispose),
14923         (gst_system_clock_async_thread),
14924         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
14925         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
14926         * gst/gstsystemclock.h:
14927         * gst/gsttag.c: (gst_tag_list_add_value_internal),
14928         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
14929         * gst/gsttaginterface.c:
14930         * gst/gstthread.c: (gst_thread_dispose),
14931         (gst_thread_release_children_locks), (gst_thread_change_state),
14932         (gst_thread_main_loop):
14933         * gst/gsttrashstack.h:
14934         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
14935         * gst/gsttypes.h:
14936         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
14937         (gst_element_request_pad), (gst_element_get_pad_from_template),
14938         (gst_element_request_compatible_pad),
14939         (gst_element_get_compatible_pad_filtered),
14940         (gst_element_get_compatible_pad), (gst_element_state_get_name),
14941         (gst_element_link_pads_filtered), (gst_element_link_filtered),
14942         (gst_element_link_many), (gst_element_link),
14943         (gst_element_link_pads), (gst_element_unlink_pads),
14944         (gst_element_unlink_many), (gst_element_unlink),
14945         (gst_pad_can_link_filtered), (gst_pad_can_link),
14946         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
14947         (gst_object_default_error), (gst_bin_add_many),
14948         (gst_bin_remove_many), (gst_element_populate_std_props),
14949         (gst_element_class_install_std_props), (gst_buffer_merge),
14950         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
14951         (link_fold_func), (gst_pad_proxy_setcaps):
14952         * gst/gstutils.h:
14953         * gst/gstvalue.c: (gst_value_deserialize_string):
14954         * gst/parse/grammar.y:
14955         * gst/schedulers/gstbasicscheduler.c:
14956         (gst_basic_scheduler_cothreaded_chain),
14957         (gst_basic_scheduler_chain_recursive_add),
14958         (gst_basic_scheduler_pad_link):
14959         * gst/schedulers/gstoptimalscheduler.c:
14960         (get_group_schedule_function),
14961         (gst_opt_scheduler_state_transition),
14962         (gst_opt_scheduler_add_element), (element_get_reachables_func):
14963         * libs/gst/bytestream/bytestream.c:
14964         * libs/gst/dataprotocol/dataprotocol.c:
14965         (gst_dp_header_from_buffer):
14966         * po/nb.po:
14967         * po/ru.po:
14968         * tests/threadstate/threadstate2.c: (eos):
14969         * tools/gst-compprep.c: (main):
14970         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
14971         (print_pad_info), (print_children_info):
14972         * tools/gst-launch.c: (idle_func), (main):
14973         * tools/gst-md5sum.c: (idle_func), (main):
14974         * tools/gst-xmlinspect.c: (print_element_info):
14975         First THREADED backport attempt, focusing on adding locks and
14976         making sure the API is threadsafe. Needs more work. More docs
14977         follow this week.
14978
14979 2005-02-24  Andy Wingo  <wingo@pobox.com>
14980
14981         * tests/bench-complexity.scm:
14982         * tests/complexity.gnuplot: New files, good for running complexity
14983         benchmarks.
14984
14985         * tests/Makefile.am:
14986         * tests/complexity.c: New test, sets up N elements, at each level
14987         teeing into M streams per element. Eeeenteresting.
14988
14989         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
14990         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
14991         running bench-mass_elements.scm.
14992
14993         * tests/bench-mass_elements.scm: New script, runs mass_elements
14994         for various numbers of identities, outputting the results to a
14995         file. Requires guile 1.6. Just for testing.
14996
14997 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14998
14999         * gst/schedulers/fairscheduler.c:
15000           compile with debug disabled
15001
15002 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15003
15004         * configure.ac:
15005           hunting season on 0.9 is now OPEN